gtsam  4.1.0
gtsam
EqualityFactorGraph.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2 
3  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4  * Atlanta, Georgia 30332-0415
5  * All Rights Reserved
6  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7 
8  * See LICENSE for the license information
9 
10  * -------------------------------------------------------------------------- */
11 
19 #pragma once
20 
23 
24 namespace gtsam {
25 
30 class EqualityFactorGraph: public FactorGraph<LinearEquality> {
31 public:
32  typedef boost::shared_ptr<EqualityFactorGraph> shared_ptr;
33 
35  template <class... Args> void add(Args &&... args) {
36  emplace_shared<LinearEquality>(std::forward<Args>(args)...);
37  }
38 
40  double error(const VectorValues& x) const {
41  double total_error = 0.;
42  for (const sharedFactor& factor : *this) {
43  if (factor)
44  total_error += factor->error(x);
45  }
46  return total_error;
47  }
48 };
49 
51 template<> struct traits<EqualityFactorGraph> : public Testable<
52  EqualityFactorGraph> {
53 };
54 
55 } // \ namespace gtsam
56 
gtsam::traits
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
gtsam::VectorValues
This class represents a collection of vector-valued variables associated each with a unique integer i...
Definition: VectorValues.h:74
gtsam::EqualityFactorGraph
Collection of all Linear Equality constraints Ax=b of a Programming problem as a Factor Graph.
Definition: EqualityFactorGraph.h:30
FactorGraph.h
Factor Graph Base Class.
gtsam
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
gtsam::Testable
A helper that implements the traits interface for GTSAM types.
Definition: Testable.h:150
gtsam::FactorGraph
A factor graph is a bipartite graph with factor nodes connected to variable nodes.
Definition: FactorGraph.h:94
gtsam::FactorGraph< LinearEquality >::sharedFactor
boost::shared_ptr< LinearEquality > sharedFactor
Shared pointer to a factor.
Definition: FactorGraph.h:98
gtsam::EqualityFactorGraph::add
void add(Args &&... args)
Add a linear inequality, forwards arguments to LinearInequality.
Definition: EqualityFactorGraph.h:35
LinearEquality.h
LinearEquality derived from Base with constrained noise model.
gtsam::EqualityFactorGraph::error
double error(const VectorValues &x) const
Compute error of a guess.
Definition: EqualityFactorGraph.h:40