#include <InequalityPenaltyFunction.h>
Public Types | |
typedef InequalityPenaltyFunction | Base |
typedef std::shared_ptr< This > | shared_ptr |
typedef SmoothRampPoly3 | 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 |
SmoothRampPoly3 (const double epsilon=1) | |
![]() | |
virtual UnaryScalarFunc | function () const |
InequalityPenaltyFunction () | |
virtual | ~InequalityPenaltyFunction () |
Protected Attributes | |
double | a_ |
double | b_ |
double | epsilon_ |
Ramp function approximated with a polynomial of degree 3 in [0, epsilon]. The coefficients are computed as a = -1 / epsilon^2 b = 2 / epsilon Function f(x) = 0 for x <= 0 a * x^3 + b * x^2 for 0 < x < epsilon x for x >= epsilon
Definition at line 104 of file InequalityPenaltyFunction.h.
Definition at line 106 of file InequalityPenaltyFunction.h.
typedef std::shared_ptr<This> gtsam::SmoothRampPoly3::shared_ptr |
Definition at line 108 of file InequalityPenaltyFunction.h.
Definition at line 107 of file InequalityPenaltyFunction.h.
|
inline |
Constructor.
epsilon | parameter for adjusting the smoothness of the function. |
Definition at line 119 of file InequalityPenaltyFunction.h.
|
overridevirtual |
Implements gtsam::InequalityPenaltyFunction.
Definition at line 68 of file InequalityPenaltyFunction.cpp.
|
protected |
Definition at line 112 of file InequalityPenaltyFunction.h.
|
protected |
Definition at line 113 of file InequalityPenaltyFunction.h.
|
protected |
Definition at line 111 of file InequalityPenaltyFunction.h.