[SciPy-dev] ARPACK wrapper first cut
Aric Hagberg
hagberg at lanl.gov
Wed Oct 11 23:19:45 EDT 2006
I have uploaded another version of the wrappers that
I think clears up the errors I was seeing with the original.
http://projects.scipy.org/scipy/scipy/ticket/231
The package includes wrappers to the symmetric, nonsymmetric,
real and complex eigensolvers (which have just a different enough
interface to make life interesting). I generated the wrappers with
f2py but I'm a novice there - they could benefit from some expert
eyes.
The sometimes incorrect answers in the nonsymmetric solver routines
were apparently coming from a mis-compiled <s,d>lahqr.f in my system
lapack3 libraries. I included these files in the package - the rest
of the lapack library seems OK for use with ARPACk. That kind of
annoying thing turns out to take a while to find.
Also I have included Python code in a similar style to
linalg.iterative to call the wrapped functions. That code only
implements the simple eigenvalue problem (A x = lambda x) but it
should be possible to add code to solve the generalized problem (A x =
lambda M x) with various inverse and shifted modes. Neilen has
reported doing this already using linsolve.splu as the sparse
linear system solver but I don't have code for that yet.
Finally there are some tests and other scipyish bits.
You should be able to unpack the code into Lib/sandbox and
give it a try.
This is a missing piece of the chart (eigs) at
http://scipy.org/NumPy_for_Matlab_Users
I don't know Matlab and I didn't try to make the Python interface
match eigs. But I'm pretty sure the one I designed isn't much
better or different.
Best Regards,
Aric
More information about the SciPy-Dev
mailing list