help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] Complex Schur decomposition


From: Patrick Alken
Subject: Re: [Help-gsl] Complex Schur decomposition
Date: Thu, 30 Jul 2009 11:53:54 -0600
User-agent: Mutt/1.5.18 (2008-05-17)

There are currently no plans to implement a nonsymmetric complex
eigensolver. I wrote the real nonsymmetric solver, which was
somewhat straightforward for the eigenvalue calculation, but
the eigenvector calculation required me to port a large amount
of lapack code over, something I am not anxious to do again.

The other issue is that the eigensolver routines in LAPACK
use much more sophisticated algorithms and are generally 2-3
times faster than the GSL implementations for large nonsymmetric
matrices. But due to the enormous amount of code required to
implement the more sophisticated algorithms, the GSL team
decided a while back it was not worth it to try putting them
in GSL.

I don't think it would be worth the effort to implement a
less sophisticated algorithm for complex matrices in GSL
(which still requires a lot of ported code) when LAPACK has
the faster algorithms available.

If you are really desperate for a C implementation of this,
you could try to modify nonsymm.c and francis.c to use
complex matrices, but it probably won't be trivial, as some
changes won't be straightforward, in particular the choice
of shifts.

On Thu, Jul 30, 2009 at 07:08:07PM +0200, BERTRAND Joel wrote:
> Patrick Alken wrote:
>> No, GSL does not currently have routines to find eigenvectors
>> of a general complex matrix. Your best bet is to use LAPACK.
>
>       OK. Is this function envisaged for a next release ? I'm converting a  
> huge program that used regular Lapack library (from netlib) because it's  
> written in C and Lapack is written in Fortran77. Both languages are not  
> easy interoperable on some combinaisons OS/processor/compiler...
>
>       Regards,
>
>       JKB




reply via email to

[Prev in Thread] Current Thread [Next in Thread]