This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Is a triangular part sufficient for the LDLT decomposition?

Tags: None
(comma "," separated)
nesemann
Registered Member
Posts
2
Karma
0
Hi,

I am using the LDLT decomposition for a Least-Squares type problem. (Effectively, the matrix I need to invert is of the form A * D * AT with A non-square, D diagonal with nonnegative entries only.)
Is it sufficient to compute only a triangular part of this product for the LDLT decomposition, or does it need the full matrix? I could not find anything about this in the documentation, the header file Eigen/src/Cholesky/LDLT.h still claims
/* THIS PART OF THE DOX IS CURRENTLY DISABLED BECAUSE INACCURATE BECAUSE OF BUG IN THE DECOMPOSITION CODE
* Note that during the decomposition, only the upper triangular part of A is considered. Therefore,
* the strict lower part does not have to store correct values.
*/
although the history states that Gael Guennebaud fixed it: https://bitbucket.org/eigen/eigen/chang ... sky/LDLT.h and https://bitbucket.org/eigen/eigen/chang ... sky/LDLT.h

Please also drop a note if this bug is still persistent -- computing the original matrix is in a performance-critical part, and I would like to cut off the unnecessary computation of the lower triangular part if it is safe.
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS
I confirm this has been fixed for a while.
nesemann
Registered Member
Posts
2
Karma
0
Excellent -- thanks a lot, keep up the good work!


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]