<div dir="ltr"><div>Dear PETSc dev team,</div><div>   I am implementing SLEPc interval option using shell matrix as follows:</div><div><br></div><div>EPSGetST(eps, &st);<br></div><div>STSetType(st, STSINVERT);<br></div><div>STGetKSP(st, &ksp);<br></div><div>KSPSetOperators(ksp, A, A);<br></div><div>KSPSetType(ksp, KSPPREONLY);<br></div><div>KSPGetPC(ksp, &pc);<br></div><div>KSPGetPC(ksp, &pc)<br></div><div>MatSetOption(A, MAT_SPD, PETSC_TRUE);<br></div><div>PCSetType(pc, PCSHELL);</div><div>PCShellSetContext(pc, &appCtx);<br></div><div>PCShellSetApply(pc, applyPreconditioner);<br></div><div>PetscObjectComposeFunction((PetscObject)pc,"PCFactorGetZeroPivot_C",PCFactorGetZeroPivot_C);<br></div><div><br></div><div> When I run it, I get the following error.  Any idea what I did wrong? Thanks a lot for your help.</div><div><br></div>[0]PETSC ERROR: No support for this operation for this object type<div>[0]PETSC ERROR: PC type does not support getting factor matrix<div>[0]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[0]PETSC ERROR: Petsc Release Version 3.11.3, Jun, 26, 2019 <br>[0]PETSC ERROR: Unknown Name on a arch-starccmplus_serial_real named <a href="http://pl2usbvu0037pc.net.plm.eds.com">pl2usbvu0037pc.net.plm.eds.com</a> by cd4hhv Thu Nov 18 21:11:45 2021<br>Number of iterations of the method: 0<br>[0]PETSC ERROR: Configure options --with-x=0 --with-fc=0 --with-debugging=1 --with-blaslapack-dir=/u/cd4hhv/dev2/mkl/2017.2-cda-001/linux/lib/intel64/../.. --with-mpi=0 -CFLAGS=-g -CXXFLAGS=-g --with-clean=1 --force --with-scalar-type=real<br>[0]PETSC ERROR: #1 PCFactorGetMatrix() line 1332 in ../../../petsc/src/ksp/pc/interface/precon.c<br>[0]PETSC ERROR: #2 EPSSliceGetInertia() line 340 in ../../../slepc/src/eps/impls/krylov/krylovschur/ks-slice.c<br>[0]PETSC ERROR: #3 EPSSetUp_KrylovSchur_Slice() line 467 in ../../../slepc/src/eps/impls/krylov/krylovschur/ks-slice.c<br>[0]PETSC ERROR: #4 EPSSetUp_KrylovSchur() line 146 in ../../../slepc/src/eps/impls/krylov/krylovschur/krylovschur.c<br>[0]PETSC ERROR: #5 EPSSetUp() line 173 in ../../../slepc/src/eps/interface/epssetup.c<br>Solution method: krylovschur<br>[0]PETSC ERROR: #6 EPSSliceGetEPS() line 306 in ../../../slepc/src/eps/impls/krylov/krylovschur/ks-slice.c<br>[0]PETSC ERROR: #7 EPSSetUp_KrylovSchur_Slice() line 416 in ../../../slepc/src/eps/impls/krylov/krylovschur/ks-slice.c<br>[0]PETSC ERROR: #8 EPSSetUp_KrylovSchur() line 146 in ../../../slepc/src/eps/impls/krylov/krylovschur/krylovschur.c<br>[0]PETSC ERROR: #9 EPSSetUp() line 173 in ../../../slepc/src/eps/interface/epssetup.c<br></div></div></div>