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: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Mon, 18 Jan 2010 12:51:31 -0500
- 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 :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=DYLRgPcDULY6+6bnXoWIksjFG+gunAXIgkp2ZLYe4UI=; b=V/XrnbUiGfj7Fr/Wza+d+JSvBN00A3G3B8rlw4ILlTcVgAgbiO3sJgYeHpfLeoZQ2f Gu70UU4fSwWT1ur6ab9KUOow+qiyOTKT+zp2GmDGI2pws8ToJPC4YrjEwB27Q7tfKu5F jrrvQOu+rCsGxsKsuscSVpdP/4KyhROYuyaqY=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=aXHXs2wL5MHJse04ZJLr7kFDRbh4qL4YO/J0JOCPgekajWXoiyed3PC4MUXPiIl5QA 1CJ3nJMXV1fSqYdU1aWq4ZgCrLWo3roF5aiD3QogrRNJcP39ygMbka0BEk2iNDu1QCD2 +cd+KI5V3INLVu6eLFQe6Cur4ylA8aLO4D+m0=
2010/1/18 Manuel Yguel <manuel.yguel@xxxxxxxxx>:
> Hello,
> I have written a class to compute the roots of a real polynomial.
> I build the companion matrix and compute its eigenvalues.
> You can see the code in the attached file (not a patch yet ... see the
> following).
> I have some problems with that method:
>
> A] When testing: I encounter almost systematic failure for polynomials
> with deg greater than 7 (see test file attached),
> therefore I wonder:
>
> 1) Do I use the right eigensolver ?
If you only want to support real polynomials, then yes.
> 2) Does the eigensolver balance the input matrix ?
Not as far as I can see.
> I have written some code to balance a companion matrix explicitly (and
> I am testing this stuff at the moment) but before investing more time
> in that direction I need to know if doing the balancing is redundant.
Ask Gael to be sure, but I don't think that we have this right now.
> B] A somehow related question is: the eigensolver make a copy of the
> matrix however, the companion matrix is sparse and for high degree
> polynomial this copy could be avoided.
> I have thought about writing the companion matrix class as a
> cwiseNullaryOp. Do I follow the right thread?
In all these decomposition algorithms, the work matrix is initialized
at the start by copying the input matrix into it. This is how these
algorithms work. If you want to preserve sparsity, you need a
completely different algorithm: this one won't preserve sparsity at
all. But I am not sure that companion matrices offer real
opportunities to take advantage of sparsity here.
Benoit
> P.S. I am also writing a solver with a Bézier bissection, it is
> claimed to perform faster.
Interesting!