[Top][All Lists]
[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
-------------------------------------------------------------
- [Help-gsl] hermitian matrices eigenvalues and eigenvectors,
Emanuele Passera <=