Smooth-2Norm activation. More...
#include <smooth-2norm.hpp>
Public Types | |
| typedef ActivationDataAbstractTpl< Scalar > | ActivationDataAbstract |
| typedef ActivationModelAbstractTpl< Scalar > | Base |
| 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 | |
| ActivationModelSmooth2NormTpl (const std::size_t nr, const Scalar eps=Scalar(1.)) | |
| Initialize the smooth-2Norm activation model. | |
| virtual void | calc (const std::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r) |
| Compute the smooth-2Norm function. | |
| virtual void | calcDiff (const std::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r) |
| Compute the derivatives of the smooth-2Norm function. | |
| virtual std::shared_ptr< ActivationDataAbstract > | createData () |
| Create the smooth-2Norm activation data. | |
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 Member Functions | |
| virtual void | print (std::ostream &os) const |
| Print relevant information of the smooth-1norm model. | |
Protected Attributes | |
| Scalar | eps_ |
| < Dimension of the residual vector | |
Protected Attributes inherited from ActivationModelAbstractTpl< _Scalar > | |
| std::size_t | nr_ |
Smooth-2Norm activation.
This activation function describes a smooth representation of a 2-norm of a residual vector, i.e.
\[ \begin{equation} \sqrt{\epsilon + sum^nr_{i=0} \|r_i\|^2} \end{equation} \]
where \(\epsilon\) defines the smoothing factor, \(r_i\) is the scalar residual for the \(i\) constraints, \(nr\) is the dimension of the residual vector.
The computation of the function and it derivatives are carried out in calc() and caldDiff(), respectively.
calc(), calcDiff(), createData() Definition at line 35 of file smooth-2norm.hpp.
| typedef MathBaseTpl<Scalar> MathBase |
Definition at line 41 of file smooth-2norm.hpp.
| typedef ActivationModelAbstractTpl<Scalar> Base |
Definition at line 42 of file smooth-2norm.hpp.
| typedef ActivationDataAbstractTpl<Scalar> ActivationDataAbstract |
Definition at line 43 of file smooth-2norm.hpp.
| typedef MathBase::VectorXs VectorXs |
Definition at line 44 of file smooth-2norm.hpp.
| typedef MathBase::MatrixXs MatrixXs |
Definition at line 45 of file smooth-2norm.hpp.
|
inlineexplicit |
Initialize the smooth-2Norm activation model.
The default eps value is defined as 1.
| [in] | nr | Dimension of the residual vector |
| [in] | eps | Smoothing factor (default: 1.) |
Definition at line 55 of file smooth-2norm.hpp.
|
inlinevirtual |
Definition at line 62 of file smooth-2norm.hpp.
|
inlinevirtual |
Compute the smooth-2Norm function.
| [in] | data | Smooth-2Norm activation data |
| [in] | r | Residual vector \(\mathbf{r}\in\mathbb{R}^{nr}\) |
Implements ActivationModelAbstractTpl< _Scalar >.
Definition at line 70 of file smooth-2norm.hpp.
|
inlinevirtual |
Compute the derivatives of the smooth-2Norm function.
| [in] | data | Smooth-2Norm activation data |
| [in] | r | Residual vector \(\mathbf{r}\in\mathbb{R}^{nr}\) |
Implements ActivationModelAbstractTpl< _Scalar >.
Definition at line 87 of file smooth-2norm.hpp.
|
inlinevirtual |
Create the smooth-2Norm activation data.
Reimplemented from ActivationModelAbstractTpl< _Scalar >.
Definition at line 105 of file smooth-2norm.hpp.
|
inlineprotectedvirtual |
Print relevant information of the smooth-1norm model.
| [out] | os | Output stream object |
Reimplemented from ActivationModelAbstractTpl< _Scalar >.
Definition at line 116 of file smooth-2norm.hpp.
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar |
Definition at line 40 of file smooth-2norm.hpp.
|
protected |
< Dimension of the residual vector
Smoothing factor
Definition at line 121 of file smooth-2norm.hpp.