OK, thanks, this is helpful. If I got you correctly: beforehand, there is no way to know exactly what the eigen values are. If it turns out that an eigen value makes A-sigma*I or A-sigma*B singular, then the solve may break. If so, afterwards, it's possible to change slightly the shift to avoid solve break down (but there is no way to know that beforehand).
Franck ----- Mail original ----- > De: "Jose E. Roman" <jro...@dsic.upv.es> > À: "Franck Houssen" <franck.hous...@inria.fr> > Cc: "For users of the development version of PETSc" <petsc-dev@mcs.anl.gov> > Envoyé: Lundi 25 Septembre 2017 14:50:48 > Objet: Re: [petsc-dev] What is the difference between shift and target in > SLEPc ? > > > > El 25 sept 2017, a las 13:21, Franck Houssen <franck.hous...@inria.fr> > > escribió: > > > > What is the difference between shift and target in SLEPc ? Shift > > (STSetShift) is clear to me, but, target (EPSSetTarget) is not. > > Can somebody give an example where one want/need to have a target which > > would be different from the shift ? > > > > Franck > > In shift-and-invert the shift is equal to the target by default. The target > is what you use to indicate where you want the eigenvalues to be sought (it > can be used without shift-and-invert). Normal usage is having both values > equal. If the target is exactly equal to an eigenvalue, then you may want to > perturb the shift (change it to a slightly different value) in order to > avoid a singular matrix A-sigma*I in the linear solves. (Some solvers such > as MUMPS do not have problems with singular matrices, so this is not > necessary in that case). > > Jose > >