Base class for techniques of approximating second-order derivatives within NLPsolvers. More...
#include <nlp_derivative_approximation.hpp>
Public Member Functions | |
virtual returnValue | apply (BlockMatrix &B, const BlockMatrix &x, const BlockMatrix &y)=0 |
virtual NLPderivativeApproximation * | clone () const =0 |
double | getHessianScaling () const |
virtual returnValue | initHessian (BlockMatrix &B, uint N, const OCPiterate &iter)=0 |
virtual returnValue | initScaling (BlockMatrix &B, const BlockMatrix &x, const BlockMatrix &y)=0 |
NLPderivativeApproximation () | |
NLPderivativeApproximation (UserInteraction *_userInteraction) | |
NLPderivativeApproximation (const NLPderivativeApproximation &rhs) | |
NLPderivativeApproximation & | operator= (const NLPderivativeApproximation &rhs) |
virtual | ~NLPderivativeApproximation () |
Protected Member Functions | |
virtual returnValue | setupLogging () |
virtual returnValue | setupOptions () |
Protected Attributes | |
double | hessianScaling |
Base class for techniques of approximating second-order derivatives within NLPsolvers.
The class NLPderivativeApproximation serves as a base class for different techniques of approximating second-order derivative information within iterative NLPsolvers.
Definition at line 61 of file nlp_derivative_approximation.hpp.
Default constructor.
Definition at line 45 of file nlp_derivative_approximation.cpp.
NLPderivativeApproximation::NLPderivativeApproximation | ( | UserInteraction * | _userInteraction | ) |
Definition at line 54 of file nlp_derivative_approximation.cpp.
Copy constructor (deep copy).
Definition at line 67 of file nlp_derivative_approximation.cpp.
NLPderivativeApproximation::~NLPderivativeApproximation | ( | ) | [virtual] |
Destructor.
Definition at line 73 of file nlp_derivative_approximation.cpp.
virtual returnValue NLPderivativeApproximation::apply | ( | BlockMatrix & | B, |
const BlockMatrix & | x, | ||
const BlockMatrix & | y | ||
) | [pure virtual] |
B | matrix to be updated |
x | direction x |
y | residuum |
Implemented in BFGSupdate, ExactHessian, GaussNewtonApproximationWithBFGS, ConstantHessian, and GaussNewtonApproximation.
virtual NLPderivativeApproximation* NLPderivativeApproximation::clone | ( | ) | const [pure virtual] |
Implemented in BFGSupdate, GaussNewtonApproximationWithBFGS, ExactHessian, GaussNewtonApproximation, and ConstantHessian.
double NLPderivativeApproximation::getHessianScaling | ( | ) | const [inline] |
Reimplemented in ExactHessian.
virtual returnValue NLPderivativeApproximation::initHessian | ( | BlockMatrix & | B, |
uint | N, | ||
const OCPiterate & | iter | ||
) | [pure virtual] |
B | matrix to be initialised |
N | number of intervals |
iter | current iterate |
Implemented in BFGSupdate, GaussNewtonApproximationWithBFGS, ExactHessian, GaussNewtonApproximation, and ConstantHessian.
virtual returnValue NLPderivativeApproximation::initScaling | ( | BlockMatrix & | B, |
const BlockMatrix & | x, | ||
const BlockMatrix & | y | ||
) | [pure virtual] |
B | matrix to be updated |
x | direction x |
y | residuum |
Implemented in BFGSupdate, GaussNewtonApproximationWithBFGS, ExactHessian, GaussNewtonApproximation, and ConstantHessian.
NLPderivativeApproximation & NLPderivativeApproximation::operator= | ( | const NLPderivativeApproximation & | rhs | ) |
Assignment operator (deep copy).
Definition at line 78 of file nlp_derivative_approximation.cpp.
returnValue NLPderivativeApproximation::setupLogging | ( | ) | [protected, virtual] |
Definition at line 104 of file nlp_derivative_approximation.cpp.
returnValue NLPderivativeApproximation::setupOptions | ( | ) | [protected, virtual] |
Definition at line 98 of file nlp_derivative_approximation.cpp.
double NLPderivativeApproximation::hessianScaling [protected] |
Definition at line 123 of file nlp_derivative_approximation.hpp.