|
NOX
Development
|
Sum of squares merit function. More...
#include <NOX_MeritFunction_SumOfSquares.H>


Public Member Functions | |
| SumOfSquares (const Teuchos::RCP< NOX::Utils > &u) | |
| Constructor. | |
| virtual | ~SumOfSquares () |
| Destructor. | |
| virtual double | computef (const NOX::Abstract::Group &grp) const |
Computes the merit function, . | |
| virtual void | computeGradient (const NOX::Abstract::Group &group, NOX::Abstract::Vector &result) const |
Computes the gradient, . | |
| virtual double | computeSlope (const NOX::Abstract::Vector &dir, const NOX::Abstract::Group &grp) const |
Computes the slope, . More... | |
| virtual double | computeQuadraticModel (const NOX::Abstract::Vector &dir, const NOX::Abstract::Group &grp) const |
Computes the quadratic model, . More... | |
| virtual void | computeQuadraticMinimizer (const NOX::Abstract::Group &grp, NOX::Abstract::Vector &result) const |
| Computes the vector in the steepest descent direction that minimizes, the quadratic model. More... | |
| virtual const std::string & | name () const |
| Returns the name of the merit function. | |
Public Member Functions inherited from NOX::MeritFunction::Generic | |
| Generic () | |
| Default Constructor. | |
| virtual | ~Generic () |
| Destructor. | |
Sum of squares merit function.
A basic merit function used in many nonlinear equation solvers:
Where the norm is the 2-Norm using the NOX::Abstract::Vector's inner product.
This is the default merit function used in nox.
This merit function is taken from: J. E. Dennis Jr. and Robert B. Schnabel, "Numerical Methods for Unconstrained Optimization and Nonlinear Equations," Prentice Hall, 1983
|
virtual |
Computes the vector in the steepest descent direction that minimizes, the quadratic model.
Computes the vector result:
Implements NOX::MeritFunction::Generic.
References NOX::Abstract::Group::applyJacobian(), NOX::Abstract::Vector::clone(), NOX::Abstract::Group::getF(), NOX::Abstract::Vector::innerProduct(), Teuchos::is_null(), NOX::Abstract::Group::isF(), NOX::Abstract::Group::isJacobian(), NOX::Abstract::Group::Ok, NOX::Abstract::Vector::scale(), and NOX::ShapeCopy.
|
virtual |
Computes the quadratic model,
.
We approximate
:
Implements NOX::MeritFunction::Generic.
References NOX::Abstract::Group::applyJacobian(), NOX::Abstract::Vector::clone(), NOX::Abstract::Group::getF(), and Teuchos::is_null().
|
virtual |
Computes the slope,
.
If the Jacobian is not computed in the grp object, then the slope can be approximated using directional derivatives. More information can be found in the method computeSlopeWithoutJac.
Implements NOX::MeritFunction::Generic.
References NOX::Abstract::Vector::clone(), NOX::Abstract::Group::getF(), NOX::Abstract::Vector::innerProduct(), Teuchos::is_null(), NOX::Abstract::Group::isGradient(), and NOX::Abstract::Group::isJacobian().
1.8.5