File: KSPGCR.html

package info (click to toggle)
petsc 3.4.2.dfsg1-8.1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 129,104 kB
  • ctags: 516,422
  • sloc: ansic: 395,939; cpp: 47,201; python: 34,788; makefile: 17,193; fortran: 16,251; f90: 1,592; objc: 954; sh: 822; xml: 621; java: 381; lisp: 293; csh: 241
file content (49 lines) | stat: -rw-r--r-- 3,223 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
46
47
48
49
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPGCR.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>KSPGCR</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.4.2 2013-07-02</b></div>
<A NAME="KSPGCR"><H1>KSPGCR</H1></A>
Implements the preconditioned Generalized Conjugate Residual method. 
<P>
<H3><FONT COLOR="#CC3333">Options Database Keys</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-ksp_gcr_restart &lt;restart&gt; </B></TD><TD>- the number of stored vectors to orthogonalize against
</TD></TR>
<P>

<P>
Notes: The GCR Krylov method supports non-symmetric matrices and permits the use of a preconditioner
which may vary from one iteration to the next. Users can can define a method to vary the
preconditioner between iterates via <A HREF="../KSP/KSPGCRSetModifyPC.html#KSPGCRSetModifyPC">KSPGCRSetModifyPC</A>().
Restarts are solves with x0 not equal to zero. When a restart occurs, the initial starting
solution is given by the current estimate for x which was obtained by the last restart
iterations of the GCR algorithm.
Unlike GMRES and FGMRES, when using GCR, the solution and residual vector can be directly accessed at any iterate,
with zero computational cost, via a call to <A HREF="../KSP/KSPBuildSolution.html#KSPBuildSolution">KSPBuildSolution</A>() and <A HREF="../KSP/KSPBuildResidual.html#KSPBuildResidual">KSPBuildResidual</A>() respectively.
This implementation of GCR will only apply the stopping condition test whenever ksp-&gt;its &gt; ksp-&gt;chknorm,
where ksp-&gt;chknorm is specified via the command line argument -ksp_check_norm_iteration or via
the function <A HREF="../KSP/KSPSetCheckNormIteration.html#KSPSetCheckNormIteration">KSPSetCheckNormIteration</A>().
The method implemented requires the storage of 2 x restart + 1 vectors, twice as much as GMRES.
Support only for right preconditioning.
<P>
Contributed by Dave May
<P>
<H3><FONT COLOR="#CC3333">References</FONT></H3>
S. C. Eisenstat, H. C. Elman, and H. C. Schultz. Variational iterative methods for
non-symmetric systems of linear equations. SIAM J. Numer. Anal., 20, 345-357, 1983
<P>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
  <A HREF="../KSP/KSPCreate.html#KSPCreate">KSPCreate</A>(), <A HREF="../KSP/KSPSetType.html#KSPSetType">KSPSetType</A>(), <A HREF="../KSP/KSPType.html#KSPType">KSPType</A> (for list of available types), <A HREF="../KSP/KSP.html#KSP">KSP</A>,
<BR>KSPGCRSetRestart(), <A HREF="../KSP/KSPGCRSetModifyPC.html#KSPGCRSetModifyPC">KSPGCRSetModifyPC</A>(), <A HREF="../KSP/KSPGMRES.html#KSPGMRES">KSPGMRES</A>, <A HREF="../KSP/KSPFGMRES.html#KSPFGMRES">KSPFGMRES</A>
<P>
<P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>beginner
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/ksp/ksp/impls/gcr/gcr.c.html#KSPGCR">src/ksp/ksp/impls/gcr/gcr.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>