Passer au contenu principal
Tangente
AlgèbreNotion · Glossaire

Conditionnement

En algèbre numérique, le conditionnement d'une matrice mesure la sensibilité de la solution d'un système linéaire aux perturbations des données. Il est défini comme le produit de la norme de la matrice par la norme de son inverse. Un grand conditionnement indique que le système est mal conditionné : de petites erreurs sur les données peuvent entraîner de grandes erreurs sur la solution. Pour la norme euclidienne, le conditionnement vaut 1 pour les matrices orthogonales. Dans une famille dont la norme reste bornée inférieurement par une constante strictement positive, il tend vers l'infini lorsque les matrices s'approchent d'une matrice singulière.
Amplification d'une perturbation par un conditionnement de 10 Sur une même échelle, une barre de 1 pour cent pour les données et une barre de 10 pour cent pour la solution. Données : 1 % Solution : 10 % κ₂(A) = 10
Avec κ₂(A) = 10, la perturbation de 1 % choisie dans l'exemple produit exactement 10 % d'écart sur la solution.
Sommaire

Ce que vous allez apprendre

  • Relier le conditionnement aux normes de la matrice et de son inverse.
  • Calculer un conditionnement euclidien égal à 10 sur une matrice diagonale.
  • Vérifier l'amplification d'une perturbation relative de 1 % en un écart de 10 %.
  • Distinguer conditionnement, stabilité numérique, déterminant et singularité.

En clair

Imaginez une balance dont les mesures sont arrondies. Si une variation minuscule des mesures déplace beaucoup le résultat calculé, le problème est sensible. Le conditionnement d'une matrice chiffre cette sensibilité pour la résolution d'un système linéaire.
Un conditionnement proche de 1 est rassurant : les erreurs relatives ne sont pas fortement amplifiées. Un grand conditionnement avertit au contraire que des données presque identiques peuvent conduire à des solutions très différentes. Il ne dit pas qu'une erreur aura forcément lieu ; il indique l'amplification qu'il faut redouter dans le pire cas.

Définition

Considérons une matrice carrée inversible A utilisée dans un système linéaire. Une norme matricielle mesure la taille de A ; la même norme, appliquée à son inverse, mesure combien l'opération inverse peut amplifier une variation. Le nombre de condition de A associé à cette norme est noté κ(A).
κ(A)=AA1\kappa(A)=\lVert A\rVert\,\lVert A^{-1}\rVert
Avec une norme induite, κ(A) est au moins égal à 1. Pour une perturbation du second membre seulement, ce nombre borne l'amplification relative possible entre les données et la solution. Cette borne décrit un pire cas : selon la direction de la perturbation, l'amplification réelle peut être plus faible.
La valeur dépend de la norme choisie. Avec la norme euclidienne, notée κ2, toute matrice orthogonale a un conditionnement égal à 1. Lorsqu'une suite de matrices inversibles s'approche d'une matrice singulière, la norme de l'inverse peut devenir arbitrairement grande. Si, de plus, la norme des matrices reste bornée inférieurement par une constante strictement positive, le conditionnement tend vers l'infini.

Un exemple, pas à pas

