help-gsl
[Top][All Lists]
Advanced

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

[Help-gsl] hermitian matrices eigenvalues and eigenvectors


From: Emanuele Passera
Subject: [Help-gsl] hermitian matrices eigenvalues and eigenvectors
Date: Mon, 22 Sep 2008 16:21:54 +0200
User-agent: KMail/1.9.9

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: address@hidden
web: www.treuropa.com
-------------------------------------------------------------





reply via email to

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