Classes | |
| class | GradientFunction |
| The GradientFunction class template is derived from std::unary_function, and adds one additional member function for computing the gradient of the function output with respect to the argument. More... | |
| class | Optimizer |
| Optimizer is an abstract base class defining the interface for general optimization classes. More... | |
| class | OptimizerBFGS |
| OptimizerBFGS implements the Quasi-Newton method of Broyden, Fletcher, Goldfarb, and Shanno, as described in [1] (and possibly in [2]). More... | |
| class | OptimizerLineSearch |
| OptimizerLineSearch implements the line search algorithm described in [1]. More... | |
| class | OptimizerLM |
| OptimizerLM implements the Levenberg-Marquardt nonlinear least-squares minimization algorithm, as described in [1]. More... | |
| class | OptimizerNelderMead |
| OptimizerNelderMead implements the non-gradient based downhill simplex optimization method of Nelder and Mead, as described in [1] and [2]. More... | |
Functions | |
| template<class ArgumentType> | |
| double | contextSensitiveScale (const ArgumentType &vector, const ArgumentType &point) |
| This function computes a scale factor for convergence tests. | |
| template<class ArgumentType> | |
| void | copyArgumentType (const ArgumentType &source, ArgumentType &target) |
| This function copies an argument_type array in such a way that the result is a deep copy of the original, even if argument_type has shallow copy semantics. | |
| template<class ArgumentType> | |
| double | dotArgumentType (const ArgumentType &argument0, const ArgumentType &argument1) |
| This function computes the dot product of two ArgumentType instances. | |
| template<class ArgumentType> | |
| void | matrixMultiplyArgumentType (const Array2D< double > &matrix0, const ArgumentType &vector0, ArgumentType &result) |
| This function computes matrix product of an Array2D<double> instance and an ArgumentType instance. | |
| double dlr::optimization::contextSensitiveScale | ( | const ArgumentType & | vector, | |
| const ArgumentType & | point | |||
| ) | [inline] |
This function computes a scale factor for convergence tests.
Roughly, the bigger the elements of argument vector, relative to the elements of argument point, the bigger the returned value.
| vector | A direction vector for use in the scaling calculation. | |
| point | A starting point for use in the scaling calculation. |
Definition at line 119 of file optimizerCommon.h.
References DLR_THROW3.
Referenced by dlr::optimization::OptimizerBFGS< Functor >::doBfgs(), and dlr::optimization::OptimizerLineSearch< Functor >::run().
| void dlr::optimization::copyArgumentType | ( | const ArgumentType & | source, | |
| ArgumentType & | target | |||
| ) | [inline] |
This function copies an argument_type array in such a way that the result is a deep copy of the original, even if argument_type has shallow copy semantics.
| source | The array that will be copied. | |
| target | The array into which source will be copied. |
Definition at line 147 of file optimizerCommon.h.
Referenced by dlr::optimization::OptimizerBFGS< Functor >::doBfgs(), dlr::optimization::OptimizerLM< Functor >::operator=(), dlr::optimization::OptimizerLineSearch< Functor >::operator=(), dlr::optimization::OptimizerBFGS< Functor >::operator=(), dlr::optimization::Optimizer< Functor >::operator=(), dlr::optimization::Optimizer< Functor >::Optimizer(), dlr::optimization::OptimizerBFGS< Functor >::OptimizerBFGS(), dlr::optimization::OptimizerLineSearch< Functor >::OptimizerLineSearch(), dlr::optimization::OptimizerLM< Functor >::OptimizerLM(), dlr::optimization::OptimizerNelderMead< Functor >::OptimizerNelderMead(), dlr::optimization::OptimizerNelderMead< Functor >::run(), dlr::optimization::OptimizerLM< Functor >::run(), dlr::optimization::OptimizerLineSearch< Functor >::run(), dlr::optimization::OptimizerBFGS< Functor >::run(), dlr::optimization::OptimizerLineSearch< Functor >::setInitialStep(), dlr::optimization::OptimizerLM< Functor >::setStartPoint(), dlr::optimization::OptimizerLineSearch< Functor >::setStartPoint(), and dlr::optimization::OptimizerBFGS< Functor >::setStartPoint().
| double dlr::optimization::dotArgumentType | ( | const ArgumentType & | argument0, | |
| const ArgumentType & | argument1 | |||
| ) | [inline] |
This function computes the dot product of two ArgumentType instances.
Note that ArgumentType is assumed to be a vector class supporting operator[](size_t) for const access to its elements, and providing a size() member function. The dot product is returned as a double.
| argument0 | This argument is the first term in the dot product. | |
| argument1 | This argument is the second term in the dot product. |
Definition at line 161 of file optimizerCommon.h.
References DLR_THROW3.
Referenced by dlr::optimization::OptimizerBFGS< Functor >::doBfgs(), dlr::optimization::OptimizerLM< Functor >::run(), dlr::optimization::OptimizerLineSearch< Functor >::run(), and dlr::optimization::OptimizerLineSearch< Functor >::setInitialStep().
| void dlr::optimization::matrixMultiplyArgumentType | ( | const Array2D< double > & | matrix0, | |
| const ArgumentType & | vector0, | |||
| ArgumentType & | result | |||
| ) | [inline] |
This function computes matrix product of an Array2D<double> instance and an ArgumentType instance.
Note that ArgumentType is assumed to be a vector class supporting operator[](size_t) for const access to its elements, and providing a size() member function. The matrix*vector product is returned through the final reference argument.
| matrix0 | This argument is the first term in the product. | |
| vector0 | This argument is the second term in the product. | |
| result | The elements of this argument will be set to the result of the matrix * vector product. |
Definition at line 181 of file optimizerCommon.h.
References DLR_THROW3.
Referenced by dlr::optimization::OptimizerBFGS< Functor >::doBfgs().
1.5.2