On Wed, Dec 4, 2019 at 8:38 AM Cotter, Colin J <[email protected]> wrote:
> >The action of the Schur complement is always MatMult() KSPSolve() > MatMult(). > > OK, so when pc_fieldsplit_schur_precondition is set to full, what actually > happens? > It computes the operator explicitly: https://gitlab.com/petsc/petsc/blob/master/src/ksp/ksp/utils/schurm/schurm.c#L491 Usually you use LU, which means making B dense, then doing MatMatSolve(), and then MatMatMult() for sparse. Thanks, Matt -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
