### 6.63.2 Réduction de Gauss d’une matrice : ref

ref permet de résoudre un système d’équations linéaires que l’on écrit sous forme matricielle :

A*X=B

Le paramètre de ref est la "matrice augmentée" du système (celle formée par la matrice A du système et ayant comme dernier vecteur colonne le second membre B).
Le résultat est une matrice [A1,B1] : A1 a des zéros au dessous de sa diagonale et les solutions de :

A1*X=B1

sont les mêmes que celles de :

A*X=B

ref peut travailler dans ℤ/pℤ.
Par exemple, soit à résoudre le système dans ℝ et dans ℤ/5ℤ:

⎧ ⎨ ⎩ |
3x + y | = | −2
3x +2y | = | 2

On tape pour résoudre le système dans ℝ :

ref([[3,1,-2],[3,2,2]])

On obtient :

[[1,1/3,-2/3],[0,1,4]]

cela signifie donc que :
y=4 et x=−2 sont solutions du système. On tape pour résoudre le système dans ℤ/5ℤ :

ref([[3,1,-2],[3,2,2]]%5)

On obtient :

[[1 % 5,2 % 5,1 % 5],[0 % 5,1 % 5,-1 % 5]]

cela signifie donc que :
y=−1%5 et x=3%5 sont solutions du système.

Remarque
Lorsque le nombre de colonnes est égal au nombre de lignes +1 ref ne divise pas par le pivot de la derniere colonne, par exemple, on tape :

ref([[1,1,0,0,-a1],[0,1,1,0,-a2],[0,0,1,1,-a3],[1,0,0,1,-a4]])

On obtient :

[[1,1,0,0,-a1],[0,1,1,0,-a2],[0,0,1,1,-a3],[0,0,0,0,a1-a2+a3-a4]]

Ainsi on peut savoir que si a1-a2+a3-a4 n’est pas nul, il n’y a pas de solution.