El 12/07/2012, a las 06:59, Gao Bin escribi?:

> Hi, all
> 
> I am trying to solve a few eigenvalues in a interval of a sparse Hermitian 
> matrix (F) with the dimension as 2362. I know there are only 20 eigenvalues 
> in the interval [-80.0,-70.0] for the matrix F. I choose the EPSARNOLDI 
> method. The code looks like as follows. But after several hours running, EPS 
> can not get converged eigenvalues. Therefore, may I ask if I did some wrong 
> in the code? Or should I add more solver parameters for my problem? Thank you 
> in advance.
> 
> #include <finclude/slepcepsdef.h>
>       use slepceps
> #if defined(PETSC_USE_FORTRAN_DATATYPES)
>       type(Mat) F
>       type(EPS) solver
> #else
>       Mat F
>       EPS solver
> #endif
>       ... ...
>       ! creates eigensolver context
>       call EPSCreate(PETSC_COMM_WORLD, solver, ierr)
>       ! sets operators
>       call EPSSetOperators(solver, F, PETSC_NULL_OBJECT, ierr)
>       ! sets solver parameters
>       call EPSSetProblemType(solver, EPS_HEP, ierr)
>       call EPSSetWhichEigenpairs(solver, EPS_ALL, ierr)
>       call EPSSetInterval(solver, -80.0, 70.0, ierr)
>       call EPSSetType(solver, EPSARNOLDI, ierr)
>       call EPSSetTolerances(solver, 1.0D-9, 90000, ierr)
>       ! solve the eigensystem
>       call EPSSolve(solver, ierr)
> 
> Cheers
> 
> Gao

For using computational intervals (EPSSetInterval) you must use Krylov-Schur 
and specify the relevant options for the spectral transformation. See section 
3.4.5 in the manual.

Jose

Reply via email to