[petsc-users] about the new EPSSetStoppingTestFunction functionality in SLEPC

Jose E. Roman jroman at dsic.upv.es
Wed Jun 1 09:03:43 CDT 2016


> El 1 jun 2016, a las 12:28, Giacomo Mulas <gmulas at oa-cagliari.inaf.it> escribió:
> 
> Hello slepc developers.
> 
> I am trying to use the new EPSSetStoppingTestFunction() functionality to
> write my own custom MyStoppingTest() function. What information can I access
> within that function? I would need to get currently converged eigenpairs,
> can I access them, e.g. by calling EPSGetConvergedEigenpair on the eps?

This functionality is currently very basic, not intended for doing sophisticated computations. Currently there is no public API for accessing eigenvectors during EPSSolve. Adding this would require a non-trivial effort.

> 
> Also, I cannot know in advance how many eigenpairs I will need to find to
> fulfill my stopping criterion. What would be the most effective strategy?
> Calling EPSSolve many times in sequence, till I get enough eigenpairs,
> putting already found ones in the deflation space (which is what I did
> before the EPSSetStoppingTestFunction() functionality was available)?
> Or requesting _all_ eigenpairs and then relying on the custom stopping
> function to stop when enough are found?

You should set ncv > number of estimated eigenvalues that satisfy your criterion. Setting nev=n (dimension of the problem) will only make you use more memory. The other alternative of calling EPSSolve several times is also ok.

Jose



> 
> Thanks in advance
> Giacomo
> 
> -- 
> _________________________________________________________________
> 
> Giacomo Mulas <gmulas at oa-cagliari.inaf.it>
> _________________________________________________________________
> 
> INAF - Osservatorio Astronomico di Cagliari
> via della scienza 5 - 09047 Selargius (CA)
> 
> tel.   +39 070 71180244
> mob. : +39 329  6603810
> _________________________________________________________________
> 
> "When the storms are raging around you, stay right where you are"
>                         (Freddy Mercury)
> _________________________________________________________________



More information about the petsc-users mailing list