Re: [eigen] Re: LU precision tuning
• To: eigen@xxxxxxxxxxxxxxxxxxx
• Subject: Re: [eigen] Re: LU precision tuning
• From: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
• Date: Mon, 11 May 2009 07:58:58 +0200

> I'll commit that tomorrow, just a slight
> modification of your patch to default to "epsilon*size".

You have to take care here. In case the user passes his own precision,
it needs to ensured that that will be used instead of the pre-defined
epsilon*size. The default parameter for the ctor can not be set to the
size of the matrix and thus I would set it to zero and in case
precision<=zero is passed to the function we set
precision=precision*size.

> Also, there's a problem in your create...() function for rectangular
> sizes: it's d that should be rectangular, not a; the matrix m you
> create is always square as a product of 3 square matrices. I'll take
> care of that.

I don't get it. I create 'a' being row \times cols and 'd' being cols
\times 1 and finally 'b' cols \times cols. Then, after multiplication
you arrive at

m = a * d.asDiagonal() * b
(rows cols) * (cols cols) * (cols cols) = (rows cols)

So, 'm' should not be square but rectangular. It should be exactly the
same way as you do it in your SVD - where I just realize that I find
it sad the the SVD's decomposition does not offer you

U * D * V^T
(rows rows) * (rows cols) * (cols cols)

but I think I can live with that...

- Hauke



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