Sie sind auf Seite 1von 62

Einführung in Numerical Computing

Lösen von Linearen Gleichungssystemen

G. Uchida, W. Gansterer

Universität Wien

Wintersemester 2022

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 1 / 62


Inhalt

I Motivation
I Kondition
I Existenz, Eindeutigkeit der Lösungen von Linearen
Gleichungssystemen
I Lösen von Linearen Gleichungssystemen:
I Umformungen, Dreiecksmatrizen, Skalierung
I Gauß-Elimination, Forward-, Backward Substitution
I Elementarmatrizen, LU-Zerlegung, Pivotisierung, Residuum
I Eindeutigkeit der LU-Faktorisierung
I Komplexität
I Spezielle Lineare Gleichungssysteme
I Cholesky-Zerlegung (symmetrisch positiv-definit)
I Bandmatrizen
I Iterative Verfahren (Jacobi, Gauß-Seidel)

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 2 / 62


Lösen von Linearen Gleichungssystemen
Motivation

Lineare Gleichungssysteme treten häufig unter anderem in den


folgenden Bereichen auf
I Statistik (Regressionsmodelle)
I Stromkreise (Kirchhoff’sche Gesetze), Netzwerke
I Finite-Elemente Methode zur approx. Lösung von partiellen
Differentialgleichungen
I Warenwirtschaft, Produktionspläne, Mischungsaufgaben

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 3 / 62


Lösen von Linearen Gleichungssystemen
Kondition

Lineare Gleichungssysteme treten häufig in numerischen


Aufgabenstellungen auf, daher möchte man gerne die Kondition dieser
gut bestimmen können. Die Kondition zeigt die Abhängigkeit der
Lösung eines Problems von Störungen der Eingangsdaten an.
I Konditionszahl einer nichtsingulären n × n-Matrix

cond(A) = kAk · kA−1 k

I Für singuläre Matrizen wird cond(A) = ∞ gesetzt


   −1
I Nachdem kAk · kA−1 k = maxx6=0 kAxk kxk · min x6 = 0
kAxk
kxk misst
die Konditionszahl das Verhältnis wie stark die Matrix einen Vektor
(6= 0) maximal streckt und maximal staucht.

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 4 / 62


Lösen von Linearen Gleichungssystemen
Kondition

I Große Konditionszahl bedeutet, dass die Matrix fast singulär ist


I Es gilt cond(A) ≥ 1 für jede Matrix A
I Für die Identitätsmatrix I gilt cond(I) = 1
I Für beliebige Matrix A und beliebiges Skalar γ gilt

cond(γA) = cond(A)

I Für jede Diagonalmatrix D = diag(di ) gilt

max |di |
cond(D) =
min |di |

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 5 / 62


Lösen von Linearen Gleichungssystemen
Kondition

I Um die Kondition einer Matrix zu bestimmen, benötigt man die


Inverse
I Bestimmung der Inversen ist aufwändig
I Die Konditionszahl wird in der Praxis oft nur näherungsweise
bestimmt

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 6 / 62


Lösen von Linearen Gleichungssystemen
Existenz, Eindeutigkeit der Lösung

Aufgabenstellung:
Gegeben eine m × n-Matrix A und ein m-Vektor b, finde den
unbekannten n-Vektor x, der folgende Gleichung erfüllt

Ax = b

I Frage also: Kann der Vektor b als Linearkombination der Spalten


der Matrix A dargestellt werden, liegt er im Raum span(A)?
I Wenn das möglich ist, ergeben die entsprechenden Koeffizienten
der Linearkombination die Komponenten des Lösungsvektors x
I So eine Lösung kann oder kann auch nicht existieren und wenn
eine Lösung existiert kann sie eindeutig sein oder auch nicht.

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 7 / 62


Lösen von Linearen Gleichungssystemen
Existenz, Eindeutigkeit der Lösung

Beginnen zunächst mit quadratischen n × n-Matrizen


I Existenz und Eindeutigkeit der Lösung von Ax = b hängt davon
ab, ob A singulär ist oder nicht
I Wenn A singulär ist, hängen Existenz und Eindeutigkeit auch
noch von b ab

A b # Lösungen
regulär beliebig eine (eindeutig)
singulär b ∈ span(A) unendlich viele
singulär b ∈
/ span(A) keine

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 8 / 62


Lösen von Linearen Gleichungssystemen

I Um ein lineares Gleichungssystem zu lösen, bringen wir es in


