Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Cholesky-Zerlegung - Wikipedia

Cholesky-Zerlegung

aus Wikipedia, der freien Enzyklopädie

Die Cholesky-Zerlegung (nach André-Louis Cholesky (1875-1918)) bezeichnet in der numerischen Mathematik eine Zerlegung einer symmetrischen positiv definiten Matrix.

Inhaltsverzeichnis

[Bearbeiten] Formulierung und Anwendung

Jede symmetrische positiv definite Matrix A \in \mathbb{R}^{n\times n} kann eindeutig in der Form

A = LDLT

geschrieben werden. Dabei ist L eine untere Dreiecksmatrix, deren Diagonalelemente alle gleich 1 sind und D eine Diagonalmatrix mit positiven Einträgen. Mit der Matrix-"Wurzel" von D und dem Matrix-Faktor G, definiert durch

D = D1 / 2D1 / 2

und

G: = LD1 / 2,

wird die Cholesky-Zerlegung – äquivalent – auch formuliert als

A = GGT.

Liegt eine Berechnung der Cholesky-Zerlegung vor, so lässt sich das Gleichungssystem Ax = b effizient durch Vorwärts- und Rückwärtseinsetzen lösen:

  • Durch Vorwärtseinsetzen Lösung des linearen Gleichungssystems Gy = b
  • Durch anschließendes Rückwärtseinsetzen Lösung des linearen Gleichungssystems GTx = y.

[Bearbeiten] Berechnung

[Bearbeiten] Formeln

g_{ik} = \begin{cases}0 & \mathrm{f\ddot{u}r}\ i < k\\ \sqrt{a_{kk} - \sum\limits_{j=1}^{k-1}g_{kj}^2 } & \mathrm{f\ddot{u}r}\ i = k\\ \frac{1}{g_{kk}} \left( a_{ik}-\sum\limits_{j=1}^{k-1}g_{ij} g_{kj} \right) & \mathrm{f\ddot{u}r}\ i > k \end{cases}

[Bearbeiten] Aufwand

Den Aufwand der Berechnung betreffend muss die Cholesky-Zerlegung mit dem Eliminationsverfahren nach Gauß und seiner algorithmischen Umsetzung, der LR-Zerlegung, verglichen werden. Letzteres erfordert etwa doppelt so viele Operationen, da nicht nur eine Matrix L, sondern zwei Faktoren L und R berechnet werden müssen. Der Algorithmus benötigt ca. \frac{1}{3}n^3 Operationen.

[Bearbeiten] Pseudocode

In Pseudocode sieht das Cholesky-Verfahren zur Zerlegung der Matrix A in die Form LDLT so aus:

   For i = 1 To n
       For j = i To n
           Summe = a(i, j)
           For k = i - 1 To 1 Step -1
               Summe = Summe - a(i, k) * a(j, k)
           Next k
 
           If i = j Then
               If Summe <= 0 Then EXIT // A ist nicht positiv definit
               else a(j, i) = Sqrt(Summe) // Summe ist positiv
           Else
               a(j, i) = Summe / a(i, i)
           End If
       Next j
   Next i

Die Indizes der Matrix A entsprechen der mathematischen Notierung i=1..n, j=1..n, n ist die Anzahl der Zeilen und gleichzeitig die Anzahl der Spalten der Matrix A, Hilfsvariablen sind i, j, k und Summe. Der Algorithmus arbeitet am Ort, d.h. er modifiziert die Matrix A so, dass sie die untere Dreiecksmatrix G enthält.

Der Algorithmus bearbeitet nur die linke untere Dreiecksmatrix von A, die Werte ai,j für i < j brauchen nicht mit Werten belegt zu werden (da die Matrix A nach Voraussetzung symmetrisch ist) und wenn sie Werte enthalten, werden diese nicht verändert. Sucht man also nach der Cholesky-Zerlegung R gemäß A = RTR, so sind die Matrixelemente von A oberhalb der Diagonalen (i < j) gleich Null zu setzen.

Es gibt auch eine Variante, die mit semidefiniten Matrizen der Form ADAT arbeiten kann. Ersetzt man im Pseudocode die Zeile If Summe <= 0 Then EXIT durch If Summe <= 0 Then Summe = \infty, so kann man einfach weiter rechnen. Danach durchsucht man den Cholesky-Faktor G nach \infty und modifiziert A zu A', indem man die entsprechenden Zeilen aus A streicht. Im weiteren kann die Cholesky-Zerlegung von A'DA'T (abgesehen von Rundungsfehlern) problemlos berechnet werden.

