HybridNonlinearFactorGraph.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 
19 #pragma once
20 
22 
23 namespace gtsam {
24 
25 class HybridGaussianFactorGraph;
26 
33 class GTSAM_EXPORT HybridNonlinearFactorGraph : public HybridFactorGraph {
34  protected:
35  public:
38  using shared_ptr = std::shared_ptr<This>;
39 
41  using Indices = KeyVector;
42 
45 
46  HybridNonlinearFactorGraph() = default;
47 
53  template <class DERIVEDFACTOR>
55  : Base(graph) {}
56 
60 
62  void print(
63  const std::string& s = "HybridNonlinearFactorGraph",
64  const KeyFormatter& keyFormatter = DefaultKeyFormatter) const override;
65 
67  void printErrors(
68  const HybridValues& values,
69  const std::string& str = "HybridNonlinearFactorGraph: ",
70  const KeyFormatter& keyFormatter = DefaultKeyFormatter,
71  const std::function<bool(const Factor* /*factor*/,
72  double /*whitenedError*/, size_t /*index*/)>&
73  printCondition =
74  [](const Factor*, double, size_t) { return true; }) const;
75 
79 
87  std::shared_ptr<HybridGaussianFactorGraph> linearize(
88  const Values& continuousValues) const;
89 
91  using Base::error;
92 
104  AlgebraicDecisionTree<Key> errorTree(const Values& values) const;
105 
116  AlgebraicDecisionTree<Key> discretePosterior(
117  const Values& continuousValues) const;
118 
120 };
121 
122 template <>
124  : public Testable<HybridNonlinearFactorGraph> {};
125 
126 } // namespace gtsam
gtsam::HybridFactorGraph
Definition: HybridFactorGraph.h:38
gtsam::HybridValues
Definition: HybridValues.h:37
s
RealScalar s
Definition: level1_cplx_impl.h:126
gtsam::HybridNonlinearFactorGraph
Definition: HybridNonlinearFactorGraph.h:33
Values
different_sigmas::values
HybridValues values
Definition: testHybridBayesNet.cpp:245
gtsam::Factor
Definition: Factor.h:70
gtsam::KeyVector
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition: Key.h:92
gtsam::DefaultKeyFormatter
KeyFormatter DefaultKeyFormatter
Assign default key formatter.
Definition: Key.cpp:30
gtsam::FactorGraph< Factor >
gtsam::print
void print(const Matrix &A, const string &s, ostream &stream)
Definition: Matrix.cpp:155
gtsam::KeyFormatter
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
gtsam::HybridNonlinearFactorGraph::HybridNonlinearFactorGraph
HybridNonlinearFactorGraph(const FactorGraph< DERIVEDFACTOR > &graph)
Definition: HybridNonlinearFactorGraph.h:54
str
Definition: pytypes.h:1558
HybridFactorGraph.h
Factor graph with utilities for hybrid factors.
Values
std::vector< float > Values
Definition: sparse_setter.cpp:45
gtsam
traits
Definition: SFMdata.h:40
gtsam::Testable
Definition: Testable.h:152
error
static double error
Definition: testRot3.cpp:37
gtsam::traits
Definition: Group.h:36
gtsam::Values
Definition: Values.h:65
gtsam::HybridFactorGraph::shared_ptr
std::shared_ptr< This > shared_ptr
shared_ptr to This
Definition: HybridFactorGraph.h:42
graph
NonlinearFactorGraph graph
Definition: doc/Code/OdometryExample.cpp:2
gtsam::HybridFactorGraph::Indices
KeyVector Indices
Definition: HybridFactorGraph.h:45


gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:02:26