Eigen Lib Cholesky Zerlegung

Gast #2842772
Lesenswert?

Hallo Zusammen,

ich habe versucht eine Cholesky Zerlegung einer Matrix in C++ zu 
erstllen. Leider klappt es mit der Eigen Lib nicht ganz. Die Alglib 
liefert hingegen das richtige Ergebnis.

Meine Matrix ist:

156.25    0.0    0.0
   0.0 156.25    0.0
   0.0    0.0 0.2401

Als Ergebnis der Cholesky Zerlegung erwarte ich (die Werte 0.0 sind in 
der Regel Werte nahe 0):

12.5  0.0  0.0
 0.0 12.5  0.0
 0.0  0.0 0.49

Das Ergebnis welches ich bekomme ist (Werte auf und oberhalb der 
Diagonalen sind gerundet):

12.5    0.0    0.0
 0.0 156.25    0.0
 0.0    0.0 0.2401


Mein Code Sieht dazu so aus:
1
Matrix3d cholesky;
2
Matrix3d current_uncertainty;
3

4
current_uncertainty(0,0) = 156.25;
5
current_uncertainty(1,1) = 156.25;
6
current_uncertainty(2,2) = 0.2401;
7

8
cholesky = current_uncertainty.llt().matrixU();

Die verwendete Eigen Lib ist die Version 3.1.1 Release

Ich hoffe ihr könnt mir helfen...

Viele Grüße,
Dennis

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren