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

Vijay Gopal Chilkuri vijay.gopal.c at gmail.com
Thu May 14 11:00:06 CDT 2015


Ok I've sent a job with the -eps_mpd 50 option and I still get the same
absurd eigenvalues !

You already have the driver .c file (called problem.c I also attach this
file) I send you the makefile.

The subroutine unit_l1_ is a fortran subroutine which gives the number of
nonzero elements in 22 rows at once. This subroutine can be compiled in the
following way.

Firstly, it uses the IRPF90 library.
You can download the library from this github link:
https://github.com/scemama/irpf90.git
the binary needed "irpf90" should be in the bin directory, just update the
relevant PATH environment variables.

Second, get the codes that generate the unit_l1_ subroutine from the
following repository: https://github.com/v1j4y/slepc_version.git
*please change to branch slepc_testing !*

> make
> make irpf90.a


should give you the irpf90.a library nessessary to compile the problem.c
file, I attach the makefile to compile the problem.c file with this mail.
To compile the final executable, please do "*make problem*"

and that should be enough !
sorry that it is not simpler.

Please write if you run into problems.

Thanks,
 Vijay


On Thu, May 14, 2015 at 5:34 PM, Jose E. Roman <jroman at dsic.upv.es> wrote:

>
> 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
> >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150514/b8f07426/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: makefile
Type: application/octet-stream
Size: 191 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150514/b8f07426/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: problem.c
Type: text/x-csrc
Size: 11716 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150514/b8f07426/attachment-0001.c>


More information about the petsc-users mailing list