Re: [eigen] Cholesky Factorization with AMD ordering
• To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
• Subject: Re: [eigen] Cholesky Factorization with AMD ordering
• From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
• Date: Tue, 24 Jun 2014 22:59:47 +0200
• Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=6iKEekqm/xntxANIRbG49cjyyjml9vOO0cgOJEHwAaY=; b=kqsh9n3zEivNAg6O3C6wnYZZXHYDsD7wE0LHFy/QKRPZq2hBnO1Hkkh9o/j+awPHYZ 6Cj3GiN3fHswAz9PV/qbJPaYDuRGI7zhrOubML57y6EAsxGMc3dU2gF/WzBTOHWlGcuc 4LAH2X3zAJKCas3NEM6gZTQeuC33z+fAPnnQqfQmd3Hl9ds0TPF5mYRNV/iWgfkQOWd3 GoVR+Gl1sowdsg4Uz3HRfSyNdDh1mbOn0J3xyP6/Qrb0xVf1K0ynoe1Uj92M8QzNofl6 CagHBR71K6VWh6uKeQiE6R9qP9z5C5QdItuOWPZVu2BTnPzmAss/0zqgdP+51YH23+3Y 7Y5g==

You can simply use the SparseLLT class of the SparseCholesky module which use AMD ordering by default. Then, SparseLLT gives you access to the L factor and symmetric permutation vector.

See the sparse chapter for some examples: http://eigen.tuxfamily.org/dox/group__Sparse__chapter.html

gael

On Tue, Jun 24, 2014 at 10:52 PM, Gokturk wrote:
Hello all,

I was a MATLAB user for a long time, now I'm trying to write a code in C++.

For those of you who are familiar with MATLAB, I simply want to perform

[L, ~ , s] = chol ( E, 'lower' , 'vector' );
where E is positive definite matrix,
L is factorized Lower triangular matrix
s is permutation matrix associated with AMD Ordering

For those of you who are not familiar with MATLAB,
I simply want to perform cholesky factorization to matrix E with AMD Ordering.
I need AMD Ordering to reduce the fill-in number in lower triangular matrix L.
As you may suspected, matrix L is the lower triangular matrix which gives  L * LT = s * E * sT

Now, my problem is I am not able to perform same process with Eigen.
I've realized Eigen provides AMD Ordering for sparse matrices.
But I couldn't understand how I use it.
```--