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

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

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] Eigenvalues of (lower) Hessenberg matrix*From*: Ian Bell <ian.h.bell@xxxxxxxxx>*Date*: Tue, 4 Apr 2017 13:40:16 -0600*Dkim-signature*: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=KS1uLjNRDx3qfGKwaSuT0x3AckDbDkJXpkktUpcXxTg=; b=Cqgms9CMUTciKt67I/M5tXvogBqMi7bL+fErMJqoJIFJ9sYmk3Xmr0NxztcKPXa6tu n2d1QoXU0eU90rb36ypcwOUh1xUs2p30hXllq+zAnZaZsp7kRaR9ClraQs3WqFNcjzpH pPU3DxDycqyrkORSUSQ32IetDjOUexCa2wvML4AaoI7GfU/QT50DW/3Wz4fYx+CFtcCP OLLHjZihhoJ2eFhHVzprMd8J9nY2kaQ8JRAsYXqYH0JhVoTN4ED18hP/CrixAbJJOIyw dD0A8sy9Ww9uNSJr1jWCJ8VTt/Ow2TBgDP+v0Uw0HqcJJR2v2yZ6o7LFRfEwVYFAvaqj /iqg==

Sadly, it seems to be consistently slower than the naive eigenvalues method of the MatrixXd class (see attached). Any idea why? Have you done any performance benchmarking with the UpperHessenberg code?

On Mon, Apr 3, 2017 at 8:16 PM, Ian Bell <ian.h.bell@xxxxxxxxx> wrote:

Amazing! I'll try that tomorrow at work. From your testing, how long approximately would it take to find the eigenvalues of a 10x10 Hessenberg matrix?On Mon, Apr 3, 2017 at 8:00 PM, Yixuan Qiu <yixuanq@xxxxxxxxx> wrote:YixuanBest,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 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

--

**Attachment:
SpeedEigs.pdf**

**Follow-Ups**:**Re: [eigen] Eigenvalues of (lower) Hessenberg matrix***From:*Yixuan Qiu

**References**:**[eigen] Eigenvalues of (lower) Hessenberg matrix***From:*Ian Bell

**Re: [eigen] Eigenvalues of (lower) Hessenberg matrix***From:*Yixuan Qiu

**Re: [eigen] Eigenvalues of (lower) Hessenberg matrix***From:*Ian Bell

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] Eigenvalues of (lower) Hessenberg matrix** - Next by Date:
**Re: [eigen] Eigenvalues of (lower) Hessenberg matrix** - Previous by thread:
**Re: [eigen] Eigenvalues of (lower) Hessenberg matrix** - Next by thread:
**Re: [eigen] Eigenvalues of (lower) Hessenberg matrix**

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