finalize renaming
parent
94805798e9
commit
035c92a38f
|
@ -201,7 +201,7 @@ HybridGaussianConditional
|
||||||
\emph default
|
\emph default
|
||||||
(maybe to be renamed to
|
(maybe to be renamed to
|
||||||
\emph on
|
\emph on
|
||||||
GaussianMixtureComponent
|
HybridGaussianConditionalComponent
|
||||||
\emph default
|
\emph default
|
||||||
) just indexes into a number of
|
) just indexes into a number of
|
||||||
\emph on
|
\emph on
|
||||||
|
|
|
@ -182,11 +182,11 @@ HybridBayesNet HybridBayesNet::prune(size_t maxNrLeaves) {
|
||||||
for (auto &&conditional : *this) {
|
for (auto &&conditional : *this) {
|
||||||
if (auto gm = conditional->asMixture()) {
|
if (auto gm = conditional->asMixture()) {
|
||||||
// Make a copy of the Gaussian mixture and prune it!
|
// Make a copy of the Gaussian mixture and prune it!
|
||||||
auto prunedGaussianMixture = std::make_shared<HybridGaussianConditional>(*gm);
|
auto prunedHybridGaussianConditional = std::make_shared<HybridGaussianConditional>(*gm);
|
||||||
prunedGaussianMixture->prune(prunedDiscreteProbs); // imperative :-(
|
prunedHybridGaussianConditional->prune(prunedDiscreteProbs); // imperative :-(
|
||||||
|
|
||||||
// Type-erase and add to the pruned Bayes Net fragment.
|
// Type-erase and add to the pruned Bayes Net fragment.
|
||||||
prunedBayesNetFragment.push_back(prunedGaussianMixture);
|
prunedBayesNetFragment.push_back(prunedHybridGaussianConditional);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// Add the non-HybridGaussianConditional conditional
|
// Add the non-HybridGaussianConditional conditional
|
||||||
|
|
|
@ -343,7 +343,7 @@ static std::shared_ptr<Factor> createDiscreteFactor(
|
||||||
|
|
||||||
// Create HybridGaussianFactor on the separator, taking care to correct
|
// Create HybridGaussianFactor on the separator, taking care to correct
|
||||||
// for conditional constants.
|
// for conditional constants.
|
||||||
static std::shared_ptr<Factor> createGaussianMixtureFactor(
|
static std::shared_ptr<Factor> createHybridGaussianFactor(
|
||||||
const DecisionTree<Key, Result> &eliminationResults,
|
const DecisionTree<Key, Result> &eliminationResults,
|
||||||
const KeyVector &continuousSeparator,
|
const KeyVector &continuousSeparator,
|
||||||
const DiscreteKeys &discreteSeparator) {
|
const DiscreteKeys &discreteSeparator) {
|
||||||
|
@ -405,7 +405,7 @@ hybridElimination(const HybridGaussianFactorGraph &factors,
|
||||||
auto newFactor =
|
auto newFactor =
|
||||||
continuousSeparator.empty()
|
continuousSeparator.empty()
|
||||||
? createDiscreteFactor(eliminationResults, discreteSeparator)
|
? createDiscreteFactor(eliminationResults, discreteSeparator)
|
||||||
: createGaussianMixtureFactor(eliminationResults, continuousSeparator,
|
: createHybridGaussianFactor(eliminationResults, continuousSeparator,
|
||||||
discreteSeparator);
|
discreteSeparator);
|
||||||
|
|
||||||
// Create the HybridGaussianConditional from the conditionals
|
// Create the HybridGaussianConditional from the conditionals
|
||||||
|
|
|
@ -188,7 +188,7 @@ class HybridNonlinearFactor : public HybridFactor {
|
||||||
const KeyFormatter& keyFormatter = DefaultKeyFormatter) const override {
|
const KeyFormatter& keyFormatter = DefaultKeyFormatter) const override {
|
||||||
std::cout << (s.empty() ? "" : s + " ");
|
std::cout << (s.empty() ? "" : s + " ");
|
||||||
Base::print("", keyFormatter);
|
Base::print("", keyFormatter);
|
||||||
std::cout << "\nMixtureFactor\n";
|
std::cout << "\nHybridNonlinearFactor\n";
|
||||||
auto valueFormatter = [](const sharedFactor& v) {
|
auto valueFormatter = [](const sharedFactor& v) {
|
||||||
if (v) {
|
if (v) {
|
||||||
return "Nonlinear factor on " + std::to_string(v->size()) + " keys";
|
return "Nonlinear factor on " + std::to_string(v->size()) + " keys";
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file testGaussianMixture.cpp
|
* @file testHybridGaussianConditional.cpp
|
||||||
* @brief Unit tests for HybridGaussianConditional class
|
* @brief Unit tests for HybridGaussianConditional class
|
||||||
* @author Varun Agrawal
|
* @author Varun Agrawal
|
||||||
* @author Fan Jiang
|
* @author Fan Jiang
|
||||||
|
|
|
@ -73,7 +73,7 @@ HybridNonlinearFactor
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
static HybridNonlinearFactor getMixtureFactor() {
|
static HybridNonlinearFactor getHybridNonlinearFactor() {
|
||||||
DiscreteKey m1(1, 2);
|
DiscreteKey m1(1, 2);
|
||||||
|
|
||||||
double between0 = 0.0;
|
double between0 = 0.0;
|
||||||
|
@ -94,7 +94,7 @@ static HybridNonlinearFactor getMixtureFactor() {
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
// Test the error of the HybridNonlinearFactor
|
// Test the error of the HybridNonlinearFactor
|
||||||
TEST(HybridNonlinearFactor, Error) {
|
TEST(HybridNonlinearFactor, Error) {
|
||||||
auto mixtureFactor = getMixtureFactor();
|
auto mixtureFactor = getHybridNonlinearFactor();
|
||||||
|
|
||||||
Values continuousValues;
|
Values continuousValues;
|
||||||
continuousValues.insert<double>(X(1), 0);
|
continuousValues.insert<double>(X(1), 0);
|
||||||
|
@ -114,7 +114,7 @@ TEST(HybridNonlinearFactor, Error) {
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
// Test dim of the HybridNonlinearFactor
|
// Test dim of the HybridNonlinearFactor
|
||||||
TEST(HybridNonlinearFactor, Dim) {
|
TEST(HybridNonlinearFactor, Dim) {
|
||||||
auto mixtureFactor = getMixtureFactor();
|
auto mixtureFactor = getHybridNonlinearFactor();
|
||||||
EXPECT_LONGS_EQUAL(1, mixtureFactor.dim());
|
EXPECT_LONGS_EQUAL(1, mixtureFactor.dim());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,21 +51,21 @@ BOOST_CLASS_EXPORT_GUID(ADT, "gtsam_AlgebraicDecisionTree");
|
||||||
BOOST_CLASS_EXPORT_GUID(ADT::Leaf, "gtsam_AlgebraicDecisionTree_Leaf");
|
BOOST_CLASS_EXPORT_GUID(ADT::Leaf, "gtsam_AlgebraicDecisionTree_Leaf");
|
||||||
BOOST_CLASS_EXPORT_GUID(ADT::Choice, "gtsam_AlgebraicDecisionTree_Choice")
|
BOOST_CLASS_EXPORT_GUID(ADT::Choice, "gtsam_AlgebraicDecisionTree_Choice")
|
||||||
|
|
||||||
BOOST_CLASS_EXPORT_GUID(HybridGaussianFactor, "gtsam_GaussianMixtureFactor");
|
BOOST_CLASS_EXPORT_GUID(HybridGaussianFactor, "gtsam_HybridGaussianFactor");
|
||||||
BOOST_CLASS_EXPORT_GUID(HybridGaussianFactor::Factors,
|
BOOST_CLASS_EXPORT_GUID(HybridGaussianFactor::Factors,
|
||||||
"gtsam_GaussianMixtureFactor_Factors");
|
"gtsam_HybridGaussianFactor_Factors");
|
||||||
BOOST_CLASS_EXPORT_GUID(HybridGaussianFactor::Factors::Leaf,
|
BOOST_CLASS_EXPORT_GUID(HybridGaussianFactor::Factors::Leaf,
|
||||||
"gtsam_GaussianMixtureFactor_Factors_Leaf");
|
"gtsam_HybridGaussianFactor_Factors_Leaf");
|
||||||
BOOST_CLASS_EXPORT_GUID(HybridGaussianFactor::Factors::Choice,
|
BOOST_CLASS_EXPORT_GUID(HybridGaussianFactor::Factors::Choice,
|
||||||
"gtsam_GaussianMixtureFactor_Factors_Choice");
|
"gtsam_HybridGaussianFactor_Factors_Choice");
|
||||||
|
|
||||||
BOOST_CLASS_EXPORT_GUID(HybridGaussianConditional, "gtsam_GaussianMixture");
|
BOOST_CLASS_EXPORT_GUID(HybridGaussianConditional, "gtsam_HybridGaussianConditional");
|
||||||
BOOST_CLASS_EXPORT_GUID(HybridGaussianConditional::Conditionals,
|
BOOST_CLASS_EXPORT_GUID(HybridGaussianConditional::Conditionals,
|
||||||
"gtsam_GaussianMixture_Conditionals");
|
"gtsam_HybridGaussianConditional_Conditionals");
|
||||||
BOOST_CLASS_EXPORT_GUID(HybridGaussianConditional::Conditionals::Leaf,
|
BOOST_CLASS_EXPORT_GUID(HybridGaussianConditional::Conditionals::Leaf,
|
||||||
"gtsam_GaussianMixture_Conditionals_Leaf");
|
"gtsam_HybridGaussianConditional_Conditionals_Leaf");
|
||||||
BOOST_CLASS_EXPORT_GUID(HybridGaussianConditional::Conditionals::Choice,
|
BOOST_CLASS_EXPORT_GUID(HybridGaussianConditional::Conditionals::Choice,
|
||||||
"gtsam_GaussianMixture_Conditionals_Choice");
|
"gtsam_HybridGaussianConditional_Conditionals_Choice");
|
||||||
// Needed since GaussianConditional::FromMeanAndStddev uses it
|
// Needed since GaussianConditional::FromMeanAndStddev uses it
|
||||||
BOOST_CLASS_EXPORT_GUID(noiseModel::Isotropic, "gtsam_noiseModel_Isotropic");
|
BOOST_CLASS_EXPORT_GUID(noiseModel::Isotropic, "gtsam_noiseModel_Isotropic");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue