Gleichzeitig stellt die Zerlegung einen Test dar, ob eine gegebene symmetrische Matrix positiv definit ist. Andernfalls ist eines der Elemente auf der Hauptdiagonalen negativ, sodass die Quadratwurzel nicht gezogen werden kann, oder gleich , sodass durch das Element nicht dividiert werden kann. In beiden Fällen bricht der Algorithmus ab. Die Cholesky-Zerlegung lässt sich auch zur Bestimmung der Determinante der Matrix verwenden, denn es gilt .
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.
Ist eine 3x3-Matrix, dann sieht die Cholesky-Zerlegung wie folgt aus:
Mit konkreten Zahlen:
Berechnung
Setzt man , so erhält man für die Elemente von :
Dieser Zusammenhang führt direkt auf die folgenden Formeln für :
Bei diesem Algorithmus ist es wichtig, die Elemente in der richtigen Reihenfolge zu berechnen. Die Elemente werden spaltenweise berechnet und beginnend mit dem niedrigsten Zeilenindex.
Die Berechnung der Zerlegung erfolgt in analoger Art und Weise für und :
Auch bei diesen Algorithmen ist es wichtig, die Reihenfolge der berechneten Elemente richtig zu wählen. Zuerst muss man zum Index das Element berechnen und anschließend die Spalte der Matrix, also: für .
Die Berechnungen in obigen Formeln können in verschiedener Weise durchgeführt werden. Die nach Tadeusz Banachiewicz benannte Variante berechnet die untere Dreiecksmatrix zeilenweise. In Pseudocode sieht das Verfahren zur Zerlegung der Matrix in die Form so aus:
Fori=1TonForj=1ToiSumme=a(i,j)Fork=1Toj-1Summe=Summe-a(i,k)*conj(a(j,k))Ifi>jThena(i,j)=Summe/a(j,j)// Untere DreiecksmatrixElseIfSumme>0Then// Diagonalelementa(i,i)=Sqrt(Summe)// … ist immer größer NullElseERROR// Die Matrix ist (wenigstens numerisch) nicht symmetrisch positiv definit
Die Laufindexe im Pseudocode entsprechen der mathematischen Notierung von Elementen der Matrix. Dabei ist die Anzahl der Zeilen und gleichzeitig die Anzahl der Spalten der Matrix , Hilfsvariablen sind und Summe. Der Algorithmus arbeitet in situ: Er modifiziert die Matrix so, dass diese zur unteren Dreiecksmatrix wird. Es entsteht also für die Matrix kein neuer Speicherplatzbedarf.
Der obige Algorithmus bearbeitet nur die linke untere Dreiecksmatrix von , die Elemente für brauchen nicht mit Werten belegt zu werden, da die Matrix nach Voraussetzung symmetrisch ist, und wenn sie Werte enthalten, werden diese nicht verändert. Sucht man also nach der Cholesky-Zerlegung gemäß , so sind die Elemente von oberhalb der Diagonalen noch auszunullen.
Literatur
Hans Rudolf Schwarz, Norbert Köckler: Numerische Mathematik. 5. Auflage. Teubner, Stuttgart 2004, ISBN 3-519-42960-8.
Gene H. Golub, Charles F. Van Loan: Matrix computations. 3rd edition. Johns Hopkins University Press, 1996, ISBN 0-8018-5414-8.
Michael Saunders: Commentary – Major Cholesky Would Feel Proud. In: ORSA Journal on Computing, 6, 1994, S. 23–27.
Weblinks
taramath Online-Tool zur Berechnung der Cholesky-Zerlegung symmetrischer und positiv definiter Matrizen.
Einzelnachweise
↑Andreas Meister: Numerik linearer Gleichungssysteme. 5. Auflage. Vieweg, Wiesbaden 2015, ISBN 3-528-13135-7, S. 49.