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

Protected Attributes

std::size_t nr_
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_tnr,
const Scalaralpha = 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 Scalaralpha)
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.

◆ nr_

template<typename _Scalar>
std::size_t nr_
protected

Definition at line 68 of file activation-base.hpp.


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