diff --git a/math/distribution/NormalN.h b/math/distribution/NormalN.h index bb332c4..b30c4d9 100644 --- a/math/distribution/NormalN.h +++ b/math/distribution/NormalN.h @@ -91,7 +91,12 @@ namespace Distribution { Assert::notEqual(numElements, 0, "data is empty, thats not enough for getting the distribution!"); const Eigen::MatrixXd centered = data.rowwise() - mean.transpose(); - const Eigen::MatrixXd cov = (centered.adjoint() * centered) / double(data.rows() - 1); + Eigen::MatrixXd cov = (centered.adjoint() * centered) / double(data.rows() - 1); + + //this is a hack + if(cov(2,2) < 0.1){ + cov(2,2) = 0.1; + } return NormalDistributionN(mean, cov); }