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.

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.

share|improve this question

1 Answer

up vote 4 down vote accepted

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.

share|improve this answer
I see now that the eigenvalues can be complex, but how would I go about enforcing the $B$-orthogonality? I think it's true that for two eigenvectors $v_i$ and $v_j$, $v_i^H B v_j = \pm \delta_{ij}$, and I would like to ensure this is true for the computed eigenvectors. – Victor Liu Aug 15 '12 at 17:20
One can indeed enforce $B$-orthogonality for eigenvectors to distinct eigenvalues. One way of doing it is to employ complex arithmetic, and a version of the Cholesky factorization for complex symmetric matrices. But this is numerically unstable. Reduction to a real symmetric form is impossible if there are complex eigenvalues. – Arnold Neumaier Aug 15 '12 at 18:09
Reduction to a real nonsymmetric form can be done by simply multiplying on the left with $B^{-1}$. This is stable iff $B$ is well-conditioned. If $B$ is ill-conditioned, I don't know a stable direct method except for QZ. – Arnold Neumaier Aug 15 '12 at 18:11
In my particular case, all the eigenvalues happen to be real. Could you clarify how you would do this orthogonalization? I'm not sure what you mean by reduction to a real symmetric form. I also see that eigenvectors of distinct eigenvalues are $B$ orthogonal, but I would like to orthogonalize those corresponding to degenerate eigenvalues as well. – Victor Liu Aug 16 '12 at 7:19
The definite case $B=R^TR$ replaces $A$ by $R^{-T}AR^{-1}$ and $B$ by $I$. This can be done in the indefinite case with a complex $R$ but not with a real $R$. But this gives a complex symmetric $A$. – Arnold Neumaier Aug 16 '12 at 7:23
show 3 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.