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 _______________________________________________ Help-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gsl
