Pivotsuche und Fehleranalyse
Pivotsuche und Fehleranalyse
Pivotsuche und Fehleranalyse
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
<strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong><br />
Zeliha Kaya-Güngör<br />
06.05.11<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Inhaltsverzeichnis<br />
1 <strong>Pivotsuche</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
2 <strong>Fehleranalyse</strong><br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Wozu <strong>Pivotsuche</strong>?<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Gauß’sche Eliminationsverfahren sind im Allgemeinen nicht<br />
ohne Zeilenvertauschungen durchführbar<br />
LR-Zerlegung:<br />
Mit <strong>Pivotsuche</strong> setzen sich die Dreiecksmatrizen L <strong>und</strong> R aus<br />
kleineren Elementen zusammen<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
<strong>Pivotsuche</strong><br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Es existieren mehrere <strong>Pivotsuche</strong>-Strategien.Wir konzentrieren uns<br />
auf<br />
partielle <strong>Pivotsuche</strong><br />
totale <strong>Pivotsuche</strong><br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Permutation<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Die Stabilisierung der Gauß-Elimination wird durch<br />
Bewegungen von Daten erreicht, wie den Austausch von zwei<br />
Matrixzeilen<br />
Eine Permutationsmatrix entspricht der Einheitsmatrix mit<br />
umgeordneten Zeilen,<br />
z.B.:<br />
⎡<br />
0 0 0<br />
⎤<br />
1<br />
⎢<br />
P = ⎢1<br />
⎣0<br />
0<br />
0<br />
0<br />
1<br />
0 ⎥<br />
0⎦<br />
0 1 0 0<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Permutation<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Eine n × n Permutationsmatrix sollte niemals explizit gespeichert<br />
werden<br />
Eine Möglichkeit: p(4 1 3 2)<br />
oder auch p(2 4 3 1)<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Permutation<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
P sei eine n × n Permutationsmatrix <strong>und</strong> A eine beliebige n × n<br />
Matrix:<br />
PA führt zu Zeilenvertauschungen von A<br />
AP führt zu Spaltenvertauschungen von A<br />
Permutationsmatrizen sind orthogonal<br />
Es gilt: P −1 = P T<br />
Ein Produkt von Permutationsmatrizen ist eine<br />
Permutationsmatrix<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Austausch-Permutation<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Austausch-Permutationen:<br />
Diese sind Permutationen erhalten durch lediglich zwei<br />
Zeilenvertauschungen der Einheitsmatrix<br />
EA vertauscht zwei Zeilen von A<br />
AE vertauscht zwei Spalten von A<br />
Wenn P = En...E1 <strong>und</strong> jedes Ek bis auf die Zeile k <strong>und</strong> p(k),<br />
die vertauscht werden, der Einheitsmatrix entspricht, dann ist<br />
p(1 : n) ein nützlicher kodierenden Vektor<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Partielle <strong>Pivotsuche</strong><br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Oder auch Spaltenpivotsuche genannt<br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Bei der Durchführung der LR-Zerlegung können Null-Pivots<br />
oder sehr kleine Pivots auftauchen<br />
Dieses Problem wird duch partielle <strong>Pivotsuche</strong> umgangen<br />
In jeder Spalte wird das betragsmäßig größte Element in die<br />
Diagolposition durch Zeilenvertauschungen gebracht<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Partielle <strong>Pivotsuche</strong><br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Die partielle <strong>Pivotsuche</strong> hat zur Folge, dass kein Multiplikator<br />
größer als 1 im absoluten Wert ist, weil folgendes gilt<br />
|(EkMk−1...M1E1A)kk| = max|(EkMk−1...M1E1A)ik|<br />
wobei k ≤ i ≤ n<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Algorithmus<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
G.E mit partieller <strong>Pivotsuche</strong>:<br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Wenn A ∈ R n×n , dann berechnet der folgende Algorithmus die<br />
Gauß-Eliminationen M1, ..., Mn−1 <strong>und</strong> die<br />
Austausch-Permutation E1, ..., En, so dass<br />
Mn−1En−1....M1E1A = R eine obere Dreiecksmatrix ist<br />
A(1 : k, k) wird überschrieben mit R(1 : k, k), k = 1 : n<br />
A(k + 1 : n, k) wird überschrieben mit<br />
−Mk(k + 1 : n, k), k = 1 : n − 1<br />
der ganzzahlige Vektor piv(1 : n − 1) bestimmt die<br />
Austausch-Permution<br />
Ek vertauscht die Zeile k <strong>und</strong> piv(k), k = 1 : n − 1<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Aufwand mit partieller <strong>Pivotsuche</strong> ist aus der Sicht der<br />
Gleitkommaarithmetik minimal<br />
Es sind nur O(n 2 ) Vergleiche mit der Suche des Pivots<br />
verb<strong>und</strong>en<br />
Der allgemeine Algorithmus beinhaltet 2n 3 /3 Operationen<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Um nun das lineare Gleichungssystem Ax = LRx = b nach dem<br />
Aufruf des Algorithmus zu lösen<br />
berechnen wir y = Mn−1En−1...M1E1b<br />
lösen das obere Dreieckssystem Rx = y<br />
<strong>und</strong> lösen anschließend das untere Dreieckssystem Ly = b<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Totale <strong>Pivotsuche</strong><br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
In der partiellen <strong>Pivotsuche</strong> wird der kte Pivot bestimmt unter<br />
Scannen der Teilspalte A(k : n, k)<br />
In der totalen <strong>Pivotsuche</strong> wird der größte Eintrag der<br />
Teilmatrix A(k : n, k : n) in die Position (k, k) permutiert.<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Totale <strong>Pivotsuche</strong><br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Es wird das obere Dreieckssystem<br />
Mn−1En−1...M1E1AF1...Fn−1 = R berechnet, mit der Eigenschaft,<br />
dass wir in Schritt k mit der Matrix<br />
A k−1 = Mk−1Ek−1...M1E1AF1...Fk−1 konfrontiert werden<br />
<strong>und</strong> für die Austausch-Permutationen Ek <strong>und</strong> Fk gilt<br />
|(EkA k−1 Fk)kk| = max|(EkA k−1 Fk)ij|<br />
k ≤ i ≤ n<br />
Ek ist die Austausch-Permutation in den Zeilen <strong>und</strong> Fk die<br />
Austausch-Permutation in den Spalten<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Algorithmus<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
G.E mit kompletter <strong>Pivotsuche</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Der Algorithmus bestimmt die komplette<br />
Pivotierungs-Faktorzerlegung PAQ = LR, wobei L eine untere<br />
Dreiecksmatrix <strong>und</strong> R eine obere Dreiecksmatrix ist.<br />
P = En−1...E1 <strong>und</strong> Q = F1...Fn−1 sind Produkte von<br />
Austausch-Permutationen<br />
A(1 : k, k) wird überschrieben mit R(1 : k, k) , k = 1 : n.<br />
A(k + 1 : n, k) wird überschrieben mit L(k + 1 : n, k),<br />
k = 1 : n − 1<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Bemerkung<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Gauß-Elimination auch für die Bestimmung der Determinante<br />
geeignet<br />
Angenommen Rang(A) = r < n<br />
Daraus folgt, dass wir am Anfang des Schrittes k + 1 haben :<br />
A(r + 1 : n, r + 1 : n) = 0<br />
Dies impliziert, dass Ek = Fk = Mk = I für k = r + 1 : n <strong>und</strong><br />
der Algorithmus nach dem Schritt r mit der folgenden<br />
Faktorisierung beendet werden kann:<br />
� � � �<br />
L11 0 R11 R12<br />
PAQ = LR =<br />
0 0<br />
L21 In−r<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Bemerkung<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Wozu <strong>Pivotsuche</strong>?<br />
Permutation<br />
Partielle <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong><br />
Totale <strong>Pivotsuche</strong> ist aufwändiger als partielle <strong>Pivotsuche</strong>, da<br />
die Suche auf jeder Stufe zweidimensional ist<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
Wir vergleichen x in Ax = b mit dem gestörten Problem<br />
(A + ∆A)(x + ∆x) = b + ∆b<br />
Schranke für die Änderung der Lösung abhängig von den<br />
Störungen ∆A <strong>und</strong> ∆b:<br />
�∆x� ≤<br />
�A−1� 1 − �A−1 (�∆b� + �∆A� · �x�)<br />
� · �∆A�<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
Konditionszahl κ(A) ≥ 1 gibt den Verstärkungsfaktor an, mit dem<br />
sich die Änderungen in den Daten auf die Änderung der Lösung<br />
auswirken<br />
Schranke für die Änderung der Lösung mit:<br />
κ(A) = �A� · �A −1 �<br />
Es gilt �∆A� ≤ u�A� <strong>und</strong> �∆b� ≤ u�b�, so dass wir erhalten:<br />
� �<br />
�∆x� uκ(A) �b�<br />
uκ(A)<br />
≤ + 1 ≤ 2 ·<br />
�x� 1 − uκ(A) �A� · �x� 1 − uκ(A)<br />
Der Anwender muss die Datenunsicherheit <strong>und</strong> die<br />
Konditionszahl abschätzen <strong>und</strong> dann entscheiden, ob κu
Residuum<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
Zu einer Näherung ˜x der Lösung x definiert man das Residuum<br />
bzw den Rest:<br />
r := b − A˜x<br />
Qualität von ˜x, wenn man r kennt:<br />
Es gilt die Abschätzung<br />
�x − ˜x� ≤ κ(A) �r�<br />
�A�<br />
die direkt aus x − ˜x = A −1 r folgt<br />
A normiert, d.h �A� = 1<br />
Dann sagt der Faktor κ(A) aus, inwiefern man vom Residuum<br />
r auf die Lösungsgüte rückschließen kann.<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
R<strong>und</strong>ungsfehlereinfluss<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
Sei A = LR die exakte Lösung (ohne <strong>Pivotsuche</strong>)<br />
Stattdessen erhält man die Zerlegungen ˜ L <strong>und</strong> ˜ R<br />
numerische Lösung ˜x ist exakt zu den Daten bzw. der<br />
Koeffiziendenmatrix à <strong>und</strong> der rechten Seite<br />
Øx = b<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
R<strong>und</strong>ungsfehlereinfluss<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
Für die geänderte Koeffizientenmatrix à gilt dabei die<br />
Abschätzung:<br />
|Ã − A| ≤ |˜L||˜R|(3u + u 2 )<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
R<strong>und</strong>ungsfehlereinfluss<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
Schranke reicht nicht aus, um die Gaußelimination als<br />
numerisch stabilen Prozess zu bezeichnen<br />
Dafür bräuchte man die Eigenschaft<br />
Es gibt aber Zerlegungen mit<br />
|˜L||˜R| ≈ |A|<br />
|˜L||˜R| >> |˜L˜R| ≈ |LR| = |A|<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
R<strong>und</strong>ungsfehlereinfluss<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
Das Ziel der <strong>Pivotsuche</strong> muss es also sein, eine Zerlegung zu<br />
bestimmen, bei der das Produkt |˜L||˜R| möglichst klein wird<br />
Partielle <strong>Pivotsuche</strong> garantiert lij ≤ 1, für rij gilt die Schranke<br />
|rij| ≤ 2 n−1 a0, a0 = max|aij|, 1 ≤ i, j ≤ n<br />
Mit totaler <strong>Pivotsuche</strong> sind die Schranken etwas besser<br />
definiert<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Bemerkung<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Bemerkung zur Gaußelimination<br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
G.E <strong>und</strong> LR-Zerlegungen sind auch unter dem Einfluss der<br />
R<strong>und</strong>ungsfehler identische Verfahren<br />
Sie liefern ein kleines Residuum r = A˜x − b, das aber im<br />
Allgemeinen keine Rückschlüsse auf �˜x − x� zulässt.<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Quellen<br />
<strong>Pivotsuche</strong><br />
<strong>Fehleranalyse</strong><br />
Kondition <strong>und</strong> R<strong>und</strong>ungsfehler<br />
Residuum<br />
R<strong>und</strong>ungsfehlereinfluss<br />
Matrix Computation, Gene H. Golub <strong>und</strong> Charles F. Van<br />
Loan, 1989<br />
Numerical Linear Algebra, Lloyd N. Trefethen <strong>und</strong> David Bau,<br />
1997<br />
wikipedia.de<br />
Zeliha Kaya-Güngör <strong>Pivotsuche</strong> <strong>und</strong> <strong>Fehleranalyse</strong>
Vielen Dank für die Aufmerksamkeit !!!