<div dir="ltr">Hi there,<br>I have a matrix shell where the Mult operation looks like this:<br>y=1/2(K+K*) x<br>with K=M^-1 A and K* its transpose.<br><br><div>1-
 For setting-up the operation MatMult, since I need to do a KSPSolve on 
M, should I set-up the KSP on the operation MATOP_CREATE and destroy it 
on MATOP_DESTROY and store it as a global variable?<br><br></div><div>2-
 For "inverting" M, considering that M is symmetric, Should I (a) use 
LU, or should I (b) use an iterative procedure like CG with ILU, since M
 is 
symmetric positive definite? Is there a faster iterative method for a 
SPD matrix?<br><br></div>3- I want to use this matrix shell in 
SLEPc to compute the largest positive
 eigenvalue, which will be smaller in magnitude than the smallest 
negative real (possibly very close to zero). Since it is a matrix shell I assume that I can't really 
use Shift-and-invert without choosing an iterative procedure that only 
requires MatMult. What would be the best Method+Preconditioner for this 
case? Note that this is a Real Symmetric matrix (but not Positive 
definite). Should I set all of these as true?<br><br>MATOP_IS_HERMITIAN<br>MATOP_IS_STRUCTURALLY_SYMMETRIC<br><div>MATOP_IS_SYMMETRIC<br><br></div><div>Thank you,<br></div><div>Miguel<br></div></div>