Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the best small C++ package to compute the largest eigenvalue of a matrix? [closed]

I need to compute the largest eigenvalue of a (sparse) matrix. I implemented the power iteration method, but it is too slow to converge, so I'd like to use a package for it. Does anyone have a recommendation?

What is the best C++ eigenvalue computation package? Preferably one that is small and easy to compile.

like image 715
Erin Avatar asked Jun 26 '10 21:06

Erin


1 Answers

I can't offer you any details as I haven't used it myself, but I think ARPACK could be of help, and especially ARPACK++ which is a C++ adaption as the original package is in Fortran77. I think the MATLAB function eigs() uses this to find the greatest eigenvalue (and corresponding eigenvector). From what I hear t should be able to interface with STL as well.

MATLAB uses the Fortran77 routines DSAUPD, DSEUPD, DNAUPD, DNEUPD, ZNAUPD, and ZNEUPD. They seem like the ones to look for in ARPACK++.

Check it out here.

like image 106
Staffan E Avatar answered Oct 27 '22 00:10

Staffan E