Section : Outils pour l'Algèbre
Avant : Trigonométrie
Après : Systèmes linéaires


Vecteurs et matrices

Un vecteur est une liste de nombres, une matrice est la liste de ses vecteurs lignes. Le produit matriciel est noté comme le produit ordinaire par une étoile. Les vecteurs sont a priori des vecteurs lignes, mais le produit à droite par un vecteur ligne est effectué comme si c'était une colonne. En particulier, si 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 $ (j,k)$ associe un réel $ a(j,k)$, 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


Section : Outils pour l'Algèbre
Avant : Trigonométrie
Après : Systèmes linéaires

R. De Graeve, B. Parisse, B. Ycart 2006