Crocoddyl
 
Loading...
Searching...
No Matches
ActivationModelQuadFlatLogTpl< _Scalar > Class Template Reference

Quadratic-flat-log activation. More...

#include <quadratic-flat-log.hpp>

Inheritance diagram for ActivationModelQuadFlatLogTpl< _Scalar >:
ActivationModelAbstractTpl< _Scalar >

Public Types

typedef ActivationDataAbstractTpl< Scalar > ActivationDataAbstract
 
typedef ActivationModelAbstractTpl< Scalar > Base
 
typedef ActivationDataQuadFlatLogTpl< Scalar > Data
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef MathBase::VectorXs VectorXs
 
- Public Types inherited from ActivationModelAbstractTpl< _Scalar >
typedef ActivationDataAbstractTpl< Scalar > ActivationDataAbstract
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 ActivationModelQuadFlatLogTpl (const std::size_t &nr, const Scalar &alpha=Scalar(1.))
 
virtual void calc (const std::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r)
 
virtual void calcDiff (const std::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r)
 
virtual std::shared_ptr< ActivationDataAbstractcreateData ()
 
Scalar get_alpha () const
 
virtual void print (std::ostream &os) const
 Print relevant information of the quadratic flat-log model.
 
void set_alpha (const Scalar alpha)
 
- Public Member Functions inherited from ActivationModelAbstractTpl< _Scalar >
 ActivationModelAbstractTpl (const std::size_t nr)
 
std::size_t get_nr () const
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 
- Public Attributes inherited from ActivationModelAbstractTpl< _Scalar >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Additional Inherited Members

- Protected Attributes inherited from ActivationModelAbstractTpl< _Scalar >
std::size_t nr_
 

Detailed Description

template<typename _Scalar>
class crocoddyl::ActivationModelQuadFlatLogTpl< _Scalar >

Quadratic-flat-log activation.

This activation function describes a logarithmic quadratic activation depending on the quadratic norm of a residual vector, i.e.

\[ \begin{equation} log(1 + \|\mathbf{r}\|^2 / \alpha) \end{equation} \]

where \(\alpha\) defines the width of the quadratic basin, \(r\) is the scalar residual, \(nr\) is the dimension of the residual vector.

The computation of the function and it derivatives are carried out in calc() and caldDiff(), respectively.

See also
calc(), calcDiff(), createData()

Definition at line 33 of file quadratic-flat-log.hpp.

Member Typedef Documentation

◆ MathBase

template<typename _Scalar >
typedef MathBaseTpl<Scalar> MathBase

Definition at line 39 of file quadratic-flat-log.hpp.

◆ Base

template<typename _Scalar >
typedef ActivationModelAbstractTpl<Scalar> Base

Definition at line 40 of file quadratic-flat-log.hpp.

◆ ActivationDataAbstract

template<typename _Scalar >
typedef ActivationDataAbstractTpl<Scalar> ActivationDataAbstract

Definition at line 41 of file quadratic-flat-log.hpp.

◆ Data

template<typename _Scalar >
typedef ActivationDataQuadFlatLogTpl<Scalar> Data

Definition at line 42 of file quadratic-flat-log.hpp.

◆ VectorXs

template<typename _Scalar >
typedef MathBase::VectorXs VectorXs

Definition at line 43 of file quadratic-flat-log.hpp.

◆ MatrixXs

template<typename _Scalar >
typedef MathBase::MatrixXs MatrixXs

Definition at line 44 of file quadratic-flat-log.hpp.

Constructor & Destructor Documentation

◆ ActivationModelQuadFlatLogTpl()

template<typename _Scalar >
ActivationModelQuadFlatLogTpl ( const std::size_t &  nr,
const Scalar &  alpha = Scalar(1.) 
)
inlineexplicit

Definition at line 55 of file quadratic-flat-log.hpp.

◆ ~ActivationModelQuadFlatLogTpl()

template<typename _Scalar >
virtual ~ActivationModelQuadFlatLogTpl ( )
inlinevirtual

Definition at line 62 of file quadratic-flat-log.hpp.

Member Function Documentation

◆ calc()

template<typename _Scalar >
virtual void calc ( const std::shared_ptr< ActivationDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  r 
)
inlinevirtual

Implements ActivationModelAbstractTpl< _Scalar >.

Definition at line 70 of file quadratic-flat-log.hpp.

◆ calcDiff()

template<typename _Scalar >
virtual void calcDiff ( const std::shared_ptr< ActivationDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  r 
)
inlinevirtual

Implements ActivationModelAbstractTpl< _Scalar >.

Definition at line 88 of file quadratic-flat-log.hpp.

◆ createData()

template<typename _Scalar >
virtual std::shared_ptr< ActivationDataAbstract > createData ( )
inlinevirtual

Reimplemented from ActivationModelAbstractTpl< _Scalar >.

Definition at line 108 of file quadratic-flat-log.hpp.

◆ get_alpha()

template<typename _Scalar >
Scalar get_alpha ( ) const
inline

Definition at line 114 of file quadratic-flat-log.hpp.

◆ set_alpha()

template<typename _Scalar >
void set_alpha ( const Scalar  alpha)
inline

Definition at line 115 of file quadratic-flat-log.hpp.

◆ print()

template<typename _Scalar >
virtual void print ( std::ostream &  os) const
inlinevirtual

Print relevant information of the quadratic flat-log model.

Parameters
[out]osOutput stream object

Reimplemented from ActivationModelAbstractTpl< _Scalar >.

Definition at line 122 of file quadratic-flat-log.hpp.

Member Data Documentation

◆ Scalar

template<typename _Scalar >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

Definition at line 38 of file quadratic-flat-log.hpp.


The documentation for this class was generated from the following file: