LinearAlgebra.jl icon indicating copy to clipboard operation
LinearAlgebra.jl copied to clipboard

Provide a method for left eigenvectors

Open bertini97 opened this issue 10 months ago • 1 comments

Consider a general and not necessarily normal matrix A. In MATLAB, one can do [V,D,W] = eig(A) where each column of V is a right eigenvector and each row of W is a left eigenvector of A. In Julia there doesn't seem to be a way to do it in "one sweep", with left and right eigenvectors in the same order as the eigenvalues. Someone suggested

S = schur(A)
V = eigvecs(S, left=true)

but this errors with no method matching eigvecs.

Am I missing something? Is there a way to do get matching left and right eigenvectors of a general matrix? Or, if it doesn't exist, could it be implemented?

Cheers.

bertini97 avatar Jan 26 '25 11:01 bertini97

I have realized a PR was in the works before the move to a separate repo: https://github.com/JuliaLang/julia/pull/48657. When the PR is moved I'll close the issue.

bertini97 avatar Jan 26 '25 11:01 bertini97

eigvecs(S, left=true) is implemented in GenericSchur, but the analogous LAPACK wrapper would be a sensible addition.

RalphAS avatar Apr 04 '25 04:04 RalphAS