SNESNEWTONTR#
Newton based nonlinear solver that uses a trust-region strategy
Options Database Keys#
-snes_tr_deltamin deltamin - trust region parameter, minimum size of trust region
-snes_tr_deltamax deltamax - trust region parameter, max size of trust region (default: 1e10)
-snes_tr_delta0 delta0 - trust region parameter, initial size of trust region (default: 0.2)
-snes_tr_eta1 eta1 - trust region parameter \(eta1 \le eta2\), \(rho > eta1\) breaks out of the inner iteration (default: 0.001)
-snes_tr_eta2 eta2 - trust region parameter, \(rho \le eta2\) shrinks the trust region (default: 0.25)
-snes_tr_eta3 eta3 - trust region parameter \(eta3 > eta2\), \(rho \ge eta3\) expands the trust region (default: 0.75)
-snes_tr_t1 t1 - trust region parameter, shrinking factor of trust region (default: 0.25)
-snes_tr_t2 t2 - trust region parameter, expanding factor of trust region (default: 2.0)
-snes_tr_norm_type (1|2|infinity) - Type of norm for trust region bounds (default: 2)
-snes_tr_fallback_type (newton,cauchy,dogleg) - Solution strategy to test reduction when step is outside of trust region. Can use scaled Newton direction, Cauchy point (Steepest Descent direction) or dogleg method.
Notes#
The code is largely based on the book [NW06] and supports minimizing objective functions using a quadratic model. Quasi-Newton models are also supported.
Default step computation uses the Newton direction, but a dogleg type update is also supported.
The 1- and infinity-norms are also supported, via SNESNewtonTRSetNormType(), when computing the trust region bounds.
References#
Jorge Nocedal and Stephen Wright. Numerical optimization. Springer Science & Business Media, 2006.
See Also#
SNES: Nonlinear Solvers, SNESCreate(), SNES, SNESSetType(), SNESSetObjective(),
SNESNewtonTRSetTolerances(), SNESNewtonTRSetUpdateParameters(),
SNESNewtonTRSetNormType(), SNESNewtonTRSetFallbackType(), SNESNewtonTRSetQNType(),
SNESNewtonTRSetPostCheck(), SNESNewtonTRSetPreCheck()
Level#
beginner
Location#
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages