roboptim::GenericNumericLinearFunction< T > Class Template Reference

Build a linear function from a vector and a matrix. More...

#include <roboptim/core/numeric-linear-function.hh>

Public Member Functions

 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. More...
 
 GenericNumericLinearFunction (const GenericLinearFunction< T > &)
 Build a linear function from another one. More...
 
 ~GenericNumericLinearFunction ()
 
virtual std::ostream & print (std::ostream &) const
 Display the function on the specified output stream. More...
 
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
 
void impl_gradient (gradient_ref, const_argument_ref, size_type=0) const
 
void impl_jacobian (jacobian_ref, const_argument_ref) const
 
void impl_gradient (gradient_ref gradient, const_argument_ref, size_type idFunction) const
 

Detailed Description

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:

\[f(x) = A x + b\]

where $A$ and $b$ are set when the class is instantiated.

Examples
numeric-linear-function.cc.

Constructor & Destructor Documentation

◆ GenericNumericLinearFunction() [1/2]

template<typename T >
roboptim::GenericNumericLinearFunction< T >::GenericNumericLinearFunction ( const_matrix_ref  A,
const_vector_ref  b 
)

Build a linear function from a matrix and a vector.

See class documentation for A and b definition.

Parameters
AA matrix
bb vector

◆ GenericNumericLinearFunction() [2/2]

template<typename T >
roboptim::GenericNumericLinearFunction< T >::GenericNumericLinearFunction ( const GenericLinearFunction< T > &  function)

Build a linear function from another one.

◆ ~GenericNumericLinearFunction()

Member Function Documentation

◆ A() [1/2]

template<typename T >
matrix_ref roboptim::GenericNumericLinearFunction< T >::A ( )
inline

◆ A() [2/2]

template<typename T >
const_matrix_ref roboptim::GenericNumericLinearFunction< T >::A ( ) const
inline

◆ b() [1/2]

template<typename T >
vector_ref roboptim::GenericNumericLinearFunction< T >::b ( )
inline

◆ b() [2/2]

template<typename T >
const_vector_ref roboptim::GenericNumericLinearFunction< T >::b ( ) const
inline

◆ impl_compute()

template<typename T >
void roboptim::GenericNumericLinearFunction< T >::impl_compute ( result_ref  result,
const_argument_ref  argument 
) const

◆ impl_gradient() [1/2]

void roboptim::GenericNumericLinearFunction< EigenMatrixSparse >::impl_gradient ( gradient_ref  gradient,
const_argument_ref  ,
size_type  idFunction 
) const
inline

◆ impl_gradient() [2/2]

template<typename T >
void roboptim::GenericNumericLinearFunction< T >::impl_gradient ( gradient_ref  gradient,
const_argument_ref  ,
size_type  idFunction = 0 
) const

◆ impl_jacobian()

template<typename T >
void roboptim::GenericNumericLinearFunction< T >::impl_jacobian ( jacobian_ref  jacobian,
const_argument_ref   
) const

◆ print()

template<typename T >
std::ostream & roboptim::GenericNumericLinearFunction< T >::print ( std::ostream &  o) const
virtual

Display the function on the specified output stream.

Parameters
ooutput stream used for display
Returns
output stream

References roboptim::decindent(), roboptim::iendl(), and roboptim::incindent().

◆ ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_()

template<typename T >
roboptim::GenericNumericLinearFunction< T >::ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ ( GenericLinearFunction< T >  )