eine Form, in der die Lösung unverändert, aber leichter zu
berechnen ist
I Welche Transformationen des Gleichungssystems lassen seine
Lösungen unverändert?
I Linksmultiplikation beider Seiten des Gleichungssystems mit einer
nichtsingulären Matrix M , denn:
I M Ax = M b ⇔ x = (M A)−1 M b = A−1 M −1 M b = A−1 b

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 9 / 62


Beispiel: Permutationsmatrizen

I Eine Permutationsmatrix P hat in jeder Zeile und Spalte eine Eins,


und sonst überall Nullen
I P ist eine orthogonale Matrix, P −1 = P T , und ist regulär
I Linksmultiplikation eines Gleichungsystems mit P , also P Ax = P b
vertauscht die Zeilen des Systems, lässt die Lösung aber
unverändert x = (P A)−1 P b = A−1 P T P b = A−1 b
I Rechtsmultiplikation von A mit P vertauscht die Spalten, was eine
Permutation der Komponenten des Lösungsvektors zur Folge hat:
I AP z = b ⇔ z = (AP )−1 b = P T A−1 b = P T x

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 10 / 62


Beispiel: Diagonale Skalierung

I Zeilenskalierung: Linksmultiplikation beider Seiten des


Gleichungssystems mit einer nichtsingulären Diagonalmatrix D,
DAx = Db multipliziert jede Zeile der Matrix und der rechten Seite
mit dem entsprechenden Diagonalelement von D - die Lösung
bleibt hier, wie zuvor, unverändert
I Spaltenskalierung: Rechtsmultiplikation von A mit D, ADz = b
multipliziert jede Spalte von A mit dem entsprechenden
Diagonalelement von D, was die originale Lösung neu skaliert:
I z = (AD)−1 b = D−1 A−1 b = D−1 x

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 11 / 62


Dreiecksmatrizen

I Welche Art von Gleichungssystemen sind einfach zu Lösen?


I Falls eine der Gleichungen des Systems nur eine Unbekannte
beinhaltet, dh. in einer Zeile von A ist nur ein Element ungleich 0,
können wir nach dieser Unbekannten leicht lösen
I Falls nun eine weitere Gleichung nur eine weitere Unbekannte
beinhaltet, können wir nun durch Substitution des Wertes der
ersten Unbekannten in diese zweite Gleichung den Wert der
zweiten Unbekannten ermitteln
I Setzt sich das so fort, können wir schließlich alle Unbekannten
nacheinander finden. Ein lineares System mit dieser Eigenschaft
heißt Dreieckssystem

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 12 / 62


Dreiecksmatrizen

I Wir unterscheiden dabei:


I untere Dreicksmatrizen: Alle Einträge über der Hauptdiagonale sind
0, dh. aij = 0 falls i < j
I obere Dreicksmatrizen: Alle Einträge unter der Hauptdiagonale sind
0, dh. aij = 0 falls i > j
I Das auf der letzten Folie beschriebene Lösungsverfahren ist für
Dreiecksmatrizen besonders einfach zu formulieren
I Jede Dreiecksmatrix lässt sich durch geeignete
Zeilenpermutationen entweder in obere oder untere Dreiecksform
überführen

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 13 / 62


Vorwärtssubstitution

I Vorwärtssubstitution für untere Dreieckssysteme Lx = b


Pi−1
b1 bi − j=1 lij xj
x1 = , xi = für i = 2, ...n
l11 lii
I for j = 1 to n do
if ljj = 0 then
STOP
end if
xj = bj /ljj
for i = j + 1 to n do
bi = bi − lij xj
end for
end for

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 14 / 62


Rückwärtssubstitution

I Rückwärtssubstitution für obere Dreieckssysteme U x = b

bi − nj=i+1 uij xj
P
bn
xn = , xi = for i = n − 1, ..., 1
unn uii
I for j = n to 1 do
if ujj = 0 then
STOP
end if
xj = bj /ujj
for i = 1 to j − 1 do
bi = bi − uij xj
end for
end for

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 15 / 62


Dreieckssysteme

Bemerkung:
I Eine 0 entlang der Diagonale führt in beiden Fällen zu einem
Versagen des Algorithmus
I Das ist zu erwarten, weil eine Dreiecksmatrix mit einer 0 entlang
der Diagonale singulär ist

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 16 / 62


Beispiel: Dreieckssysteme

Beispiel: Rückwärtssubstitution für Lineares Gleichungssystem mit


oberer Dreiecksmatrix
    
1 2 2 x1 3
 0 −4 −6   x2  =  −6 
0 0 −1 x3 1

