[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