HybridGaussianISAM.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 
22 #include <gtsam/base/Testable.h>
25 #include <gtsam/inference/ISAM.h>
26 
27 #include <optional>
28 
29 namespace gtsam {
30 
37 class GTSAM_EXPORT HybridGaussianISAM : public ISAM<HybridBayesTree> {
38  public:
41  typedef std::shared_ptr<This> shared_ptr;
42 
45 
48 
50  HybridGaussianISAM(const HybridBayesTree& bayesTree);
51 
53 
54  private:
56  void updateInternal(
57  const HybridGaussianFactorGraph& newFactors,
58  HybridBayesTree::Cliques* orphans,
59  const std::optional<size_t>& maxNrLeaves = {},
60  const std::optional<Ordering>& ordering = {},
61  const HybridBayesTree::Eliminate& function =
62  HybridBayesTree::EliminationTraitsType::DefaultEliminate);
63 
64  public:
73  void update(const HybridGaussianFactorGraph& newFactors,
74  const std::optional<size_t>& maxNrLeaves = {},
75  const std::optional<Ordering>& ordering = {},
76  const HybridBayesTree::Eliminate& function =
77  HybridBayesTree::EliminationTraitsType::DefaultEliminate);
78 
87  static Ordering GetOrdering(HybridGaussianFactorGraph& factors,
88  const HybridGaussianFactorGraph& newFactors);
89 };
90 
92 template <>
93 struct traits<HybridGaussianISAM> : public Testable<HybridGaussianISAM> {};
94 
95 } // namespace gtsam
relicense.update
def update(text)
Definition: relicense.py:46
gtsam::HybridGaussianISAM
Incremental Smoothing and Mapping (ISAM) algorithm for hybrid factor graphs.
Definition: HybridGaussianISAM.h:37
gtsam::BayesTree< HybridBayesTreeClique >::Eliminate
FactorGraphType::Eliminate Eliminate
Definition: BayesTree.h:85
Testable.h
Concept check for values that can be used in unit tests.
simple_graph::factors
const GaussianFactorGraph factors
Definition: testJacobianFactor.cpp:213
gtsam::HybridBayesTree
Definition: HybridBayesTree.h:62
ISAM.h
Incremental update functionality (iSAM) for BayesTree.
gtsam::HybridGaussianISAM::shared_ptr
std::shared_ptr< This > shared_ptr
Definition: HybridGaussianISAM.h:41
gtsam::HybridGaussianFactorGraph
Definition: HybridGaussianFactorGraph.h:106
HybridBayesTree.h
Hybrid Bayes Tree, the result of eliminating a HybridJunctionTree.
gtsam::FastList
Definition: FastList.h:43
ordering
static enum @1096 ordering
gtsam::HybridGaussianISAM::This
HybridGaussianISAM This
Definition: HybridGaussianISAM.h:40
HybridGaussianFactorGraph.h
Linearized Hybrid factor graph that uses type erasure.
gtsam
traits
Definition: SFMdata.h:40
gtsam::Testable
Definition: Testable.h:152
gtsam::traits
Definition: Group.h:36
gtsam::ISAM
Definition: ISAM.h:31
gtsam::HybridGaussianISAM::Base
ISAM< HybridBayesTree > Base
Definition: HybridGaussianISAM.h:39


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:11:40