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.