[Bearbeiten] Vorgerechnetes Beispiel

A = GGT

mit

A=   \begin{pmatrix}      4 & 2 & 0 \\     2 & 5 & 2 \\     0 & 2 & 5     \end{pmatrix}

und

G=  \begin{pmatrix}      g_{11} & 0      & 0 \\     g_{21} & g_{22} & 0 \\     g_{31} & g_{32} & g_{33}     \end{pmatrix}

und

G^{T}=  \begin{pmatrix}      g_{11} & g_{21} & g_{31} \\     0      & g_{22} & g_{32} \\     0      & 0      & g_{33}     \end{pmatrix}

ergibt sich

G G^{T}= \begin{pmatrix}      g_{11}^2     & g_{11}g_{21}              & g_{11}g_{31} \\     g_{21}g_{11} & g_{21}^2+g_{22}^2         & g_{21}g_{31}+g_{22}g_{32} \\     g_{31}g_{11} & g_{31}g_{21}+g_{22}g_{32} & g_{31}^2+g_{32}^2+g_{33}^2     \end{pmatrix}=\begin{pmatrix}      a_{11} & a_{21} & a_{31} \\     a_{21} & a_{22} & a_{32} \\     a_{31} & a_{32} & a_{33}     \end{pmatrix}=A

Durch Gleichsetzen der Matrixelemente folgt:

g_{11}^2 = a_{11} = 4 \qquad \Rightarrow \qquad g_{11}=2
g_{21} \cdot g_{11}= a_{21} = 2 \qquad \Rightarrow \qquad g_{21}=1

So wird für die restlichen gs weiterverfahren. Schließlich ergibt sich

G=  \begin{pmatrix}      2 & 0 & 0 \\     1 & 2 & 0 \\     0 & 1 & 2     \end{pmatrix}

und

G^{T}=  \begin{pmatrix}      2 & 1 & 0 \\     0 & 2 & 1 \\     0 & 0 & 2     \end{pmatrix}.

[Bearbeiten] Einsatzbereiche

Bei der Anwendung der Gaußschen Fehlerquadratmethode, ist eine Möglichkeit, in jedem Schritt die Normalgleichungen, die eine symmetrisch positiv definite Matrix haben, mit dem Cholesky-Verfahren zu lösen. Dies war die Motivation von Cholesky. Beim Gauß-Newton-Verfahren ist damit bei jedem Iterationsschritt ein Gleichungssystem zu lösen, welches sich mit dem Cholesky-Verfahren bestimmen lässt.

Die Choleskyzerlegung kann auch zur Gewinnung eines Vorkonditionierungsverfahrens für lineare Gleichungssysteme mit positiv definiter Matrix benutzt werden; zu diesem Zweck gibt es speziell die Variante der unvollständigen Cholesky-Zerlegung sowie der modifizierten unvollständigen Cholesky-Zerlegung.

Gleichzeitig stellt die Zerlegung einen Test dar, ob eine gegebene symmetrische Matrix positiv definit ist. Andernfalls ist nämlich einer der Einträge auf der Diagonalen negativ, so dass die Wurzel nicht gezogen werden kann, oder Null, so dass nicht durch den Eintrag geteilt werden kann. In beiden Fällen bricht der Algorithmus ab.

Außerhalb der Mathematik findet die Cholesky-Zerlegung auch Anwendung in der ökonometrischen Erforschung makroökonomischer Zusammenhänge. Hierbei wird bei sogenannten Vektorautoregressiven Modellen (VAR) die Reihenfolge der Beeinflussung der endogenen Variablen untereinander festgelegt.

Darüber hinaus wird sie auch bei der Monte-Carlo-Simulation eingesetzt, um vorgegebene Korrelationen in unabhängig generierte Zufallszahlenfolgen (als Diskretisierung stochastischer Prozesse) zu bringen.

[Bearbeiten] Literatur

  • Hans Rudolf Schwarz & Nobert Köckler: Numerische Mathematik. Stuttgart: Teubner, 2004 (5. Auflage) ISBN 3-519-42960-8
  • Gene H. Golub & Charles F. Van Loan: Matrix computations. Johns Hopkins University Press, 1996 (3rd edition) ISBN 0-80185414-8
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu