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