Freitag, 26. Juli 2013

Cholesky-Zerlegung: A=LDL^T mit MATLAB berechnen

Anbei ein kleiner Link zu einem Matlab-m-File, das die Cholesky-Zerlegung für eine positiv definite, symmetrische (s.p.d.) Matrix durchführt: http://www.mathworks.com/matlabcentral/fileexchange/47-ldlt?download=true

Nach Einfügen des m-Files "ldlt.m" in den Arbeitsbereich (standardmäßig links des Matlab-Command-Windows), kann mittels folgenden Aufrufs eine LDL^T-Zerlegung nach dem hier angegebenen Algorithmus (Folie 57) durchgeführt werden:

BEISPIEL:
>> A=[4 6 2;6 10 8;2 8 30]

A =

     4     6     2
     6    10     8
     2     8    30

>> [L,D]=ldlt(A)

L =

    1.0000         0            0
    1.5000    1.0000         0
    0.5000    5.0000    1.0000


D =

     4     0     0
     0     1     0
     0     0     4

Sehr praktisch um von Hand berechnete Ergebnisse zu überprüfen!


Alternativ gibt es auch hier ein matlab-Skript, das eine LL^T-ZERLGUNG durchführt (KEINE LDL^T-ZERLEGUNG!)
http://www.uni-ulm.de/fileadmin/website_uni_ulm/mawi.inst.070/ss13/AngewandteNumerik1/cholesky.m
Ebenfalls sind dort viele weitere interessante Algorithmen aus NuMa als fertig implemenitierte Matlab-Files verfügbar: Siehe Screenshot.



Viel Erfolg beim Üben!

Besucherstatistiken

eXTReMe Tracker

Follower