[SciPy-Dev] ARPACK fixes before 0.9
Sun Nov 28 21:45:25 CST 2010
On Sat, Nov 27, 2010 at 9:33 AM, Pauli Virtanen <firstname.lastname@example.org> wrote:
> The Arpack interface in Scipy needs some fixes, which would be useful to
> get in for Scipy 0.9. I have them in a branch here:
> Comments would be appreciated (esp. from David who wrote the original
> interface). I'm going to merge them probably the next W/E unless
> objections arise.
> - Raise ArpackNoConvergence when ARPACK iteration does not converge.
> Previously, there was no way to know if convergence was obtained.
> - Fix a bug in return value extraction from dneupd, which resulted
> to invalid eigenvectors/eigenvalues being returned on non-convergence.
> - Allow complex matrices in the sparse SVD. It's a naive approach,
> but probably still better than nothing.
> Other changes:
> - Rename routines eigen* -> eigs* to avoid shadowing the "eigen" module.
> "eigs" is also the name for the equivalent routines in Octave/Matlab.
> - Remove the ``speigs`` ARPACK interface. It does not seem to make sense
> two have two different interfaces to the same library.
> - Un-deprecate .dot() method of sparse matrixes -- ndarrays also have
> it, so it makes sense to retain it.
I am actually to blame for the original interface. David made my hack
work correctly and deserves credit for the good parts.
I took a look at your branch and it seems fine to me.
The name changes makes sense though maybe svd should be svds to match
the eig->eigs pattern between the numpy and sparse implementations?
(Similarly should eigs_symmetric be eigsh to match
numpy.linalg.eigh?. It would need to be extended to handle the complex
I made some suggestions for documentation improvements at
More information about the SciPy-Dev