19 #ifndef HPP_CONSTRAINTS_DIFFERENTIABLE_FUNCTION_HH
20 # define HPP_CONSTRAINTS_DIFFERENTIABLE_FUNCTION_HH
24 # include <hpp/pinocchio/liegroup-element.hh>
26 # include <hpp/util/serialization-fwd.hh>
29 namespace constraints {
61 assert (argument.size () == inputSize ());
63 impl_compute (result, argument);
72 assert (result.space()->nq() == outputSize ());
73 assert (argument.size () == inputSize ());
74 impl_compute (result, argument);
82 assert (argument.size () == inputSize ());
83 assert (jacobian.rows () == outputDerivativeSize ());
84 assert (jacobian.cols () == inputDerivativeSize ());
85 impl_jacobian (jacobian, argument);
92 return activeParameters_;
99 return activeDerivativeParameters_;
114 return inputDerivativeSize_;
124 return outputSpace_->nq ();
129 return outputSpace_->nv ();
134 const std::string&
name ()
const
140 virtual std::ostream&
print (std::ostream& o)
const;
161 value_type eps = std::sqrt(Eigen::NumTraits<value_type>::epsilon()))
const;
174 value_type eps = std::sqrt(Eigen::NumTraits<value_type>::epsilon()))
const;
186 std::string name = std::string ());
197 std::string name = std::string ());
225 std::string context_;
Definition: differentiable-function-set.hh:35
Definition: differentiable-function.hh:53
LiegroupSpacePtr_t outputSpace_
Dimension of output vector.
Definition: differentiable-function.hh:211
DifferentiableFunction(size_type sizeInput, size_type sizeInputDerivative, const LiegroupSpacePtr_t &outputSpace, std::string name=std::string())
Concrete class constructor should call this constructor.
size_type inputDerivativeSize_
Dimension of input derivative.
Definition: differentiable-function.hh:209
std::string context() const
Definition: differentiable-function.hh:142
size_type inputSize_
Dimension of input vector.
Definition: differentiable-function.hh:207
void finiteDifferenceCentral(matrixOut_t jacobian, vectorIn_t arg, DevicePtr_t robot=DevicePtr_t(), value_type eps=std::sqrt(Eigen::NumTraits< value_type >::epsilon())) const
void context(const std::string &c)
Definition: differentiable-function.hh:146
virtual ~DifferentiableFunction()
Definition: differentiable-function.hh:55
size_type outputSize() const
Get dimension of output vector.
Definition: differentiable-function.hh:122
virtual void impl_jacobian(matrixOut_t jacobian, vectorIn_t arg) const =0
DifferentiableFunction(size_type sizeInput, size_type sizeInputDerivative, size_type sizeOutput, std::string name=std::string())
Concrete class constructor should call this constructor.
size_type inputDerivativeSize() const
Definition: differentiable-function.hh:112
size_type outputDerivativeSize() const
Get dimension of output derivative vector.
Definition: differentiable-function.hh:127
const std::string & name() const
Get function name.
Definition: differentiable-function.hh:134
virtual std::ostream & print(std::ostream &o) const
Display object in a stream.
virtual void impl_compute(LiegroupElementRef result, vectorIn_t argument) const =0
User implementation of function evaluation.
size_type inputSize() const
Get dimension of input vector.
Definition: differentiable-function.hh:103
ArrayXb activeParameters_
Definition: differentiable-function.hh:216
const ArrayXb & activeDerivativeParameters() const
Definition: differentiable-function.hh:97
const ArrayXb & activeParameters() const
Definition: differentiable-function.hh:90
void jacobian(matrixOut_t jacobian, vectorIn_t argument) const
Definition: differentiable-function.hh:80
LiegroupSpacePtr_t outputSpace() const
Get output space.
Definition: differentiable-function.hh:117
DifferentiableFunction()
Definition: differentiable-function.hh:230
ArrayXb activeDerivativeParameters_
Definition: differentiable-function.hh:220
void value(LiegroupElementRef result, vectorIn_t argument) const
Definition: differentiable-function.hh:69
void finiteDifferenceForward(matrixOut_t jacobian, vectorIn_t arg, DevicePtr_t robot=DevicePtr_t(), value_type eps=std::sqrt(Eigen::NumTraits< value_type >::epsilon())) const
#define HPP_CONSTRAINTS_DLLAPI
Definition: config.hh:64
assert(d.lhs()._blocks()==d.rhs()._blocks())
pinocchio::LiegroupElement LiegroupElement
Definition: fwd.hh:53
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:97
pinocchio::LiegroupSpacePtr_t LiegroupSpacePtr_t
Definition: fwd.hh:57
ComparisonTypes_t operator<<(const ComparisonType &a, const ComparisonType &b)
Definition: comparison-types.hh:54
pinocchio::size_type size_type
Definition: fwd.hh:36
pinocchio::ArrayXb ArrayXb
Definition: fwd.hh:68
pinocchio::value_type value_type
Definition: fwd.hh:37
pinocchio::vectorIn_t vectorIn_t
Definition: fwd.hh:48
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:46
pinocchio::LiegroupElementRef LiegroupElementRef
Definition: fwd.hh:54
Definition: active-set-differentiable-function.hh:24