MatSchurComplementComputeExplicitOperator#
Compute the Schur complement matrix explicitly
Synopsis#
#include "petscksp.h"
PetscErrorCode MatSchurComplementComputeExplicitOperator(Mat A, Mat *S)
Collective
Input Parameter#
A - the matrix obtained with
MatCreateSchurComplement()
Output Parameter#
S - the Schur complement matrix
Notes#
This can be expensive when S is large, so it is mainly for testing
Use MatSchurComplementGetPmat() to get a sparse approximation for the Schur complement suitable for use in building a preconditioner
S will automatically have the same prefix as A appended by explicit_operator_,
there are three options available: -fieldsplit_1_explicit_operator_mat_type,
-fieldsplit_1_explicit_operator_mat_symmetric, and -fieldsplit_1_explicit_operator_mat_hermitian
Developer Note#
The three aforementioned should not be parsed and used in this routine, but rather in MatSetFromOptions()
See Also#
KSP: Linear System Solvers, MatCreateSchurComplement(), MatSchurComplementUpdateSubMatrices(), MatSchurComplementGetPmat()
Level#
advanced
Location#
src/ksp/ksp/utils/schurm/schurm.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages