#include <NOX_Parameter_MeritFunction.H>
Inheritance diagram for NOX::Parameter::MeritFunction:
Public Member Functions | |
| MeritFunction () | |
| Default Constructor. | |
| ~MeritFunction () | |
| Destructor. | |
| virtual double | computef (const NOX::Abstract::Group &grp) const =0 |
Computes the merit function to be used in a line search. | |
| virtual bool | computeGradient (const NOX::Abstract::Group &group, NOX::Abstract::Vector &result) const =0 |
Computes the gradient of the merit function, . | |
| virtual double | computeSlope (const NOX::Abstract::Vector &dir, const NOX::Abstract::Group &grp) const =0 |
| Compute the inner product of the given direction and the gradient associated with the merit function. | |
| virtual double | computeQuadraticModel (const NOX::Abstract::Vector &dir, const NOX::Abstract::Group &grp) const =0 |
| Compute the quadratic model for the given merit function. | |
| virtual bool | computeSteepestDescentDir (const NOX::Abstract::Group &group, NOX::Abstract::Vector &result) const =0 |
| Computes the steepest descent direction of the merit function. | |
This class allows the user to define their own merit function for use in a line search. Each line search type will specify in it's input parameter list if it supports this functionality.
To create and use a user defined merit function:
Foo might be defined as shown below.
class Foo : public NOX::Parameter::MeritFunction { // Insert class definition here }
Foo foo(); params.sublist("Line Search").sublist("Polynomial").setParameter("User Defined Merit Function", foo);
|
||||||||||||
|
Compute the quadratic model for the given merit function.
Computes and returns
Here |
|
||||||||||||
|
Compute the inner product of the given direction and the gradient associated with the merit function.
Calculates and returns
Here |
1.3.9.1