Utiliser les matrices dans Mathematica

Dans Mathematica, pour évaluer une “commande”, il faut appuyer sur SHIFT+ENTER

1+1

Une matrice (ici, on lui attribue le symbole m, mais ce n’est pas indispensable) est donnée par une liste de listes. 
Donc, pour définir une matrice, on encode la liste de ses vecteurs lignes.

m={{1,2,3},{4,5,6},{7,8,9}}

Toute commande Mathematica débute par une majuscule et on utilise typiquement des crochets.
Ici, on veut afficher une matrice sous forme usuelle.

MatrixForm[m]

Le double crochet permet de rechercher un élément d’une liste.
Puisqu’une matrice est une liste de liste, ici, on va chercher la deuxième ligne de m.

m[[2]]

Voici une liste arbitraire, avec 5 éléments.

liste={π,7,289,a,toto}

liste[[3]]

La fonction suivante renvoie le nombre d’éléments d’une liste

Length[liste]

Pour notre matrice m, sa longueur est 3 puiqu’il s’agit d’une liste de 3 éléments (il y a 3 lignes, c’est une liste contenant 3 listes).

Length[m]

Si on veut les dimensions : nombre de lignes et de colonnes, on utilise la fonction suivante.

TensorDimensions[m]

Voici la définition d’une autre matrice, appelée m2, ici, on définit une matrice 5x5 grâce à la fonction Table qui permet de construire une liste. 
Ici, puisqu’il y a {i,1,5},{j,1,5} on construit une liste de liste.

m2=Table[i+j,{i,1,5},{j,1,5}]

MatrixForm[m2]

L' effet produit ci-dessous est identique. On applique la même fonction “MatrixForm” mais avec une notation que l’on appelle post-fixe.
Ainsi plutôt que d’écrire f(x) en notation post-fixe, on utilise x/f (d’abord l’argument, puis la fonction).

m2//MatrixForm

m2[[4]]

Voici maintenant comment obtenir des sous-matrices.
D’abord choisir certaines lignes :

m2[[{2,4}]]//MatrixForm

Choisir certaines lignes et certaines colonnes :

m2[[{2,4},{1,3}]]//MatrixForm

Extraire une seule colonne :

m2[[{1,2,3,4,5},{2}]]//MatrixForm

Pour ne pas devoir donner les indices de toutes les lignes, on peut aussi utiliser :

m2[[All,{2}]]//MatrixForm

Réaffichons une fois la matrice m2

m2

Définissons une seconde matrice 5 x5

n=Table[i^2-j,{i,1,5},{j,6,10}]

On peut en faire des combinaisons linéaires (puisqu’elles sont de même dimension)

2 m2 + 5 n //MatrixForm

Produit de deux matrices

m2 . n

Puissance d' une matrice, ici au cube

MatrixPower[m2,3]//MatrixForm

La fonction Transpose donne la transposée. 
Ici, on demande si la matrice est ou non égale à sa transposée (un test se réalise avec un double =).
Ici, la matrice m2 est symétrique, Mathematica renvoie “vrai”.

Transpose[m2]==m2

La fonction que nous avons utilisée ci-dessus est prédéfinie, 
on peut utiliser la fonction suivante. Dans Mathematica, la plupart des fonctions “questions” se terminent par Q. Elles renvoient True/False.

SymmetricMatrixQ[m2]

SymmetricMatrixQ[n]

Même question, la matrice est-elle anti-symétrique ?

AntisymmetricMatrixQ[n]

On peut aussi utiliser des “variables” (symboles) et quand même “calculer” avec.

MatrixPower[{{1,2,3},{a,b,7},{0,1,1}},4][[2,1]]

Calculer des déterminants :

Det[n]

Det[{{1,2,3},{a,b,7},{0,1,1}}]

Det[{{1,2},{3,4}}]

Cette matrice ayant un déterminant non nul, elle est inversible.

{{1,2},{3,4}}//MatrixForm

On peut calculer son inverse, ici on vérifie : le produit avec la matrice de départ donne l’identité

Inverse[{{1,2},{3,4}}].{{1,2},{3,4}}

On peut aussi définir une matrice identité de taille quelconque, ici 6

IdentityMatrix[6]