I have some non-hermitian matrix $A$, that I have the left and right eigenvectors. (Calculated using SLEPc, by finding the eigenvectors of $A$ and $A^H$).

I'm not sure how to orthogonalize them however. I know that they must obey the relation:

$$L^HR = 1$$

But I'm not sure how to enforce this. The normalization of the vectors isn't clear to me either, since $\left<l|r\right> = 1$, does $\left<l|l\right> = 1$? (And similarly $\left<r | r\right>$?).

Grahm-Schmidt (tildes represent non-orthogonalized quantities):

$$ \tilde{q}_i = \frac{\tilde{r}_i}{\left<\tilde{r}_i | \tilde{r}_i \right>}$$ $$ r_i = \tilde{q}_i - \sum_{j\neq i}\left<\tilde{l}_j|\tilde{q}_i\right> \tilde{l}_j^H$$

seems like it might work, but unlike grahm-schmidt for self-orthogonalizing, the first step of normalization doesn't feel right. And what about $l_i$? Is $l_i$ found by doing the same procedure? i.e.:

$$ l_i = \tilde{q}_i - \sum_{j\neq i}\left<\tilde{q}_j|r_i\right>^H r_j^H$$

Is there some resource that can give me more information about non-hermitian eigenvalue problems?


1 Answer 1


Regarding normalisation, $\left<l|r\right> = 1$ is the only normalisation required for the matrix to be decomposed correctly as

$$A = R \Lambda L^H,$$

where $\Lambda$ has the eigenvalues on the main diagonal. This leaves you with one (complex) degree of freedom in the mutual definition of $l$ and $r$, but as long as only a product of the two vectors is used, then these factors will cancel out.

For convenience you may wish to remove this degree of freedom e.g. by enforcing $\left<r|r\right> = 1$, but in this case you will almost certainly get $\left<l|l\right> \neq 1$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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