Re: [eigen] Generalised Eigenvector Problem using the QZ algorithm. |

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

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] Generalised Eigenvector Problem using the QZ algorithm.*From*: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>*Date*: Thu, 11 Jun 2009 13:41:03 +0200*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=e7yzjXkQdvc3OhjAOLzLFir6zwC68Gmz3jYObxf1JgY=; b=vLYRKSNqy5X3BazSFwYkL4OZglbX0ZZZeGpwHrtDe3U5QaG065cPFdsHuTx+SLV+tE lZ87C0RQZP4ZQ35XJYT9kGkNZ3RjNErSkhptC36QPuUhc53c9+I+E6saKY0Q14CJcSNn VRd0KkqH2VTFmdN2ap59npYPGpa/DcmcZ07bY=*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=FjaJRmfiqDPXNZkN3m/2T4La+odmR84WoZ5S/NnZXxd2HkTA0OBfxAk7z33kEFm0TV uczUosee78ZAse6niiZYL2uuMLSgWIWns0OnVJ4LezVOcdAEI+FRtonzUHAovEAzlCrk DqlZJu0//vDW2VRtYSFAD+EWUPPZNQ9/01H/8=

Hi, On Thu, Jun 11, 2009 at 12:35 PM, Tim Hutt<tdhutt@xxxxxxxxx> wrote: > Hi, > > I'm trying to implement the ellipse fitting algorithm from > > http://homepages.inf.ed.ac.uk/cgi/rbf/CVONLINE/entries.pl?TAG384 > > in C++ with eigen2. The algorithm relies on being able to solve the > generalised eigenvector problem: > > Ax = lambda Bx > > (See: http://www.cs.utk.edu/~dongarra/etemplates/node282.html ) > > In my case A and B are both rank-deficient so I can't invert them. > Apparently the normal way to solve this is using the QZ algorithm, > which is apparently similar to the QR algorithm. that's a pity that B is not positive definite ;) So indeed, in that case you will have to work a bit. However, note that in your case the matrix A is selfadjoint, so perhaps there exist a faster method than the QZ algorithm tailored for the generalized selfadjoint eigenvalue problem with B non invertible ? > The LAPACK routine is (I think) DGGEV or DGGEVX (who names these things?) I think that in fortran 77 you are limited to 6 letters for the name of the functions :( So here you have: D = double (f for float, c and z for complexes) G = Generalized G = General (there is also H for Hermitian) E = Eigen V = Vector > Any chance anyone could port the LAPACK code (or the CLAPACK code) to > eigen? I could probably do it but I'm guessing there's someone out > there who is familiar with LAPACK's crazy naming scheme and eigen who > could do it a lot faster. I don't think anybody will have time to do that soon. gael. > In return I have access to many journals. Papers on request. Or beer > if you live in London. :-) > > Tim > > >

**References**:

**Messages sorted by:**[ date | thread ]- Prev by Date:
**[eigen] Partially fixed size matrices.** - Next by Date:
**Re: [eigen] Partially fixed size matrices.** - Previous by thread:
**[eigen] Generalised Eigenvector Problem using the QZ algorithm.** - Next by thread:
**[eigen] Partially fixed size matrices.**

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