Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices
- From: Ben Goodrich <bgokgm@xxxxxxxxxxxxxx>
- Date: Wed, 24 Feb 2010 12:45:24 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=5MWca6ze7OxmGmrRWW+t/kdkNOKtvzdFFIo6B/eJAdU=; b=hR33IoNc7m4BTQuvktqeJrqxBpsYBUhXmkaE7ausn3yGbPPBF4O2Oo2nhW7XGLMWQL hjttOTH9Htj38mdbXIzzzrYfBoK1yeNc8ng8klmJBddJCfsBzqX5/alaSZjNus4RpTSB wjqBlar26UdNZhKg32+l9cgCB9wg3qIP8zZn4=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=frzK1yXU4yAlxjBuHbpII82rEchJjAewcUqEV8g4O9gWOEWQ4YznRnlbLLJD9lcbSj 4niwAfKoNu9X9STagR5ZaIj9J2Nj1+9cFD3xFLVhGuIf+KQXoseW8C4K2ghyd/AZdu9b CY3hanAifpzEWcxtQCh1VdQ8qUsQdahJmk73U=
On Wed, Feb 24, 2010 at 12:31 PM, Jitse Niesen <jitse@xxxxxxxxxxxxxxxxx> wrote:
> On Wed, 24 Feb 2010, Ben Goodrich wrote:
>
>> 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.
>
> You're right. Apologies for the confusion I caused. Let me try again.
>
> It looks like the non-uniqueness of D is caused by the pivoting. Here's
> another example:
>
> L1 = [ 1 0; 0.5 1 ]
> D1 = [ 4 0; 0 0 ]
>
> L2 = [ 2 1; 1 0 ]
> D2 = [ 1 0; 0 0 ]
>
> Now L1 * D1 * L1^T = L2 * D2 * L2^T = [ 4 2; 2 1 ]. Both are valid LDL^T
> decompositions with pivoting: L1 is unit lower triangular, and L2 is unit
> lower triangular after the exchanging the rows. So pivoting can change the
> diagonal matrix.
>
> I don't think it's essential that the matrix is singular; I guess that a
> similar example can be constructed for invertible matrices.
>
> Cheers,
> Jitse
This is a great example, thank you. In my opinion, it would be good to
have a way in eigen to define D uniquely by utilizing the unit lower
triangular restriction on L. In other words, would it be acceptable to
add an option to the vectorD() and matrixL() methods that reversed the
pivoting so that the result was in textbook form with respect to the
original matrix?
Thank you,
Ben