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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
<!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/SNESQN.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>SNESQN</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/SNESQN.html "><small>Report Typos and Errors</small></a></div>
<A NAME="SNESQN"><H1>SNESQN</H1></A>
Limited-Memory Quasi-Newton methods for the solution of nonlinear systems.
<H3><FONT COLOR="#CC3333">Options Database</FONT></H3>
<P>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-snes_qn_m <m> </B></TD><TD>- Number of past states saved for the L-Broyden methods.
+ -snes_qn_restart_type <powell,periodic,none> - set the restart type
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-snes_qn_powell_gamma </B></TD><TD>- Angle condition for restart.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-snes_qn_powell_descent </B></TD><TD>- Descent condition for restart.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-snes_qn_type <lbfgs,broyden,badbroyden> </B></TD><TD>- QN type
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-snes_qn_scale_type <shanno,none,linesearch,jacobian> </B></TD><TD>- scaling performed on inner Jacobian
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-snes_linesearch_type <cp, l2, basic> </B></TD><TD>- Type of line search.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-snes_qn_monitor </B></TD><TD>- Monitors the quasi-newton Jacobian.
</TD></TR></TABLE>
<P>
Notes: This implements the L-BFGS, Broyden, and "Bad" Broyden algorithms for the solution of F(x) = b using
previous change in F(x) and x to form the approximate inverse Jacobian using a series of multiplicative rank-one
updates.
<P>
When using a nonlinear preconditioner, one has two options as to how the preconditioner is applied. The first of
these options, sequential, uses the preconditioner to generate a new solution and function and uses those at this
iteration as the current iteration's values when constructing the approximate Jacobian. The second, composed,
perturbs the problem the Jacobian represents to be P(x, b) - x = 0, where P(x, b) is the preconditioner.
<P>
Uses left nonlinear preconditioning by default.
<P>
<H3><FONT COLOR="#CC3333">References</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>1. </B></TD><TD>- Kelley, C.T., Iterative Methods for Linear and Nonlinear Equations, Chapter 8, SIAM, 1995.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>2. </B></TD><TD>- R. Byrd, J. Nocedal, R. Schnabel, Representations of Quasi Newton Matrices and their use in Limited Memory Methods,
Technical Report, Northwestern University, June 1992.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>3. </B></TD><TD>- Peter N. Brown, Alan C. Hindmarsh, Homer F. Walker, Experiments with Quasi-Newton Methods in Solving Stiff ODE
Systems, SIAM J. Sci. Stat. Comput. Vol 6(2), April 1985.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>4. </B></TD><TD>- Peter R. Brune, Matthew G. Knepley, Barry F. Smith, and Xuemin Tu, "Composing Scalable Nonlinear Algebraic Solvers",
SIAM Review, 57(4), 2015
</TD></TR></TABLE>
<P>
<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/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>beginner
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/snes/impls/qn/qn.c.html#SNESQN">src/snes/impls/qn/qn.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>
|