Re: [eigen] Polynomial solver, eigenvalues of companion matrix and balancing |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Polynomial solver, eigenvalues of companion matrix and balancing
- From: Manuel Yguel <manuel.yguel@xxxxxxxxx>
- Date: Wed, 17 Mar 2010 16:28:54 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:content-type; bh=gw5D6uQ36orref4KGUag8ObEJ3IM4saHXG8aNH6HQmU=; b=wO93bfxwi7K9g8Y3+ngYd2P3SCL7fSWrPsLpwjBYqqWo7JCPUYBKOZJm2xIdbhFAKk 9lQFiik4H40/JjdOGlLCdOqkHxgFqWMD7zuISmhILARDsOYbcS9/I+um2tdl5WVnEJGx T+rou0JmkEVYdljKajP/R6tKwxzdSEVd9PFXE=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=fPt0xX1FVJTKvworAWPabeLkH/g3RKuFOIUPj4S3bVuEgTdRVLaoIRxjyESy40eCtE she5lzBvmGSV+5dxqCbb6dl5NA+tiK97YzfLICpLGRjbo9xFHMCY/ykB7FbGx0XFlJIt VB7TGg1bk40qc0Hx5GVKCiWA+3TzZ72SScV9E=
Hello, I come again with the qr way of polynomial solving because the
Bezier bissection I am working on, only provide the real roots of the
polynomial.
It is interesting per se, but somebody might want the complex roots
too, so the qr way is still interesting.
Furthermore it will provide a concurrent solver to make comparisons.
I have written balancing and tested the solver: the same behaviour appears.
So I checked what is going wrong and found two things:
1) the problem shows up only for floats not doubles (do you have
experienced any particular problem with qr + float ?)
2) for doubles the problem shows up when the polynomial is not square
free (i.e. with roots with multiplicity) as far as I have
investigated.
Furthermore I made some comparisons with the GSL solver, which is only
provided for doubles (he, he ...) and the results are the same in term
of precision.
What do you think of providing the solver like that with a warning
raised when it is instanciated with floats ?
On the other hand, I am continuing working on the Bezier bissection
solver and the first step for this solver is to find the equivalent
square free polynomial (he he ^2), so I propose to provide this
functionality in general.
If you agree, I will provide a patch for that module and add to the TODO:
- investigate why it fails so badly on floats (and fix it if possible),
- provide a qr algorithm adapted to the shape of the companion matrix
and possibly optimized for the particular case where we do not need
the eigenvectors, neither the Q matrix.
- best regards,
Manuel