This bugzilla service is closed. All entries have been migrated to
Bug 816 - LDLT for sparse, semi-definite symmetric matrices
Summary: LDLT for sparse, semi-definite symmetric matrices
Status: NEW
Alias: None
Product: Eigen
Classification: Unclassified
Component: Sparse (show other bugs)
Version: 3.2
Hardware: All All
: Normal enhancement
Assignee: Nobody
Depends on:
Reported: 2014-06-02 11:22 UTC by matthieu.nesme
Modified: 2019-12-04 13:20 UTC (History)
1 user (show)


Description matthieu.nesme 2014-06-02 11:22:50 UTC

LDLT decomposition works for DENSE semi-definite matrices but not for sparse ones (note the documentation is clear on that point).
Please could you update the implementation for the SPARSE semi-definite matrices?

Comment 1 Christoph Hertzberg 2014-06-02 12:35:07 UTC
That will not be as easy as it may sound. SimplicialLDLT determined its permutation solely on the sparsity pattern with the goal of reducing fill-in, i.e., before doing any numerical operations, whereas dense LDLt makes pivoting on-the-fly to determine the permutation.

You can try using (the slower but rank-revealing) SparseQR if you have non-definite matrices. If your matrix origins from a normal-equation (A.transpose()*A), you can even work on the original A matrix for extra numerical accuracy.

Of course, that feature can be added to Sparse Cholesky decompositions, but don't rely on that happening very soon.
Comment 2 matthieu.nesme 2014-06-03 09:37:36 UTC
Ah ok, what a pity! Thank you anyway.
Comment 3 Nobody 2019-12-04 13:20:40 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance:

Note You need to log in before you can comment on or make changes to this bug.