I x3 = −1
I Setze x3 in Gleichung 2 ein: x2 = 3
I Setze x3 und x2 in Gleichung 1 ein: x1 = −1

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 17 / 62


Elimination

I Um ein allgemeines lineares System in Dreiecksform zu


überführen, müssen wir ausgewählte Einträge der Matrix durch 0
ersetzen
I Das kann erreicht werden, indem man Linearkombinationen von
Zeilen bildet
 
a
I Sei a = 1
a2
I Ist a1 6= 0, dann gilt
    
1 0 a1 a
= 1
−a2 /a1 1 a2 0

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 18 / 62


Elementarmatrizen

I Allgemeiner können wir alle Einträge unterhalb der k-ten Position


in einem n-Vektor a durch die folgende Transformation auslöschen
    
1 ··· 0 0 ··· 0 a1 a1
 .. . . .. .. . . .  .   . 
 . . . . . ..   ..   .. 
    
 0 ··· 1 0 ··· 0   ak   ak 
Mk a = 
  
=
  
 0 · · · −mk+1 1 · · · 0   ak+1   0 
 
 .. . . .. .. . . ..   ..   .. 
 . . . . . .  .   . 
0 ··· −mn 0 · · · 1 an 0
ai
mi = ak , i = k + 1, ...n

I Der Divisor ak heißt Pivotelement und muss ungleich 0 sein

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 19 / 62


Elementarmatrizen, cont.

I Die Matrizen Mk heißen Elementarmatrizen. Ihre Wirkung besteht


darin, ein Vielfaches der k-ten Zeile zu jeder nachfolgenden Zeile
zu addieren, wobei die Koeffizienten mi so gewählt werden, dass
das Resultat 0 wird

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 20 / 62


Elementarmatrizen, cont

I Mk ist
I eine untere Dreiecksmatrix deren Diagonale nur Einsen enthält
I nichtsingulär
I Mk = I − vk eTk wobei
I vk = [0, . . . , mk+1 , . . . , mn ]T
I ek der k-te Einheitsvektor
I Mk−1 = I + vk eTk , dh.
I Lk := Mk−1 unterscheidet sich von Mk nur dadurch, dass die
Vorzeichen der mi umgekehrt sind

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 21 / 62


Elementarmatrizen, cont.

I Falls Mj , j > k ebenfalls eine Elementarmatrix mit


Koeffizientenvektor vj ist, dann ist

Mk Mj = I − vk eTk − vj eTj + vk eTk vj eTj


= I − vk eTk − vj eTj

was bedeutet, dass ihr Produkt in diesem Fall so etwas wie ihre
Vereinigung“ ist. Ein analoges Resultat gilt für das Produkt der

Inversen Lk Lj

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 22 / 62


Beispiel

 
2
a= 4 
 −2      
1 0 0 2 2 1 0 0
M1 a =  −2 1 0   4  =  0  L1 = M1−1 = 2 1 0 
1 0 1 −2 0 −1 0 1
      
1 0 0 2 2 1 0 0
M2 a =  0 1 0  4  =  4  L2 = M2−1 = 0 1 0 
0 0, 5 1 −2 0 0 −0, 5 1
   
1 0 0 1 0 0
M1 M2 =  −2 1 0  L1 L2 =  2 1 0 
1 0, 5 1 −1 −0, 5 1

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 23 / 62


Gaußsche Elimination

I Um ein allgemeines lineares Gleichungssystem Ax = b in obere


Dreiecksform zu überführen, wählen wir zuerst M1 mit a11 als
Pivotelement, um die gesamte erste Spalte von A unterhalb der
ersten Zeile zu annihilieren
I Das ursprüngliche System ist nun in die Form M1 Ax = M1 b
abgewandelt, die Lösung ist aber unverändert
I Nun wählen wir M2 mit a22 als Pivotelement um die zweite Spalte
von M1 A unterhalb der zweiten Zeile zu annihilieren
I Das ursprüngliche System ist nun in die Form M2 M1 Ax = M2 M1 b
abgewandelt, die Lösung ist aber nach wie vor unverändert
I Dieser Prozess wird für jede Spalte fortgesetzt, bis alle Elemente
unterhalb der Diagonale 0 sind

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 24 / 62


Gaußsche Elimination

I Das resultierende System

Mn−1 · · · M1 Ax = Mn−1 · · · M1 b
M Ax = M b

hat obere Dreiecksform und kann mit Rückwärtssubstitution gelöst


werden, um eine Lösung des originalen Gleichungssystems
Ax = b zu erhalten
I Dieser Prozess heißt Gaußsche Elimination

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 25 / 62


