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.
HybridBayesTree.h
Hybrid Bayes Tree, the result of eliminating a HybridJunctionTree.
HybridGaussianFactorGraph.h
Linearized Hybrid factor graph that uses type erasure.
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