Résoudre un système d'équations linéaires avec Numpy

Published: 13 juin 2014

DMCA.com Protection Status

Pour résoudre un système d'équations linéaires sous python il existe dans numpy la classe linalg avec la méthode solve (voir linalg.solve). Voici un exemple de système d'équations linéaires provenant d'un cours (lien):

\begin{equation}
\left( \begin{array}{cccc}
2 & 3 & 3 & 1 \\
-4 & -6 & 3 & 2 \\
-1 & 1 & 1 & 1 \\
-2 & -1 & 1 & 1 \\
\end{array}\right)
\left( \begin{array}{c}
x \\
y \\
z \\
t
\end{array}\right)
=
\left( \begin{array}{c}
15 \\
3 \\
5 \\
1
\end{array}\right)
\end{equation}

Ce qui donne avec python:

>>> import numpy as np
>>> a = np.array([[2,3,3,1], [-4,-6,3,2], [-1,1,1,1], [-2,-1,1,1]])
>>> b = np.array([15,3,5,1])
>>> x = np.linalg.solve(a, b)
>>> x
array([  6.,  -1.,  -3.,  15.])
>>>

Finalement le résultat est:

\begin{equation}
\left( \begin{array}{c}
x \\
y \\
z \\
t
\end{array}\right)
=
\left( \begin{array}{c}
6 \\
-1 \\
-3 \\
15
\end{array}\right)
\end{equation}

Recherches associées