Re: [eigen] Re: LU precision tuning

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi,

Thanks a lot for your results.

It isn't looking well for guaranteed exact rank determination.
Especially considering that your random matrices are still nice in the
sense that your singular values (the diagonal matrix used to construct
them) is 1,...,1,0,....,0 and it would be even much worse if one of
the nonzero values here were small.

We can't increase the value of 'precision' forever until we reach
exact rank determination, as that decreases the accuracy of solving.

So, after your results, I propose that we give up trying to guarantee
exact rank determination with LU and QR: that probably wasn't very
realistic and the right tool to approach that goal is rather the SVD.
We can say that in the docs.

If we do that, then the current formula "machine_epsilon * size" seems
like a good compromise. We can also allow the user to pass a
"precision" optional parameter in LU and QR, in other words just apply
your patch, to allow the user to choose his own compromise.

Cheers,
Benoit

2009/5/10 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
> Some more results including the related patch and code - this time the
> tests include the QR decomposition.
>
> After (hopefully) fixing (with Benoit's help) the creation of matrices
> having a specific rank, I reran the tests. This time with increased
> 'repeat' variable - I set it to 200. Due to the long time it takes, I
> stopped at a matrix size of 512.
>
> The results were not only run for LU but also QR and they indicate
> that for LU our bound might be a bit too tight - especially for bigger
> matrices. For QR on the other hand it still looks too noisy to infer
> any formula.
>
> The 'ups' from the log-file denotes a complete failure, i.e. for all
> tested precisions in the range of [eps; eps*2^19] at least one out of
> 200 tests failed.
>
> - Hauke
>



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