05.01.2013 Aufrufe

Pivotsuche und Fehleranalyse

Pivotsuche und Fehleranalyse

Pivotsuche und Fehleranalyse

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 !!!

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!