Go to the documentation of this file.
33 using namespace gtsam;
80 std::vector<DiscreteKey> discrete_keys = {
mode};
88 for (
size_t mode : {0, 1}) {
110 for (
size_t mode : {0, 1}) {
135 std::vector<DiscreteKey> discrete_keys = {
mode};
142 std::vector<double>
ratio(2);
143 for (
size_t mode : {0, 1}) {
169 EXPECT(continuousParentKeys.size() == 1);
170 EXPECT(continuousParentKeys[0] ==
X(0));
184 double negLogConstant0 =
conditionals[0]->negLogConstant();
185 double negLogConstant1 =
conditionals[1]->negLogConstant();
186 double minErrorConstant =
std::min(negLogConstant0, negLogConstant1);
191 std::vector<double> leaves = {
199 for (
size_t mode : {0, 1}) {
228 const auto jf1 = std::dynamic_pointer_cast<JacobianFactor>(gf1);
232 CHECK(jf1->rows() == 2);
238 Vector expected_unwhitened(2);
239 expected_unwhitened << 4.9 - 5.0, -
c1;
240 Vector actual_unwhitened = jf1->unweighted_error(
vv);
244 Vector expected_whitened(2);
245 expected_whitened << (4.9 - 5.0) / 3.0, -
c1;
246 Vector actual_whitened = jf1->error_vector(
vv);
254 std::vector<double>
ratio(2);
255 for (
size_t mode : {0, 1}) {
static int runAllTests(TestResult &result)
Eigen::Matrix< double, 1, 1 > Vector1
Conditional Gaussian Base class.
A hybrid conditional in the Conditional Linear Gaussian scheme.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
AlgebraicDecisionTree< Key > errorTree(const VectorValues &continuousValues) const override
Compute error of the HybridGaussianFactor as a tree.
#define EXPECT(condition)
const HybridGaussianConditional hybrid_conditional(mode, conditionals)
static const DiscreteValues assignment0
DiscreteKeys is a set of keys that can be assembled using the & operator.
static const VectorValues vv
const EIGEN_DEVICE_FUNC ExpReturnType exp() const
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
A set of GaussianFactors, indexed by a set of discrete keys.
static const DiscreteValues assignment1
AlgebraicDecisionTree< Key > logProbability(const VectorValues &continuousValues) const
Compute logProbability of the HybridGaussianConditional as a tree.
double evaluate(const HybridValues &values) const override
Calculate probability density for given values.
static const DiscreteKey mode(modeKey, 2)
static bool CheckInvariants(const HybridGaussianConditional &conditional, const VALUES &x)
A conditional of gaussian conditionals indexed by discrete variables, as part of a Bayes Network....
KeyVector continuousParents() const
Returns the continuous keys among the parents.
std::shared_ptr< HybridGaussianFactor > likelihood(const VectorValues &given) const
#define EXPECT_DOUBLES_EQUAL(expected, actual, threshold)
TEST(SmartFactorBase, Pinhole)
std::pair< Key, size_t > DiscreteKey
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy y set format x g set format y g set format x2 g set format y2 g set format z g set angles radians set nogrid set key title set key left top Right noreverse box linetype linewidth samplen spacing width set nolabel set noarrow set nologscale set logscale x set set pointsize set encoding default set nopolar set noparametric set set set set surface set nocontour set clabel set mapping cartesian set nohidden3d set cntrparam order set cntrparam linear set cntrparam levels auto set cntrparam points set size ratio
const std::vector< GaussianConditional::shared_ptr > conditionals
bool assert_equal(const Matrix &expected, const Matrix &actual, double tol)
double negLogConstant() const override
Return log normalization constant in negative log space.
static const HybridValues hv0
double error(const HybridValues &values) const override
Compute the log-likelihood, including the log-normalizing constant.
std::uint64_t Key
Integer nonlinear key type.
static const HybridValues hv1
Jet< T, N > sqrt(const Jet< T, N > &f)
static shared_ptr sharedMeanAndStddev(Args &&... args)
Create shared pointer by forwarding arguments to fromMeanAndStddev.
Matrix< RealScalar, Dynamic, Dynamic > M
gtsam
Author(s):
autogenerated on Fri Oct 4 2024 03:08:41