Issue using scipy eigs

Hi all,

I am having some difficulties with scipy.sparse.linalg.eigs in the generalised eigenproblem case.

I apply it to 2 symmetric definite positive matrices, at least analitically speaking.

Indeed, the second one, for the M option has a numerical 0 determinant.

The size of the problem is ~(150,150).

So this lead to my problem : eigs does not converge for any of the lowest eigenvalues. And converge for the largest. It seems related to Arnoldi algorithm.

I use it this way :
a = scipy.sparse.linalg.eigsh(A, k=10, M=B, which='SM')

Is it a classic limitation of eigs ? Do I misuse it ?

You could try to use the argument sigma and mode to move those small eigenvalues from being small, to being large.

1 Like

Yes thanks !
I have been told to try shift&invert.

Link to dicumentation : Sparse eigenvalue problems with ARPACK — SciPy v1.13.1 Manual