Lapack contains a driver routine to solve dense generalized Hermitian positive definite eigenvalue problems of the form $Ax=\lambda Bx$, where $A$ and $B$ are both Hermitian, and $B$ is positive definite. I am wondering if there is a method (either code or a modification of zhegv) when $B$ is indefinite (specifically, $B$ will almost certainly be non-singular). I know that the driver routine first performs a Cholesky decomposition of positive definite $B$, and transforms it into a standard eigenvalue problem, but does this still work when $B$ is indefinite? I would rather use a specialized method instead of the fully general solver because I want the realness of the eigenvalues and orthogonality relations for the eigenvectors to be guaranteed.
Tell me more
×
Computational Science Stack Exchange is a question and answer site for
scientists using computers to solve scientific problems. It's 100% free, no registration required.
|
|
|||
|
|
|
When $B$ is indefinite, the eigenvalues may be complex, and there is little advantage exploiting the symmetry. Instead, one generally uses the QZ algorithm. Edit: If you know a priori that all your eigenvalues are real, it is probably because you can establish a priori that some linear combination $C=sA+tB$ is positive definite. In this case, you should consider your problem with either $A$ or $B$ replaced by $C$. It has the same eigenvectors, and the eigenvalues are related by a Moebius transform. |
|||||||||||
|