LU Faktorisierung
I Falls k < j ist das Produkt Lk Lj eine untere Dreiecksmatrix mit
Einsen entlang der Diagonale, also gilt dass die Matrix L gegeben
durch
L = M −1 = M1−1 · · · Mn−1
−1
= L1 · · · Ln−1
eine untere Dreiecksmatrix ist
I Es ist aufgrund unserer Konstruktion U = M A eine obere
Dreiecksmatrix
I Das bedeutet, wir haben damit

A = LU

wobei L eine untere- und U eine obere Dreiecksmatrix ist


I Mittels Gaußscher Elimination können wir also eine sogenannte
LU Faktorisierung einer Matrix in zwei Faktoren, die
Dreiecksgestalt haben, berechnen
G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 26 / 62
LU Faktorisierung, cont.

I Mit einer LU Faktorisierung wird Ax = b zu LU x = b


I Wir lösen das System in 2 Schritten
I Mittels Vorwärtssubstitution lösen wir zunächst das untere
Dreieckssystem Ly = b
I Mit anschließender Rückwärtssubstitution in dem oberen
Dreieckssystem U x = y lösen wir schließlich das ursprüngliche
System
I y = M b ist hier gleich der transformierten rechten Seite bei
Gaußscher Elimination
I Gaußsche Elimination und LU-Faktorisierung sind zwei
Möglichkeiten, denselben Lösungsprozess auszudrücken

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 27 / 62


Beispiel

I Wir wollen das folgende Gleichungssystem mittels Gaußscher


Elimination lösen:

x1 + 2x2 + 2x3 = 3,
4x1 + 4x2 + 2x3 = 6,
4x1 + 6x2 + 4x3 = 10

I In Matrizenschreibweise
    
1 2 2 x1 3
Ax = 4 4 2 x2  =  6  = b.
4 6 4 x3 10

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 28 / 62


Beispiel

Um die subdiagonalen Einträge der ersten Spalte von A zu


annihilieren, subtrahieren wir das vierfache der ersten Zeile von den
Zeilen 2 und 3:
    
1 0 0 1 2 2 1 2 2
M1 A = −4 1 0 4 4 2 = 0 −4 −6 ,
−4 0 1 4 6 4 0 −2 −4
    
1 0 0 3 3
M1 b = −4 1 0  6  = −6 .
−4 0 1 10 −2

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 29 / 62


Beispiel

Um die subdiagonalen Einträge der zweiten Spalte von M1 A zu


annihilieren, subtrahieren wir 12 der zweiten Zeile von der dritten:
    
1 0 0 1 2 2 1 2 2
M2 M1 A = 0 1 0 0 −4 −6 = 0 −4 −6 ,
0 −0, 5 1 0 −2 −4 0 0 −1
    
1 0 0 3 3
M2 M1 b = 0 1 0 −6 = −6 .
0 −0, 5 1 −2 1

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 30 / 62


Beispiel

Das originale System wurde nun auf ein äquivalentes oberes


Dreieckssystem reduziert
    
1 2 2 x1 3
U x = 0 −4 −6 x2  = −6 = M b = y,
0 0 −1 x3 1

Dieses kann nun durch Rückwärtssubstitution gelöst werden, um


 T
x = −1 3 −1

zu erhalten

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 31 / 62


Beispiel

Die LU-Faktorisierung explizit ausgeschrieben:


    
1 0 0 1 0 0 1 0 0
L1 L2 = 4 1 0 0 1 0 = 4 1 0 = L,
4 0 1 0 0, 5 1 4 0, 5 1

sodass
    
1 2 2 1 0 0 1 2 2
A = 4 4 2 = 4 1 0 0 −4 −6 = LU.
4 6 4 4 0, 5 1 0 0 −1

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 32 / 62


Zeilenvertauschungen
I Gaußsche Elimination ist unmöglich, falls der führende
Diagonaleintrag der unbearbeiteten Restmatrix zu irgendeinem
Zeitpunkt 0 ist
I Einfacher Lösungsansatz: Falls ein Diagonaleintrag in der k-ten
Zeile 0 ist, vertauschen wir diese Zeile mit irgendeiner auf sie
folgenden, die in der k-ten Spalte einen Eintrag ungleich 0 hat.
Danach fahren wir wie üblich fort
I Falls es keine Zeile gibt, die in der k-ten Spalte einen Eintrag
ungleich 0 hat, gibt es zu diesem Zeitpunkt nichts weiter zu tun,
also springen wir zur nächsten Spalte weiter
I Eine 0 auf der Diagonale bewirkt, dass die resultierende obere
Dreiecksmatrix U singulär ist - dennoch lässt sich eine
LU-Faktorisierung berechnen
I In so einem Fall wird aber die Rückwärtssubstitution aufgrund der
Singulärität von U nicht funktionieren
G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 33 / 62
Partielle Pivotisierung

