File: MatCreateSchurComplement.html

package info (click to toggle)
petsc 3.1.dfsg-7
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 131,360 kB
  • ctags: 491,710
  • sloc: ansic: 288,064; cpp: 66,909; python: 28,799; fortran: 19,153; makefile: 13,945; sh: 3,502; f90: 1,655; xml: 620; csh: 230; java: 13
file content (45 lines) | stat: -rw-r--r-- 2,172 bytes parent folder | download
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>