gtsam 4.1.1
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
27namespace 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
Base class for cliques of a BayesTree.
Bayes Tree is a tree of cliques of a Bayes Chain.
Chordal Bayes Net, the result of eliminating a factor graph.
Linear Factor Graph where all factors are Gaussians.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
Point3 optimize(const NonlinearFactorGraph &graph, const Values &values, Key landmarkKey)
Optimize for triangulation.
Definition: triangulation.cpp:73
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:69
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
Template to create a binary predicate.
Definition: Testable.h:111
A helper that implements the traits interface for GTSAM types.
Definition: Testable.h:151
Definition: BayesTree.h:67
This is the base class for BayesTree cliques.
Definition: BayesTreeCliqueBase.h:50
A clique in a GaussianBayesTree.
Definition: GaussianBayesTree.h:37
A Bayes tree representing a Gaussian density.
Definition: GaussianBayesTree.h:52
GaussianBayesTree()
Default constructor, creates an empty Bayes tree.
Definition: GaussianBayesTree.h:61
This class represents a collection of vector-valued variables associated each with a unique integer i...
Definition: VectorValues.h:74