Cholesky-Zerlegung < Lin. Gleich.-systeme < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 22:24 Mi 14.01.2009 | Autor: | Pacapear |
Hallo zusammen.
Ich verstehe in meinem Skript die Herleitung der Cholesky-Zerlegung nicht so ganz.
Also da steht:
[mm] \underbrace{L_{n-1}*...*L_2*L_1}_{=L^{-1}}*A*\underbrace{L_1^T*L_2^T*...*L_{n-1}^T}_{=(L^{-1})^T=L^{-T}}=D=diag(a_{kk}^{(k)})_{k=1,...,n}
[/mm]
wobei [mm] L^{-1} [/mm] Produkt aller Frobenius-Matrizen ( = obere Dreiecksmatrix mit Einsen auf der Diagonalen)
[mm] \Rightarrow A=LDL^T=LD^{\bruch{1}{2}}(LD^{\bruch{1}{2}})^T [/mm] wobei [mm] D=D^{\bruch{1}{2}}*D^{\bruch{1}{2}}
[/mm]
[mm] D^{\bruch{1}{2}}=diag(\wurzel{a_{kk}^{(k)}})_{k=1,...,n}
[/mm]
[mm] L'=LD^{\bruch{1}{2}} \Rightarrow A=L'*(L')^T
[/mm]
Eigentlich versteh ich nur die erste Zeile nicht, der Rest ist klar [mm] (L^{-1} [/mm] und [mm] L^{-T} [/mm] auf andere Seite bringen, ausrechnen).
Also ich sage da ja, dass [mm] L^{-1}*A*L^{-T} [/mm] gleich der Diagonalen von A ist, richtig?
Aber irgendwie passt das bei mir nicht
Ich hab mir mal ein Beispiel gemacht:
[mm] A=\pmat{ 1 & 3 & 6 \\ 2 & 4 & 1 \\ 3 & 1 & 2 }
[/mm]
Das zugehörige Produkt aller Frobenius-Matrizen ist [mm] L^{-1}=\pmat{ 1 & 0 & 0 \\ -2 & 1 & 0 \\ -3 & -4 & 1 }
[/mm]
Die dazu gehörige Matrix [mm] L^{-T}=(L^{-1})^T=\pmat{1 & -2 & -3 \\ 0 & 1 & -4 \\ 0 & 0 & 1 }
[/mm]
Aber wenn ich das jetzt zusammenrechne, kommt bei mir keine Diagonalmatrix raus, und schon gar keine, die die Diagonaleinträge von A enthält
[mm] L^{-1}*A*L^{-T}=\pmat{1 & 1 & -9 \\ 0 & -2 & -3 \\ -8 & -8 & 100 }\not=\pmat{1 & 0 & 0 \\ 0 & 4 & 0 \\ 0 & 0 & 2 }=D
[/mm]
Kann mir jemand helfen?
LG, Nadine
|
|
|
|
Ich bin mir ziemlich sicher, dass die Diagonaleinträge von D nicht die von A sind. Vielleicht ist da nur etwas schlecht aufgeschrieben worden. Ansonsten kann der Fehler noch in der Berechnung von [mm] L^{-1} [/mm] liegen.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:42 Do 15.01.2009 | Autor: | Pacapear |
> Ich bin mir ziemlich sicher, dass die Diagonaleinträge von
> D nicht die von A sind.
Ja, du hast Recht, es sind die Diagonaleinträge der R-Matrix, also die Pivotelemente von A.
|
|
|
|
|
Zuerst einmal ist zu bemerken, dass eine Cholesky Zerlegung nur für symmetrisch positiv definite Matrizen. Schreib dir mal ein Beispiel mit einer symmetrisch Positiv definiten Matrix auf, da sollte das hinhauen.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 14:54 Do 15.01.2009 | Autor: | Pacapear |
Hallo!
> Schreib dir
> mal ein Beispiel mit einer symmetrisch Positiv definiten
> Matrix auf, da sollte das hinhauen.
Ja, hab ich jetzt gemacht.
Ich habe mal eine Matrix genommen, von der ich schon eine Cholesky-Zerlegung habe:
[mm] A=\pmat{ 3 & -1 & -1 \\ -1 & 3 & -1 \\ -1 & 1 & 5}
[/mm]
Dazu gehören nach LR-Zerlegung:
[mm] L=\pmat{ 1 & 0 & 0 \\ -\bruch{1}{3} & 1 & 0 \\ -\bruch{1}{3} & \bruch{1}{4} & 1} [/mm] und [mm] R=\pmat{ 3 & -1 & -1 \\ 0 & \bruch{8}{3} & \bruch{2}{3} \\ 0 & 0 & \bruch{9}{2}}
[/mm]
Demnach ist [mm] L^{-1}=\pmat{ 1 & 0 & 0 \\ \bruch{1}{3} & 1 & 0 \\ \bruch{1}{3} & -\bruch{1}{4} & 1} [/mm] und damit [mm] (L^{-1})^T=\pmat{ 1 & \bruch{1}{3} & \bruch{1}{3} \\ 0 & 1 & -\bruch{1}{4} \\ 0 & -0 & 1}
[/mm]
So, wenn ich nun also [mm] D=L^{-1}*A*(L^{-1})^T [/mm] berechne, erhalte ich:
[mm] \pmat{ 1 & 0 & 0 \\ \bruch{1}{3} & 1 & 0 \\ \bruch{1}{3} & -\bruch{1}{4} & 1}*\pmat{ 3 & -1 & -1 \\ -1 & 3 & -1 \\ -1 & 1 & 5}*\pmat{ 1 & \bruch{1}{3} & \bruch{1}{3} \\ 0 & 1 & -\bruch{1}{4} \\ 0 & 0 & 1}=\pmat{ 3 & -1 & -1 \\ 0 & \bruch{8}{3} & \bruch{2}{3} \\ \bruch{1}{4} & -\bruch{1}{12} & \bruch{53}{12}}*\pmat{ 1 & \bruch{1}{3} & \bruch{1}{3} \\ 0 & 1 & -\bruch{1}{4} \\ 0 & 0 & 1}=\pmat{ 3 & 0 & \bruch{1}{4} \\ 0 & \bruch{8}{3} & 0 \\ \bruch{1}{4} & 0 & \bruch{217}{48}}\not=\pmat{ 3 & 0 & 0 \\ 0 & \bruch{8}{3} & 0 \\ 0 & 0 & \bruch{9}{2}}=D
[/mm]
Das geht ja zumindest schonmal annähernd in die richtige Richtung
Die ersten beiden Diagonalelemente stimmen schon mal, und ein paar Nullen hab ich auch schon.
Wo ist jetzt mein Fehler?
LG, Nadine
|
|
|
|
|
Dein [mm] L^{-1} [/mm] ist falsch: [mm]L^{-1}_{3,1}=\bruch{1}{4}[/mm] und nicht [mm]\bruch{1}{3}[/mm] .
|
|
|
|
|
> Dein [mm]L^{-1}[/mm] ist falsch: [mm]L^{-1}_{3,1}=\bruch{1}{4}[/mm] und nicht
> [mm]\bruch{1}{3}[/mm] .
Oh ja, jetzt wo ich es explizit ausrechne, sehe ich es.
Vorher hab ich es mir "nur" versucht zu überlegen.
Nämlich ich weiß ja, dass [mm] L=L_1^{-1}*L_2^{-1}*...*L_{n-1}^{-1}
[/mm]
Und ich weiß ja, dass die [mm] L_k^{-1}, [/mm] die ja die Inversen der Frobenius-Matrizen sind, genauso aussehen wie die Frobenius-Matrizen [mm] L_k, [/mm] nur dass sich unterhalb der Diagonalen die Vorzeichen ändern.
Und deshalb dachte ich, dass wenn ich jetzt alle Frobenius-Matrizen [mm] L_k [/mm] aufmultipliziere (also [mm] L^{-1} [/mm] bilde), dass das Ergebnis genau das gleiche ist, wie alle Frobenius-Inversen [mm] L_k^{-1} [/mm] aufmultipliziert (also [mm]\ L[/mm]), nur mit geändertem Vorzeichen unterhalb der Diagonalen.
Wiso geht das nicht?
LG, Nadine
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:20 Fr 22.05.2009 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|