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*: Sat, 27 Feb 2010 13:31:01 -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; bh=r51HGdtPMGTI5IldbLBvrj0BDQ+kYT0/WHblQBL3GJQ=; b=PH9V7O5AY2PPRqs73Ur4YwFxFCSTJVOPFD/jfuzwiVf8mP8vZhBqSE89M3NRvCHO1E gzFdYhFBIJiuVeArusjYkqMrtu0QD9ulzD+e2S1RiFWfqGwb6PYnIHZIh0buB8FnV22F /1Mi9JKXhZu8RM24XuAX8bZVClXDLQOv756MQ=*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; b=qH2X4iII/8jmWA2QlBFGBY1DNAsOxU0uda/xr3D2b0ARAwpkqp55FH3sO7Ebzsc3ID U2h98Q38hAG5soHmb4Tvp3JA/tLlk2JlRcEY33ThScNbEZFXVO0TujwQyh9NIcxmIEH0 X3jvPRcCUkUZRMiBmEtZRs9m/7uyF87HVPioE=

On Wed, Feb 24, 2010 at 12:45 PM, Ben Goodrich <bgokgm@xxxxxxxxxxxxxx> wrote: > 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? Since no one has objected so far, maybe I should try to implement this myself. But let me make sure I understand what eigen is doing first. We have the pivoted decomposition A = P^T L D L^* P and the vectorD() method and the matrixL() method get the diagonal of D and the unit lower-triangular matrix L but those correspond to the pivoted version of A (unless P = I). So to get the factors that correspond to the original version of A, we need to (1) pre-multiply matrixL() by P.transpose() to get the leftmost factor and (2) multiply the original A from the left by the inverse of the leftmost factor and from the right by the inverse transposed to get the diagonal matrix Is there a faster way to accomplish (2)? It seems like in order to get the unpivoted D, a method would have to call reconstructedMatrix(), do (1), invert that matrix, and do two more matrix multiplications. That would be computationally expensive even if all the steps were optimized. Users could skip the reconstructedMatrix() step because they have the original A. Maybe it would be better to write a method to do (1) and write a separate function that takes A and its decomposition to do (2)? Thanks, Ben

**Follow-Ups**:**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Benoit Jacob

**References**:**[eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Ben Goodrich

**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Benoit Jacob

**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Ben Goodrich

**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Benoit Jacob

**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Ben Goodrich

**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Gael Guennebaud

**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Jitse Niesen

**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Ben Goodrich

**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Jitse Niesen

**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices***From:*Ben Goodrich

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] merged the eigen-strides fork** - Next by Date:
**Re: [eigen] portable reallocation...** - Previous by thread:
**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices** - Next by thread:
**Re: [eigen] [patch] LDLt decomposition with rank-deficient matrices**

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