gtsam  4.1.0
gtsam
GaussianBayesTree.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 
20 #pragma once
21 
26 
27 namespace gtsam {
28 
29  // Forward declarations
30  class GaussianConditional;
31  class VectorValues;
32 
33  /* ************************************************************************* */
35  class GTSAM_EXPORT GaussianBayesTreeClique :
36  public BayesTreeCliqueBase<GaussianBayesTreeClique, GaussianFactorGraph>
37  {
38  public:
41  typedef boost::shared_ptr<This> shared_ptr;
42  typedef boost::weak_ptr<This> weak_ptr;
44  virtual ~GaussianBayesTreeClique() {}
45  GaussianBayesTreeClique(const boost::shared_ptr<GaussianConditional>& conditional) : Base(conditional) {}
46  };
47 
48  /* ************************************************************************* */
50  class GTSAM_EXPORT GaussianBayesTree :
51  public BayesTree<GaussianBayesTreeClique>
52  {
53  private:
55 
56  public:
57  typedef GaussianBayesTree This;
58  typedef boost::shared_ptr<This> shared_ptr;
59 
62 
64  bool equals(const This& other, double tol = 1e-9) const;
65 
67  VectorValues optimize() const;
68 
94  VectorValues optimizeGradientSearch() const;
95 
101  VectorValues gradient(const VectorValues& x0) const;
102 
108  VectorValues gradientAtZero() const;
109 
111  double error(const VectorValues& x) const;
112 
118  double determinant() const;
119 
125  double logDeterminant() const;
126 
129  Matrix marginalCovariance(Key key) const;
130  };
131 
133  template<>
134  struct traits<GaussianBayesTree> : public Testable<GaussianBayesTree> {
135  };
136 
137 } //\ namespace gtsam
GaussianFactorGraph.h
Linear Factor Graph where all factors are Gaussians.
gtsam::equals
Template to create a binary predicate.
Definition: Testable.h:110
gtsam::optimize
Point3 optimize(const NonlinearFactorGraph &graph, const Values &values, Key landmarkKey)
Optimize for triangulation.
Definition: triangulation.cpp:73
gtsam::BayesTree
Definition: BayesTree.h:65
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::Key
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:61
BayesTreeCliqueBase.h
Base class for cliques of a BayesTree.
gtsam::BayesTreeCliqueBase
This is the base class for BayesTree cliques.
Definition: BayesTreeCliqueBase.h:50
gtsam::VectorValues
This class represents a collection of vector-valued variables associated each with a unique integer i...
Definition: VectorValues.h:74
BayesTree.h
Bayes Tree is a tree of cliques of a Bayes Chain.
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::GaussianBayesTreeClique
A clique in a GaussianBayesTree.
Definition: GaussianBayesTree.h:37
gtsam::GaussianBayesTree::GaussianBayesTree
GaussianBayesTree()
Default constructor, creates an empty Bayes tree.
Definition: GaussianBayesTree.h:61
GaussianBayesNet.h
Chordal Bayes Net, the result of eliminating a factor graph.
gtsam::GaussianBayesTree
A Bayes tree representing a Gaussian density.
Definition: GaussianBayesTree.h:52