I Prinzipiell ist jedes Matrixelement ungleich 0 als Pivotelement


geeignet, aber in der Praxis sollte es so gewählt werden, dass die
Fehlerfortpflanzung minimiert wird
I Um bei der Multiplikation von Elementarmatrix und Restmatrix
eine Verstärkung vorangegangener Rundungsfehler zu
vermeiden, sollten die Koeffizienten mi betragsmäßig nicht größer
als 1 sein
I Das kann erreicht werden, indem man bei jedem Schritt den
Eintrag mit dem größten Betrag an oder unter der Diagonale als
Pivotelement wählt
I Dieses Vorgehen heißt partielle Pivotisierung und ist essentiel um
die numerische Stabilität von Implementierungen des Gaußschen
Eliminationsverfahrens für allgemeine lineare Systeme zu
gewährleisten

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 34 / 62


LU Faktorisierung mit partieller Pivotisierung

I Mit partieller Pivotisierung erfolgt vor jeder Multiplikation mit einer


Elementarmatrix Mk eine Permutation durch Multiplikation mit
einer Permutationsmatrix Pk , die eine Zeilenvertauschung
durchführt, die den Eintrag mit dem größten Betrag in der
entsprechenden Spalte zum Diagonalelement macht
I Wir erhalten immer noch M A = U mit einer oberen
Dreiecksmatrix U , aber nun ist

M = Mn−1 Pn−1 · · · M1 P1

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 35 / 62


LU Faktorisierung mit partieller Pivotisierung, cont.

I L = M −1 ist immer noch eine Dreicksmatrix, aber sie ist nicht


mehr notwendigerweise eine untere Dreiecksmatrix
I Wir können alternativ schreiben

P A = LU

wobei P = Pn−1 · · · P1 die Zeilen von A in jene Reihenfolge


permutiert die durch die partielle Pivotisierung bestimmt wurde.
Nun ist L eine untere Dreiecksmatrix

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 36 / 62


Vollständige Pivotisierung

I Vollständige Pivotisierung ist eine aufwändigere Strategie, in der


der größte Eintrag der gesamten verbleibenden Restmatrix in die
Pivotposition permutiert wird
I Benötigt sowohl Zeilen- als auch Spaltenvertauschungen, was zu
der Faktorisierung
P AQ = LU
führt, wobei P und Q Permutationsmatrizen sind
I Die numerische Stabilität von vollständiger Pivotisierung ist
theoretisch überlegen, aber das Verfahren ist deutlich aufwändiger
I Die numerische Stabilität, die durch partielle Pivotisierung erzielt
werden kann ist für Anwendungen meist ausreichend, sodass
diese fast immer für sich allein Anwendung findet

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 37 / 62


Beispiel: Pivotisierung

I Die Notwendigkeit von Pivotisierung hat nichts mit Singularität zu


tun
I Beispielsweise ist  
0 1
A=
1 0
nichtsingulär, besitzt aber ohne Pivotisierung keine
LU-Faktorisierung, wohingegen
 
1 1
A=
1 1

singulär ist, aber eine LU-Faktorisierung besitzt


    
1 1 1 0 1 1
A= = = LU
1 1 1 1 0 0

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 38 / 62


Beispiel: kleine Pivotelemente

I Nicht nur exakte Nullen


 verursachen
 Probleme als Pivotelemente.
 1
Betrachten wir A = wobei 0 <  < mach . Ohne
1 1
Zeilenvertauschungen:
       
1 0 1 0  1  1
M= L= 1 U= ≈
− 1 1  1 0 1 − 1 0 − 1

in Gleitpunktarithmetik. Aber dann ist


    
1 0  1  1
LU = 1 = 6 A
=
 1 0 − 1 1 0

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 39 / 62


Beispiel: kleine Pivotelemente

I Sehr kleine Pivots und damit grosse Multiplikatoren haben zu


Informationsverlust in der transformierten Matrix geführt
I Mit Zeilenvertauschungen:
       
1 0 1 0 1 1 1 1
M= L= U= ≈
− 1  1 0 1− 0 1

in Gleitpunktarithmetik
    
1 0 1 1 1 1
LU = =
 1 0 1  1
was nach Permutation das korrekte Resultat ist

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 40 / 62


Pivotisierung, cont.

