gtsam 4.2.0
gtsam
Loading...
Searching...
No Matches
DiscreteDistribution.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
18#pragma once
19
21
22#include <string>
23#include <vector>
24
25namespace gtsam {
26
33class GTSAM_EXPORT DiscreteDistribution : public DiscreteConditional {
34 public:
36
39
42
45 : Base(f.size(), f) {}
46
52 explicit DiscreteDistribution(const Signature& s) : Base(s) {}
53
60 DiscreteDistribution(const DiscreteKey& key, const std::vector<double>& spec)
61 : DiscreteDistribution(Signature(key, {}, Signature::Table{spec})) {}
62
69 DiscreteDistribution(const DiscreteKey& key, const std::string& spec)
70 : DiscreteDistribution(Signature(key, {}, spec)) {}
71
75
77 void print(
78 const std::string& s = "Discrete Prior: ",
79 const KeyFormatter& formatter = DefaultKeyFormatter) const override;
80
84
86 double operator()(size_t value) const;
87
89 // TODO(dellaert): does not play well with wrapper!
90 // using Base::operator();
91
93 std::vector<double> pmf() const;
94
96#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V42
99 size_t GTSAM_DEPRECATED solve() const { return Base::solve({}); }
101#endif
102};
103// DiscreteDistribution
104
105// traits
106template <>
107struct traits<DiscreteDistribution> : public Testable<DiscreteDistribution> {};
108
109} // namespace gtsam
std::pair< Key, size_t > DiscreteKey
Key type for discrete variables.
Definition DiscreteKey.h:36
Global functions in a separate testing namespace.
Definition chartTesting.h:28
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition concepts.h:30
A helper that implements the traits interface for GTSAM types.
Definition Testable.h:151
A discrete probabilistic factor.
Definition DecisionTreeFactor.h:45
Discrete Conditional Density Derives from DecisionTreeFactor.
Definition DiscreteConditional.h:40
A prior probability on a set of discrete variables.
Definition DiscreteDistribution.h:33
DiscreteDistribution(const Signature &s)
Construct from a Signature.
Definition DiscreteDistribution.h:52
DiscreteDistribution(const DiscreteKey &key, const std::vector< double > &spec)
Construct from key and a vector of floats specifying the probability mass function (PMF).
Definition DiscreteDistribution.h:60
DiscreteDistribution(const DiscreteKey &key, const std::string &spec)
Construct from key and a string specifying the probability mass function (PMF).
Definition DiscreteDistribution.h:69
DiscreteDistribution()
Default constructor needed for serialization.
Definition DiscreteDistribution.h:41
DiscreteDistribution(const DecisionTreeFactor &f)
Constructor from factor.
Definition DiscreteDistribution.h:44
Signature for a discrete conditional density, used to construct conditionals.
Definition Signature.h:54