petsc-3.3-p7 2013-05-11

MatCreateSchurComplement

Creates a new matrix object that behaves like the Schur complement of a matrix

Synopsis

#include "petscmat.h" 
#include "petscksp.h" 
PetscErrorCode  MatCreateSchurComplement(Mat A00,Mat Ap00,Mat A01,Mat A10,Mat A11,Mat *N)
Collective on Mat

Input Parameter

A00,A01,A10,A11 -the four parts of the original matrix (A00 is optional)

Output Parameter

N -the matrix that the Schur complement A11 - A10 ksp(A00) A01

Notes: The Schur complement is NOT actually formed! Rather this object performs the matrix-vector product by using the the formula for the Schur complement and a KSP solver to approximate the action of inv(A)

All four matrices must have the same MPI communicator

A00 and A11 must be square matrices

See Also

MatCreateNormal(), MatMult(), MatCreate(), MatSchurComplementGetKSP(), MatSchurComplementUpdate(), MatCreateTranspose(), MatGetSchurComplement()

Level:intermediate
Location:
src/ksp/ksp/utils/schurm.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages