[petsc-users] Incorrect eigenvalues

Jose E. Roman jroman at dsic.upv.es
Mon Jul 18 15:32:20 CDT 2016


> El 18 jul 2016, a las 22:09, Hassan Md Mahmudulla <mhassan at miners.utep.edu> escribió:
> 
> Thank you very much for your reply. Well, I actually can avoid using eps_interval since I don't really need that. I want to request 10% eigenvalues and I need them very fast. That's why I was trying with different combinations. My system size can be bigger. So, I was trying iterative solver like mumps as well. But the problem is almost all the preconditioners are giving me wrong answers. Would you suggest me any way so that I can solve my problem? I will try with section 3.4.5 though.
> 
> M Hassan

MUMPS is not an iterative solver, but a direct solver. For solving linear systems you first need to understand PETSc's KSP and PC objects. You cannot use preonly with jacobi because it won't give you the solution of the linear system (just one preconditioning step, which is enough for some SLEPc solvers but not for the default one). You can try an iterative method such as GMRES together with a preconditioner such as Jacobi. Again, this is discussed in SLEPc's documentation, for instance in section 3.4.1 of the manual. But eps_interval is an exception which supports direct solvers only.

Computing 10% of eigenvalues of a large matrix is generally a very expensive task, it cannot be done "very fast". Using eps_interval could be a good option if you know the interval containing the eigenvalues, but it will take time since it requires factorizing large matrices.

Jose



More information about the petsc-users mailing list