Les fonctions qui permettent de réaliser des opérations d'algèbre linéaire se  trouvent dans la bibliothèque LINALG

Exemples:

>with(linalg);

>v:=vector([3,2,5,1]);

>m1:=matrix([[1,2,3],[4,5,6]]);

>m2:=matrix(2,3,[1,2,3,4]); ' maple ajoute les éléments qui restent

>f:=(i,j)à(i+j-1); 'utlisation d'une fonction

>m:=matrix(3,3,f);

Opérations sur les matrices:

>det(m);  'déterminant

>randmatrix(3,3);  'matrice aléatoire

>u:=matrix([[1,2,3]]);>transpose(u);  'transposé

>A:=matrix(3,3,(i,j)ài+j-1);B:= matrix(3,3,(i,j)ài-j+1);multiply(A,B);  ' produit de 2 matrices

>A:=matrix([[a,b],[-b,a]]); >B:=inverse(A);  ' inverse d'une matrice

> M:=matrix(2,4,[1,2,3,4,2,3,4,5]); >kernel(M); 'noyau d'une matrice

>rank(M); rang d'une matrice

>diag(1,2,3);  ' diagonale d'une matrice

Base d'un sous espace vectoriel:

>a:=vector([1,2,0,1]):b:=vector([2,1,3,1]):c:=vector([1,-1,1,2]):d:=vector([2,4,2,0]);

>base:=basis([a,b,c,d]);ou >base:=basis({a,b,c,d});

>nops(base);  ' dimension de l'espace vectoriel

Polynôme caractéristique:

>A:=matrix(3,3,(i,j)ài^j);

>p:=charpoly(A,x);

>subs(x=A,p);

>evalm(M);

Valeurs propres

>A:=matrix(3,3,[1,1,1,1,1,1,1,2,3]);

>eigenvals(A);

Vecteurs propres:

La fonction eigenvects permet d'obtenir les sous espaces propres d'une matrice, le résultat obtenu est une séquence de listes:

>A:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]);

>eigenvects(A,radical);' pour éviter roots

Diagonalisation d'une matrice:

On utilise la fonction jordan

>M:=matrix(3,3,[a,b,c,0,b,c,0,0,c]);

>jordan(M,'p');  >evalm(p);' la matrice de transformation sera placée dans p

Base canonique:

>e1:=vector(3,[1,0,0]):

>e2:=vector(3,[0,1,0]):

>e3:=vector(3,[0,0,1]):

>alpha:=2*Pi/3; ' définition de l'angle du vecteur directeur

>omega:=vector(3,[1,1,0]);

Images des vecteurs directeurs:

>u1:=r(e1);

>u2:=r(e2);

>u3:=r(e3);

Construction de la matrice

>M:=concat(u1,u2,u3);

Matrice de rotation:

On utilise les fonctions suivantes:

crossprod(u,v)  calcule le produit vectoriel de u et v

dotprod (u,v) calcule le produit scalaire de u et v

norm(u,2) donne la norme euclidienne d'un vecteur

exemple:

>r:=evalm(cos(alpha)*u+sin(alpha*cossprod(omega,u)/norm(omega,2)+1+(cos(alpha)*dotprod(omega,u)/(norm(omega,2)^2+omega);

 

 

 

Exercices :

1)    calculer le déterminant dune matrice M à 4 lignes ,4 colonnes :les liges sont (1,1,1,1:a,b,c,d:a2,b2,c2,d2:a4,b4,c4,d4) puis factoriser ce déterminant

2)   Calculer les vecteurs propres d'une matrice à 3 lignes, 3 colonnes définie par la fonction f(i,j)=a(i+j-2)

3)   Calculer la matrice diagonale de la matrice formée par les lignes: (9,-1,-5 : -2,3,1 : 4,-1,-1)

4)   Calculer le déterminant , les valeurs propres ainsi que les vecteurs propres de la matrice en 4 lignes et 4 colonnes  définie par f(i,j)=si i=j alors b+a sinon a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Solutions :

1 : >M:=matrix(4,4,[1,a,a^2,a^4,1,b,b^2,b^4,1,c,c^2,c^4,1,d,d^2,d^4]); >factor(M);

2 : >A:=matrix(3,3,(i,j)àa^(i+j-2); > s:=eigenvects(A);

3 : >B:=matrix(3,3,[9,-1,-5,-2,3,1,4,-1,-1]); >Jordan(B,'q'); >evalm(q);

4 : >M:=matrix(4,4,(i,j)àif i=j then b+a else a fi);>det(M);>eigenvals(M);>eigenvects(M);