remove ComputeLogNormalizer function

release/4.3a0
Varun Agrawal 2024-08-22 14:44:54 -04:00
parent cd9ee08457
commit 91ccbebf22
2 changed files with 0 additions and 28 deletions

View File

@ -120,20 +120,4 @@ double GaussianMixtureFactor::error(const HybridValues &values) const {
return gf->error(values.continuous());
}
/* *******************************************************************************/
double ComputeLogNormalizer(
const noiseModel::Gaussian::shared_ptr &noise_model) {
// Since noise models are Gaussian, we can get the logDeterminant using
// the same trick as in GaussianConditional
double logDetR = noise_model->R()
.diagonal()
.unaryExpr([](double x) { return log(x); })
.sum();
double logDeterminantSigma = -2.0 * logDetR;
size_t n = noise_model->dim();
constexpr double log2pi = 1.8378770664093454835606594728112;
return n * log2pi + logDeterminantSigma;
}
} // namespace gtsam

View File

@ -171,16 +171,4 @@ template <>
struct traits<GaussianMixtureFactor> : public Testable<GaussianMixtureFactor> {
};
/**
* @brief Helper function to compute the sqrt(|2πΣ|) normalizer values
* for a Gaussian noise model.
* We compute this in the log-space for numerical accuracy.
*
* @param noise_model The Gaussian noise model
* whose normalizer we wish to compute.
* @return double
*/
GTSAM_EXPORT double ComputeLogNormalizer(
const noiseModel::Gaussian::shared_ptr &noise_model);
} // namespace gtsam