I Während Pivotisierung generell für die Stabilität des Gaußschen


Eliminationsverfahrens essentiell ist, gibt es einige Klassen von
Matrizen für die sie nicht vonnöten ist
I Diagonaldominante Matrizen
n
X
|aij | < |ajj | j = 1, . . . , n
i=1i6=j

I Symmetrische, positiv definite Matrizen

A = AT und xT Ax > 0 für alle x 6= 0

Dieser Fall führt zur Cholesky Faktorisierung

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 41 / 62


Residuum

I Das Residuum r = b − Ax̂ für eine mittels Gaußscher Elimination


berechnete Lösung x̂ erfüllt

krk kEk
≤ ≤ ρ n2 mach
kAkkx̂k kAk

wobei E der Rückwärtsfehler in der Matrix A ist, und der


Wachstumsfaktor ρ das Verhältnis des größten Eintrages in U zu
dem größten Eintrag in A
I Ohne Pivotisierung kann ρ beliebig groß werden, sodass
Gaußsche Elimination ohne Pivotisierung instabil ist
I Mit partieller Pivotisierung kann ρ immernoch den Maximalwert
2n−1 annehmen, aber solches Verhalten ist sehr selten

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 42 / 62


Residuum, cont.

I Meist ist der Wachstumsfaktor klein, sodass


krk kEk
≤ / n mach
kAkkx̂k kAk

Das bedeutet, dass Gaußsche Elimination mit partieller


Pivotisierung kleine relative Residuen liefert, unabhängig von der
Konditionierung des Systems
I Daraus folgt aber auch: Ein kleines relatives Residuum impliziert
nicht notwendigerweise, dass die berechnete Lösung nahe an der
echten“ Lösung ist - außer, das System ist gut konditionert

I Vollständige Pivotisierung liefert noch kleinere
Wachstumsfaktoren, aber die zusätzliche Stabilität ist den
zusätzlichen Aufwand meist nicht wert

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 43 / 62


Beispiel: Residuum

I Wir verwenden ein dreistelliges Gleitpunkt-Zahlensystem um das


folgende Gleichungssystem zu lösen:
    
0.641 0.242 x1 0.883
=
0.321 0.121 x2 0.442

I Gaußsche Elimination mit partieller Pivotisierung liefert das


Dreieckssystem
    
0.641 0.242 x1 0.883
=
0 0.000242 x2 −0.000383

I Rückwärtssubstitution ergibt die Lösung


 T
x̂ = 0.782 1.58

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 44 / 62


Beispiel: Residuum, cont.
I Das Residuum für diese Lösung ist
 
−0.000622
r = b − Ax̂ =
−0.000202
I Das Residuum ist für 3-Ziffern Arithmetik so klein wie man es
erwarten kann, aber die exakte Lösung ist
 T
x = 1.00 1.00
der Fehler ist also ähnlich groß wie die Lösung
I Ursache dieses Phänomens ist, dass die Matrix näherungsweise
singulär ist (cond(A) > 4000)
I Die Division, die x2 bestimmt ist zwischen zwei Zahlen, die in der
Größenordnung des Rundungsfehlers liegen, sodass das Resultat
essentiell beliebig ist
I Wenn dann der Wert für x2 in die erste Gleichung eingesetzt wird,
wird x1 so berechnet, dass es die Gleichung erfüllt, sodass das
Residuum klein, aber die Lösung ungenau ist.
G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 45 / 62
Beispiel: Residuum, cont.

I Gaußsche Elimination hat die Form dreier verschachtelter


Schleifen:
for ... do
for ... do
for ... do
aij = aij − (aik /akk )akj
end for
end for
end for
I Die Indizes i, j und k der for-Schleifen können in jeder
Reihenfolge durchlaufen werden, was 3! = 6 Möglichkeiten ergibt,
die unterschiedliche Implikationen für die Performanz haben

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 46 / 62


Eindeutigkeit der LU-Faktorisierung

I Trotz unterschiedlicher Arten, sie zu berechnen, ist die


LU-Faktorisierung eindeutig bis auf diagonale Skalierung ihrer
Faktoren
I Angenommen, die Zeilenpivot-Folge ist dieselbe, und
angenommen, wir haben zwei verschiedene Faktorisierungen
einer Matrix
P A = LU = L̂Û
dann folgt
L̂−1 L = Û U −1 = D
wobei D sowohl eine untere- als auch eine obere Dreiecksmatrix
ist, also diagonal sein muss

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 47 / 62


Eindeutigkeit der LU-Faktorisierung

I Falls sowohl L als auch L̂ nur Einsen entlang der Diagonale


