#include "petscksp.h" PetscErrorCode MatCreateSchurComplementPmat(Mat A00,Mat A01,Mat A10,Mat A11,MatSchurComplementAinvType ainvtype,MatReuse preuse,Mat *Sp)Collective on A00
A00 | - the upper-left part of the original matrix A = [A00 A01; A10 A11] | |
A01 | - (optional) the upper-right part of the original matrix A = [A00 A01; A10 A11] | |
A10 | - (optional) the lower-left part of the original matrix A = [A00 A01; A10 A11] | |
A11 | - (optional) the lower-right part of the original matrix A = [A00 A01; A10 A11] | |
ainvtype | - type of approximation for DIAGFORM(A00) used when forming Sp = A11 - A10 inv(DIAGFORM(A00)) A01. See MatSchurComplementAinvType. | |
preuse | - MAT_INITIAL_MATRIX for a new Sp, or MAT_REUSE_MATRIX to reuse an existing Sp, or MAT_IGNORE_MATRIX to put nothing in Sp |
Sp | - approximate Schur complement suitable for preconditioning the true Schur complement S = A11 - A10 inv(A00) A01 |