Multi-dimensional Conjugate Gradient class. More...
#include <ql/math/optimization/conjugategradient.hpp>
Inherits LineSearchBasedMethod.
Public Member Functions | |
| ConjugateGradient (const boost::shared_ptr< LineSearch > &lineSearch=boost::shared_ptr< LineSearch >()) | |
Public Member Functions inherited from LineSearchBasedMethod | |
| LineSearchBasedMethod (const boost::shared_ptr< LineSearch > &lSearch=boost::shared_ptr< LineSearch >()) | |
| virtual EndCriteria::Type | minimize (Problem &P, const EndCriteria &endCriteria) |
Public Member Functions inherited from OptimizationMethod | |
| virtual EndCriteria::Type | minimize (Problem &P, const EndCriteria &endCriteria)=0 |
| minimize the optimization problem P | |
Additional Inherited Members | |
Protected Member Functions inherited from LineSearchBasedMethod | |
| virtual Disposable< Array > | getUpdatedDirection (const Problem &P, Real gold2, const Array &gradient)=0 |
| computes the new search direction | |
Protected Attributes inherited from LineSearchBasedMethod | |
| boost::shared_ptr< LineSearch > | lineSearch_ |
| line search | |
Multi-dimensional Conjugate Gradient class.
Fletcher-Reeves-Polak-Ribiere algorithm adapted from Numerical Recipes in C, 2nd edition.
User has to provide line-search method and optimization end criteria. Search direction
where
and