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

modified Cholesky decomp for sparse matrices

Tags: None
(comma "," separated)
mbraun92
Registered Member
Posts
10
Karma
0
I have a large, sparse indefinite matrix; when I do an LDL' decomposition, one of the elements of D is highly negative. I would like to compute a modified Cholesky decomposition that adjusts the elements such that LDL' is positive definite. However, all of the available algorithms (e..g, Gill-Murray, Schnabel-Eskow) are designed for dense matrices. And so, I am stuck.

Ideally, I would like to find an efficient method of modifying the output of SimplicialLLT such that all of the elements of D are positive, and that P'LDL'P is reasonably close to the original matrix. Alternatively, I would try to adapt the existing code to create a "modified SimplicialLLT" function. But my knowledge of these algorithms, and how Eigen estimates them internally, is introductory at best.

So I am hoping someone reading this post has some ideas. Thanks in advance for any suggestions.

Michael
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS
The Simplicial* classes already allows for shifting the diagonal elements:

http://eigen.tuxfamily.org/dox-devel/cl ... fc0a95da7c

Adapting the code to make the shifting more adaptive like GMW81 should not be difficult. Look at the line 744 to see where the shift is applied.

Please get back to us if you manage to get something working. It might be interesting to have it upstream.
mbraun92
Registered Member
Posts
10
Karma
0
Thanks for the response. Unfortunately, after several hours of staring at the code today, I am have having some trouble reconciling the sparse simplicial code in Eigen with the "standard" non-sparse modified Cholesky algorithms. I will probably need more hand-holding in understanding the inner workings of the Eigen code before I can proceed, or wait until I have a few free days to really get into it.
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS
feel free to ask questions, but please be as specific as possible.


Bookmarks



Who is online

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