PETSc version 3.15.5
MatSchurComplementSetSubMatrices
Sets the matrices that define the Schur complement 
Synopsis
#include "petscksp.h" 
PetscErrorCode  MatSchurComplementSetSubMatrices(Mat S,Mat A00,Mat Ap00,Mat A01,Mat A10,Mat A11)
Collective on S
Input Parameter
|  | S | - matrix obtained with MatCreateSchurComplement (or equivalent) and implementing the action of A11 - A10 ksp(A00,Ap00) A01 | 
|  | A00,A01,A10,A11 | - the four parts of A = [A00 A01; A10 A11] (A11 is optional) | 
|  | Ap00 | - preconditioning matrix for use in ksp(A00,Ap00) to approximate the action of A^{-1}. | 
Notes
The Schur complement is NOT actually formed! Rather, this
object performs the matrix-vector product by using formula S = A11 - A10 A^{-1} A01
for Schur complement S and a KSP solver to approximate the action of A^{-1}.
All four matrices must have the same MPI communicator.
A00 and  A11 must be square matrices.
See Also
 MatCreateNormal(), MatMult(), MatCreate(), MatSchurComplementGetKSP(), MatSchurComplementUpdateSubMatrices(), MatCreateTranspose(), MatCreateSchurComplement(), MatGetSchurComplement()
Level
intermediate
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