#include <InequalityPenaltyFunction.h>
Public Types | |
typedef InequalityPenaltyFunction | Base |
typedef std::shared_ptr< This > | shared_ptr |
typedef SmoothRampPoly2 | This |
![]() | |
typedef std::shared_ptr< InequalityPenaltyFunction > | shared_ptr |
typedef std::function< double(const double &x, OptionalJacobian< 1, 1 > H)> | UnaryScalarFunc |
Public Member Functions | |
virtual double | operator() (const double &x, OptionalJacobian< 1, 1 > H={}) const override |
SmoothRampPoly2 (const double epsilon=1) | |
![]() | |
virtual UnaryScalarFunc | function () const |
InequalityPenaltyFunction () | |
virtual | ~InequalityPenaltyFunction () |
Protected Attributes | |
double | a_ |
double | epsilon_ |
Ramp function approximated with a polynomial of degree 2 in [0, epsilon]. The coefficients are computed as a = 1 / (2 * epsilon) Function f(x) = 0 for x <= 0 a * x^2 for 0 < x < epsilon x - epsilon/2 for x >= epsilon
Definition at line 75 of file InequalityPenaltyFunction.h.
Definition at line 77 of file InequalityPenaltyFunction.h.
typedef std::shared_ptr<This> gtsam::SmoothRampPoly2::shared_ptr |
Definition at line 79 of file InequalityPenaltyFunction.h.
Definition at line 78 of file InequalityPenaltyFunction.h.
|
inline |
Constructor.
epsilon | parameter for adjusting the smoothness of the function. |
Definition at line 89 of file InequalityPenaltyFunction.h.
|
overridevirtual |
Implements gtsam::InequalityPenaltyFunction.
Definition at line 47 of file InequalityPenaltyFunction.cpp.
|
protected |
Definition at line 83 of file InequalityPenaltyFunction.h.
|
protected |
Definition at line 82 of file InequalityPenaltyFunction.h.