[SciPy-User] Diagonalization of a tridiagonal, symmetric, sparse matrix with scipy.sparse.linalg.eigsh()

Pauli Virtanen pav at iki.fi
Fri Sep 22 14:24:15 EDT 2017


pe, 2017-09-22 kello 09:52 +0200, Simone Bolognini kirjoitti:
[clip]
> However, in this case this algorithm seems not to work, since after
> approximately 20 minutes of computation I get the following error:
> 
> ArpackNoConvergence: ARPACK error -1: No convergence (60001
> iterations, 0/2
> eigenvectors converged)
> 
> Why is this happening? Is it a problem related to some properties of
> tridiagonal matrices? 

It is not a question of matrix structure (tridiagonal, sparse) but the
eigenvalue spectrum. For your matrix, there are large number of
eigenvalues clustered to -1 which is the spectrum bottom, and this is
bad for Krylov methods.

> What other scipy routine can I use in order to
> diagonalize my matrix in an efficient way?

scipy.linalg.eig_banded


More information about the SciPy-User mailing list