All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
roboptim::SumOfC1Squares Class Reference
Mathematical abstract functions

Sum of the squares of differentiable functions. More...

`#include <roboptim/core/sum-of-c1-squares.hh>`

Inheritance diagram for roboptim::SumOfC1Squares:

## Public Types

Types
typedef DifferentiableFunction | parent_t
typedef parent_t::argument_t | argument_t
typedef parent_t::jacobian_t | jacobian_t
typedef parent_t::gradient_t | gradient_t
typedef parent_t::jacobianSize_t | jacobianSize_t
typedef Function::size_type | size_t
typedef Function::value_type | value_t
Public Types inherited from roboptim::GenericDifferentiableFunction< T >
typedef GenericFunctionTraits < T >::gradient_t | gradient_t
| Gradient type. More...
typedef GenericFunctionTraits < T >::jacobian_t | jacobian_t
| Jacobian type. More...
typedef std::pair< size_type, size_type > | jacobianSize_t
| Jacobian size type (pair of values). More...
Public Types inherited from roboptim::GenericFunction< T >
typedef GenericFunctionTraits < T >::value_type | value_type
| Values type. More...
typedef GenericFunctionTraits < T >::vector_t | vector_t
| Basic vector type. More...
typedef GenericFunctionTraits < T >::matrix_t | matrix_t
| Basic matrix type. More...
typedef GenericFunctionTraits < T >::size_type | size_type
| Size type. More...
typedef GenericFunctionTraits < T >::result_t | result_t
| Type of a function evaluation result. More...
typedef GenericFunctionTraits < T >::argument_t | argument_t
| Type of a function evaluation argument. More...
typedef std::pair< value_type, value_type > | interval_t
| Interval type (lower, upper). More...
typedef std::vector< interval_t > | intervals_t
| Vector of intervals. More...
typedef boost::tuple < value_type, value_type, value_type > | discreteInterval_t
| Types representing a discrete interval. More...

## Public Member Functions

