New user self-registration is disabled due to spam. Please email eigen-core-team @ if you need an account.
Before reporting a bug, please make sure that your Eigen version is up-to-date!
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: 2014-06-03 09:37 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.

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