What algorithm(s) does LinearAlgebra.eigvals
employ for a general, i.e., non-symmetric, non-triangular matrix?
The Schur decomposition of a general matrix (the specific algorithm being known as QR iteration), as provided by LAPACK.
2 Likes
It calls LAPACK.geevx!
under the hood, i.e. LAPACK: dgeevx (assuming Float64
precision).
BTW, I recommend @descend eigvals(A)
from Cthulhu.jl to descend down the call tree and investigate things like this. This will lead you to these lines.
2 Likes