ALORS CES MATRICES ?

 

Le plus simple est de commencer bille-en-tête : une matrice comment c'est fait ?

C'est un ensemble de nombres organisés en "rectangle". On spécifie sa "hauteur" et sa "largeur". Par exemple une matrice 4x5 comprend 4 lignes de 5 colonnes de nombres.

Ici nous n'allons nous interresser qu'aux matrices carrées 3x3 donc composées de 3 lignes de 3 colonnes de nombres donc 9 nombres. Un vecteur peut être considéré comme un cas particulier de matrices, 3 lignes d'une seule colonne pour ceux que nous avons utilisés jusqu'à présent.

Bon ces matrices s'additionnent, se multiplient entre-elles et on peut inventer tout un tas d'opérations rigolotes à faire avec. Bref ce sont des être mathématiques à part entière et on peut s'en servir pour résoudre une foultitude de problèmes de toute sorte. Mais nous on ne veut faire que des transformations 3D donc nous n'avons pas besoin de beaucoup de théorie, leur "fonctionnement" nous suffit.

Il ne faut pas être effrayé par l'introduction des matrices pour résoudre les problèmes géométriques qui nous occupent. On les fait entrer dans la danse parce que ça permet de simplifier les calculs et pas pour une hypothétique raison théorique. Tout ce qu'on peut faire avec les matrices, on peut le faire sans ... mais c'est plus compliqué.

Il va donc falloir commencer par regarder comment on combine les matrices pour constater que ça s'adapte bien au problème qui nous occupe.

 

1- Représenter les matrices :

Une matrice est un ensemble de nombres organisés en "rectangle". Dans ce petit texte je note [T] la matrice T.

Les nombres qui composent la matrice [T] sont notés T(i,j) où i est le numéro de la ligne (de 1 à 3 pour nos matrices 3x3) et j le numéro de la colonne (toujours de 1 à 3 pour nos matrices 3x3).

2- Additionner des matrices :

Les matrices s'ajoutent ou se retranchent pourvu qu'elles soient de même dimensions.

    Si [A] = [B] + [C] alors
       A(i,j) = B(i,j) + C(i,j)

De même pour les soustraire :

    Si [A] = [B] - [C] alors
       A(i,j) = B(i,j) - C(i,j)

Evidement, l'addition des matrices est commutatives : [A]+[B]=[B]+[A]

On ne peut pas faire plus simple ...

 

3- Multiplier une matrice par un nombre :

On peut multiplier une matrice par un nombre (on dit un scalaire pour être plus précis). Pour cela, :

    Si [A] = [B]*x alors
       A(i,j) = B(i,j)*x

 

4- Multiplier les matrices entre-elles :

Là ça se corse (surtout pour moi avec mon pauvre jeu de caractères)... D'abord, la multiplication de matrice N'EST PAS commutative, à savoir que dans le cas général [A]*[B] est différent de [B]*[A].

Ensuite on multiplie "ligne-colonne" : dans le produit [C] = [A]*[B] C(i,j) est égal au produit scalaire de la ligne i de [A] par la colonne j de [B].

Un exemple pour illustrer tout ça :

           |       |         |          |
           | 1 2 3 |         | 10 11 12 |
     [A] = | 4 5 6 |   [B] = ¦ 13 14 15 |   et [C] = [A]*[B]
           | 7 8 9 |         | 16 17 18 |
           |       |         ¦          |

    C(1,1) = 1*10 + 2*13 + 3*16 (1ère ligne de [A], 1ère colonne de [B])
    C(1,2) = 1*11 + 2*14 + 3*17 (1ère ligne de [A], 2ème colonne de [B])
    C(1,3) = 1*12 + 2*15 + 3*18 (1ère ligne de [A], 3ème colonne de [B])
    C(2,1) = 4*10 + 5*13 + 6*16 (2ème ligne de [A], 1ère colonne de [B])
    C(2,2) = 4*11 + 5*14 + 6*17 (2ème ligne de [A], 2ème colonne de [B])
    etc ...

J'espère que vous avez pigé le coup, je suis fatigué sur mon clavier :-)

On peut multiplier des matrices qui ne sont pas carrées du moment que celle de "gauche" ait autant de colonnes que celle de "droite" de lignes.

Et un exemple suit.

 

5- Multiplier un vecteur par une matrice :

Il suffit d'appliquer la méthode précédente en considérant le vecteur comme une matrice d'une seule colonne. Dans notre cas de matrices 3x3, on les multiplies par des vecteur de dimension 3 donc on va trouver au résultat un vecteur de dimension 3. Un petit exemple :

          |       |      |    |
          | 1 2 3 |      | 10 |
    [A] = | 4 5 6 |   B= | 11 |   et C = [A]*B
          | 7 8 9 |      | 12 |
          |       |      |    |

    C(1) = 1*10 + 2*11 + 3*12
    C(2) = 4*10 + 5*11 + 6*12
    C(3) = 7*10 + 8*11 + 9*12

Si vous avez suivi, il doit vous sauter aux yeux que l'opération B*[A] n'a pas de sens ... Si non, essayez de la faire ...

 

6- Divers détails d'importance :

Après la multiplication, on pourrait s'attendre à la division. Or qu'est ce que c'est qu'une division ? La multiplication par l'inverse. Pour diviser, il va falloir commencer par chercher un inverse de matrice.

Cette opération s'appelle inverser une matrice. Ce n'est pas toujours possible et dans tous les cas c'est une opération couteuse en temps de calcul.

Heureusement dans les rares cas où nous en auront besoin ici, cela va suffisement se simplifier pour que nous n'en ayons pas besoin. Il nous suffit juste de savoir que ça existe.

Mais puisqu'on parle d'inverse, il faudrait peut-être commencer par la matrice identité : il s'agit de la matrice notée [I] telle que quelque soit la matrice [A] on ait : [A]*[I] = [I]*[A] = [A] Dans notre cas 3x3 :

                      |       |
                      | 1 0 0 |
                [I] = | 0 1 0 |
                      | 0 0 1 |
                      |       |

Après ce qu'on a vu sur le produit d'une matrice par un vecteur, il est clair que pour tout vecteur P, [I]*P = P.

L'inverse de la matrice [R] est notée [R]-1 et on a : [R]*[R]-1 = [I].

Et puis une ce n'est pas à proprement parler une "opération", mais il nous reste la transposition.

Pour transposer une matrice, on inverse ses lignes et ses colonnes. Par exemple :

             |       |               |       |
             | 1 2 3 |            T  | 1 4 7 |
    si [A] = | 4 5 6 |   alors [A] = | 2 5 6 |
             | 7 8 9 |               | 3 6 9 |
             |       |               |       |

Voilà, on ne va se servir que de ces opérations de base.