25 template <
class TDATA,
size_t STATE_LEN>
40 virtual void getMean(TDATA& mean_point)
const = 0;
48 TDATA& mean_point)
const = 0;
153 size_t N, std::vector<mrpt::math::CVectorDouble>& outSamples)
const
155 outSamples.resize(N);
157 for (
size_t i = 0; i < N; i++)
160 pnt.getAsVector(outSamples[i]);
170 static const double ln_2PI = 1.8378770664093454835606594728112;
171 return 0.5 * (STATE_LEN + STATE_LEN * ln_2PI +
174 std::numeric_limits<double>::epsilon())));
A numeric matrix of compile-time fixed size.
A generic template for probability density distributions (PDFs).
void getCovariance(mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov) const
Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > getCovariance() const
Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
void getCovarianceDynAndMean(mrpt::math::CMatrixDouble &cov, TDATA &mean_point) const
Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean,...
virtual void getMean(TDATA &mean_point) const =0
Returns the mean, or mathematical expectation of the probability density distribution (PDF).
virtual void getInformationMatrix(mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &inf) const
Returns the information (inverse covariance) matrix (a STATE_LEN x STATE_LEN matrix) Unless reimpleme...
TDATA getMeanVal() const
Returns the mean, or mathematical expectation of the probability density distribution (PDF).
virtual void getCovarianceAndMean(mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov, TDATA &mean_point) const =0
Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean,...
static constexpr size_t state_length
The length of the variable, for example, 3 for a 3D point, 6 for a 3D pose (x y z yaw pitch roll).
void getCovariance(mrpt::math::CMatrixDouble &cov) const
Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
virtual void drawSingleSample(TDATA &outPart) const =0
Draws a single sample from the distribution.
virtual bool isInfType() const
Returns whether the class instance holds the uncertainty in covariance or information form.
double getCovarianceEntropy() const
Compute the entropy of the estimated covariance matrix.
virtual bool saveToTextFile(const std::string &file) const =0
Save PDF's particles to a text file.
virtual void drawManySamples(size_t N, std::vector< mrpt::math::CVectorDouble > &outSamples) const
Draws a number of samples from the distribution, and saves as a list of 1xSTATE_LEN vectors,...
TDATA type_value
The type of the state the PDF represents.
EIGEN_STRONG_INLINE Scalar det() const
GLsizei const GLchar ** string
This base provides a set of functions for maths stuff.
Eigen::Matrix< typename MATRIX::Scalar, MATRIX::ColsAtCompileTime, MATRIX::ColsAtCompileTime > cov(const MATRIX &v)
Computes the covariance matrix from a list of samples in an NxM matrix, where each row is a sample,...