[petsc-users] SLEPc eigenpairs relative error

Jose E. Roman jroman at dsic.upv.es
Wed Apr 6 08:33:53 CDT 2016


> El 6 abr 2016, a las 14:43, Thibault Chevret <chevret at lpccaen.in2p3.fr> escribió:
> 
> Dear all,
> 
> I am interested in computing the eigenpairs of a sparse real non-symmetric matrix (~8000x8000). I use SLEPc for this purpose, specifying only nev, ncv and tol as options.
> 
> My problem is, I guess, that I would like to compute the whole spectra, and I've got some issues regarding the errors on some eigenvalues (ev).
> Real ones are OK, their relative errors being below 1e-10, but for some complex ones I can't get below 1e-1. 
> 
> This is greatly improved if I specify -eps_larger_imaginary, but then the problem is inversed as the errors associated to real ev become worse.
> My solution, for now, is to merge results obtained for complex ev using a resolution with -eps_larger_imaginary, and those obtained for real ev without this option. This is quite tedious, as I have to resolve my matrix twice, but it works fine.
> 
> Am I doing something wrong ? I've read on another post that SLEPc should not be used for the computation of the whole spectra, but is there by any chance any way to improve the results using only one calculation ?
> 
> Thank you for your time.
> 
> Thibault

SLEPc is not intended for computing the whole spectrum. For this you can use LAPACK (or ScaLAPACK) treating the matrix as dense. LAPACK can also provide information about conditioning, which may be causing large residuals.

In SLEPc, you can try setting a value for the mpd parameter (e.g. -eps_mpd 400). See explanation in section 2.6.5 of the users manual. But again SLEPc is designed for a subset of the spectrum.

Jose



More information about the petsc-users mailing list