[petsc-users] SLEPc: logpcg works but lanczos fails

Jose E. Roman jroman at dsic.upv.es
Sun May 5 14:24:36 CDT 2019


Is your B-matrix singular? Then the solver might be approximating an infinite eigenvalue even if you ask for smallest real eigenvalues. For Lanczos-type solvers, it is safer to run with -st_type sinvert -eps_target 0   if you know that eigenvalues are positive. Or instead of 0 use a target value that bounds the eigenvalues from below.

Also, it is better to use Krylov-Schur instead of Lanczos, for symmetric problems it will run Lanczos with implicit restart - the 'lanczos' solver is Lanczos with explicit restart (usually worse).

Jose


> El 5 may 2019, a las 17:05, Qiyue Lu via petsc-users <petsc-users at mcs.anl.gov> escribió:
> 
> Hello, 
> I am solving a general eigenvalue problem 
> Ax=lamda*Bx
> A is the stiffness matrix, B the mass matrix. The DOF of these matrices are 24,000 around. Both of them are symmetric and stored in SEQSBAIJ format. Also, I downloaded mumps during the configuration and installation of PETSc. 
> In SLETc, this eigenvalue system can be solved by -eps_tpye logpcg while requesting EPS_SMALLEST_REAL. However, -eps_type lanczos doesn't work, which yields a very huge number. It seems mumps is called indeed. The output of -eps_view is attached. The command line I am using is:
> mpirun -np 40 ./test -fA matrixA -fB matrixB -eps_type lanczos -eps_view
> 
> Did I miss any substantial configurations for lanczos solver? 
> 
> Thanks, 
> 
> Qiyue Lu
> <test10B_bash.out>



More information about the petsc-users mailing list