Konditionszahl

Konditionszahl

Studium
κ(A)=∥A∥⋅∥A−1∥,∥Δx∥∥x∥≤κ(A) ∥Δb∥∥b∥\kappa(A) = \|A\| \cdot \|A^{-1}\|, \qquad \frac{\|\Delta x\|}{\|x\|} \leq \kappa(A)\,\frac{\|\Delta b\|}{\|b\|}

Voraussetzung: AA invertierbar,, Ax=b,A x = b, A(x+Δx)=b+Δb,A(x + \Delta x) = b + \Delta b, b≠0b \neq 0

κ(A)\kappa(A)
Konditionszahl der Matrix A bezüglich der gewählten Norm
∥A∥\|A\|
Matrixnorm von A, passend zur verwendeten Vektornorm
A−1A^{-1}
inverse Matrix
x,Δxx, \Delta x
exakte Lösung und ihre Änderung
b,Δbb, \Delta b
rechte Seite und ihre Störung (z.B. Mess- oder Rundungsfehler)

Die Konditionszahl gibt an, wie stark sich relative Fehler in der rechten Seite höchstens auf die Lösung auswirken.

Erklärung

Die Konditionszahl misst, wie empfindlich die Lösung eines linearen Gleichungssystems Ax=bAx = b auf Störungen der Daten reagiert. Ändert sich die rechte Seite um Δb\Delta b, ändert sich die Lösung um Δx=A−1Δb\Delta x = A^{-1}\Delta b. Daraus folgt die Abschätzung oben: Der relative Fehler der Lösung ist höchstens κ(A)\kappa(A)-mal so groß wie der relative Fehler der Daten. Eine ähnliche Abschätzung gilt für Störungen in AA.

  • Für jede induzierte Matrixnorm gilt κ(A)≥1\kappa(A) \geq 1.
  • κ(A)\kappa(A) nahe 11: gut konditioniert. Orthogonale Matrizen haben in der euklidischen Norm κ=1\kappa = 1.
  • κ(A)\kappa(A) groß: schlecht konditioniert. Kleine Rundungs- oder Messfehler können die Lösung stark verfälschen.
  • Faustregel: Man verliert etwa log⁡10κ(A)\log_{10} \kappa(A) Dezimalstellen an Genauigkeit.

Der Wert hängt von der Norm ab. Häufig verwendet man die Zeilensummennorm ∥A∥∞=max⁡i∑j∣aij∣\|A\|_\infty = \max_i \sum_j |a_{ij}| oder die Spektralnorm. Für symmetrische Matrizen ist κ2(A)=∣λmax⁡∣∣λmin⁡∣\kappa_2(A) = \frac{|\lambda_{\max}|}{|\lambda_{\min}|}, der Quotient der betragsgrößten und betragskleinsten Eigenwerte.

Die Kondition ist eine Eigenschaft des Problems, nicht des Lösungsverfahrens. Auch das beste Verfahren kann die Fehlerverstärkung eines schlecht konditionierten Problems nicht beseitigen.

Beispiele

A=(1111,01),A−1=(101−100−100100)A = \begin{pmatrix} 1 & 1 \\ 1 & 1{,}01 \end{pmatrix}, \qquad A^{-1} = \begin{pmatrix} 101 & -100 \\ -100 & 100 \end{pmatrix}

In der Zeilensummennorm ist ∥A∥∞=2,01\|A\|_\infty = 2{,}01 und ∥A−1∥∞=201\|A^{-1}\|_\infty = 201, also

κ∞(A)=2,01⋅201=404,01\kappa_\infty(A) = 2{,}01 \cdot 201 = 404{,}01

Zu b=(2; 2,01)b = (2;\ 2{,}01) gehört die Lösung x=(1; 1)x = (1;\ 1). Ändert man nur die zweite Komponente auf 2,022{,}02, ist die Lösung (0; 2)(0;\ 2). Die rechte Seite ändert sich relativ um 0,012,01≈0,005\frac{0{,}01}{2{,}01} \approx 0{,}005, also ein halbes Prozent. Die Lösung ändert sich relativ um 11=100 %\frac{1}{1} = 100\,\%. Der Verstärkungsfaktor 201201 liegt unter der Schranke 404,01404{,}01. Nach der Faustregel gehen hier etwa log⁡10404≈2,6\log_{10} 404 \approx 2{,}6 Stellen verloren.

Typische Fehler

  • Eine kleine Determinante mit schlechter Kondition gleichsetzen. 0,1⋅I0{,}1 \cdot I hat die Determinante 0,010{,}01 (bei n=2n = 2), ist aber mit κ=1\kappa = 1 perfekt konditioniert.
  • Normen mischen: ∥A∥\|A\| und ∥A−1∥\|A^{-1}\| müssen in derselben Norm berechnet werden.
  • Die Ungleichung als Gleichung lesen. Sie gibt den schlimmsten Fall an; oft ist die tatsächliche Verstärkung kleiner.
  • Bei schlechter Kondition die Schuld beim Verfahren suchen. Auch exakte Rechnung reagiert so stark auf gestörte Daten.

Verwandte Formeln