| SumOfC1Squares (const boost::shared_ptr< DifferentiableFunction > &function, const std::string &name) throw ()
| Constructot by vector valued functions The value of this scalar valued function is the sum of the squares of the coordinates of the vector valued base function. More...
| SumOfC1Squares (const SumOfC1Squares &function) throw ()
virtual | ~SumOfC1Squares () throw ()
const boost::shared_ptr< const DifferentiableFunction > & | baseFunction () const
| Get base function Base function is the vector valued function given at construction of this class. More...
Public Member Functions inherited from roboptim::GenericDifferentiableFunction< T >
| ROBOPTIM_FUNCTION_FWD_TYPEDEFS_ (GenericFunction< T >)
size_type | gradientSize () const throw ()
| Return the gradient size. More...
jacobianSize_t | jacobianSize () const throw ()
| Return the jacobian size as a pair. More...
bool | isValidGradient (const gradient_t &gradient) const throw ()
| Check if the gradient is valid (check size). More...
bool | isValidJacobian (const jacobian_t &jacobian) const throw ()
| Check if the jacobian is valid (check sizes). More...
jacobian_t | jacobian (const argument_t &argument) const throw ()
| Computes the jacobian. More...
void | jacobian (jacobian_t &jacobian, const argument_t &argument) const throw ()
| Computes the jacobian. More...
gradient_t | gradient (const argument_t &argument, size_type functionId=0) const throw ()
| Computes the gradient. More...
void | gradient (gradient_t &gradient, const argument_t &argument, size_type functionId=0) const throw ()
| Computes the gradient. More...
virtual std::ostream & | print (std::ostream &o) const throw ()
| Display the function on the specified output stream. More...
Public Member Functions inherited from roboptim::GenericFunction< T >
bool | isValidResult (const result_t &result) const throw ()
| Check the given result size is valid. More...
GenericFunction< T >::size_type | inputSize () const throw ()
| Return the input size (i.e. More...
GenericFunction< T >::size_type | outputSize () const throw ()
| Return the output size (i.e. More...
virtual | ~GenericFunction () throw ()
| Trivial destructor. More...
result_t | operator() (const argument_t &argument) const throw ()
| Evaluate the function at a specified point. More...
void | operator() (result_t &result, const argument_t &argument) const throw ()
| Evaluate the function at a specified point. More...
const std::string & | getName () const throw ()
| Get function name. More...

## Protected Member Functions

virtual void | impl_compute (result_t &result, const argument_t &x) const throw ()
| Compute value of function Value is sum of squares of coordinates of vector valued base function. More...
virtual void | impl_gradient (gradient_t &gradient, const argument_t &x, size_type row=0) const throw ()
| Gradient. More...
Protected Member Functions inherited from roboptim::GenericDifferentiableFunction< T >
| GenericDifferentiableFunction (size_type inputSize, size_type outputSize=1, std::string name=std::string()) throw ()
| Concrete class constructor should call this constructor. More...
virtual void | impl_jacobian (jacobian_t &jacobian, const argument_t &arg) const throw ()
| Jacobian evaluation. More...
template<>
void | impl_jacobian (jacobian_t &jacobian, const argument_t &argument) const throw()
Protected Member Functions inherited from roboptim::GenericFunction< T >
| GenericFunction (size_type inputSize, size_type outputSize=1, std::string name=std::string()) throw ()
| Concrete class constructor should call this constructor. More...

## Additional Inherited Members

Static Public Member Functions inherited from roboptim::GenericFunction< T >
static value_type | epsilon () throw ()
| Get the value of the machine epsilon, useful for floating types comparison. More...
static value_type | infinity () throw ()
| Get the value that symbolizes positive infinity. More...
static interval_t | makeInterval (value_type l, value_type u) throw ()
| Construct an interval from a lower and upper bound. More...
static interval_t | makeInfiniteInterval () throw ()
| Construct an infinite interval. More...
static interval_t | makeLowerInterval (value_type l) throw ()
| Construct an interval from a lower bound. More...
static interval_t | makeUpperInterval (value_type u) throw ()
| Construct an interval from an upper bound. More...
static double | getLowerBound (const interval_t &interval) throw ()
| Get the lower bound of an interval. More...
static double | getUpperBound (const interval_t &interval) throw ()
| Get the upper bound of an interval. More...
static discreteInterval_t | makeDiscreteInterval (value_type min, value_type max, value_type step)
| Construct a discrete interval. More...
static discreteInterval_t | makeDiscreteInterval (interval_t interval, value_type step)
| Construct a discrete interval. More...
static double | getLowerBound (const discreteInterval_t &interval) throw ()
| Get the lower bound of a discrete interval. More...
static double | getUpperBound (const discreteInterval_t &interval) throw ()
| Get the upper bound of a discrete interval. More...
static double | getStep (const discreteInterval_t &interval) throw ()
| Get the upper step of a discrete interval. More...
template<typename F >
static void | foreach (const discreteInterval_t interval, F functor)
| Iterate on an interval. More...
template<typename F >
static void | foreach (const interval_t interval, const size_type n, F functor)
| Iterate on an interval. More...
Static Protected Attributes inherited from roboptim::GenericFunction< T >
static log4cxx::LoggerPtr | logger
| Pointer to function logger (see log4cxx documentation). More...

## Detailed Description

Sum of the squares of differentiable functions.

This types enables roboptim to handle Levenberg Marquardt algorithm. This algorithm indeed minimizes the sum of squares of differentiable functions.

The differentiable functions are stored in a vector valued function called base function.

## Member Typedef Documentation

typedef parent_t::argument_t roboptim::SumOfC1Squares::argument_t

typedef parent_t::gradient_t roboptim::SumOfC1Squares::gradient_t

typedef parent_t::jacobian_t roboptim::SumOfC1Squares::jacobian_t

typedef parent_t::jacobianSize_t roboptim::SumOfC1Squares::jacobianSize_t

typedef DifferentiableFunction roboptim::SumOfC1Squares::parent_t

typedef Function::size_type roboptim::SumOfC1Squares::size_t

typedef Function::value_type roboptim::SumOfC1Squares::value_t

## Constructor & Destructor Documentation

roboptim::SumOfC1Squares::SumOfC1Squares | ( | const boost::shared_ptr< DifferentiableFunction > & | function,
|  | const std::string & | name
| ) |  |
throw | ( |
| ) |  |

explicit

Constructot by vector valued functions The value of this scalar valued function is the sum of the squares of the coordinates of the vector valued base function.

roboptim::SumOfC1Squares::SumOfC1Squares | ( | const SumOfC1Squares & | function | ) |
throw | ( |
| ) |  |

explicit

roboptim::SumOfC1Squares::~SumOfC1Squares | ( |  | ) |
throw | ( |
| ) |  |

virtual

## Member Function Documentation

const boost::shared_ptr< const DifferentiableFunction > & roboptim::SumOfC1Squares::baseFunction | ( |  | ) | const

Get base function Base function is the vector valued function given at construction of this class.

void roboptim::SumOfC1Squares::impl_compute | ( | result_t & | result,
|  | const argument_t & | x
| ) |  | const
throw | ( |
| ) |  |

protected virtual

Compute value of function Value is sum of squares of coordinates of vector valued base function.

ROBOPTIM_DO_NOT_CHECK_ALLOCATION

Implements roboptim::GenericFunction< T >.

void roboptim::SumOfC1Squares::impl_gradient | ( | gradient_t & | gradient,
|  | const argument_t & | x,
|  | size_type | row = `0`
| ) |  | const
throw | ( |
| ) |  |

protected virtual

Gradient.

ROBOPTIM_DO_NOT_CHECK_ALLOCATION

Implements roboptim::GenericDifferentiableFunction< T >.