haben, dann muss D die Identitätsmatrix sein, also L = L̂ und
U = Û
I Explizit eindeutig ist die LDU Faktorisierung

P A = LDU

mit L unterer, U oberer Dreiecksmatrix und D Diagonalmatrix

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 48 / 62


Speichermanagement

I Elementarmatrizen Mk , ihre Inversen Lk und die


Permutationsmatrizen Pk werden bei tatsächlichen
Implementierungen nicht explizit geformt
I Stattdessen überschreibt U das obere Dreieck von A, die
Multiplikatoren mi in L überschreiben das untere Dreieck von A
(die Diagonale von L besteht nur aus Einsen und wird nicht
explizit gespeichert)
I Zeilenvertauschungen werden in effizienten Implementierungen
nicht explizit durchgeführt, stattdessen speichert ein Hilfsvektor
die Zeilenordnung

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 49 / 62


Komplexität

I LU Faktorisierung benötigt ungefähr n3 /3


Gleitpunkt-Multiplikationen und eine vergleichbare Zahl von
Additionen
I Vor- und Rückwärtssubstitution benötigen in etwa n2
Multiplikationen und Additionen
I Ein lineares System kann auch über explizite Matrix-Inversion
gelöst werden, mit x = A−1 b
I Die Berechnung von A−1 besteht in dem Lösen von n linearen
Gleichungssystemen (für die Spalten der Einheitsmatrix), was
eine LU-Faktorisierung und n Vor- und Rückwärtssubstitutionen
benötigt
I Auf diese Art kommen ungefähr n3 Operationen zusammen, dh.
Matrizeninversion ist dreimal teurer als LU-Faktorisierung

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 50 / 62


Inversion vs. Faktorisierung

I Selbst mit mehreren rechten Seiten b ist Inversion nicht billiger,


weil jede Matrix-Vektor Multiplikation A−1 b n2 Operationen
erfordert, ähnlich den Kosten von Vor- und Rückwärtssubstitution
I Inversion ist auch weniger akkurat. Beispiel: Lösung von 3x = 18
durch Division ergibt x = 18/3 = 6, Lösung durch Inversion ergibt
x = 3−1 × 18 = 0.333 × 18 = 5.99 in 3-Ziffern Arithmetik
I Inverse Matrizen sind wichtige Bestandteile vieler Formeln, aber
explizite Inversion ist für deren Implementierung selten vonnöten
I Beispielsweise können die Spalten der Matrix A−1 B durch
LU-Faktorisierung von A und anschließendes Lösen des
Gleichungssystems Ax = bi für jede der Spalten bi von B
berechnet werden

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 51 / 62


Spezielle Typen Linearer Gleichungssysteme

I Aufwand und Speicherplatz kann oft reduziert werden bei


Berücksichtigung spezieller Strukturen (wenn vorhanden)
I Beispiele:
I Symmetrisch: A = AT , aij = aji für alle i, j
I Positiv definit: xT Ax > 0 für alle x 6= 0
I Bandmatrizen: aij = 0 für alle |i − j| > β, wobei β die Bandweite
von A ist
I Dünn besetzt: Die meisten Einträge von A sind 0

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 52 / 62


Symmetrisch-positiv definite Matrizen

I Falls A symmetrisch und positiv definit ist, kann die


LU-Faktorisierung so durchgeführt werden, dass U = LT , was zu
der Cholesky Faktorisierung

A = LLT

führt, wobei L eine untere Dreiecksmatrix mit positiven


Diagonaleinträgen ist
I Der Algorithmus zur Berechnung der Cholesky Faktorisierung
kann durch Gleichsetzen der Einträge von A und LLT hergeleitet
werden

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 53 / 62


Symmetrisch-positiv definite Matrizen

I Ist A eine 2 × 2 Matrix bedeutet das:


    
a11 a12 l11 0 l11 l21
=
a21 a22 l21 l22 0 l22

das impliziert

q
l11 = a11 , l21 = a21 /l11 , l22 = 2
a22 − l21

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 54 / 62


Algorithmus Cholesky Faktorisierung

I Algorithmus Cholesky Faktorisierung:

for k = 1 to n do

akk = akk
for i = k + 1 to n do
aik = aik /akk
end for
for j = k + 1 to n do
for i = k + 1 to n do
aij = aij − aik ajk
end for
end for
end for

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 55 / 62


Cholesky Faktorsierung, cont.

I Eigenschaften der Cholesky Faktorisierung für symmetrische


