Using eigs in c++, an eigenvalue problem

Sep 1, 2011 at 8:58pm
Part of a project I'm working on right now requires solving for a handful of eigenvalues (and associated eigenvectors) with the smallest absolute value of large matrices. The matrices are large enough that solving for all of the eigenvalues is impractical. If I were writing this program for matlab or octave, it would a perfect application of the eigs function. In fact, I was trying to do exactly this initially using the Octave c++ header files, but I ran into some trouble.

In attempting to follow the instructions from:
http://techlogbook.wordpress.com/2008/11/10/calling-arpack-functions-from-c-using-liboctave/
I ran into some difficulty, this guide was written for octave pre-3.0 and a critical file (eigs.cc) was missing. (yes, there is eigs-base.cc still but I can't figure out how to interface with it) I was able to find a copy of eigs.cc, but it was written for octave pre-3.0, and I receive more compiler errors than I know what to do with. (just using g++)

Has anyone here attempted or, better, succeeded at implementing eigs in c++?

Is there another way of attaining this functionality? (these are large, complex matrices, which is awful, I know, but they are sparse and symmetric.)

I've checked out the LAPACK site, but I'm at a bit of a loss as it walks me into a land of alphabet soup function names. (and I'm under the impression that I need ARPACK, not just LAPACK)

If anyone has any experience with this problem, I would appreciate hearing from you.
Sep 1, 2011 at 9:45pm
Can't you just get an older version of Octave?
Topic archived. No new replies allowed.