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, &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, &perm );</div>
<div> MatCholeskyFactorSymbolic( F, A, perm, &cholInfo );</div><div> MatCholeskyFactorNumeric( F, A, &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'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 'A' and keep the factor 'F' around for solves?<br>
<br>Thanks in advance for any clarification,</div><div>Jack</div>