Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
gtsam::ScalarExpressionInequalityConstraint Class Reference

#include <NonlinearInequalityConstraint.h>

Inheritance diagram for gtsam::ScalarExpressionInequalityConstraint:
Inheritance graph
[legend]

Public Types

typedef NonlinearInequalityConstraint Base
 
typedef std::shared_ptr< Thisshared_ptr
 
typedef ScalarExpressionInequalityConstraint This
 
- Public Types inherited from gtsam::NonlinearInequalityConstraint
typedef NonlinearConstraint Base
 
typedef NonlinearFactor Base
 
typedef std::shared_ptr< Thisshared_ptr
 
typedef NonlinearInequalityConstraint This
 
- Public Types inherited from gtsam::NonlinearConstraint
typedef NoiseModelFactor Base
 
typedef NonlinearFactor Base
 
- Public Types inherited from gtsam::NoiseModelFactor
typedef std::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::NonlinearFactor
typedef std::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::Factor
typedef KeyVector::const_iterator const_iterator
 Const iterator over keys. More...
 
typedef KeyVector::iterator iterator
 Iterator over keys. More...
 

Public Member Functions

gtsam::NonlinearFactor::shared_ptr clone () const override
 
NonlinearEqualityConstraint::shared_ptr createEqualityConstraint () const override
 
const Double_expression () const
 
NoiseModelFactor::shared_ptr penaltyFactor (const double mu=1.0) const override
 
NoiseModelFactor::shared_ptr penaltyFactorCustom (InequalityPenaltyFunction::shared_ptr func, const double mu=1.0) const override
 
virtual NoiseModelFactor::shared_ptr penaltyFactorEquality (const double mu=1.0) const override
 
 ScalarExpressionInequalityConstraint (const Double_ &expression, const double &sigma)
 Constructor. More...
 
virtual Vector unwhitenedExpr (const Values &x, OptionalMatrixVecType H=nullptr) const override
 
- Public Member Functions inherited from gtsam::NonlinearInequalityConstraint
virtual bool active (const Values &x) const override
 
virtual Vector unwhitenedError (const Values &x, OptionalMatrixVecType H=nullptr) const override
 
virtual Vector whitenedExpr (const Values &x) const
 
virtual ~NonlinearInequalityConstraint ()
 
- Public Member Functions inherited from gtsam::NonlinearConstraint
double error (const HybridValues &c) const override
 
virtual double error (const Values &c) const
 
virtual bool feasible (const Values &x, const double tolerance=1e-5) const
 
const Vector sigmas () const
 
virtual std::vector< MatrixunwhitenedHessian (const Values &x) const
 
virtual double violation (const Values &x) const
 
virtual ~NonlinearConstraint ()
 
- Public Member Functions inherited from gtsam::NoiseModelFactor
shared_ptr cloneWithNewNoiseModel (const SharedNoiseModel newNoise) const
 
size_t dim () const override
 
bool equals (const NonlinearFactor &f, double tol=1e-9) const override
 
double error (const HybridValues &c) const override
 
virtual double error (const Values &c) const
 
double error (const Values &c) const override
 
std::shared_ptr< GaussianFactorlinearize (const Values &x) const override
 
const SharedNoiseModelnoiseModel () const
 access to the noise model More...
 
 NoiseModelFactor ()
 
template<typename CONTAINER >
 NoiseModelFactor (const SharedNoiseModel &noiseModel, const CONTAINER &keys)
 
void print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
 
Vector unweightedWhitenedError (const Values &c) const
 
Vector unwhitenedError (const Values &x, std::vector< Matrix > &H) const
 
double weight (const Values &c) const
 
Vector whitenedError (const Values &c) const
 
 ~NoiseModelFactor () override
 
- Public Member Functions inherited from gtsam::NonlinearFactor
 NonlinearFactor ()
 
template<typename CONTAINER >
 NonlinearFactor (const CONTAINER &keys)
 
double error (const HybridValues &c) const override
 
virtual shared_ptr rekey (const std::map< Key, Key > &rekey_mapping) const
 
virtual shared_ptr rekey (const KeyVector &new_keys) const
 
virtual bool sendable () const
 
- Public Member Functions inherited from gtsam::Factor
virtual ~Factor ()=default
 Default destructor. More...
 
bool empty () const
 Whether the factor is empty (involves zero variables). More...
 
Key front () const
 First key. More...
 
Key back () const
 Last key. More...
 
const_iterator find (Key key) const
 find More...
 
const KeyVectorkeys () const
 Access the factor's involved variable keys. More...
 
const_iterator begin () const
 
const_iterator end () const
 
size_t size () const
 
virtual void printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print only keys More...
 
bool equals (const This &other, double tol=1e-9) const
 check equality More...
 
KeyVectorkeys ()
 
iterator begin ()
 
iterator end ()
 

Static Public Member Functions

static ScalarExpressionInequalityConstraint::shared_ptr GeqZero (const Double_ &expression, const double &sigma)
 
static ScalarExpressionInequalityConstraint::shared_ptr LeqZero (const Double_ &expression, const double &sigma)
 

Protected Attributes

FastVector< intdims_
 
Double_ expression_
 
- Protected Attributes inherited from gtsam::NoiseModelFactor
SharedNoiseModel noiseModel_
 
- Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor. More...
 

Additional Inherited Members

- Protected Types inherited from gtsam::NoiseModelFactor
typedef NonlinearFactor Base
 
typedef NoiseModelFactor This
 
- Protected Types inherited from gtsam::NonlinearFactor
typedef Factor Base
 
typedef NonlinearFactor This
 
- Protected Member Functions inherited from gtsam::NonlinearConstraint
SharedDiagonal penaltyNoise (const double mu) const
 
