Re: [eigen] Re: LU precision tuning |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- 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
- 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=Lxct0OeSFFfj86jDnrjXBjgD2UDBUI+MKACngTF5KUw=; b=Dn6SaQVFlmEqmKXtVLeoEbsplOVhjjmK0lWT5EG3bFiEwUbRUjulS18aojD4yNvd2h phjfWOP85HZv8U3sFZ9ZNjTugmJwsLBTlo2D+MC59ymrw0HRB1G4jshFN7mVThS46zlU 1WiMkbROORF1+52IwrXz8f5R9ssDuInJxPAKk=
- 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=IVP+6nyp3be/tIYkPEMpuSnI9zGaQwQbCWXjJfWD0t6vGmBgnVsvQJr9Yr3M+5eA81 j6MZDbxdhPLpCUmLGEDPRzPE93sNgi4fQddo+qqhWUpCp3Du3gHbe2712uwLHo1fLuUm 9gRBa+6YkFXHxkb31u2RgnkNNVPpa39A0LfpA=
> 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