|
Interior-point-optimisation
1.0-1
Interior-pointoptimisationlibrary
|
Namespace to hold concrete functions. More...
Classes | |
| class | LinearCombination |
| This class provides function objects representing linear combinations of the elements of their vector arguments. More... | |
| class | NullFunction |
| This class represents a null function. More... | |
| class | QuadraticCombination |
| This class provides function objects representing quadratic combinations of the elements of their matrix of arguments. More... | |
| class | Sum |
| This class has two purposes. More... | |
| class | SumOfSquares |
| This class has two purposes. More... | |
Namespace to hold concrete functions.
These can be used in convex optimisation. They also internally show how a concrete function may sensibly be built.
Any function must minimally derive from ipo_function::Function. However, this is not very efficient because (1) the function, gradient and Hessian have to be computed independently, and (2) the gradient and Hessian can only be found using difference quotients unless specific gradient and hessian functions are supplied.
A better approach is to derive a concrete function also from ipo_Function::DerivativesEstimates. Then gradient() and hessian() must also be defined. It is not essential to override setVector() to compute functionValue, functionGradient and functionHessian. But if you override it the computation of the gradient and Hessian during optimisation will be substantially more efficient.