Conditionnement (analyse numérique)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Conditionnement.

En analyse numérique, une discipline des mathématiques, le conditionnement mesure la dépendance de la solution d'un problème numérique par rapport aux données du problème, ceci afin de contrôler la validité d'une solution calculée par rapport à ces données. En effet, les données d'un problème numérique dépendent en général de mesures expérimentales et sont donc entachées d'erreurs.

Il s'agit le plus souvent d'une quantité numérique.

De façon plus générale, on peut dire que le conditionnement associé à un problème est une mesure de la difficulté de calcul numérique du problème. Un problème possédant un conditionnement bas est dit bien conditionné et un problème possédant un conditionnement élevé est dit mal conditionné.

Conditionnement d'un problème[modifier | modifier le code]

Soit un problème  P: \mathbb{R}^n \rightarrow \mathbb{R}. Soit aussi une variable perturbée \hat x_i = x_i(1+\epsilon_i), avec |\epsilon_i|<\epsilon. Alors, la condition k du problème est le plus petit nombre tel que :

\frac {|P(\hat x)-P(x)|}{|P(x)|} \leqslant k \varepsilon+o(\varepsilon).

Le problème P est bien conditionné si k n'est pas très grand (par rapport à ε (précision de la machine) ). Sinon, ce problème P est mal conditionné[1].

Conditionnement d'un système linéaire[modifier | modifier le code]

Le conditionnement d'une matrice inversible A relativement à une norme subordonnée, notée ||\cdot|| est défini par la formule:

\kappa(A)  = \Vert A^{-1}\Vert \, \Vert A\Vert.

Comme la norme est supposée subordonnée, le conditionnement est supérieur à un :

\kappa(A)\geqslant 1.

Pour le système linéaire Ax=b, où les données sont la matrice A et le vecteur du second membre b, le conditionnement donne une borne de l'erreur relative commise sur la solution x lorsque les données A ou b sont perturbées. Il peut s'avérer que cette borne soit très grande, de sorte que l'erreur qui pourrait en découler rende la solution numérique inexploitable.

Formules de majoration de l'erreur[modifier | modifier le code]

Dans les formules suivantes, les calculs sont supposés faits avec une précision infinie, c'est-à-dire que les systèmes perturbés sont résolus de manière exacte.

On considère deux cas, selon que c'est le second membre b ou la matrice A qui n'est pas connu précisément.

Cas où le second membre varie[modifier | modifier le code]

Le calcul effectif de l'inversion du système Ax=b, où la matrice A est connue avec précision et où la valeur du second membre b, supposé non nul, est entachée d'une erreur \Delta b, produira une erreur relative théorique \|\Delta x\|/\|x\| sur la solution x majorée par

\frac{\Vert \Delta x\Vert}{\Vert x\Vert} \leqslant \kappa (A) \frac{\Vert \Delta b\Vert}{\Vert b\Vert}.

Cas où la matrice varie[modifier | modifier le code]

Si la matrice A subit une modification de \Delta A, on dispose d'une majoration de l'erreur par rapport au calcul avec la matrice exacte A donnée par

\frac{\Vert \Delta x\Vert}{\Vert x + \Delta x\Vert} \leqslant \kappa (A) \frac{\Vert \Delta A\Vert}{\Vert A\Vert}.

Un exemple de matrice mal conditionnée[modifier | modifier le code]

Soit la matrice

A=\begin{pmatrix}
7 &1 & 11& 10\\
2 & 6 & 5 & 2\\
8 & 11 & 3 & 8\\
6 & 9& 3&6\\
\end{pmatrix},

et le vecteur

b=\begin{pmatrix}
29\\
15\\
30\\
24\\
\end{pmatrix}.

La résolution du système Ax = b donne


x=\begin{pmatrix}
1\\
1\\
1\\
1\\
\end{pmatrix}.


Si on substitue au second membre b le second membre perturbé

b'=b+\begin{pmatrix}
0.1\\
-0.1\\
0.1\\
-0.1\\
\end{pmatrix}=\begin{pmatrix}
29.1\\
14.9\\
30.1\\
23.9\\
\end{pmatrix},

la solution x' correspondante sera

x'=A^{-1}b'\simeq
\begin{pmatrix}
6.222\\
0.133\\
1.633\\
-3.256\\
\end{pmatrix}.

Les erreurs relatives de b et x sont respectivement de 0 004 et 3,4108 ce qui représente une multiplication par environ 860 de l'erreur relative. Ce nombre est du même ordre que le conditionnement de la matrice A qui est de 1 425 (le conditionnement est pris relativement à la norme matricielle induite par la norme euclidienne sur \mathbb{R}^4).

Annexes[modifier | modifier le code]

Note[modifier | modifier le code]

  1. F. Kwok - Analyse Numérique (Université de Genève)

Articles connexes[modifier | modifier le code]