Remove one bougie constructor
parent
85e57f1c20
commit
3a5d7a4648
|
@ -62,21 +62,6 @@ struct HybridGaussianConditional::ConstructorHelper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Construct from means and a single sigma.
|
|
||||||
ConstructorHelper(Key x, const DiscreteKey mode,
|
|
||||||
const std::vector<Vector> &means, double sigma)
|
|
||||||
: nrFrontals(1), minNegLogConstant(0) {
|
|
||||||
std::vector<GaussianConditional::shared_ptr> gcs;
|
|
||||||
for (const auto &mean : means) {
|
|
||||||
auto c = GaussianConditional::sharedMeanAndStddev(x, mean, sigma);
|
|
||||||
gcs.push_back(c);
|
|
||||||
}
|
|
||||||
conditionals = Conditionals({mode}, gcs);
|
|
||||||
pairs = FactorValuePairs(conditionals, [](const auto &c) {
|
|
||||||
return GaussianFactorValuePair{c, 0.0};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Construct from means and a sigmas.
|
/// Construct from means and a sigmas.
|
||||||
ConstructorHelper(Key x, const DiscreteKey mode,
|
ConstructorHelper(Key x, const DiscreteKey mode,
|
||||||
const std::vector<std::pair<Vector, double>> ¶meters)
|
const std::vector<std::pair<Vector, double>> ¶meters)
|
||||||
|
@ -110,12 +95,6 @@ HybridGaussianConditional::HybridGaussianConditional(
|
||||||
: HybridGaussianConditional(DiscreteKeys{mode},
|
: HybridGaussianConditional(DiscreteKeys{mode},
|
||||||
Conditionals({mode}, conditionals)) {}
|
Conditionals({mode}, conditionals)) {}
|
||||||
|
|
||||||
HybridGaussianConditional::HybridGaussianConditional(
|
|
||||||
Key x, const DiscreteKey mode, const std::vector<Vector> &means,
|
|
||||||
double sigma)
|
|
||||||
: HybridGaussianConditional(DiscreteKeys{mode},
|
|
||||||
ConstructorHelper(x, mode, means, sigma)) {}
|
|
||||||
|
|
||||||
HybridGaussianConditional::HybridGaussianConditional(
|
HybridGaussianConditional::HybridGaussianConditional(
|
||||||
Key x, const DiscreteKey mode,
|
Key x, const DiscreteKey mode,
|
||||||
const std::vector<std::pair<Vector, double>> ¶meters)
|
const std::vector<std::pair<Vector, double>> ¶meters)
|
||||||
|
|
|
@ -87,17 +87,6 @@ class GTSAM_EXPORT HybridGaussianConditional
|
||||||
const DiscreteKey &mode,
|
const DiscreteKey &mode,
|
||||||
const std::vector<GaussianConditional::shared_ptr> &conditionals);
|
const std::vector<GaussianConditional::shared_ptr> &conditionals);
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Construct from vector of means and a single sigma.
|
|
||||||
*
|
|
||||||
* @param x The continuous key.
|
|
||||||
* @param mode The discrete key.
|
|
||||||
* @param means The means for the Gaussian conditionals.
|
|
||||||
* @param sigma The standard deviation for the Gaussian conditionals.
|
|
||||||
*/
|
|
||||||
HybridGaussianConditional(Key x, const DiscreteKey mode,
|
|
||||||
const std::vector<Vector> &means, double sigma);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Construct from vector of means and sigmas.
|
* @brief Construct from vector of means and sigmas.
|
||||||
*
|
*
|
||||||
|
|
|
@ -80,8 +80,9 @@ TEST(GaussianMixture, GaussianMixtureModel) {
|
||||||
double sigma = 2.0;
|
double sigma = 2.0;
|
||||||
|
|
||||||
HybridBayesNet hbn;
|
HybridBayesNet hbn;
|
||||||
std::vector<Vector> means{Vector1(mu0), Vector1(mu1)};
|
std::vector<std::pair<Vector, double>> parameters{{Vector1(mu0), sigma},
|
||||||
hbn.emplace_shared<HybridGaussianConditional>(Z(0), m, means, sigma);
|
{Vector1(mu1), sigma}};
|
||||||
|
hbn.emplace_shared<HybridGaussianConditional>(Z(0), m, parameters);
|
||||||
hbn.push_back(mixing);
|
hbn.push_back(mixing);
|
||||||
|
|
||||||
// At the halfway point between the means, we should get P(m|z)=0.5
|
// At the halfway point between the means, we should get P(m|z)=0.5
|
||||||
|
|
Loading…
Reference in New Issue