# Correctly orthogonalizing and normalizing eigenvectors of a non-hermitian problem

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$$

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$.