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 > ActivationModelBase

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) override
 
virtual void calcDiff (const std::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r) override
 
template<typename NewScalar >
ActivationModelQuadFlatLogTpl< NewScalar > cast () const
 
virtual std::shared_ptr< ActivationDataAbstractcreateData () override
 
Scalar get_alpha () const
 
virtual void print (std::ostream &os) const override
 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 40 of file quadratic-flat-log.hpp.

◆ Base

template<typename _Scalar >
typedef ActivationModelAbstractTpl<Scalar> Base

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

◆ ActivationDataAbstract

template<typename _Scalar >
typedef ActivationDataAbstractTpl<Scalar> ActivationDataAbstract

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

◆ Data

template<typename _Scalar >
typedef ActivationDataQuadFlatLogTpl<Scalar> Data

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

◆ VectorXs

template<typename _Scalar >
typedef MathBase::VectorXs VectorXs

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

◆ MatrixXs

template<typename _Scalar >
typedef MathBase::MatrixXs MatrixXs

Definition at line 45 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 56 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 
)
inlineoverridevirtual

Implements ActivationModelAbstractTpl< _Scalar >.

Definition at line 71 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 
)
inlineoverridevirtual

Implements ActivationModelAbstractTpl< _Scalar >.

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

◆ createData()

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

Reimplemented from ActivationModelAbstractTpl< _Scalar >.

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

◆ cast()

template<typename _Scalar >
template<typename NewScalar >
ActivationModelQuadFlatLogTpl< NewScalar > cast ( ) const
inline

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

◆ get_alpha()

template<typename _Scalar >
Scalar get_alpha ( ) const
inline

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

◆ set_alpha()

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

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

◆ print()

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

Print relevant information of the quadratic flat-log model.

Parameters
[out]osOutput stream object

Reimplemented from ActivationModelAbstractTpl< _Scalar >.

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

Member Data Documentation

◆ Scalar

template<typename _Scalar >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

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


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