Eigenvalues of Hessenberg matrix (ZHSEQR)


Does Julia have a method to calculate the eigenvalues of a Hessenberg matrix? This would a wrapper around the ZHSEQR Lapack routine (I didn’t find anything in Base.LinAlg.LAPACK).


You might be looking for eigvals and has methods that dispatch on SymTridiagonal, Hermitian, and Symmetric. The code is in stdlib/LinearAlgebra/src/eigen.jl.


Unfortunately, I don’t think that routine is wrapped anywhere. However, it shouldn’t be too hard to do so by mimicking how the other wrappers in lapack.jl. If you do that, it would be great if you could submit a PR to either Stdlib/LinearAlgebra or https://github.com/andreasnoack/LinearAlgebra.jl/blob/master/src/lapack.jl. Alternatively, it shouldn’t be too bad to use general eigensolver on the Hessenberg matrix because the initial reduction to Hessenberg will detect the zeros and take a fast path so it shouldn’t spend to much time on that.