positiv-definite n × n Matrizen
I Alle n Wurzeln sind positive Zahlen, dh. der Algorithmus ist
wohldefiniert
I Pivotisierung ist zum Erhalt der numerischen Stabilität nicht
vonnöten
I Es wird nur auf das untere Dreieck von A zugegriffen, das obere
Dreieck muss nicht gespeichert werden
I Es werden nur n3 /6 Multiplikationen und eine ähnliche Zahl an
Additionen benötigt
I Fazit: die Cholesky Faktorisierung benötigt in etwa halb so viel
Arbeit und halb so viel Speicher wie die klassische
LU-Faktorisierung und kommt ohne Pivotisierung aus - dafür ist
sie aber auch nur auf eine kleinere Klasse von Problemen
anwendbar

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 56 / 62


Symmetrisch-indefinite Systeme

I Für symmetrisch-indefinite Matrizen A ist die Cholesky


Faktorisierung nicht anwendbar und irgendeine Art der
Pivotisierung wird im allgemeinen benötigt, um numerische
Stabilität zu gewährleisten
I Eine Faktorisierung der Form

P AP T = LDLT

wobei L eine untere Dreiecksmatrix ist, und D entweder


tridiagonal oder blockdiagonal mit 1 × 1 und 2 × 2 Blöcken kann
stabil mit einer symmetrischen Pivotisierungsstrategie berechnet
werden
I In beiden Fällen sind die Kosten vergleichbar mit jenen der
Cholesky Faktorisierung

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 57 / 62


Bandmatrizen

I Gaußsche Elimination unterscheidet sich bei Bandmatrizen wenig


vom allgemeinen Fall - nur die Grenzen der Schleifen ändern sich
I Üblicherweise werden solche Matrizen in Arrays gespeichert, um
nicht Speicher an überflüssige Nullen zu verschwenden
I Falls Pivotisierung für Stabilität vonnöten ist kann die Bandbreite
wachsen, sich aber nicht mehr als verdoppeln
I Der Code für einen Solver für allgemeine Bandmatrizen beliebiger
Bandbreite ist ähnlich dem Code für Gaußsche Elimination für
allgemeine Matrizen
I Für fixe schmale Bandbreite hat der Code eine sehr einfache
Form, insbesondere falls Pivotisierung nicht benötigt wird

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 58 / 62


Tridiagonale Matrizen

I Tridiagonale Matrix:
 
b1 c1 0 ··· 0
 .. .. 
a2
 b2 c2 . . 

A=0
 .. .. .. 
. . . 0 
 ..
 
..
.

. an−1 bn−1 cn−1 
0 ··· 0 an bn

I Algorithmus Tridiagonale LU Faktorisierung (ohne Pivotisierung)


d1 = b1
for i = 2 to n do
mi = ai /di−1
di = bi − mi ci−1
end for

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 59 / 62


Tridiagonale Matrizen, cont.

I Die LU Faktorisierung von A ist dann gegeben durch


   
1 0 ··· ··· 0 d1 c1 0 ··· 0
 .. .. ..   .. .. 
m2
 1 . . . 
 0 d2
 c2 . . 

L= 0
 .. .. .. ..  U =  .. . . .. .. 
. . . . . . . . 0 
 ..  .. . .
   
.. ..
.

. .

 . mn−1 1 0 . dn−1 cn−1 
0 ··· 0 mn 1 0 ··· ··· 0 dn

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 60 / 62


Bandmatrizen

I Im allgemeinen erfordern Bandmatrizen mit Bandweite β


Speicherplatz von der Größenordnung O(βn) und die
Faktorisierung erfordert O(β 2 n) Operationen
I Verglichen mit vollen Systemen erhält man substantive
Einsparungen, wenn β  n ist

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 61 / 62


Iterative Verfahren für Lineare Gleichungssysteme

I Gauss Elimination ist eine direkte Methode zur Lösung von


Linearen Gleichungssystemen. Es ergibt eine exakte Lösung in
endlich vielen Schritten (bei exakter Arithmetik)
I Iterative Methoden beginnen mit einer geschätzen Startlösung
und verbessern diese sukzessive bis eine gewünschte
Genauigkeit erreicht ist.
I Theoretisch können unendlich viele Schritte benötigt werden bis
das Verfahren gegen die exakte Lösung konvergiert. In der Praxis
beendet man das Verfahren wenn das Residuum klein wird
I Für manche Problemtypen haben iterative Methoden Vorteile
gegenüber direkten Methoden
I Spezielle iterative Methoden werden wir später kennen lernen.

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2022 62 / 62

Das könnte Ihnen auch gefallen