Go to the documentation of this file.
51 throw std::runtime_error(
52 "Cannot convert HessianFactor to LinearInequality");
59 throw std::runtime_error(
60 "Cannot convert an unconstrained JacobianFactor to LinearInequality");
64 throw std::runtime_error(
"Only support single-valued inequality factor!");
92 template<
typename TERMS>
119 > (std::make_shared < LinearInequality > (*
this));
Key dualKey() const
dual key
bool active() const
return true if this constraint is active
Vector error_vector(const VectorValues &c) const
Vector unweighted_error(const VectorValues &c) const
A Gaussian factor using the canonical parameters (information form)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
void print(const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override
const SharedDiagonal & get_model() const
Eigen::RowVectorXd RowVector
bool isConstrained() const
LinearInequality(Key i1, const RowVector &A1, Key i2, const RowVector &A2, double b, Key dualKey)
LinearInequality(Key i1, const RowVector &A1, Key i2, const RowVector &A2, Key i3, const RowVector &A3, double b, Key dualKey)
const KeyFormatter & formatter
LinearInequality(const JacobianFactor &jf, Key dualKey)
LinearInequality(const TERMS &terms, double b, Key dualKey)
const_iterator begin() const
KeyFormatter DefaultKeyFormatter
Assign default key formatter.
bool equals(const GaussianFactor &lf, double tol=1e-9) const override
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
JacobianFactor Base
Typedef to base class.
std::shared_ptr< This > shared_ptr
shared_ptr to this class
void activate()
Make this inequality constraint active.
double error(const VectorValues &c) const override
std::shared_ptr< This > shared_ptr
shared_ptr to this class
const_iterator end() const
LinearInequality(const HessianFactor &hf)
~LinearInequality() override
KeyVector::const_iterator const_iterator
Const iterator over keys.
void inactivate()
Make this inequality constraint inactive.
bool equals(const GaussianFactor &lf, double tol=1e-9) const override
assert equality up to a tolerance
void print(const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override
print with optional string
LinearInequality(Key i1, const RowVector &A1, double b, Key dualKey)
GaussianFactor::shared_ptr clone() const override
std::uint64_t Key
Integer nonlinear key type.
double dotProductRow(const VectorValues &p) const
LinearInequality This
Typedef to this class.
gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:11:55