1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MatCreateSchurComplement</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MatCreateSchurComplement"><H1>MatCreateSchurComplement</H1></A>
Creates a new matrix object that behaves like the Schur complement of a matrix
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscmat.h"
#include "petscksp.h"
PetscErrorCode PETSCMAT_DLLEXPORT MatCreateSchurComplement(Mat A,Mat Ap,Mat B,Mat C,Mat D,Mat *N)
</PRE>
Collective on <A HREF="../Mat/Mat.html#Mat">Mat</A>
<P>
<H3><FONT COLOR="#CC3333">Input Parameter</FONT></H3>
<DT><B>A,B,C,D </B> -the four parts of the original matrix (D is optional)
<br>
<P>
<H3><FONT COLOR="#CC3333">Output Parameter</FONT></H3>
<DT><B>N </B> -the matrix that the Schur complement D - C inv(A) B
<br>
<P>
<P>
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 <A HREF="../KSP/KSP.html#KSP">KSP</A> solver to approximate the action of inv(A)
<P>
All four matrices must have the same MPI communicator
<P>
A and D must be square matrices
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
<A HREF="../Mat/MatCreateNormal.html#MatCreateNormal">MatCreateNormal</A>(), <A HREF="../Mat/MatMult.html#MatMult">MatMult</A>(), <A HREF="../Mat/MatCreate.html#MatCreate">MatCreate</A>(), <A HREF="../KSP/MatSchurComplementGetKSP.html#MatSchurComplementGetKSP">MatSchurComplementGetKSP</A>(), <A HREF="../KSP/MatSchurComplementUpdate.html#MatSchurComplementUpdate">MatSchurComplementUpdate</A>(), <A HREF="../Mat/MatCreateTranspose.html#MatCreateTranspose">MatCreateTranspose</A>()
<BR>
<P>
<P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>intermediate
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/ksp/ksp/utils/schurm.c.html#MatCreateSchurComplement">src/ksp/ksp/utils/schurm.c</A>
<BR><A HREF="./index.html">Index of all KSP routines</A>
<BR><A HREF="../../index.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>
|