[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