v
et w
sont deux vecteurs de même taille, v*w
retourne leur produit
scalaire.
A:=[[1,2,3],[4,5,6],[7,8,9]] v:=[1,1,1] v*v A*v v*A B:=[[1,1,1],[2,2,2]] A*B B*A A*tran(B)A partir d'une fonction qui à deux indices associe un réel , on peut constituer une matrice avec
makemat
ou
matrix
. Pour makemat
les indices commencent à 0, pour
matrix
il commencent à 1.
makemat((j,k)->j+2*k,3,2) matrix(3,2,(j,k)->j+2*k)On peut aussi créer des matrices par blocs avec la commande
blockmatrix
.
A:=makemat((j,k)->j+2*k,3,2) B:=idn(3) blockmatrix(1,2,[A,B]) blockmatrix(2,2,[A,B,B,A])On accède à un élément d'une matrice grâce à deux indices séparés par une virgule et mis entre crochets. Le premier indice est l'indice de la ligne et le deuxième celui de la colonne. Les indices commencent à 0. Par exemple, si
A:=[[0,2],[1,3],[2,4]]
alors
A[2,1]
renvoie 4
.
Pour extraire un bloc de la matrice, on utilise des intervalles
comme indices : A[1..2,0..1]
renvoie le bloc
constitué des lignes 1 à 2 et des colonnes 0 à 1.
Notez que les matrices de Xcas sont recopiées entièrement à chaque modification d'un coefficient. Ceci est pénalisant si on modifie successivement dans un programme beaucoup de coefficients d'une même (grande) matrice.
Vecteurs et matrices | |
v*w |
produit scalaire |
cross(v,w) |
produit vectoriel |
A*B |
produit matriciel |
A.*B |
produit terme à terme |
1/A |
inverse |
tran |
transposée |
rank |
rang |
det |
déterminant |
ker |
base du noyau |
image |
base de l'image |
idn |
matrice identité |
ranm |
matrice à coefficients aléatoires |