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*/.

Thanks for any help you can give me,

Riccardo Balzan

Reply via email to