Template Class ActivationModelQuadFlatLogTpl

Inheritance Relationships

Base Type

Class Documentation

template<typename _Scalar>
class ActivationModelQuadFlatLogTpl : public crocoddyl::ActivationModelAbstractTpl<_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()

Public Types

typedef MathBaseTpl<Scalar> MathBase
typedef ActivationModelAbstractTpl<Scalar> Base
typedef ActivationDataAbstractTpl<Scalar> ActivationDataAbstract
typedef ActivationDataQuadFlatLogTpl<Scalar> Data
typedef MathBase::VectorXs VectorXs
typedef MathBase::MatrixXs MatrixXs

Public Functions

inline explicit ActivationModelQuadFlatLogTpl(const std::size_t nr, const Scalar alpha = Scalar(1.))
virtual ~ActivationModelQuadFlatLogTpl() = default
inline virtual void calc(const std::shared_ptr<ActivationDataAbstract> &data, const Eigen::Ref<const VectorXs> &r) override
inline virtual void calcDiff(const std::shared_ptr<ActivationDataAbstract> &data, const Eigen::Ref<const VectorXs> &r) override
inline virtual std::shared_ptr<ActivationDataAbstract> createData() override
template<typename NewScalar>
inline ActivationModelQuadFlatLogTpl<NewScalar> cast() const
inline Scalar get_alpha() const
inline void set_alpha(const Scalar alpha)
inline virtual void print(std::ostream &os) const override

Print relevant information of the quadratic flat-log model.

Parameters:

os[out] Output stream object

Public Members

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar