Hi all, I'm new to GSL but I have a good experience in scientific programming and algorithm testing. In the specific I'm interested in eigenvalues and eigenvectors extraction from hermitian matrices.
I have been using gsl_eigen_hermv() function, and even results are good enough, I have been wondering if it wasn't possible to fasten the procedure. There are approaches to the problem as the one in the last page of this document http://www.nio.res.in/monographs/aa_fernandes/AA_Fernandes_chap3.pdf that reconduce the problem of eigenvalues and eigenvectors extraction from an nXn hermitian matrix to the problem of eigenvalues and eigenvectors extraction from a real symmetric 2nX2n matrix. In fact this is quite a common approach. In this way it would be possible to use gsl_eigen_symmv() and not perform operation between complex number but between real number. Actually this fasten things a lot: I did a test generating hermitian matrices of different sizes and extracting eigenvalues and eigenvectors with the gsl_eigen_hermv() 10^5 times for each one. Then I converted the same matrices to the float format that I mentioned before and extracted eigenvalues and eigenvectors with a function that I have written myself the same number of time. My function was faster than GSL's. Then I repeated the same test with real simmetric matrices, I generated the matrices of different sizes and then extracted eigenvalues and eigenvectors 10^5 times for each one with the gsl_eigen_symmv() function and with a function that I have written myself (the same as the previous one, except it works with float). Performance were the same between GSl and my function. So this make me think that this approach is intrinsecally faster and differences in performance do not depend on different implementation, but in the use of complex math instead of real number math. Could this approach (conversion in a float matrix + eigenvalues of float matrix) be added to GSL or am I missing something? Thank you in advance -- ------------------------------------------------------------ Emanuele Passera Tele-Rilevamento Europa - T.R.E. s.r.l. a POLIMI spin-off company Via Vittoria Colonna, 7 20149 Milano - Italia tel.: +39.02.4343.121 fax: +39.02.4343.1230 e-mail: [EMAIL PROTECTED] web: www.treuropa.com ------------------------------------------------------------- _______________________________________________ Help-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gsl
