[petsc-users] SLEPc Bogus eigenvalues for large -eps_nev

Jose E. Roman jroman at dsic.upv.es
Thu May 14 10:34:00 CDT 2015


El 14/05/2015, a las 17:28, Vijay Gopal Chilkuri escribió:

> I get the proper eigenvalues (and quite fast) when I ask for only 10-15 of the lowest eigenvalues. 
> The only problem is when I ask for m ~ 100-300 of the lowest eigenvalues.
> 
> Is it possible that asking for large number of eigenvalues would cause problems ?

It should not be a problem, but you could try running with -eps_mpd 50 to see if it helps.

> 
> I've got the same problem with smaller matrices of size 540540. Again for this system, if I ask for
> 10-15 eigenvalues I get the proper correct converged eigenvalues, but when I ask for more than 100 eigevalues
> I get incorrect results !
> 
> If you would like to test I can send you the proper files.

Yes, send them to me.

> 
> Thanks,
>  Vijay
> 
> 
> 
> 
> On Thu, May 14, 2015 at 5:17 PM, Jose E. Roman <jroman at dsic.upv.es> wrote:
> 
> On 14/05/2015, Vijay Gopal Chilkuri wrote:
> 
> > Hi,
> >
> > I am using SLEPc to get the lowest m eigenvalues of a large sparse hermitian matrix using Krylov-Schur.
> > The problem is that while asking for a large number of eigenvalues (e.g. 300) for a large problem
> > consisting of a 91454220 X 91454220 system, the solver does not give the lowest 300 eigenvalues.
> > Instead it gives the following arbitrary negative values followed by a few correct ones.
> >
> >    -4733.882429           0.999888
> >    -4729.554413             1.0006
> >    -4725.841715           0.999887
> >    -4702.457861            1.00061
> >    -4700.608105           0.999887
> >    -4691.142733           0.999885
> >       -6.361168            1.18973
> >       -6.361102        6.05898e-09
> >       -6.361099           6.71e-09
> >       -6.361093        7.66471e-09
> >       -6.361082            1.17659
> >
> >
> > Although the solver says that it has successfully converged the 300 eigenvalues !
> > Please find the relevant files attached.
> >
> > Could anyone tell me what I'm doing wrong ?
> >
> > thanks,
> >  Vijay
> >
> > <problem.c><output>
> 
> I do not see anything strange, apart from passing a pointer to long int in an argument of type PetscInt*. To guarantee portability, it would be better if all variables in your program are of type PetscInt, PetscMPIIInt, PetscReal, PetscScalar, etc.
> 
> I do not know what is going on. Do you get the same behaviour for smaller matrix sizes? Do you get the same problem when computing only a few eigenvalues?
> 
> Jose
> 
> 
> 



More information about the petsc-users mailing list