Previous Up Next

6.63.6  Résoudre un système linéaire : linsolve resoudre_systeme_lineaire

linsolve permet de résoudre un système d’équations linéaires où chaque équation est de la forme Xpr = 0 où Xpr est une expression. Si vous avez coché Pas à pas dans la configuration générale, vous avez le détail des calculs.
linsolve a comme paramètres :
soit la liste des équations et la liste des variables,
soit la matrice du système et le second membre sous la forme d’une liste,
soit les matrice p,l,u résultant de la décomposition lu de la matrice du système et le second membre sous la forme d’une liste.
linsolve renvoie une liste qui est solution du système d’équations.
linsolve permet de résoudre aussi un système d’équations linéaires dans ℤ/nℤ.
Remarque
Lorsqu’on a à résoudre plusieurs systèmes d’équations qui ne diffèrent que par leur second membre, on a intérêt à utiliser une décompsition lu.
On tape :

linsolve([2*x+y+z=1,x+y+2*z=1,x+2*y+z=4],[x,y,z])

Ou on tape :

linsolve([[2,1,1],[1,1,2],[1,2,1]],[1,1,4])

Ou on tape :

p,l,u:=lu([[2,1,1],[1,1,2],[1,2,1]]);linsolve(p,l,u,[1,1,4])

On obtient :

[-1/2,5/2,1-/2]

donc

x=−
1
2
y=
5
2
z=−
1
2
 

sont solutions du système :





2x+y+z=1
x+y+2z=1
x+2y+z=4

Si on a coché Pas à pas dans la configuration générale, on obtient écrit en vert :

Matrix [[1,1,2,-1],[0,1,-1,-3],[0,-1,-3,1]]
Row operation L2 <- (1)*L1-(1)*L2
Matrix [[1,0,3,2],[0,1,-1,-3],[0,-1,-3,1]]
Row operation L2 <- (1)*L3-(-1)*L2
Matrix [[1,0,3,2],[0,1,-1,-3],[0,0,-4,-2]]
Reducing column 3 using pivot -4 at row 3
Matrix [[1,0,3,2],[0,1,-1,-3],[0,0,-4,-2]]
Row operation L3 <- (-4)*L1-(3)*L3
Matrix [[-4,0,0,-2],[0,1,-1,-3],[0,0,-4,-2]]
Row operation L3 <- (-4)*L2-(-1)*L3
End reduction [[-4,0,0,-2],[0,-4,0,10],[0,0,-4,-2]]

puis on obtient la réponse :

[-1/2,5/2,1-/2]

On tape :

linsolve([2*x+y+z-1,x+y+2*z-1,x+2*y+z-4]%3,[x,y,z])

On obtient :

[1 % 3,1 % 3,1 % 3]

donc

x=1 % 3, y=1 % 3, z=1 % 3 

sont solutions du système :





(2x+y+z−1)% 3=0
(x+y+2z−1)% 3=0
(x+2y+z−4)% 3=0

Previous Up Next