Loading...
Searching...
No Matches
HybridGaussianISAM.h
Go to the documentation of this file.
/* ----------------------------------------------------------------------------
* GTSAM Copyright 2010, Georgia Tech Research Corporation,
* Atlanta, Georgia 30332-0415
* All Rights Reserved
* Authors: Frank Dellaert, et al. (see THANKS for the full author list)
* See LICENSE for the license information
* -------------------------------------------------------------------------- */
#pragma once
#include <gtsam/base/Testable.h>
#include <gtsam/hybrid/HybridBayesTree.h>
#include <gtsam/hybrid/HybridGaussianFactorGraph.h>
#include <gtsam/inference/ISAM.h>
namespace gtsam {
class GTSAM_EXPORT HybridGaussianISAM : public ISAM<HybridBayesTree> {
public:
typedef ISAM<HybridBayesTree> Base;
typedef HybridGaussianISAM This;
typedef boost::shared_ptr<This> shared_ptr;
HybridGaussianISAM();
HybridGaussianISAM(const HybridBayesTree& bayesTree);
private:
void updateInternal(
const HybridGaussianFactorGraph& newFactors,
HybridBayesTree::Cliques* orphans,
const boost::optional<size_t>& maxNrLeaves = boost::none,
const boost::optional<Ordering>& ordering = boost::none,
const HybridBayesTree::Eliminate& function =
HybridBayesTree::EliminationTraitsType::DefaultEliminate);
public:
void update(const HybridGaussianFactorGraph& newFactors,
const boost::optional<size_t>& maxNrLeaves = boost::none,
const boost::optional<Ordering>& ordering = boost::none,
const HybridBayesTree::Eliminate& function =
HybridBayesTree::EliminationTraitsType::DefaultEliminate);
static Ordering GetOrdering(HybridGaussianFactorGraph& factors,
const HybridGaussianFactorGraph& newFactors);
};
template <>
struct traits<HybridGaussianISAM> : public Testable<HybridGaussianISAM> {};
} // namespace gtsam
Testable.h
Concept check for values that can be used in unit tests.
HybridGaussianFactorGraph.h
Linearized Hybrid factor graph that uses type erasure.
HybridBayesTree.h
Hybrid Bayes Tree, the result of eliminating a HybridJunctionTree.
ISAM.h
Incremental update functionality (iSAM) for BayesTree.
gtsam
Global functions in a separate testing namespace.
Definition chartTesting.h:28
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::Testable
A helper that implements the traits interface for GTSAM types.
Definition Testable.h:151
gtsam::HybridBayesTree
A Bayes tree representing a Hybrid density.
Definition HybridBayesTree.h:64
gtsam::EliminationTraits< HybridGaussianFactorGraph >::DefaultEliminate
static std::pair< boost::shared_ptr< ConditionalType >, boost::shared_ptr< FactorType > > DefaultEliminate(const FactorGraphType &factors, const Ordering &keys)
The default dense elimination function.
Definition HybridGaussianFactorGraph.h:82
gtsam::HybridGaussianFactorGraph
Definition HybridGaussianFactorGraph.h:102
gtsam::HybridGaussianISAM
Definition HybridGaussianISAM.h:34
gtsam::HybridGaussianISAM::update
void update(const HybridGaussianFactorGraph &newFactors, const boost::optional< size_t > &maxNrLeaves=boost::none, const boost::optional< Ordering > &ordering=boost::none, const HybridBayesTree::Eliminate &function=HybridBayesTree::EliminationTraitsType::DefaultEliminate)
Perform update step with new factors.
Definition HybridGaussianISAM.cpp:118
gtsam::HybridGaussianISAM::HybridGaussianISAM
HybridGaussianISAM()
Create an empty Bayes Tree.
Definition HybridGaussianISAM.cpp:35
gtsam::HybridGaussianISAM::GetOrdering
static Ordering GetOrdering(HybridGaussianFactorGraph &factors, const HybridGaussianFactorGraph &newFactors)
Helper method to get an ordering given the existing factors and any new factors added.
Definition HybridGaussianISAM.cpp:42
gtsam::BayesTree< HybridBayesTreeClique >::Cliques
FastList< sharedClique > Cliques
Definition BayesTree.h:89
gtsam::ISAM< HybridBayesTree >::ISAM
ISAM()
Definition ISAM.h:49
gtsam::Ordering
Definition Ordering.h:34