The documentation seems to suggest that I can choose a sparse-direct solver and factor a MATMPISBAIJ matrix A out-of-place like this:<div><br></div><div><div>    Mat F;</div><div>    MatGetFactor( A, MAT_SOLVER_MUMPS, MAT_FACTOR_CHOLESKY, &amp;F );</div>
<div>    MatFactorInfo cholInfo;</div><div>    cholInfo.fill = 3.0; // arbitrary choice</div><div>    cholInfo.dtcol = 0.5; // arbitrary choice</div><div>    IS perm;</div><div>    ISCreateStride( comm, size, 0, 1, &amp;perm );</div>
<div>    MatCholeskyFactorSymbolic( F, A, perm, &amp;cholInfo );</div><div>    MatCholeskyFactorNumeric( F, A, &amp;cholInfo );</div></div><div><br></div><div>but the in-place alternative, MatCholeskyFactor, does not seem to take in choices for the solver. The documentation for these routines is sparse because of the recommendations to use the KSP interfaces, but I need the direct access for a somewhat complicated preconditioner that I&#39;m working on. </div>
<div><br></div><div>Is there a way to tell MatCholeskyFactor which approach to use (i.e., MAT_SOLVER_MUMPS), or, failing that, can I destroy my original matrix &#39;A&#39; and keep the factor &#39;F&#39; around for solves?<br>
<br>Thanks in advance for any clarification,</div><div>Jack</div>