Sous-sections

1.8 Vecteurs et Matrices

Il existe sous Maple, deux librairies d'algébre linéaire permettant de manipuler des vecteurs et des matrices.

1.8.1 librairie Maple linalg

Cette librairie utilise le type tableau (array) pour définir les vecteurs et les matrices. Pour utiliser une librairie sous Maple, on doit la déclarer avec la fonction with(xxx) où xxx est le nom de la librairie.

>with(linalg):

Pour déclarer un vecteur on utilise la fonction vector :

>X:=vector(10); Y:=vector(3,[1,2,3]);


\begin{displaymath}
X:=array(1..10,[])\end{displaymath}


\begin{displaymath}
Y:=[1,2,3]\end{displaymath}

On a déclarer un vecteur X de 10 éléments non initialisés et un vecteur Y de 3 éléments initialisés. Pour obtenir la valeur d'un élément on utilise l'indice entre [ ]:

>X[2],Y[2];


\begin{displaymath}
X_{2},3\end{displaymath}

De même pour les matrices, on utilise matrix:

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


\begin{displaymath}
M:=\left[\begin{array}{cc}
2 & 1\\
1 & 2\end{array}\right]\end{displaymath}

Pour accéder à un élément d'une matrice, on met les 2 indices entre [ ].

>M[2,2];


\begin{displaymath}
2\end{displaymath}

On note que les indices des vecteurs et des matrices commencent à 1. Pour afficher la valeur d'un vecteur ou d'une matrice on utilise la fonction evalm:

>A=evalm(A);


\begin{displaymath}
A=\left[\begin{array}{ccc}
1 & 1 & 1\\
1 & 1 & 1\\
1 & 1 & 1\end{array}\right]\end{displaymath}

La multiplication matrice vecteur est notée \fbox{$\&*$} et on doit utiliser evalm pour afficher le résultat:

>evalm(A&*Y);


\begin{displaymath}[6,6,6]\end{displaymath}

Pour résoudre un système linéaire, on utilise la fonction linsolve:

>linsolve(B,[1,2]);


\begin{displaymath}[0,1]\end{displaymath}

1.8.2 librairie Maple LinearAlgebra

Il existe maintenant sous Maple une nouvelle librairie LinearAlgebra pour manipuler plus efficacement des matrices de type particulier (bande, tri-diagonale, ..)), avec des notations souvent plus simple.

Cette librairie utilise directement deux nouveaux types de données: les vecteurs, appelés Vector et les matrices, appelées Matrix (notez la majuscule!)

>with(LinearAlgebra):

Pour déclarer un vecteur on utilise la fonction Vector:

>X:=Vector(3); Y:=Vector[row]([1,2,3]);


\begin{displaymath}
X:=\left[\begin{array}{c}
0\\
0\\
0\end{array}\right]\end{displaymath}


\begin{displaymath}
Y:=[1,2,3]\end{displaymath}

De même pour une matrice on utilise la fonction Matrix:

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


\begin{displaymath}
A:=\left[\begin{array}{cc}
0 & 0\\
0 & 0\end{array}\right]\end{displaymath}


\begin{displaymath}
M:=\left[\begin{array}{cc}
2 & 1\\
3 & 2\end{array}\right]\end{displaymath}

On peut aussi utiliser une notation simplifiée avec < >:

Les déclarations précédentes peuvent s'écrire:

> X:=<0,0,0>; Y:=<1|2|3>;

> A:=<<0,0>|<0,0>>; M:=<<2,3>|<1,2>>;

ou avec une initialisation par ligne

> A:=<<0|0>,<0|0>>; M:=<<2|1>,<3|2>>;

Les opérations sur les matrices et les vecteurs sont notées:

Avec la librairie Student on a en plus les notations suivantes:

Pour convertir vers les types vector ou matrix, on utilise la fonction convert:

>convert(X,vector); convert(A,matrix);

Pour les autres fonctions (calcule de valeurs propres, ..) on consultera l'aide en ligne.


Pr. Marc BUFFAT
marc.buffat@univ-lyon1.fr
2007-02-28