MatCreateSchurComplementPmat#
create a preconditioning matrix for the Schur complement by explicitly assembling the sparse matrix
Synopsis#
#include "petscksp.h"
PetscErrorCode MatCreateSchurComplementPmat(Mat A00, Mat A01, Mat A10, Mat A11, MatSchurComplementAinvType ainvtype, MatReuse preuse, Mat *Sp)
Collective
Input Parameters#
A00 - the upper-left part of the original matrix
A01 - (optional) the upper-right part of the original matrix
A10 - (optional) the lower-left part of the original matrix
A11 - (optional) the lower-right part of the original matrix
ainvtype - type of approximation for DIAGFORM(A00) used when forming . See
MatSchurComplementAinvType
.preuse -
MAT_INITIAL_MATRIX
for a newSp
, orMAT_REUSE_MATRIX
to reuse an existingSp
, orMAT_IGNORE_MATRIX
to put nothing inSp
Output Parameter#
Sp - approximate Schur complement suitable for constructing a preconditioner for the true Schur complement
See Also#
KSP: Linear System Solvers, MatCreateSchurComplement()
, MatGetSchurComplement()
, MatSchurComplementGetPmat()
, MatSchurComplementAinvType
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