Skip to main content
8 votes
Accepted

Python scipy eigh(Arpack) giving wrong eigenvalues for generalized eigenvalue problem

The matrix B (M in the documentation) needs to positive definite according to the documentation: "If sigma is None, M is positive definite", this is in addition to the first requirement &...
user3209427's user avatar
6 votes

Accuracy issues with Arpack in Julia for eigenvalues of smallest magnitude

Looks like everything is working relatively OK? Your matrix is of order 1e10, so residuals of 1e-4 are actually close to machine precision. The convergence criterion is indeed violated, but not by ...
Antoine Levitt's user avatar
6 votes
Accepted

Can ARPACK exploit hermiticity when diagonalising a complex matrix?

No, there is no specialized ARPACK routine for complex Hermitian matrices. The ARPACK authors recommend using the znaupd routine for both Hermitian and non-...
GoHokies's user avatar
  • 2,216
4 votes

Computation time of eigenvalues with ARPACK depends on what?

The eigen-distribution is governing the convergence of the Lanczos algorithm. When the eigenvalues are "well-separated", the Lanczos algorithm should be fairly fast. When some eigenvalues are ...
user7440's user avatar
  • 617
3 votes
Accepted

Preconditioning ARPACK eigenvalue solver

I've summarized the comments thread of your original question into an answer. Here are a few things that you can try: Increase the number of your Arnoldi vectors (NCV) generated at each iteration. ...
GoHokies's user avatar
  • 2,216
3 votes
Accepted

Iteratively obtaining m eigenvectors using arpack: If I have a good initial guess, how do I use it?

Since no one else has responded to this, I'll take a shot at it. I'm doubtful you will find an option like you are looking for in Arpack. Here is why I think that. The algorithms in Arpack are based ...
Bill Greene's user avatar
  • 6,229
3 votes

Can ARPACK exploit hermiticity when diagonalising a complex matrix?

If there are no algorithms specifically for sparse Hermitian matrices, a practical alternative is to convert the problem into double-sized real matrices. Write the complex matrix-vector products in ...
alephzero's user avatar
  • 311
2 votes

Accuracy issues with Arpack in Julia for eigenvalues of smallest magnitude

eigsh( ... sigma=0 ) looks like a bug in python-scipy arpack too. Here's a comparison of arpack with numpy eigh (Lapack syevd, gold standard), run on your matrix / ...
denis's user avatar
  • 932
2 votes
Accepted

Accuracy issues with Arpack in Julia for eigenvalues of smallest magnitude

OK, so with new version in edit: it's not your fault, it's https://github.com/JuliaLinearAlgebra/Arpack.jl/issues/87. You can either call Arpack manually yourself, or even better use a pure-julia ...
Antoine Levitt's user avatar
1 vote

Python scipy eigh(Arpack) giving wrong eigenvalues for generalized eigenvalue problem

Not really an answer to your question, but the LAPACK implementation of QZ (which solves the GEP) is known to be pretty slow. My PR (https://github.com/Reference-LAPACK/lapack/pull/421) fixes that. ...
Thijs Steel's user avatar
  • 1,733
1 vote

Partial diagonalisation of large symmetric positive-definite band-diagonal matrices

Generally, taking advantage of $A$'s structure (sparsity/bandedness) has no bearing on convergence rates but it will always improve the time to apply a matvec via the "reverse communication API" of ...
rchilton1980's user avatar
  • 4,946

Only top scored, non community-wiki answers of a minimum length are eligible