File: SNESTEST.html

package info (click to toggle)
petsc 3.7.5%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 163,864 kB
  • ctags: 618,438
  • sloc: ansic: 515,133; python: 29,793; makefile: 20,458; fortran: 18,998; cpp: 6,515; f90: 3,914; sh: 1,012; xml: 621; objc: 445; csh: 240; java: 13
file content (45 lines) | stat: -rw-r--r-- 3,382 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> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/SNESTEST.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>SNESTEST</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.7.5 2017-01-01</b></div>
   <div id="bugreport" align=right><a href="mailto:petsc-maint@mcs.anl.gov?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: petsc-3.7.5 v3.7.5 docs/manualpages/SNES/SNESTEST.html "><small>Report Typos and Errors</small></a></div>
<A NAME="SNESTEST"><H1>SNESTEST</H1></A>
Test hand-coded Jacobian against finite difference Jacobian 
<H3><FONT COLOR="#CC3333">Options Database</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-snes_type test    </B></TD><TD>- use a <A HREF="../SNES/SNES.html#SNES">SNES</A> solver that evaluates the difference between hand-code and finite-difference Jacobians
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-snes_test_display </B></TD><TD>- display the elements of the matrix, the difference between the Jacobian approximated by finite-differencing and hand-coded Jacobian
</TD></TR></TABLE>
<P>

<P>
Notes: This solver is not a solver and does not converge to a solution.  <A HREF="../SNES/SNESTEST.html#SNESTEST">SNESTEST</A> checks the Jacobian at three
points: the 0, 1, and -1 solution vectors.  At each point the following is reported.
<P>
<H3><FONT COLOR="#CC3333">Output</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>difference </B></TD><TD>- ||J - Jd||, the norm of the difference of the hand-coded Jacobian J and the approximate Jacobian Jd obtained by finite-differencing
the residual,
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>ratio      </B></TD><TD>- ||J - Jd||/||J||, the ratio of the norms of the above difference and the hand-coded Jacobian.
</TD></TR></TABLE>
<P>
Frobenius norm is used in the above throughout. After doing these three tests, it always aborts with the error message
"SNESTest aborts after Jacobian test".  No other behavior is to be expected.  It may be similarly used to check if a
<A HREF="../SNES/SNES.html#SNES">SNES</A> function is the gradient of an objective function set with <A HREF="../SNES/SNESSetObjective.html#SNESSetObjective">SNESSetObjective</A>().
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
  <A HREF="../SNES/SNESCreate.html#SNESCreate">SNESCreate</A>(), <A HREF="../SNES/SNES.html#SNES">SNES</A>, <A HREF="../SNES/SNESSetType.html#SNESSetType">SNESSetType</A>(), <A HREF="../SNES/SNESUpdateCheckJacobian.html#SNESUpdateCheckJacobian">SNESUpdateCheckJacobian</A>(), <A HREF="../SNES/SNESNEWTONLS.html#SNESNEWTONLS">SNESNEWTONLS</A>, <A HREF="../SNES/SNESNEWTONTR.html#SNESNEWTONTR">SNESNEWTONTR</A>
<BR>
<P>
<P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>intermediate
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/snes/impls/test/snestest.c.html#SNESTEST">src/snes/impls/test/snestest.c</A>
<BR><A HREF="./index.html">Index of all SNES 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>