mise à jour : 31-03-2010


cinet.chim

complément
Détermination du rang d'une matrice


complément

Détermination du rang d'une matrice

Rappelons que le rang d'une matrice est aussi la taille du plus grand déterminant non nul que l'on peut en extraire, ce qui implique que des lignes ou des colonnes entièrement constituées de 0 peuvent être, de ce point de vue, retirées de la matrice. Pour les matrices dont les nombres de lignes ou de colonnes non nulles n'excèdent pas 3 ou 4, l'extraction d'un tel déterminant est relativement aisée, mais cela devient rapidement une opération difficile lorsque ce nombre augmente.

On sait que le rang d'une matrice ne change pas si l'on remplace une ligne par une combinaison linéaire de cette ligne et des autres. C'est la propriété utilisée dans la méthode de la matrice échelon.

Une matrice échelon est telle que :

- dans chaque ligne, le premier élément non nul à partir de la gauche est un 1

- le  nombre de 0 en début de chaque ligne est en ordre croissant.

Elle est donc de la forme :

0 0 1 ... ... ... ... 
0 0 0 0 1 ... ... 
0 0 0 0 0 1 ... 
0 0 0 0 0 0

On peut montrer que le rang d'une telle matrice est le nombre de lignes non nulles. La méthode de la matrice échelon consiste donc à transformer la matrice ARL en une matrice échelon équivalente par transformation linéaire de ses lignes. C'est une méthode qui convient bien aux matrices des coefficients stœchiométriques, de tailles relativement restreintes et composées initialement d'entiers.

Transformation d'une matrice en matrice échelon

Soit la matrice ARL dont les éléments sont aij, i étant l'indice de ligne, j l'indice de colonne. La méthode consiste à opérer une séquence de combinaisons linéaires des lignes, de façon à la transformer de proche en proche en matrice échelon.

Pour illustrer ces opérations, considérons la matrice A3,5, suivante :

−1 −1 3 1
0 −1 1 −1
−1 −2 4 0

Opérations préliminaires :

1) Ranger les colonnes entièrement composées de 0 à gauche de la matrice (ceci est dans le cas général, il ne doit pas y avoir de telles colonnes dans une matrice des coefficients stœchiométriques).

Soit c le numéro de la première colonne non nulle. ( A3,5 : c = 1)

2) Ranger ensuite les lignes de sorte que l'élément  a1c soit ≠ 0. (A3,5 : a11 est déjà ≠ 0)

Cœur du processus :

3) Diviser la ligne 1 par a1c . La nouvelle valeur de a1c est donc maintenant un 1.

nouvelle ligne 1 = (ligne 1) / (−1) :

1 1 −3 −1
0 −1 1 −1
−1 −2 4 0

4) Soustraire successivement des lignes 2, 3, etc. la nouvelle ligne 1 multipliée respectivement par a2c ,a3c ,etc. de sorte qu'il n'y aura que des 0 en dessous de  a1c.

nouvelle ligne 2 = (ligne 2) − 0×(ligne 1)     (ne change donc pas ici)

nouvelle ligne 3 = (ligne 3) − (−1)×(ligne 1) :

1 1 −3 −1
0 −1 1 −1
0 −1 1 −1

Itération du processus :

5) Recommencer les opérations 3) et 4) à partir des lignes 2, 3, etc. et ainsi de suite.

nouvelle ligne 2 = (ligne 2) / (−1) :

1 1 −3 −1
0 1 −1 1 −1 
0 −1 1 −1

nouvelle ligne 3 = (ligne 3) −(−1)×(ligne 2) :

1 1 −3 −1
0 1 −1 1 −1 
0 0 0 0

La transformation est terminée. Le rang de la matrice A3,5 est donc le nombre de lignes non nulles : Q = 2.

Ce résultat était facilement prévisible dans ce cas particulier car la ligne 3 de la matrice initiale est la somme des lignes 1 et 2. On aurait donc pu éliminer d'emblée la ligne 3, et ne s'intéresser qu'aux deux premières lignes pour examiner l'indépendance des deux vecteurs qu'elles représentent.


Le module modan de Nestor, permet d'une part l'écriture automatique du programme correspondant à un mécanisme réactionnel donné, et, d'autre part, une analyse de ce mécanisme comprenant le rang de sa matrice stœchiométrique.