- Protected Member Functions inherited from gtsam::NoiseModelFactor
 NoiseModelFactor (const SharedNoiseModel &noiseModel)
 
- Protected Member Functions inherited from gtsam::Factor
 Factor ()
 
template<typename CONTAINER >
 Factor (const CONTAINER &keys)
 
template<typename ITERATOR >
 Factor (ITERATOR first, ITERATOR last)
 
- Static Protected Member Functions inherited from gtsam::NonlinearConstraint
static SharedNoiseModel constrainedNoise (const Vector &sigmas)
 
- Static Protected Member Functions inherited from gtsam::Factor
template<typename CONTAINER >
static Factor FromKeys (const CONTAINER &keys)
 
template<typename ITERATOR >
static Factor FromIterators (ITERATOR first, ITERATOR last)
 

Detailed Description

Inequality constraint that force g(x) <= 0, where g(x) is a scalar-valued nonlinear function.

Definition at line 78 of file NonlinearInequalityConstraint.h.

Member Typedef Documentation

◆ Base

Definition at line 80 of file NonlinearInequalityConstraint.h.

◆ shared_ptr

Definition at line 82 of file NonlinearInequalityConstraint.h.

◆ This

Definition at line 81 of file NonlinearInequalityConstraint.h.

Constructor & Destructor Documentation

◆ ScalarExpressionInequalityConstraint()

gtsam::ScalarExpressionInequalityConstraint::ScalarExpressionInequalityConstraint ( const Double_ expression,
const double &  sigma 
)

Constructor.

Parameters
expressionexpression representing g(x) (or -g(x) for GeqZero).
sigmascalar representing sigma.

Definition at line 72 of file NonlinearInequalityConstraint.cpp.

Member Function Documentation

◆ clone()

gtsam::NonlinearFactor::shared_ptr gtsam::ScalarExpressionInequalityConstraint::clone ( ) const
inlineoverridevirtual

return a deep copy of this factor.

Reimplemented from gtsam::NonlinearFactor.

Definition at line 126 of file NonlinearInequalityConstraint.h.

◆ createEqualityConstraint()

NonlinearEqualityConstraint::shared_ptr gtsam::ScalarExpressionInequalityConstraint::createEqualityConstraint ( ) const
overridevirtual

Equality constraint representing g(x)/sigma = 0.

Reimplemented from gtsam::NonlinearInequalityConstraint.

Definition at line 104 of file NonlinearInequalityConstraint.cpp.

◆ expression()

const Double_& gtsam::ScalarExpressionInequalityConstraint::expression ( ) const
inline

Return expression g(x), or -g(x) for objects constructed from GeqZero.

Definition at line 123 of file NonlinearInequalityConstraint.h.

◆ GeqZero()

ScalarExpressionInequalityConstraint::shared_ptr gtsam::ScalarExpressionInequalityConstraint::GeqZero ( const Double_ expression,
const double &  sigma 
)
static

Create an inequality constraint g(x)/sigma >= 0, internally represented as -g(x)/sigma <= 0.

Definition at line 79 of file NonlinearInequalityConstraint.cpp.

◆ LeqZero()

ScalarExpressionInequalityConstraint::shared_ptr gtsam::ScalarExpressionInequalityConstraint::LeqZero ( const Double_ expression,
const double &  sigma 
)
static

Create an inequality constraint g(x)/sigma <= 0.

Definition at line 86 of file NonlinearInequalityConstraint.cpp.

◆ penaltyFactor()

NoiseModelFactor::shared_ptr gtsam::ScalarExpressionInequalityConstraint::penaltyFactor ( const double  mu = 1.0) const
overridevirtual

Penalty function 0.5*mu*||ramp(g(x)/sigma||^2.

Reimplemented from gtsam::NonlinearConstraint.

Definition at line 110 of file NonlinearInequalityConstraint.cpp.

◆ penaltyFactorCustom()

NoiseModelFactor::shared_ptr gtsam::ScalarExpressionInequalityConstraint::penaltyFactorCustom ( InequalityPenaltyFunction::shared_ptr  func,
const double  mu = 1.0 
) const
overridevirtual

Penalty function using a smooth approxiamtion of the ramp funciton.

Reimplemented from gtsam::NonlinearInequalityConstraint.

Definition at line 117 of file NonlinearInequalityConstraint.cpp.

◆ penaltyFactorEquality()

NoiseModelFactor::shared_ptr gtsam::ScalarExpressionInequalityConstraint::penaltyFactorEquality ( const double  mu = 1.0) const
overridevirtual

Penalty function as if the constraint is equality, 0.5 * mu * ||g(x)/sigma||^2.

Reimplemented from gtsam::NonlinearInequalityConstraint.

Definition at line 128 of file NonlinearInequalityConstraint.cpp.

◆ unwhitenedExpr()

Vector gtsam::ScalarExpressionInequalityConstraint::unwhitenedExpr ( const Values x,
OptionalMatrixVecType  H = nullptr 
) const
overridevirtual

Compute g(x), or -g(x) for objects constructed from GeqZero.

Implements gtsam::NonlinearInequalityConstraint.

Definition at line 92 of file NonlinearInequalityConstraint.cpp.

Member Data Documentation

◆ dims_

FastVector<int> gtsam::ScalarExpressionInequalityConstraint::dims_
protected

Definition at line 86 of file NonlinearInequalityConstraint.h.

◆ expression_

Double_ gtsam::ScalarExpressionInequalityConstraint::expression_
protected

Definition at line 85 of file NonlinearInequalityConstraint.h.


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


gtsam
Author(s):
autogenerated on Wed Mar 19 2025 03:15:42