The normalization was returning +log(eta) instead of -log(eta), where eta is the normalization constant for a multivariate Gaussian.
Deleting the DCMixtureFactor.h specialization of nonlinearFactorLogNormalizingConstant allowed the calculation to fall back to the correctly implemented function in DCFactor.h.
I added a new test in dccontinuous_mixture that now passes.
The normalization was returning
+log(eta)
instead of-log(eta)
, where eta is the normalization constant for a multivariate Gaussian.Deleting the
DCMixtureFactor.h
specialization ofnonlinearFactorLogNormalizingConstant
allowed the calculation to fall back to the correctly implemented function inDCFactor.h
.I added a new test in
dccontinuous_mixture
that now passes.