|
Die Cholesky-Zerlegung |
|
- Die Cholesky-Zerlegung ist eine Variante des Gauß-Algorithmus für
symmetrische und positiv definite Matrizen.
- Zu einer symmetrischen und positiv definiten Matrix A wird eine
obere Dreiecksmatrix R berechnet mit A = RTR.
- Aus dem berechneten Cholesky-Faktor R wird die Inverse der
Ausgangsmatrix A bestimmt. Es gilt A-1=(RTR)
-1 = R-1(R-1)T.
- Vorteile gegenüber dem Gauß-Algorithmus: Einsparung an Speicherplatz
und Rechenzeit (ca. 50%) und geringere Empfindlichkeit gegen Rundungsfehler,
insbesondere wenn man die sogenannte Produktsummenakkumulation benutzt
(d.h. bei der Berechnung der auftretenden Skalarprodukte werden die Produkte
als doppelt genaue Zahlen dargestellt und so summiert, erst danach wird
wieder auf die Ausgangsgenauigkeit gerundet).
- Pivotisierung ist hier nicht notwendig.
|
|
|
Die Eingaben |
|
- n ist die Dimension der quadratischen Matrix A und darf den Wert
11 nicht überschreiten.
- Für eine gegebene Dimension kann zwischen verschiedenen Matrizen
gewählt werden.
- Eine parametrische Matrix A(x,y). Die Konditionszahl der
Matrix beträgt
(2n-2+x/y)/(n-2+x/y)
- Eine Dreibandmatrix, die bei der Diskretisierung einer gewöhnlichen
Differentialgleichung 2. Ordnung (RWP) entsteht. Die Konditionszahl
hängt quadratisch von der Dimension
n ab (cond(A) = O(n2)).
Für n kleiner oder gleich 11 ist die Konditionszahl
also noch moderat.
- Die Inverse der Hilbertmatrix. Die Konditionszahl steigt bei dieser Matrix
exponentiell mit der Dimension (cond(A) = O(e(3.5n))). Die Hilbertmatrix
ist bekannt dafür schon bei geringer Dimension sehr schlecht konditioniert
zu sein. Die Hilbertmatrix hat die Elemente 1/(i+j-1).
Ihre Inverse ist ganzzahlig und für den gegebenen Bereich von
n exakt darstellbar. D.h. die zu beobachtenden Ungenauigkeiten
sind nur auf die Rundungsfehler während der Rechnung zurückzuführen.
- Eine eigene Matrix A der Dimension n kann eingegeben werden.
Es wird nur das obere Dreieck der Matrix A benötigt.
Es ist darauf zu achten, daß die Matrixelemente zeilenweise ab der
Diagonalen eingetragen werden und durch Leerzeichen bzw. Kommata getrennt sind.
Erlaubt sind die Zahlendarstellungen der Programmiersprache FORTRAN.
|
|
|
Die Ausgaben |
|
- Die Ausgangsmatrix A.
- Die exakte Inverse A-1, falls bekannt (also nicht im Falle
einer eigenen Matrix A).
- Die Konditionszahl der Matrix A bzgl. der L1-Norm.
- Der relative Fehler der Cholesky-Zerlegung: L1-Norm von A-RTR
geteilt durch das betragsmäßig größte Element in A.
- Die berechnete Inverse A-1berechnet.
- Den Fehler in der berechneten Inversen: L1-Norm von
A-1-A-1berechnet, falls die exakte Inverse
bekannt ist.
- Die Güte der berechneten Inversen: L1-Norm von
I - AA-1berechnet.
|
|
|
Fragen ?! |
|
- Wie verhält sich die Güte der berechneten Inversen
A-1berechnet mit steigender Konditionszahl ?
- Wie verhält sich der Fehler des berechneten Cholesky-Faktors R
mit steigender Konditionszahl ?
|
|
|
|
|
|
|