Hi,

I am trying to use LOBPCG via Slepc and I am a little confused on how
to set the preconditioner and operator matrices. I have a shell matrix
A and a matrix P that should be used for the preconditioning. Here is
the relevant part of my code:

EPSCreate(PETSC_COMM_WORLD,&eps);

EPSSetOperators(eps, A, PETSC_NULL);

EPSSetProblemType(eps, EPS_HEP);

EPSSetType(eps, EPSBLOPEX);

EPSGetST(eps, &st);

STPrecondSetMatForPC(st, P);

STGetKSP(st,&ksp);

KSPGetPC(ksp, &pc);

KSPSetOperators(ksp,A, P, DIFFERENT_NONZERO_PATTERN); //do I have to
set this?? If I don't the program complains that a matrix is not set

PCSetType(pc, PCJACOBI);

EPSSetUp(eps);


Is that correct or do I need to do something else?


Thanks,

Verena
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120216/36357cd4/attachment.htm>

Reply via email to