[petsc-users] EPS iteration number

Xujun Zhao xzhao99 at gmail.com
Wed Sep 16 14:09:56 CDT 2015


Hi all,

I am solving a max/min eigenvalue problem, and call EPSGetIterationNumber()
to get the iteration number for convergence. However, it always returns 1.
This is a little confused, because I can see my subroutine of MATOP_MULT
operation has been called 6 or 16 times with different configurations.

The ConvergedReason returns 2, so it looks like the eigenvalue is correct.
also, it shows
 1 EPS nconv=2 first unconverged value (error) 0.0158234 (2.15550644e-03)

what does it mean?

Thanks.

Xujun



/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

   Solve the eigensystem and get the solution

   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

  ierr = PetscPrintf(PETSC_COMM_WORLD,"EPS solve starts ...\n");

  ierr = EPSSolve(eps);CHKERRQ(ierr);

  ierr = PetscPrintf(PETSC_COMM_WORLD,"\n--->test: EPS solve results:\n");

  ierr = EPSGetEigenvalue(eps,0,&value,NULL); CHKERRQ(ierr);

  ierr = PetscPrintf(PETSC_COMM_WORLD,"          the eigenvalue:
%f\n",value);

  ierr = EPSGetType(eps,&type);CHKERRQ(ierr);

  ierr = PetscPrintf(PETSC_COMM_WORLD,"          Solution method:
%s\n",type);

  ierr = EPSGetIterationNumber(eps,&its);CHKERRQ(ierr);

  ierr = PetscPrintf(PETSC_COMM_WORLD,"          Number of iterations of
the method: %D\n",its);

  ierr = EPSGetConvergedReason(eps,&reason);

  ierr = PetscPrintf(PETSC_COMM_WORLD,"          EPS converged reason :
%D\n\n",reason);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150916/3bd887c9/attachment.html>


More information about the petsc-users mailing list