[petsc-users] SLEPc GEVP for huge systems

Jose E. Roman jroman at dsic.upv.es
Wed Nov 20 08:22:46 CST 2019



> El 19 nov 2019, a las 22:05, Yann Jobic <yann.jobic at univ-amu.fr> escribió:
> 
> Thanks for the fast answer !
> The error coming from MUMPS is :
> On return from DMUMPS, INFOG(1)=              -9
> On return from DMUMPS, INFOG(2)=        29088157
> The matrix size : 4972410*4972410

You may want to try running with -mat_mumps_icntl_14 200

> I need only 1 eigen value, the one near zero.
> In order to have more precision, i put ncv at 500.
> I'm using : -eps_gen_non_hermitian  -st_type sinvert -eps_target 0.1 -eps_ncv 500 -eps_tol 1e-9 -bv_type vecs

BVVECS is going to be slower, if the default BV gives a memory error I would suggest using BVMAT.

> 
> I'm doing linear stability analysis. I'm looking at eigen values near zero, and if the first one is positive or negative.
> The mass matrix is ill conditioned. On a smaller matrix, it seems that using KSP without a preconditioner gives satisfactory results. With a PC, it diverges.
> 
> Number of iterations of the method: 1
> Number of linear iterations of the method: 1000
> Solution method: krylovschur
> 
> Number of requested eigenvalues: 1
> Stopping condition: tol=1e-08, maxit=711
> Linear eigensolve converged (14 eigenpairs) due to CONVERGED_TOL; iterations 1
> ---------------------- --------------------
>            k             ||Ax-kBx||/||kx||
> ---------------------- --------------------
>   0.000005+0.016787i       7.87928e-07
>   0.000005-0.016787i       7.87928e-07
>       -0.001781            1.11832e-05
>       -0.001802             0.00274427
> [...]

By default the KSP tolerance is equal to the EPS tolerance. You may need to reduce the KSP tolerance, e.g. -st_ksp_rtol 1e-9

Jose

> 
> I'm trying that on the big one.
> 
> Thanks for your help,
> 
> Yann
> 
> 
> Le 11/19/2019 à 5:25 PM, Jose E. Roman a écrit :
>> Are you getting an error from MUMPS or from BV? What is the error message you get? What is the size of the matrix? How many eigenvalues do you need to compute?
>> In principle you can use any KSP+PC, see section 3.4.1 of the users manual. If you have a good preconditioner, then an alternative to Krylov methods is to use Davidson-type methods https://doi.org/10.1145/2543696 - in some cases these can be competitive.
>> Jose
>>> El 19 nov 2019, a las 17:06, Yann Jobic via petsc-users <petsc-users at mcs.anl.gov> escribió:
>>> 
>>> Hi all,
>>> I'm trying to solve a huge generalize (unsymetric) eigen value problem with SLEPc + MUMPS. We actually failed to allocate the requested memory for MUMPS factorization (we tried BVVECS).
>>> We would like to know if there is an alternate iterative way of solving such problems.
>>> Thank you,
>>> Best regards,
>>> Yann



More information about the petsc-users mailing list