help-gsl
[Top][All Lists]

## [Help-gsl] Eigenvalues and eigenvectors of arbitrary complex valued matr

 From: briccard Subject: [Help-gsl] Eigenvalues and eigenvectors of arbitrary complex valued matrix Date: Fri, 14 Feb 2014 18:31:38 +0100 User-agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

Hello,


I searched the documentation and the forum but I cannot understand which method to use to determine eigenvalues/eigenvectors of an arbitrary complex valued square matrix (except for a message stating that it was not supported in 2007 http://lists.gnu.org/archive/html/help-gsl/2007-05/msg00014.html).


Looking at the section: "Complex Generalized Hermitian-Definite Eigensystems"

it states that this method solves the problem: *A x = \lambda B x***


then I thought to set *A* as my matrix and *B* as the identity to revert to *A x = \lambda x* . The problem is that the function:


int *gsl_eigen_genhermv* /(gsl_matrix_complex * A, gsl_matrix_complex * B, gsl_vector * eval, gsl_matrix_complex * evec, gsl_eigen_genhermv_workspace * w)

gives only real eigenvalues//, and then I got confused.

I don't understand some explanations of the documentation like:

"Similarly to the real case, this can be reduced to *C y = \lambda y* where *C = L^{-1} A L^{-H}* is hermitian, and *y = L^H x*."


Is there any other function (I saw that sometimes complex functions are not documented) to be used for this case? If not, it doesn't look like I can use the ///*C = L^{-1} A L^{-H}* /and //*/y = L^H x/* equations, identifying *C* as my original matrix, since it is stated that *C* is hermitian (am I right) and I do not understand what is the definition of the matrix *L* and the number *H*/.