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.
1 Answer
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.
-
$\begingroup$ 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. $\endgroup$ Aug 15, 2012 at 17:20
-
$\begingroup$ 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. $\endgroup$ Aug 15, 2012 at 18:09
-
$\begingroup$ 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. $\endgroup$ Aug 15, 2012 at 18:11
-
$\begingroup$ 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. $\endgroup$ Aug 16, 2012 at 7:19
-
$\begingroup$ 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$. $\endgroup$ Aug 16, 2012 at 7:23