[Numpy-discussion] some work on arpack

Bill Baxter wbaxter at gmail.com
Sun Oct 22 12:10:55 CDT 2006


Don't know if this is any use, but to me (not knowing Fortran nearly
so well as C++) this looks pretty useful:
http://www.caam.rice.edu/software/ARPACK/arpack++.html
http://www.ime.unicamp.br/~chico/arpack++/

It provides a nice high-level interface on top of ARPACK.  I could see
it being useful on a number of levels:
1) actually use its wrappers directly instead of calling the f2py'ed
fortran code
    - at least as a stop gap measure to cover the holes ("shifted modes" etc)
    - this could potentially even be faster since the
reverse-communication interface requires some iteration, and this way
the loops would run in compiled C++ instead of python.

2) use it's code just as a reference to help write more wrappers to
the fortran code

3) if nothing else, it has pretty decent documentation.  For instance
it includes a nice table of the amount of storage you need to reserve
for various different calling modes.  (It seems ARPACK's main
documentation is not freely available, so I'm not sure what's in it,
but if you have that then ARPACK++'s docs may not be much help).

As far as I can tell, it must be under the same licensing terms as
ARPACK itself.  It doesn't actually specify anything as far as I could
see.  But it seems to be linked prominently from the ARPACK website
and appears as an offshoot project.

--bb

On 10/22/06, Aric Hagberg <hagberg at lanl.gov> wrote:
> On Sat, Oct 21, 2006 at 02:05:42PM -0700, Keith Goodman wrote:
> > Did you, or anybody else on the list, have any luck making a numpy
> > version of eigs?
>
> I made a start at an ARPACK wrapper, see
> http://projects.scipy.org/scipy/scipy/ticket/231
> and the short thread at scipy-dev
> http://thread.gmane.org/gmane.comp.python.scientific.devel/5166/focus=5175
>
> In addition to the wrapper there is a Python interface (and some tests).
> I don't know if the interface is like "eigs" - I don't use Matlab.
>
> It will give you a few eigenvalues and eigenvectors for the standard
> eigenproblem (Ax=lx) for any type of A (symmetric/nonsymmetric, real/complex,
> single/double, sparse/nonsparse).
>
> The generalized and shifted modes are not implemented.
> I need to find some time (or some help) to get it finished.
>
> Regards,
> Aric




More information about the Numpy-discussion mailing list