Définition
Un système linéaire peut s’écrire sous forme de matrice par une équation du type AX=B. On dit de la matrice A qu’elle est mal conditionnée si une petite variation de B entraîne une grande variation de X.
Pour une matrice inversible A, sa fonction de conditionnement est :
Note : Plus est élevé, plus la matrice A est mal conditionnée.
Exemple 1
Pour comprendre ce qu’est le conditionnement, prenons un exemple de système linéaire :
Matrice A et sa solution
Soit une matrice A :
La solution de ce système sera donc :
Exemple de variation
Il est intéressant de remarquer que si on varie faiblement :
Nous obtenons :
Une petite variation sur implique une grande variation de .
On dira de la matrice qu’elle est “mal conditionnée”.
Calcul du conditionnement
La fonction de conditionnement d’une matrice est , ayant un déterminant différent de 0 et donc étant inversible. Prenons la norme infini (avec )
Dans cet exemple: .
En python
Pour calculer le conditionnement rapidement en python, je vous propose de faire :
import numpy as np
A = np.array([[10,7,8,7],[7,5,6,5],[8,6,10,9],[7,5,9,10]])
print(np.linalg.cond(A,np.inf))
Vous devriez obtenir le même résultat !
Pour en savoir plus sur le conditionnement : Python avec Numpy.
Exemple 2
Pour prendre un autre exemple: La “matrice B” est bien conditionnée:
Soit la matrice inversible B :
Nous avons : .
Cette matrice est relativement bien conditionnée en comparaison avec la matrice .
Nous pouvons donc affirmer que pour un système linéaire , une petite variation de n’engendra pas une grosse variation .