Eigenvalue problem on non-Hermitian matrix

17 views (last 30 days)
I'm trying to solve the eigenvalue problem of this simple matrix H=[1 1i;1+1i 0] using [V,D,W]=eig(H). According to the theory of linear algebra we are supposed to have W'*H*inv(W')=D, inv(V)*H*V=D and inv(V)=W'. But it turns out inv(V)=W' is not true. I wonder if it was the inv function went wrong?

Accepted Answer

Christine Tobler
Christine Tobler on 4 Apr 2022
You can think of it like this: If there is an invertible V such that inv(V)*H*V=D, then you can expect that the matrix myW = inv(V)' satisfies myW'*H*inv(myW')=D, simply by substitution. However, the matrix pair V, W returned by MATLAB doesn't satisfy this relation.
Why doesn't it? As Matt J. said, we can't rely on the matrix V to be invertible, so the matrices V and W are each computed separately, only making sure that they match up with the relevant eigenvalues in D (both V and W are computed based on the Schur decomposition of H). Since eigenvectors aren't uniquely defined (you can change the sign of each column of V or W for example, and the result is still correct), it's unlikely that one of V or W directly matches up with the formula W' = inv(V).
If you're confident that your matrix has a well-conditioned matrix of eigenvectors, you can of course just compute W = inv(V)' directly and go on from there. But I think it would be quite rare to be able to be confident of that for a given type of matrix.

More Answers (1)

Matt J
Matt J on 4 Apr 2022
Edited: Matt J on 4 Apr 2022
You said it yourself - the matrix is not Hermitian so there is no reason to expect inv(V)=W'. There is no reason even to expect that V be invertible, though it happens to be in this case.


Find more on Linear Algebra in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!