ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ (GenericLinearFunction < T >)
GenericNumericLinearFunction (const_matrix_ref A , const_vector_ref b )
Build a linear function from a matrix and a vector.
GenericNumericLinearFunction (const GenericLinearFunction < T > &)
Build a linear function from another one.
~GenericNumericLinearFunction ()
virtual std::ostream & print (std::ostream &) const
Display the function on the specified output stream.
const_matrix_ref A () const
const_vector_ref b () const
matrix_ref A ()
vector_ref b ()
void impl_compute (result_ref, const_argument_ref) const
Function evaluation.
void impl_gradient (gradient_ref, const_argument_ref, size_type =0) const
Gradient evaluation.
void impl_jacobian (jacobian_ref, const_argument_ref) const
Jacobian evaluation.
void impl_gradient (gradient_ref gradient , const_argument_ref, size_type idFunction) const
Gradient evaluation.
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ (GenericQuadraticFunction < T >)
GenericLinearFunction (size_type inputSize , size_type outputSize =1, std::string name=std::string())
Concrete class constructor should call this constructor.
GenericQuadraticFunction (size_type inputSize , size_type outputSize =1, std::string name=std::string())
Concrete class constructor should call this constructor.
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ (GenericDifferentiableFunction < T >)
ROBOPTIM_GENERATE_TRAITS_REFS_ (hessian )
Hessian type.
hessianSize_t hessianSize () const
Return the size of a hessian.
bool isValidHessian (const_hessian_ref hessian ) const
Check if the hessian is valid (check sizes).
hessian_t hessian (const_argument_ref argument, size_type functionId=0) const
Compute the hessian at a given point.
void hessian (hessian_ref hessian, const_argument_ref argument, size_type functionId=0) const
Compute the hessian at a given point.
ROBOPTIM_FUNCTION_FWD_TYPEDEFS_ (GenericFunction < T >)
ROBOPTIM_GENERATE_TRAITS_REFS_ (gradient )
Gradient type.
ROBOPTIM_GENERATE_TRAITS_REFS_ (jacobian )
Jacobian type.
size_type gradientSize () const
Return the gradient size.
jacobianSize_t jacobianSize () const
Return the jacobian size as a pair.
bool isValidGradient (const_gradient_ref gradient ) const
Check if the gradient is valid (check size).
bool isValidJacobian (const_jacobian_ref jacobian ) const
Check if the jacobian is valid (check sizes).
jacobian_t jacobian (const_argument_ref argument) const
Computes the jacobian.
void jacobian (jacobian_ref jacobian, const_argument_ref argument) const
Computes the jacobian.
gradient_t gradient (const_argument_ref argument, size_type functionId=0) const
Computes the gradient.
void gradient (gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Computes the gradient.
ROBOPTIM_GENERATE_TRAITS_REFS_ (vector)
Basic (column) vector type.
ROBOPTIM_GENERATE_TRAITS_REFS_ (rowVector)
Row vector type.
ROBOPTIM_GENERATE_TRAITS_REFS_ (matrix)
Basic matrix type.
ROBOPTIM_GENERATE_TRAITS_REFS_ (result)
Type of a function evaluation result.
ROBOPTIM_GENERATE_TRAITS_REFS_ (argument)
Type of a function evaluation argument.
bool isValidResult (const_result_ref result) const
Check the given result size is valid.
GenericFunction < T >::size_type inputSize () const
Return the input size (i.e.
GenericFunction < T >::size_type outputSize () const
Return the output size (i.e.
virtual ~GenericFunction ()
Trivial destructor.
result_t operator() (const_argument_ref argument) const
Evaluate the function at a specified point.
void operator() (result_ref result, const_argument_ref argument) const
Evaluate the function at a specified point.
const std::string & getName () const
Get function name.
typedef GenericTwiceDifferentiableFunction < T > parent_t
typedef parent_t::size_type size_type
typedef std::pair< size_type , size_type > hessianSize_t
Hessian size type represented as a pair of values.
typedef std::pair< size_type , size_type > jacobianSize_t
Jacobian size type (pair of values).
typedef T traits_t
Traits type.
typedef GenericFunctionTraits < T >::value_type value_type
Values type.
typedef GenericFunctionTraits < T >::size_type size_type
Size type.
typedef std::string name_t
Type of a function argument name.
typedef std::vector< name_t > names_t
Type of a vector of function argument names.
typedef std::pair< value_type , value_type > interval_t
Interval type (lower, upper).
typedef std::vector< interval_t > intervals_t
Vector of intervals.
typedef boost::tuple< value_type , value_type , value_type > discreteInterval_t
Types representing a discrete interval.
static value_type epsilon ()
Get the value of the machine epsilon, useful for floating types comparison.
static value_type infinity ()
Get the value that symbolizes positive infinity.
static interval_t makeInterval (value_type l, value_type u)
Construct an interval from a lower and upper bound.
static interval_t makeInfiniteInterval ()
Construct an infinite interval.
static interval_t makeLowerInterval (value_type l)
Construct an interval from a lower bound.
static interval_t makeUpperInterval (value_type u)
Construct an interval from an upper bound.
static value_type getLowerBound (const interval_t &interval)
Get the lower bound of an interval.
static value_type getUpperBound (const interval_t &interval)
Get the upper bound of an interval.
static discreteInterval_t makeDiscreteInterval (value_type min, value_type max, value_type step)
Construct a discrete interval.
static discreteInterval_t makeDiscreteInterval (interval_t interval, value_type step)
Construct a discrete interval.
static value_type getLowerBound (const discreteInterval_t &interval)
Get the lower bound of a discrete interval.
static value_type getUpperBound (const discreteInterval_t &interval)
Get the upper bound of a discrete interval.
static value_type getStep (const discreteInterval_t &interval)
Get the upper step of a discrete interval.
template<typename F >
static void foreach (const discreteInterval_t interval, F functor)
Iterate on an interval.
template<typename F >
static void foreach (const interval_t interval, const size_type n, F functor)
Iterate on an interval.
void impl_hessian (hessian_ref hessian , const_argument_ref argument, size_type functionId=0) const
Hessian evaluation.
GenericTwiceDifferentiableFunction (size_type inputSize , size_type outputSize =1, std::string name=std::string())
Concrete class constructor should call this constructor.
void setZero (hessian_ref symmetric) const
Set a symmetric matrix to zero.
GenericDifferentiableFunction (size_type inputSize , size_type outputSize =1, std::string name=std::string())
Concrete class constructor should call this constructor.
void impl_jacobian (jacobian_ref jacobian , const_argument_ref argument) const
GenericFunction (size_type inputSize , size_type outputSize =1, std::string name=std::string())
Concrete class constructor should call this constructor.
static log4cxx::LoggerPtr logger
Pointer to function logger (see log4cxx documentation).
template<typename T>
class roboptim::GenericNumericLinearFunction< T >
Build a linear function from a vector and a matrix.
Implement a linear function using the general formula:
where and are set when the class is instantiated.
Examples numeric-linear-function.cc .