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);