Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices
• To: eigen@xxxxxxxxxxxxxxxxxxx
• Subject: Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices
• From: Ben Goodrich <bgokgm@xxxxxxxxxxxxxx>
• Date: Wed, 24 Feb 2010 09:45:20 -0500

```On Wed, Feb 24, 2010 at 5:53 AM, Jitse Niesen <jitse@xxxxxxxxxxxxxxxxx> wrote:
> On Wed, 24 Feb 2010, Gael Guennebaud wrote:
>
>> note that the LDLT decomp does pivoting, so it is normal that you don't
>> get the same diagonal matrix. If you reconstruct the matrix from the decomp
>> you will see that in this case the decomp is correct.
>
> To further clarify, because this also threw me off for a while: I think the
> important thing here is that the matrix A is singular. The diagonal D is
> unique (up to reordering) for positive-definite matrices. However, there is
> no such uniqueness for singular matrices. Simple example
>
> A = [ 0  0;  0  1 ]      (these are 2-by-2 matrices in Matlab notation)
> L = [ 0  0;  sqrt(3)  1 ]
> D = [ 1/4  0;  0  1/4 ]
>
> The matrix A has two LDL^T decompositions, A = A * I * A^T = L * D * L^T,
> but the diagonal parts are not the same.
>
> Cheers,
> Jitse

On pages 12 -- 13 (section 5.3) of this paper by Benson and Vanderbei

http://www.pages.drexel.edu/~hvb22/dimacsppr3.pdf

they claim (without proof) that D is unique in the positive
semi-definite case (although part of L is not when A is singular).
Maybe they are incorrect, but I don't think your example shows that
because

L = [ 0  0;  sqrt(3)  1 ]

is not *unit* lower triangular. If we restrict L to be unit lower
triangular, then in your example the (a?) LDL' decomposition of A is
L = I and A = D.

So, I am still confused :) but thanks to everyone for their comments
and to Gael for implementing reconstructedMatrix() .

Ben

```

 Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/