#include <NLPInterfacePack_NLPSecondOrder.hpp>
Inheritance diagram for NLPInterfacePack::NLPSecondOrder:
Constructors | |
| NLPSecondOrder () | |
| Initialize to no reference set to calculation quanities. | |
NLP initialization | |
| void | initialize (bool test_setup) |
| Initialize the NLP for its first use. | |
Matrix factory objects | |
| virtual const mat_sym_fcty_ptr_t | factory_HL () const =0 |
Return a matrix factory object for creating HL. | |
<<std aggr>> members for the Hessian of the Lagrangian HL | |
| virtual void | set_HL (MatrixSymOp *HL) |
Set a pointer to a matrix object to be updated when this->calc_HL() is called. | |
| virtual MatrixSymOp * | get_HL () |
Return pointer passed to this->set_HL(). | |
| virtual MatrixSymOp & | HL () |
Returns non-const *this->get_HL(). | |
| virtual const MatrixSymOp & | HL () const |
Returns const *this->get_HL(). | |
Unset calculation quantities | |
| void | unset_quantities () |
| Call to unset all storage quantities (both in this class and all subclasses). | |
Calculation Members | |
| virtual void | calc_HL (const Vector &x, const Vector *lambda, bool newpoint=true) const |
Update the matrix for HL at the point x, lambda, lambdaI and put it in the stored reference. | |
Number of function evaluations | |
| virtual size_type | num_HL_evals () const |
| Number of Hessian evaluations. | |
Protected methods to be overridden by subclasses | |
| virtual void | imp_calc_HL (const Vector &x, const Vector *lambda, bool newpoint, const SecondOrderInfo &second_order_info) const =0 |
Overridden to compute Gc(x) and perhaps Gf(x), f(x) and c(x). | |
Public Types | |
| typedef Teuchos::RefCountPtr< const Teuchos::AbstractFactory< MatrixSymOp > > | mat_sym_fcty_ptr_t |
| | |
Protected Member Functions | |
| const SecondOrderInfo | second_order_info () const |
| Return objective gradient and zero order information. | |
Overview:
This class adds second order inforamtion to the first order information and basic information given in the NLPFirstOrder and base interfaces.
Specifically the Hesssian of the Lagrangian is defined as:
HL = Hf + sum( Hc(j) * lambda(j), j = 1...m )
Hf is the hessian of the objective function f(x) Hc(j) is the hessian of the jth equality constriant cj(x) lambda is the vector of lagrange multipliers for the equality constraints c(x) Client Usage:
ToDo: Finish Documentation!
Subclass developer's notes:
ToDo: Finish Documentation!
Definition at line 64 of file NLPInterfacePack_NLPSecondOrder.hpp.
|
|
Definition at line 69 of file NLPInterfacePack_NLPSecondOrder.hpp. |
|
|
Initialize to no reference set to calculation quanities.
Definition at line 40 of file NLPInterfacePack_NLPSecondOrder.cpp. |
|
|
Initialize the NLP for its first use.
This function implementation should be called by subclass implementations in order to reset counts for Postconditions:
Reimplemented from NLPInterfacePack::NLPFirstOrder. Definition at line 45 of file NLPInterfacePack_NLPSecondOrder.cpp. |
|
|
Return a matrix factory object for creating
The returned matrix object may not support the creation of any sub-matrix spaces (i.e. |
|
|
Set a pointer to a matrix object to be updated when
Postconditions:
Definition at line 52 of file NLPInterfacePack_NLPSecondOrder.cpp. |
|
|
Return pointer passed to Preconditions:
Definition at line 57 of file NLPInterfacePack_NLPSecondOrder.cpp. |
|
|
Returns non- Preconditions:
Definition at line 62 of file NLPInterfacePack_NLPSecondOrder.cpp. |
|
|
Returns Preconditions:
Definition at line 67 of file NLPInterfacePack_NLPSecondOrder.cpp. |
|
|
Call to unset all storage quantities (both in this class and all subclasses). Preconditions:
Postconditions:
This method must be called by all subclasses that override it. Reimplemented from NLPInterfacePack::NLPFirstOrder. Definition at line 72 of file NLPInterfacePack_NLPSecondOrder.cpp. |
|
||||||||||||||||
|
Update the matrix for
The referenced storage for
Postconditions:
Definition at line 80 of file NLPInterfacePack_NLPSecondOrder.cpp. |
|
|
Number of Hessian evaluations.
This function can be called to find out how many evaluations the client requested since Definition at line 91 of file NLPInterfacePack_NLPSecondOrder.cpp. |
|
|
Return objective gradient and zero order information.
Definition at line 298 of file NLPInterfacePack_NLPSecondOrder.hpp. |
|
||||||||||||||||||||
|
Overridden to compute
Postconditions:
|
1.3.9.1