I'm looking to obtain the left and right eigenvectors of a general complex matrix. The left eigenvectors satisfy the equation: $\phi^L_i L = \lambda_i \phi^L_i$, with $\lambda_i$ being the $i$th eigenvalue, and the right eigenvectors satisfy $L\phi^R_i = \lambda_i \phi^R_i$. Importantly, the eigenvectors need to be orthonormal: $\phi^L_i . \phi^R_j = \delta_{i,j}$.

I can obtain the left eigenvectors by using the eigenvectors command on the hermitian conjugate of $L$. But in case of degenerate eigenvalues it doesn't ensure that the eigenvectors are orthonormal. Is there some way to achieve this? A working example is below:

Gen = {{-3, 2, 0, 0},{3, -2, 0, 0},{0, 0, -2, 4},{0, 0, 2, -4}};
{LR, VRT} = Eigensystem[Gen];
VR = Transpose[VRT];
{LLC, VLC} = Eigensystem[Transpose[Conjugate[Gen]]];
LL = Conjugate[LLC];
VL = Conjugate[VLC];
Do[If[Abs[Re[LL[[i]]] - Re[LR[[j]]]] <= 10^-9 && Abs[Im[LL[[i]]] - Im[LR[[j]]]] <= 10^-9, VtmpL[j] = VL[[i]], NULL], {i,1, 4}, {j, 1, 4}];
VL = Table[VtmpL[i], {i, 1, 4}];
Diag = VL.VR;

Above I have considered the example matrix in Block Jordan form, but it need not be so always. The output of the code is:


Also the right eigenvectors for the degenerate eigenvalue are different but the left ones are the same. This is what leads to a problem I guess. Any hints of how to get around this would be appreciated.

Edit: I realised that mathematica ensures that the eigenvectors command produces linearly independent eigenvectors. Can someone point out why this is not the case with the left eigenvectors (since 2 of them are exactly the same corresponding to the degenerate eigenvalue)?

  • 1
    $\begingroup$ Have you considered to apply Orthogonalize? $\endgroup$ – Henrik Schumacher Nov 21 '18 at 14:26
  • $\begingroup$ @HenrikSchumacher: Not quite sure if this would work. Which ones should I consider correct to get the orthogonal pair, the left or right eigenvectors? I suspect that the right eigenvectors are not linearly independent creating this issue. Although I could be wrong. $\endgroup$ – Juzar Nov 21 '18 at 22:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.