Implements an exact Hessian computation for obtaining second-order derivatives within NLPsolvers. More...
#include <exact_hessian.hpp>
Public Member Functions | |
virtual returnValue | apply (BlockMatrix &B, const BlockMatrix &x, const BlockMatrix &y) |
virtual NLPderivativeApproximation * | clone () const |
ExactHessian () | |
ExactHessian (UserInteraction *_userInteraction) | |
ExactHessian (const ExactHessian &rhs) | |
double | getHessianScaling () const |
virtual returnValue | initHessian (BlockMatrix &B, uint N, const OCPiterate &iter) |
virtual returnValue | initScaling (BlockMatrix &B, const BlockMatrix &x, const BlockMatrix &y) |
ExactHessian & | operator= (const ExactHessian &rhs) |
virtual | ~ExactHessian () |
Implements an exact Hessian computation for obtaining second-order derivatives within NLPsolvers.
The class ExactHessian implements an exact Hessian computation for obtaining second-order derivatives within iterative NLPsolvers.
Definition at line 56 of file exact_hessian.hpp.
Default constructor.
Definition at line 45 of file exact_hessian.cpp.
ExactHessian::ExactHessian | ( | UserInteraction * | _userInteraction | ) |
Default constructor.
Definition at line 50 of file exact_hessian.cpp.
ExactHessian::ExactHessian | ( | const ExactHessian & | rhs | ) |
Copy constructor (deep copy).
Definition at line 55 of file exact_hessian.cpp.
ExactHessian::~ExactHessian | ( | ) | [virtual] |
Destructor.
Definition at line 60 of file exact_hessian.cpp.
returnValue ExactHessian::apply | ( | BlockMatrix & | B, |
const BlockMatrix & | x, | ||
const BlockMatrix & | y | ||
) | [virtual] |
Applies a BFGS update in its "standard" form:
B = B - B*x*x^T*B/(x^T*B*x) + y*y^T/(x^T*y)
B | matrix to be updated |
x | direction x |
y | residuum |
Implements NLPderivativeApproximation.
Definition at line 146 of file exact_hessian.cpp.
NLPderivativeApproximation * ExactHessian::clone | ( | ) | const [virtual] |
Implements NLPderivativeApproximation.
Definition at line 76 of file exact_hessian.cpp.
double ExactHessian::getHessianScaling | ( | ) | const [inline] |
Reimplemented from NLPderivativeApproximation.
returnValue ExactHessian::initHessian | ( | BlockMatrix & | B, |
uint | N, | ||
const OCPiterate & | iter | ||
) | [virtual] |
B | matrix to be initialised |
N | number of intervals |
iter | current iterate |
Implements NLPderivativeApproximation.
Definition at line 82 of file exact_hessian.cpp.
returnValue ExactHessian::initScaling | ( | BlockMatrix & | B, |
const BlockMatrix & | x, | ||
const BlockMatrix & | y | ||
) | [virtual] |
B | matrix to be updated |
x | direction x |
y | residuum |
Implements NLPderivativeApproximation.
Definition at line 123 of file exact_hessian.cpp.
ExactHessian & ExactHessian::operator= | ( | const ExactHessian & | rhs | ) |
Assignment operator (deep copy).
Definition at line 65 of file exact_hessian.cpp.