roboptim::finiteDifferenceGradientPolicies::Policy< T > Class Template Referenceabstract

Interface for the finite difference gradient policies. More...

#include <roboptim/core/decorator/finite-difference-gradient.hh>

Inheritance diagram for roboptim::finiteDifferenceGradientPolicies::Policy< T >:

Public Member Functions

 ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ (GenericDifferentiableFunction< T >)
 
 Policy (const GenericFunction< T > &adaptee)
 
virtual ~Policy ()
 Virtual destructor. More...
 
virtual void computeGradient (value_type epsilon, gradient_ref gradient, const_argument_ref argument, size_type idFunction, argument_ref xEps) const =0
 
virtual void computeColumn (value_type epsilon, gradient_ref column, const_argument_ref argument, size_type colIdx, argument_ref xEps) const =0
 
virtual void computeJacobian (value_type epsilon, jacobian_ref jacobian, const_argument_ref argument, argument_ref xEps) const
 
template<>
void computeJacobian (value_type epsilon, jacobian_ref jacobian, const_argument_ref argument, argument_ref xEps) const
 

Protected Attributes

const GenericFunction< T > & adaptee_
 Wrapped function. More...
 
vector_t column_
 Vector storing temporary Jacobian column. More...
 
gradient_t gradient_
 Vector storing temporary Jacobian row. More...
 

Detailed Description

template<typename T>
class roboptim::finiteDifferenceGradientPolicies::Policy< T >

Interface for the finite difference gradient policies.

Constructor & Destructor Documentation

◆ Policy()

template<typename T >
roboptim::finiteDifferenceGradientPolicies::Policy< T >::Policy ( const GenericFunction< T > &  adaptee)
inlineexplicit

◆ ~Policy()

template<typename T >
virtual roboptim::finiteDifferenceGradientPolicies::Policy< T >::~Policy ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ computeColumn()

template<typename T >
virtual void roboptim::finiteDifferenceGradientPolicies::Policy< T >::computeColumn ( value_type  epsilon,
gradient_ref  column,
const_argument_ref  argument,
size_type  colIdx,
argument_ref  xEps 
) const
pure virtual

◆ computeGradient()

template<typename T >
virtual void roboptim::finiteDifferenceGradientPolicies::Policy< T >::computeGradient ( value_type  epsilon,
gradient_ref  gradient,
const_argument_ref  argument,
size_type  idFunction,
argument_ref  xEps 
) const
pure virtual

◆ computeJacobian() [1/2]

template<typename T >
void roboptim::finiteDifferenceGradientPolicies::Policy< T >::computeJacobian ( value_type  epsilon,
jacobian_ref  jacobian,
const_argument_ref  argument,
argument_ref  xEps 
) const
virtual

◆ computeJacobian() [2/2]

template<>
void roboptim::finiteDifferenceGradientPolicies::Policy< EigenMatrixSparse >::computeJacobian ( value_type  epsilon,
jacobian_ref  jacobian,
const_argument_ref  argument,
argument_ref  xEps 
) const
inline

ROBOPTIM_DO_NOT_CHECK_ALLOCATION

ROBOPTIM_DO_NOT_CHECK_ALLOCATION

References roboptim::GenericFunction< T >::inputSize(), roboptim::is_malloc_allowed(), and roboptim::set_is_malloc_allowed().

◆ ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_()

template<typename T >
roboptim::finiteDifferenceGradientPolicies::Policy< T >::ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ ( GenericDifferentiableFunction< T >  )

Member Data Documentation

◆ adaptee_

template<typename T >
const GenericFunction<T>& roboptim::finiteDifferenceGradientPolicies::Policy< T >::adaptee_
protected

Wrapped function.

◆ column_

template<typename T >
vector_t roboptim::finiteDifferenceGradientPolicies::Policy< T >::column_
mutableprotected

Vector storing temporary Jacobian column.

◆ gradient_

template<typename T >
gradient_t roboptim::finiteDifferenceGradientPolicies::Policy< T >::gradient_
mutableprotected

Vector storing temporary Jacobian row.