Eigenvalue problem on non-Hermitian matrix
15 views (last 30 days)
Zhenghao Yang on 4 Apr 2022
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?
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.