SLEPc fails to converge for large scale sparse symmetric non-tridiagonal matrices

Issue #8 resolved
Bodhisatta Pramanik created an issue

Hi,

I am trying to solve for the first 4-5 smallest eigenvectors of a sparse symmetric matrix of moderate size(20k x 20k). I am not using mpi for my computation. The matrix is not tridiagonal. I have leveraged the Krylov Schur method and also tried modifying the spectral transformation objects but it takes more than a minute to compute the first few eigenvalues. On the contrary for a tridiagonal matrix of any size the computation is super fast. Do I need to use mpi to observe significant performance boost? Or is it that I am missing something out?

I am using something of this sort:

./RunPart -eps_target 0.01 -st_type sinvert -eps_nev 3 -eps_tol 1e-6 -eps_conv_abs

It seems the whole preconditioning takes a lot of time. The whole procedure fails to converge beyond the first eigenvalue.

Comments (5)

  1. Jose E. Roman

    If using sinvert the matrix is factorized, which is costly for a general matrix.

    Alternatively, if the eigenvalues you want are the first from the left, you can just try

    ./RunPart -eps_smallest_real -eps_nev 3 -eps_tol 1e-6
    
  2. Bodhisatta Pramanik reporter

    ./RunPart -eps_smallest_real -eps_nev 3 -eps_tol 1e-6 takes 8.05 seconds to compute the 3 eigen vectors however the eigen library takes 0.35 seconds (on an Intel i7 4.0 GHz processor). Is there a way to speedup this computation? Also if the size of the matrix scales over to something big (500K x 500K) we do need to make some tweaks I believe.

  3. Log in to comment