Résolvons un système dont la matrice A est diagonale, avec la norme euclidienne.
Données :
Les coefficients diagonaux de A valent 1 et 0,1.
Le second membre b a pour composantes 1 et 0.
La perturbation δb a pour composantes 0 et 0,01.
A=(1000,1),A1=(10010)A=\begin{pmatrix}1&0\\0&0{,}1\end{pmatrix},\qquad A^{-1}=\begin{pmatrix}1&0\\0&10\end{pmatrix}
1. La plus grande valeur d'étirement de A vaut 1, tandis que celle de son inverse vaut 10. Le conditionnement euclidien est donc κ2(A)=1×10=10\kappa_2(A)=1\times10=10.
2. La solution initiale x s'obtient en appliquant l'inverse de A à b : x=A1b=(1,0)x=A^{-1}b=(1,0).
3. La perturbation relative des données vaut δb2b2=0,011=0,01\frac{\lVert \delta b\rVert_2}{\lVert b\rVert_2}=\frac{0{,}01}{1}=0{,}01, soit 1 %.
4. Avec le second membre perturbé b + δb, la nouvelle solution a pour composantes 1 et 0,1. L'écart δx a donc pour composantes 0 et 0,1, et δx2x2=0,11=0,1\frac{\lVert \delta x\rVert_2}{\lVert x\rVert_2}=\frac{0{,}1}{1}=0{,}1, soit 10 %.
Le contrôle retrouve exactement le facteur 10 : l'écart relatif de 10 % sur la solution est égal à κ2(A) multiplié par la perturbation relative de 1 % des données. Cet exemple atteint donc la borne du pire cas.

En pratique

Avant d'interpréter les chiffres d'une solution, on compare le conditionnement à la précision des données. Si leur erreur relative peut atteindre 1 % et que le conditionnement vaut 10, une amplification allant jusqu'à 10 % doit être envisagée.
Quand le conditionnement est grand, augmenter seulement la précision d'affichage ne restaure pas l'information perdue. Il faut obtenir des données plus précises, travailler avec une arithmétique plus précise ou reformuler le système ; le choix dépend de l'origine observable des erreurs.
Pour contrôler un résultat calculé, un petit résidu est utile mais ne suffit pas. Dans un système mal conditionné, une solution éloignée de la solution exacte peut encore produire un second membre très proche. Le conditionnement complète donc le contrôle du résidu.

À ne pas confondre

Conditionnement et stabilité numérique. Le conditionnement appartient au problème posé et décrit sa sensibilité aux données. La stabilité appartient à l'algorithme employé. Deux algorithmes peuvent donc traiter la même matrice avec des erreurs différentes, sans changer son conditionnement.
Conditionnement et déterminant. La taille du déterminant ne mesure pas directement la sensibilité relative. Les matrices diagonales de coefficients un million et un million, ou un millionième et un millionième, ont des déterminants de tailles très différentes, mais leur conditionnement euclidien vaut 1 dans les deux cas.

Limites et pièges

Matrice singulière. Si A n'est pas inversible, A−1 n'existe pas et la formule ordinaire ne donne aucun nombre fini. Par convention, son conditionnement est infini : il faut alors analyser l'existence ou l'unicité des solutions plutôt que calculer un inverse.
Norme non précisée. Une valeur de conditionnement sans norme peut être ambiguë. L'égalité κ = 1 pour les matrices orthogonales vise notamment la norme euclidienne ; avec une autre norme induite, la valeur peut changer. Il faut annoncer la norme avant de comparer deux résultats.
Seuil de mauvais conditionnement. Le seuil κ = 1 marque le cas sans amplification dans le pire cas, mais il n'existe pas de frontière universelle au-delà de laquelle tout calcul échoue. Il faut comparer κ à la précision des données et à celle de l'arithmétique utilisée.
Petit résidu. Dans l'exemple, remplacer la solution (1, 0) par (1, 0,1) ne modifie le second membre que de 1 %, alors que la solution change de 10 %. Il faut donc examiner l'erreur relative possible à l'aide du conditionnement, et pas seulement le résidu.

Pour aller plus loin

norme précise l'outil qui mesure la taille d'une matrice et explique pourquoi la valeur du conditionnement dépend du choix effectué.
matrice inverse approfondit l'opération dont la norme contrôle l'amplification des perturbations lors de la résolution du système.
matrice orthogonale présente la famille qui conserve les longueurs et dont le conditionnement euclidien vaut exactement 1.
Continuez avec Tangente

Explorez les mathématiques autrement

Retrouvez nos magazines, podcasts et jeux pour explorer les mathématiques autrement.

Découvrir les offres