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@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>

Reply via email to