Re: [eigen] Eigenvalues of (lower) Hessenberg matrix

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Eigen implements the upper Hessenberg eigen solver internally in the EigenSolver class.

I have extracted the relevant code and created an independent class in my Spectra library, so probably this is what you want: https://github.com/yixuan/spectra/blob/master/include/LinAlg/UpperHessenbergEigen.h
You can drop the namespace declaration if you want.

The usage of this class is similar to other eigen solvers in Eigen: https://github.com/yixuan/spectra/blob/master/test/Eigen.cpp#L27-L29


Best,
Yixuan


2017-04-03 20:59 GMT-04:00 Ian Bell <ian.h.bell@xxxxxxxxx>:
I have a matrix, that by its construction is known to be Hessenberg (rigorously, lower Hessenberg, but it doesn't matter because the transpose of a matrix has the same eigenvalues as the original matrix and all I care about is eigenvalues).  Is there any magic trick in Eigen that allows for more efficient evaluation of eigenvalues?  The standard method eigenvalues() doesn't seem to do anything too smart about checking for the Hessenberg-ness of the matrix.  Lapack has the function dhseqr, is there anything similar in Eigen?

Ian




--
Yixuan Qiu <yixuanq@xxxxxxxxx>
Department of Statistics,
Purdue University


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/