42 cost(), equalities(), inequalities() {
49 cost(_cost), equalities(_linearEqualities), inequalities(
50 _linearInequalities) {
54 void print(
const std::string& s =
"") {
55 std::cout << s << std::endl;
56 cost.
print(
"Quadratic cost factors: ");
57 equalities.
print(
"Linear equality factors: ");
58 inequalities.
print(
"Linear inequality factors: ");
62 if (cachedCostVariableIndex_.
size() == 0)
64 return cachedCostVariableIndex_;
68 Vector g = Vector::Zero(delta.
at(key).size());
69 if (costVariableIndex().
find(key) != costVariableIndex().
end()) {
70 for (
size_t factorIx : costVariableIndex()[key]) {
72 g += factor->gradient(key, delta);
const_iterator find(Key key) const
Find the iterator for the requested variable entry.
Definition: VariableIndex.h:169
size_t size() const
The number of variable entries. This is equal to the number of unique variable Keys.
Definition: VariableIndex.h:78
Definition: EqualityFactorGraph.h:30
Definition: InequalityFactorGraph.h:32
Factor graph of all LinearInequality factors.
Vector & at(Key j)
Definition: VectorValues.h:139
virtual void print(const std::string &s="FactorGraph", const KeyFormatter &formatter=DefaultKeyFormatter) const
Print out graph to std::cout, with optional key formatter.
Definition: FactorGraph-inst.h:37
Definition: VectorValues.h:74
const_iterator end() const
Iterator to the first variable entry.
Definition: VariableIndex.h:166
Factor graph of all LinearEquality factors.
GaussianFactorGraph cost
Quadratic cost factors.
Definition: QP.h:32
Linear Factor Graph where all factors are Gaussians.
std::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition: GaussianFactor.h:42
Definition: chartTesting.h:28
InequalityFactorGraph inequalities
linear inequality constraints: cI(x) <= 0
Definition: QP.h:34
void print(const std::string &str="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
Definition: InequalityFactorGraph.h:40
Definition: VariableIndex.h:41
EqualityFactorGraph equalities
linear equality constraints: cE(x) = 0
Definition: QP.h:33
const sharedFactor at(size_t i) const
Definition: FactorGraph.h:343
QP(const GaussianFactorGraph &_cost, const EqualityFactorGraph &_linearEqualities, const InequalityFactorGraph &_linearInequalities)
Definition: QP.h:46
void print(const std::string &s="")
Definition: QP.h:54
utility functions for loading datasets
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102
Definition: GaussianFactorGraph.h:73