Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 6802

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Statistics functions, probability distributions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Statistics functions, probability distributions</div>  </div>
<div class="ingroups"><a class="el" href="group__mrpt__base__grp.html">[mrpt-base]</a></div></div>
<div class="contents">
<div class="dynheader">
Collaboration diagram for Statistics functions, probability distributions:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group__stats__grp.png" border="0" alt="" usemap="#group____stats____grp"/>
<map name="group____stats____grp" id="group____stats____grp">
<area shape="rect" id="node2" href="group__mrpt__base__grp.html" title=" Back to list of all libraries | See all modules &#160;&#160;" alt="" coords="5,5,93,32"/></map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1detail.html">mrpt::math::detail</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga2ec8bf7897f7b8b0fee1ca9ae46443bb">mrpt::math::normalPDF</a> (double x, double mu, double std)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the univariate normal (Gaussian) distribution at a given point "x".  <a href="#ga2ec8bf7897f7b8b0fee1ca9ae46443bb"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTORLIKE1 , class VECTORLIKE2 , class MATRIXLIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">MATRIXLIKE::value_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gadeb42799aea7897137bfb75ea7de4ebf">mrpt::math::normalPDF</a> (const VECTORLIKE1 &amp;x, const VECTORLIKE2 &amp;mu, const MATRIXLIKE &amp;cov, const bool scaled_pdf=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the multivariate normal (Gaussian) distribution at a given point "x".  <a href="#gadeb42799aea7897137bfb75ea7de4ebf"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename VECTORLIKE , typename MATRIXLIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">MATRIXLIKE::value_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gac921a40dc9d7a5d14fb8333300111e86">mrpt::math::normalPDF</a> (const VECTORLIKE &amp;d, const MATRIXLIKE &amp;cov)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the multivariate normal (Gaussian) distribution at a given point given its distance vector "d" from the Gaussian mean.  <a href="#gac921a40dc9d7a5d14fb8333300111e86"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename VECTORLIKE1 , typename MATRIXLIKE1 , typename VECTORLIKE2 , typename MATRIXLIKE2 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">double&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga9ddb4b383120316162071a6c125537ef">mrpt::math::KLD_Gaussians</a> (const VECTORLIKE1 &amp;mu0, const MATRIXLIKE1 &amp;cov0, const VECTORLIKE2 &amp;mu1, const MATRIXLIKE2 &amp;cov1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Kullback-Leibler divergence (KLD) between two independent multivariate Gaussians.  <a href="#ga9ddb4b383120316162071a6c125537ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga700b695a783f89132853f9a3cbf37abf">mrpt::math::erfc</a> (double x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The complementary error function of a Normal distribution.  <a href="#ga700b695a783f89132853f9a3cbf37abf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga31b77faefe845a607e6661c2a24e7e5f">mrpt::math::erf</a> (double x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The error function of a Normal distribution.  <a href="#ga31b77faefe845a607e6661c2a24e7e5f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gae1e6f25a0c6a318d6edd2bc9ef124bed">mrpt::math::normalQuantile</a> (double p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the Gaussian distribution quantile for the probability value p=[0,1].  <a href="#gae1e6f25a0c6a318d6edd2bc9ef124bed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga09f5b985d95b570e05c2b9cef91865b0">mrpt::math::normalCDF</a> (double p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the Gaussian cumulative density function.  <a href="#ga09f5b985d95b570e05c2b9cef91865b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga68b8a2208349a297c19f3a45c24457b1">mrpt::math::chi2inv</a> (double P, unsigned int dim=1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The "quantile" of the Chi-Square distribution, for dimension "dim" and probability 0&lt;P&lt;1 (the inverse of chi2CDF) An aproximation from the Wilson-Hilferty transformation is used.  <a href="#ga68b8a2208349a297c19f3a45c24457b1"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">double&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga3bff4b9c33b2b9b2982ce7358cd16039">mrpt::math::noncentralChi2CDF</a> (unsigned int degreesOfFreedom, T noncentrality, T arg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gadaf15d0ae96eb360f18107703ff8ffc9">mrpt::math::chi2CDF</a> (unsigned int degreesOfFreedom, double arg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga031b06489a1ba993cc1200e4da42dfac">mrpt::math::chi2PDF</a> (unsigned int degreesOfFreedom, double arg, double accuracy=1e-7)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename CONTAINER &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga11d16d8fc45991a4676b7200ec69465a">mrpt::math::condidenceIntervals</a> (const CONTAINER &amp;data, typename <a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">CONTAINER::value_type</a> &amp;out_mean, typename <a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">CONTAINER::value_type</a> &amp;out_lower_conf_interval, typename <a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">CONTAINER::value_type</a> &amp;out_upper_conf_interval, const double confidenceInterval=0.1, const size_t histogramNumBins=1000)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the mean and the 10%-90% confidence points (or with any other confidence value) of a set of samples by building the cummulative CDF of all the elements of the container.  <a href="#ga11d16d8fc45991a4676b7200ec69465a"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTOR_OF_VECTORS , class MATRIXLIKE , class VECTORLIKE , class VECTORLIKE2 , class VECTORLIKE3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gaf0a0f292b7248680014f55effd35873f">mrpt::math::covariancesAndMeanWeighted</a> (const VECTOR_OF_VECTORS &amp;elements, MATRIXLIKE &amp;covariances, VECTORLIKE &amp;means, const VECTORLIKE2 *weights_mean, const VECTORLIKE3 *weights_cov, const bool *elem_do_wrap2pi=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes covariances and mean of any vector of containers, given optional weights for the different samples.  <a href="#gaf0a0f292b7248680014f55effd35873f"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTOR_OF_VECTORS , class MATRIXLIKE , class VECTORLIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gaa1cf7357c4043fb790efe19d3f6c2b7d">mrpt::math::covariancesAndMean</a> (const VECTOR_OF_VECTORS &amp;elements, MATRIXLIKE &amp;covariances, VECTORLIKE &amp;means, const bool *elem_do_wrap2pi=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes covariances and mean of any vector of containers.  <a href="#gaa1cf7357c4043fb790efe19d3f6c2b7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga6cb458d9d6c45fae59084fc57e88666b">mrpt::math::averageLogLikelihood</a> (const vector_double &amp;logLikelihoods)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A numerically-stable method to compute average likelihood values with strongly different ranges (unweighted likelihoods: compute the arithmetic mean).  <a href="#ga6cb458d9d6c45fae59084fc57e88666b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga3bd9ff688b42b58bd8c2f5d6f420868f">mrpt::math::averageWrap2Pi</a> (const vector_double &amp;angles)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the average of a sequence of angles in radians taking into account the correct wrapping in the range <img class="formulaInl" alt="$ ]-\pi,\pi [ $" src="form_36.png"/>, for example, the mean of (2,-2) is <img class="formulaInl" alt="$ \pi $" src="form_37.png"/>, not 0.  <a href="#ga3bd9ff688b42b58bd8c2f5d6f420868f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gaecd0c40688b7bd9e4554e8180f05f07a">mrpt::math::averageLogLikelihood</a> (const vector_double &amp;logWeights, const vector_double &amp;logLikelihoods)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A numerically-stable method to average likelihood values with strongly different ranges (weighted likelihoods).  <a href="#gaecd0c40688b7bd9e4554e8180f05f07a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a> BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga9cbd4ab1844fcd749cfafff8a5f592a1">mrpt::math::MATLAB_plotCovariance2D</a> (const CMatrixFloat &amp;cov22, const vector_float &amp;mean, const float &amp;stdCount, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;style=<a class="el" href="classstd_1_1string.html">std::string</a>(&quot;b&quot;), const size_t &amp;nEllipsePoints=30)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a string with the MATLAB commands required to plot an confidence interval (ellipse) for a 2D Gaussian ('float' version).  <a href="#ga9cbd4ab1844fcd749cfafff8a5f592a1"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Probability density distributions (pdf) distance metrics</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTORLIKE1 , class VECTORLIKE2 , class MAT &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">VECTORLIKE1::value_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga83890daff9ce929f7acd216a5a248842">mrpt::math::mahalanobisDistance2</a> (const VECTORLIKE1 &amp;X, const VECTORLIKE2 &amp;MU, const MAT &amp;COV)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the squared mahalanobis distance of a vector X given the mean MU and the covariance *inverse* COV_inv </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ d^2 = (X-MU)^\top \Sigma^{-1} (X-MU) \]" src="form_39.png"/>
</p>
<p>.  <a href="#ga83890daff9ce929f7acd216a5a248842"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTORLIKE1 , class VECTORLIKE2 , class MAT &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">VECTORLIKE1::value_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga9f4f0d1f3c898ec9b9017aa4632ff977">mrpt::math::mahalanobisDistance</a> (const VECTORLIKE1 &amp;X, const VECTORLIKE2 &amp;MU, const MAT &amp;COV)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the mahalanobis distance of a vector X given the mean MU and the covariance *inverse* COV_inv </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ d = \sqrt{ (X-MU)^\top \Sigma^{-1} (X-MU) } \]" src="form_40.png"/>
</p>
<p>.  <a href="#ga9f4f0d1f3c898ec9b9017aa4632ff977"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTORLIKE , class MAT1 , class MAT2 , class MAT3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">VECTORLIKE::value_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga4bdd42229480454da8a1ffa6c31266f4">mrpt::math::mahalanobisDistance2</a> (const VECTORLIKE &amp;mean_diffs, const MAT1 &amp;COV1, const MAT2 &amp;COV2, const MAT3 &amp;CROSS_COV12)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the squared mahalanobis distance between two *non-independent* Gaussians, given the two covariance matrices and the vector with the difference of their means.  <a href="#ga4bdd42229480454da8a1ffa6c31266f4"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTORLIKE , class MAT1 , class MAT2 , class MAT3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">VECTORLIKE::value_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gad92bbaa6ff21979851cd068b575b1cc4">mrpt::math::mahalanobisDistance</a> (const VECTORLIKE &amp;mean_diffs, const MAT1 &amp;COV1, const MAT2 &amp;COV2, const MAT3 &amp;CROSS_COV12)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the mahalanobis distance between two *non-independent* Gaussians (or independent if CROSS_COV12=NULL), given the two covariance matrices and the vector with the difference of their means.  <a href="#gad92bbaa6ff21979851cd068b575b1cc4"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTORLIKE , class MATRIXLIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">MATRIXLIKE::value_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga6d3521a4e3b2ff5d55d8762108e6c8e4">mrpt::math::mahalanobisDistance2</a> (const VECTORLIKE &amp;delta_mu, const MATRIXLIKE &amp;cov)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the squared mahalanobis distance between a point and a Gaussian, given the covariance matrix and the vector with the difference between the mean and the point.  <a href="#ga6d3521a4e3b2ff5d55d8762108e6c8e4"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTORLIKE , class MATRIXLIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">MATRIXLIKE::value_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga90f3038071d69c2b7dced52af44e4944">mrpt::math::mahalanobisDistance</a> (const VECTORLIKE &amp;delta_mu, const MATRIXLIKE &amp;cov)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the mahalanobis distance between a point and a Gaussian, given the covariance matrix and the vector with the difference between the mean and the point.  <a href="#ga90f3038071d69c2b7dced52af44e4944"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga668be07e32223bceb4ff0100f8f860fc">mrpt::math::productIntegralTwoGaussians</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;mean_diffs, const CMatrixTemplateNumeric&lt; T &gt; &amp;COV1, const CMatrixTemplateNumeric&lt; T &gt; &amp;COV2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the integral of the product of two Gaussians, with means separated by "mean_diffs" and covariances "COV1" and "COV2".  <a href="#ga668be07e32223bceb4ff0100f8f860fc"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , size_t DIM&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gaa31d217d82b559612958855947f79084">mrpt::math::productIntegralTwoGaussians</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;mean_diffs, const CMatrixFixedNumeric&lt; T, DIM, DIM &gt; &amp;COV1, const CMatrixFixedNumeric&lt; T, DIM, DIM &gt; &amp;COV2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the integral of the product of two Gaussians, with means separated by "mean_diffs" and covariances "COV1" and "COV2".  <a href="#gaa31d217d82b559612958855947f79084"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , class VECLIKE , class MATLIKE1 , class MATLIKE2 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga0080dc1b4ea2d89d56fdde37f2ada9bf">mrpt::math::productIntegralAndMahalanobisTwoGaussians</a> (const VECLIKE &amp;mean_diffs, const MATLIKE1 &amp;COV1, const MATLIKE2 &amp;COV2, T &amp;maha2_out, T &amp;intprod_out, const MATLIKE1 *CROSS_COV12=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes both, the integral of the product of two Gaussians and their square Mahalanobis distance.  <a href="#ga0080dc1b4ea2d89d56fdde37f2ada9bf"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , class VECLIKE , class MATRIXLIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#ga69052bc18d0891a7b1d9fb02ab525e3b">mrpt::math::mahalanobisDistance2AndLogPDF</a> (const VECLIKE &amp;diff_mean, const MATRIXLIKE &amp;cov, T &amp;maha2_out, T &amp;log_pdf_out)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes both, the logarithm of the PDF and the square Mahalanobis distance between a point (given by its difference wrt the mean) and a Gaussian.  <a href="#ga69052bc18d0891a7b1d9fb02ab525e3b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , class VECLIKE , class MATRIXLIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__stats__grp.html#gaf3c8a238490b9bfcaf2f2631fb7c2ed2">mrpt::math::mahalanobisDistance2AndPDF</a> (const VECLIKE &amp;diff_mean, const MATRIXLIKE &amp;cov, T &amp;maha2_out, T &amp;pdf_out)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes both, the PDF and the square Mahalanobis distance between a point (given by its difference wrt the mean) and a Gaussian.  <a href="#gaf3c8a238490b9bfcaf2f2631fb7c2ed2"></a><br/></td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga6cb458d9d6c45fae59084fc57e88666b"></a><!-- doxytag: member="mrpt::math::averageLogLikelihood" ref="ga6cb458d9d6c45fae59084fc57e88666b" args="(const vector_double &amp;logLikelihoods)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double BASE_IMPEXP mrpt::math::averageLogLikelihood </td>
          <td>(</td>
          <td class="paramtype">const vector_double &amp;&#160;</td>
          <td class="paramname"><em>logLikelihoods</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A numerically-stable method to compute average likelihood values with strongly different ranges (unweighted likelihoods: compute the arithmetic mean). </p>
<p>This method implements this equation:</p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ return = - \log N + \log \sum_{i=1}^N e^{ll_i-ll_{max}} + ll_{max} \]" src="form_35.png"/>
</p>
<p>See also the <a href="http://www.mrpt.org/Averaging_Log-Likelihood_Values:Numerical_Stability">tutorial page</a>. </p>

<p>Referenced by <a class="el" href="_p_f__implementations_8h_source.html#l00354">mrpt::slam::PF_implementation::PF_SLAM_particlesEvaluator_AuxPFOptimal()</a>, and <a class="el" href="_p_f__implementations_8h_source.html#l00427">mrpt::slam::PF_implementation::PF_SLAM_particlesEvaluator_AuxPFStandard()</a>.</p>

</div>
</div>
<a class="anchor" id="gaecd0c40688b7bd9e4554e8180f05f07a"></a><!-- doxytag: member="mrpt::math::averageLogLikelihood" ref="gaecd0c40688b7bd9e4554e8180f05f07a" args="(const vector_double &amp;logWeights, const vector_double &amp;logLikelihoods)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double BASE_IMPEXP mrpt::math::averageLogLikelihood </td>
          <td>(</td>
          <td class="paramtype">const vector_double &amp;&#160;</td>
          <td class="paramname"><em>logWeights</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const vector_double &amp;&#160;</td>
          <td class="paramname"><em>logLikelihoods</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A numerically-stable method to average likelihood values with strongly different ranges (weighted likelihoods). </p>
<p>This method implements this equation:</p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ return = \log \left( \frac{1}{\sum_i e^{lw_i}} \sum_i e^{lw_i} e^{ll_i} \right) \]" src="form_38.png"/>
</p>
<p>See also the <a href="http://www.mrpt.org/Averaging_Log-Likelihood_Values:Numerical_Stability">tutorial page</a>. </p>

</div>
</div>
<a class="anchor" id="ga3bd9ff688b42b58bd8c2f5d6f420868f"></a><!-- doxytag: member="mrpt::math::averageWrap2Pi" ref="ga3bd9ff688b42b58bd8c2f5d6f420868f" args="(const vector_double &amp;angles)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double BASE_IMPEXP mrpt::math::averageWrap2Pi </td>
          <td>(</td>
          <td class="paramtype">const vector_double &amp;&#160;</td>
          <td class="paramname"><em>angles</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the average of a sequence of angles in radians taking into account the correct wrapping in the range <img class="formulaInl" alt="$ ]-\pi,\pi [ $" src="form_36.png"/>, for example, the mean of (2,-2) is <img class="formulaInl" alt="$ \pi $" src="form_37.png"/>, not 0. </p>

</div>
</div>
<a class="anchor" id="gadaf15d0ae96eb360f18107703ff8ffc9"></a><!-- doxytag: member="mrpt::math::chi2CDF" ref="gadaf15d0ae96eb360f18107703ff8ffc9" args="(unsigned int degreesOfFreedom, double arg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::math::chi2CDF </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>degreesOfFreedom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Cumulative chi square distribution.</p>
<p>Computes the cumulative density of a chi square distribution with <em>degreesOfFreedom</em> and tolerance <em>accuracy</em> at the given argument <em>arg</em>, i.e. the probability that a random number drawn from the distribution is below <em>arg</em> by calling <code>noncentralChi2CDF(degreesOfFreedom, 0.0, arg, accuracy)</code>.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Function code from the Vigra project (<a href="http://hci.iwr.uni-heidelberg.de/vigra/">http://hci.iwr.uni-heidelberg.de/vigra/</a>); code under "MIT X11 License", GNU GPL-compatible. </dd></dl>

<p>Definition at line <a class="el" href="distributions_8h_source.html#l00176">176</a> of file <a class="el" href="distributions_8h_source.html">distributions.h</a>.</p>

<p>References <a class="el" href="distributions_8h_source.html#l00159">mrpt::math::noncentralChi2CDF()</a>.</p>

</div>
</div>
<a class="anchor" id="ga68b8a2208349a297c19f3a45c24457b1"></a><!-- doxytag: member="mrpt::math::chi2inv" ref="ga68b8a2208349a297c19f3a45c24457b1" args="(double P, unsigned int dim=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double BASE_IMPEXP mrpt::math::chi2inv </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>dim</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The "quantile" of the Chi-Square distribution, for dimension "dim" and probability 0&lt;P&lt;1 (the inverse of chi2CDF) An aproximation from the Wilson-Hilferty transformation is used. </p>

<p>Referenced by <a class="el" href="_p_f__implementations_8h_source.html#l00172">mrpt::slam::PF_implementation::PF_SLAM_implementation_pfStandardProposal()</a>, and <a class="el" href="_p_f__implementations_8h_source.html#l00518">mrpt::slam::PF_implementation::PF_SLAM_implementation_pfAuxiliaryPFStandardAndOptimal()</a>.</p>

</div>
</div>
<a class="anchor" id="ga031b06489a1ba993cc1200e4da42dfac"></a><!-- doxytag: member="mrpt::math::chi2PDF" ref="ga031b06489a1ba993cc1200e4da42dfac" args="(unsigned int degreesOfFreedom, double arg, double accuracy=1e&#45;7)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::math::chi2PDF </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>degreesOfFreedom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>accuracy</em> = <code>1e-7</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Chi square distribution.</p>
<p>Computes the density of a chi square distribution with <em>degreesOfFreedom</em> and tolerance <em>accuracy</em> at the given argument <em>arg</em> by calling <code>noncentralChi2(degreesOfFreedom, 0.0, arg, accuracy)</code>.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Function code from the Vigra project (<a href="http://hci.iwr.uni-heidelberg.de/vigra/">http://hci.iwr.uni-heidelberg.de/vigra/</a>); code under "MIT X11 License", GNU GPL-compatible. </dd></dl>

<p>Definition at line <a class="el" href="distributions_8h_source.html#l00278">278</a> of file <a class="el" href="distributions_8h_source.html">distributions.h</a>.</p>

<p>References <a class="el" href="distributions_8h_source.html#l00201">mrpt::math::detail::noncentralChi2CDF_exact()</a>.</p>

</div>
</div>
<a class="anchor" id="ga11d16d8fc45991a4676b7200ec69465a"></a><!-- doxytag: member="mrpt::math::condidenceIntervals" ref="ga11d16d8fc45991a4676b7200ec69465a" args="(const CONTAINER &amp;data, typename CONTAINER::value_type &amp;out_mean, typename CONTAINER::value_type &amp;out_lower_conf_interval, typename CONTAINER::value_type &amp;out_upper_conf_interval, const double confidenceInterval=0.1, const size_t histogramNumBins=1000)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename CONTAINER &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::condidenceIntervals </td>
          <td>(</td>
          <td class="paramtype">const CONTAINER &amp;&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">CONTAINER::value_type</a> &amp;&#160;</td>
          <td class="paramname"><em>out_mean</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">CONTAINER::value_type</a> &amp;&#160;</td>
          <td class="paramname"><em>out_lower_conf_interval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">CONTAINER::value_type</a> &amp;&#160;</td>
          <td class="paramname"><em>out_upper_conf_interval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>confidenceInterval</em> = <code>0.1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>histogramNumBins</em> = <code>1000</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the mean and the 10%-90% confidence points (or with any other confidence value) of a set of samples by building the cummulative CDF of all the elements of the container. </p>
<p>The container can be any MRPT container (<a class="el" href="classmrpt_1_1math_1_1_c_array.html" title="A STL container (as wrapper) for arrays of constant size defined at compile time - Users will most li...">CArray</a>, matrices, vectors). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">confidenceInterval</td><td>A number in the range (0,1) such as the confidence interval will be [100*confidenceInterval, 100*(1-confidenceInterval)]. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="distributions_8h_source.html#l00288">288</a> of file <a class="el" href="distributions_8h_source.html">distributions.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, <a class="el" href="ops__containers_8h_source.html#l00220">mrpt::math::mean()</a>, <a class="el" href="ops__containers_8h_source.html#l00229">mrpt::math::minimum_maximum()</a>, <a class="el" href="ops__containers_8h_source.html#l00072">mrpt::math::histogram()</a>, <a class="el" href="ops__containers_8h_source.html#l00095">mrpt::math::cumsum()</a>, <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="gaa1cf7357c4043fb790efe19d3f6c2b7d"></a><!-- doxytag: member="mrpt::math::covariancesAndMean" ref="gaa1cf7357c4043fb790efe19d3f6c2b7d" args="(const VECTOR_OF_VECTORS &amp;elements, MATRIXLIKE &amp;covariances, VECTORLIKE &amp;means, const bool *elem_do_wrap2pi=NULL)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTOR_OF_VECTORS , class MATRIXLIKE , class VECTORLIKE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::covariancesAndMean </td>
          <td>(</td>
          <td class="paramtype">const VECTOR_OF_VECTORS &amp;&#160;</td>
          <td class="paramname"><em>elements</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MATRIXLIKE &amp;&#160;</td>
          <td class="paramname"><em>covariances</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">VECTORLIKE &amp;&#160;</td>
          <td class="paramname"><em>means</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool *&#160;</td>
          <td class="paramname"><em>elem_do_wrap2pi</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes covariances and mean of any vector of containers. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">elements</td><td>Any kind of vector of vectors/arrays, eg. std::vector&lt;vector_double&gt;, with all the input samples, each sample in a "row". </td></tr>
    <tr><td class="paramname">covariances</td><td>Output estimated covariance; it can be a fixed/dynamic matrix or a matrixview. </td></tr>
    <tr><td class="paramname">means</td><td>Output estimated mean; it can be vector_double/CArrayDouble, etc... </td></tr>
    <tr><td class="paramname">elem_do_wrap2pi</td><td>If !=NULL; it must point to an array of "bool" of <a class="el" href="namespacemrpt_1_1math.html#a632ae0aecf78103f87f18f9ac33f7170">size()</a>==dimension of each element, stating if it's needed to do a wrap to [-pi,pi] to each dimension. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00336">336</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>Referenced by <a class="el" href="transform__gaussian_8h_source.html#l00116">mrpt::math::transform_gaussian_montecarlo()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf0a0f292b7248680014f55effd35873f"></a><!-- doxytag: member="mrpt::math::covariancesAndMeanWeighted" ref="gaf0a0f292b7248680014f55effd35873f" args="(const VECTOR_OF_VECTORS &amp;elements, MATRIXLIKE &amp;covariances, VECTORLIKE &amp;means, const VECTORLIKE2 *weights_mean, const VECTORLIKE3 *weights_cov, const bool *elem_do_wrap2pi=NULL)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTOR_OF_VECTORS , class MATRIXLIKE , class VECTORLIKE , class VECTORLIKE2 , class VECTORLIKE3 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::covariancesAndMeanWeighted </td>
          <td>(</td>
          <td class="paramtype">const VECTOR_OF_VECTORS &amp;&#160;</td>
          <td class="paramname"><em>elements</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MATRIXLIKE &amp;&#160;</td>
          <td class="paramname"><em>covariances</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">VECTORLIKE &amp;&#160;</td>
          <td class="paramname"><em>means</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VECTORLIKE2 *&#160;</td>
          <td class="paramname"><em>weights_mean</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VECTORLIKE3 *&#160;</td>
          <td class="paramname"><em>weights_cov</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool *&#160;</td>
          <td class="paramname"><em>elem_do_wrap2pi</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes covariances and mean of any vector of containers, given optional weights for the different samples. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">elements</td><td>Any kind of vector of vectors/arrays, eg. std::vector&lt;vector_double&gt;, with all the input samples, each sample in a "row". </td></tr>
    <tr><td class="paramname">covariances</td><td>Output estimated covariance; it can be a fixed/dynamic matrix or a matrixview. </td></tr>
    <tr><td class="paramname">means</td><td>Output estimated mean; it can be vector_double/CArrayDouble, etc... </td></tr>
    <tr><td class="paramname">weights_mean</td><td>If !=NULL, it must point to a vector of <a class="el" href="namespacemrpt_1_1math.html#a632ae0aecf78103f87f18f9ac33f7170">size()</a>==number of elements, with normalized weights to take into account for the mean. </td></tr>
    <tr><td class="paramname">weights_cov</td><td>If !=NULL, it must point to a vector of <a class="el" href="namespacemrpt_1_1math.html#a632ae0aecf78103f87f18f9ac33f7170">size()</a>==number of elements, with normalized weights to take into account for the covariance. </td></tr>
    <tr><td class="paramname">elem_do_wrap2pi</td><td>If !=NULL; it must point to an array of "bool" of <a class="el" href="namespacemrpt_1_1math.html#a632ae0aecf78103f87f18f9ac33f7170">size()</a>==dimension of each element, stating if it's needed to do a wrap to [-pi,pi] to each dimension. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>This method is used in mrpt::math::unscented_transform_gaussian </dd></dl>

<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00233">233</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00281">ASSERTMSG_</a>, <a class="el" href="mrpt__macros_8h_source.html#l00304">ASSERTDEB_</a>, <a class="el" href="mrpt__macros_8h_source.html#l00383">M_PI</a>, <a class="el" href="mrpt__macros_8h_source.html#l00387">M_2PI</a>, and <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00188">mrpt::math::wrapToPi()</a>.</p>

<p>Referenced by <a class="el" href="transform__gaussian_8h_source.html#l00057">mrpt::math::transform_gaussian_unscented()</a>.</p>

</div>
</div>
<a class="anchor" id="ga31b77faefe845a607e6661c2a24e7e5f"></a><!-- doxytag: member="mrpt::math::erf" ref="ga31b77faefe845a607e6661c2a24e7e5f" args="(double x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double BASE_IMPEXP mrpt::math::erf </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The error function of a Normal distribution. </p>

<p>Referenced by <a class="el" href="distributions_8h_source.html#l00159">mrpt::math::noncentralChi2CDF()</a>, and <a class="el" href="distributions_8h_source.html#l00201">mrpt::math::detail::noncentralChi2CDF_exact()</a>.</p>

</div>
</div>
<a class="anchor" id="ga700b695a783f89132853f9a3cbf37abf"></a><!-- doxytag: member="mrpt::math::erfc" ref="ga700b695a783f89132853f9a3cbf37abf" args="(double x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double BASE_IMPEXP mrpt::math::erfc </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The complementary error function of a Normal distribution. </p>

</div>
</div>
<a class="anchor" id="ga9ddb4b383120316162071a6c125537ef"></a><!-- doxytag: member="mrpt::math::KLD_Gaussians" ref="ga9ddb4b383120316162071a6c125537ef" args="(const VECTORLIKE1 &amp;mu0, const MATRIXLIKE1 &amp;cov0, const VECTORLIKE2 &amp;mu1, const MATRIXLIKE2 &amp;cov1)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename VECTORLIKE1 , typename MATRIXLIKE1 , typename VECTORLIKE2 , typename MATRIXLIKE2 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::math::KLD_Gaussians </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE1 &amp;&#160;</td>
          <td class="paramname"><em>mu0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATRIXLIKE1 &amp;&#160;</td>
          <td class="paramname"><em>cov0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VECTORLIKE2 &amp;&#160;</td>
          <td class="paramname"><em>mu1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATRIXLIKE2 &amp;&#160;</td>
          <td class="paramname"><em>cov1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Kullback-Leibler divergence (KLD) between two independent multivariate Gaussians. </p>
<p><img class="formulaInl" alt="$ D_\mathrm{KL}(\mathcal{N}_0 \| \mathcal{N}_1) = { 1 \over 2 } ( \log_e ( { \det \Sigma_1 \over \det \Sigma_0 } ) + \mathrm{tr} ( \Sigma_1^{-1} \Sigma_0 ) + ( \mu_1 - \mu_0 )^\top \Sigma_1^{-1} ( \mu_1 - \mu_0 ) - N ) $" src="form_9.png"/> </p>

<p>Definition at line <a class="el" href="distributions_8h_source.html#l00099">99</a> of file <a class="el" href="distributions_8h_source.html">distributions.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, <a class="el" href="bits_8h_source.html#l00065">mrpt::math::size()</a>, <a class="el" href="ops__matrices_8h_source.html#l00160">mrpt::math::multiply_HCHt_scalar()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="ga9f4f0d1f3c898ec9b9017aa4632ff977"></a><!-- doxytag: member="mrpt::math::mahalanobisDistance" ref="ga9f4f0d1f3c898ec9b9017aa4632ff977" args="(const VECTORLIKE1 &amp;X, const VECTORLIKE2 &amp;MU, const MAT &amp;COV)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTORLIKE1 , class VECTORLIKE2 , class MAT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">VECTORLIKE1::value_type</a> mrpt::math::mahalanobisDistance </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE1 &amp;&#160;</td>
          <td class="paramname"><em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VECTORLIKE2 &amp;&#160;</td>
          <td class="paramname"><em>MU</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MAT &amp;&#160;</td>
          <td class="paramname"><em>COV</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the mahalanobis distance of a vector X given the mean MU and the covariance *inverse* COV_inv </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ d = \sqrt{ (X-MU)^\top \Sigma^{-1} (X-MU) } \]" src="form_40.png"/>
</p>
<p>. </p>

<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00852">852</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00829">mrpt::math::mahalanobisDistance2()</a>.</p>

<p>Referenced by <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00893">mrpt::math::mahalanobisDistance()</a>.</p>

</div>
</div>
<a class="anchor" id="gad92bbaa6ff21979851cd068b575b1cc4"></a><!-- doxytag: member="mrpt::math::mahalanobisDistance" ref="gad92bbaa6ff21979851cd068b575b1cc4" args="(const VECTORLIKE &amp;mean_diffs, const MAT1 &amp;COV1, const MAT2 &amp;COV2, const MAT3 &amp;CROSS_COV12)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTORLIKE , class MAT1 , class MAT2 , class MAT3 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">VECTORLIKE::value_type</a> mrpt::math::mahalanobisDistance </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE &amp;&#160;</td>
          <td class="paramname"><em>mean_diffs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MAT1 &amp;&#160;</td>
          <td class="paramname"><em>COV1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MAT2 &amp;&#160;</td>
          <td class="paramname"><em>COV2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MAT3 &amp;&#160;</td>
          <td class="paramname"><em>CROSS_COV12</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the mahalanobis distance between two *non-independent* Gaussians (or independent if CROSS_COV12=NULL), given the two covariance matrices and the vector with the difference of their means. </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ d = \sqrt{ \Delta_\mu^\top (\Sigma_1 + \Sigma_2 - 2 \Sigma_12 )^{-1} \Delta_\mu } \]" src="form_42.png"/>
</p>
 
<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00893">893</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00852">mrpt::math::mahalanobisDistance()</a>.</p>

</div>
</div>
<a class="anchor" id="ga90f3038071d69c2b7dced52af44e4944"></a><!-- doxytag: member="mrpt::math::mahalanobisDistance" ref="ga90f3038071d69c2b7dced52af44e4944" args="(const VECTORLIKE &amp;delta_mu, const MATRIXLIKE &amp;cov)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTORLIKE , class MATRIXLIKE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">MATRIXLIKE::value_type</a> mrpt::math::mahalanobisDistance </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE &amp;&#160;</td>
          <td class="paramname"><em>delta_mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATRIXLIKE &amp;&#160;</td>
          <td class="paramname"><em>cov</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the mahalanobis distance between a point and a Gaussian, given the covariance matrix and the vector with the difference between the mean and the point. </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ d^2 = \sqrt( \Delta_\mu^\top \Sigma^{-1} \Delta_\mu ) \]" src="form_44.png"/>
</p>
 
<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00919">919</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00829">mrpt::math::mahalanobisDistance2()</a>.</p>

</div>
</div>
<a class="anchor" id="ga83890daff9ce929f7acd216a5a248842"></a><!-- doxytag: member="mrpt::math::mahalanobisDistance2" ref="ga83890daff9ce929f7acd216a5a248842" args="(const VECTORLIKE1 &amp;X, const VECTORLIKE2 &amp;MU, const MAT &amp;COV)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTORLIKE1 , class VECTORLIKE2 , class MAT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">VECTORLIKE1::value_type</a> mrpt::math::mahalanobisDistance2 </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE1 &amp;&#160;</td>
          <td class="paramname"><em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VECTORLIKE2 &amp;&#160;</td>
          <td class="paramname"><em>MU</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MAT &amp;&#160;</td>
          <td class="paramname"><em>COV</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the squared mahalanobis distance of a vector X given the mean MU and the covariance *inverse* COV_inv </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ d^2 = (X-MU)^\top \Sigma^{-1} (X-MU) \]" src="form_39.png"/>
</p>
<p>. </p>

<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00829">829</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, <a class="el" href="bits_8h_source.html#l00065">mrpt::math::size()</a>, <a class="el" href="ops__matrices_8h_source.html#l00160">mrpt::math::multiply_HCHt_scalar()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

<p>Referenced by <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00852">mrpt::math::mahalanobisDistance()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4bdd42229480454da8a1ffa6c31266f4"></a><!-- doxytag: member="mrpt::math::mahalanobisDistance2" ref="ga4bdd42229480454da8a1ffa6c31266f4" args="(const VECTORLIKE &amp;mean_diffs, const MAT1 &amp;COV1, const MAT2 &amp;COV2, const MAT3 &amp;CROSS_COV12)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTORLIKE , class MAT1 , class MAT2 , class MAT3 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">VECTORLIKE::value_type</a> mrpt::math::mahalanobisDistance2 </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE &amp;&#160;</td>
          <td class="paramname"><em>mean_diffs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MAT1 &amp;&#160;</td>
          <td class="paramname"><em>COV1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MAT2 &amp;&#160;</td>
          <td class="paramname"><em>COV2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MAT3 &amp;&#160;</td>
          <td class="paramname"><em>CROSS_COV12</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the squared mahalanobis distance between two *non-independent* Gaussians, given the two covariance matrices and the vector with the difference of their means. </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ d^2 = \Delta_\mu^\top (\Sigma_1 + \Sigma_2 - 2 \Sigma_12 )^{-1} \Delta_\mu \]" src="form_41.png"/>
</p>
 
<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00866">866</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, <a class="el" href="bits_8h_source.html#l00065">mrpt::math::size()</a>, <a class="el" href="ops__matrices_8h_source.html#l00160">mrpt::math::multiply_HCHt_scalar()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="ga6d3521a4e3b2ff5d55d8762108e6c8e4"></a><!-- doxytag: member="mrpt::math::mahalanobisDistance2" ref="ga6d3521a4e3b2ff5d55d8762108e6c8e4" args="(const VECTORLIKE &amp;delta_mu, const MATRIXLIKE &amp;cov)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTORLIKE , class MATRIXLIKE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">MATRIXLIKE::value_type</a> mrpt::math::mahalanobisDistance2 </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE &amp;&#160;</td>
          <td class="paramname"><em>delta_mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATRIXLIKE &amp;&#160;</td>
          <td class="paramname"><em>cov</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the squared mahalanobis distance between a point and a Gaussian, given the covariance matrix and the vector with the difference between the mean and the point. </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ d^2 = \Delta_\mu^\top \Sigma^{-1} \Delta_\mu \]" src="form_43.png"/>
</p>
 
<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00907">907</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00304">ASSERTDEB_</a>, and <a class="el" href="ops__matrices_8h_source.html#l00160">mrpt::math::multiply_HCHt_scalar()</a>.</p>

</div>
</div>
<a class="anchor" id="ga69052bc18d0891a7b1d9fb02ab525e3b"></a><!-- doxytag: member="mrpt::math::mahalanobisDistance2AndLogPDF" ref="ga69052bc18d0891a7b1d9fb02ab525e3b" args="(const VECLIKE &amp;diff_mean, const MATRIXLIKE &amp;cov, T &amp;maha2_out, T &amp;log_pdf_out)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , class VECLIKE , class MATRIXLIKE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::mahalanobisDistance2AndLogPDF </td>
          <td>(</td>
          <td class="paramtype">const VECLIKE &amp;&#160;</td>
          <td class="paramname"><em>diff_mean</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATRIXLIKE &amp;&#160;</td>
          <td class="paramname"><em>cov</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>maha2_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>log_pdf_out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes both, the logarithm of the PDF and the square Mahalanobis distance between a point (given by its difference wrt the mean) and a Gaussian. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__stats__grp.html#ga668be07e32223bceb4ff0100f8f860fc" title="Computes the integral of the product of two Gaussians, with means separated by &quot;mean_diffs&quot; and covar...">productIntegralTwoGaussians</a>, <a class="el" href="group__stats__grp.html#ga83890daff9ce929f7acd216a5a248842" title="Computes the squared mahalanobis distance of a vector X given the mean MU and the covariance *inverse...">mahalanobisDistance2</a>, <a class="el" href="group__stats__grp.html#ga2ec8bf7897f7b8b0fee1ca9ae46443bb" title="Evaluates the univariate normal (Gaussian) distribution at a given point &quot;x&quot;.">normalPDF</a>, <a class="el" href="group__stats__grp.html#gaf3c8a238490b9bfcaf2f2631fb7c2ed2" title="Computes both, the PDF and the square Mahalanobis distance between a point (given by its difference w...">mahalanobisDistance2AndPDF</a> </dd></dl>

<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l01000">1000</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="mrpt__macros_8h_source.html#l00304">ASSERTDEB_</a>, <a class="el" href="ops__matrices_8h_source.html#l00160">mrpt::math::multiply_HCHt_scalar()</a>, <a class="el" href="mrpt__macros_8h_source.html#l00387">M_2PI</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

<p>Referenced by <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l01024">mrpt::math::mahalanobisDistance2AndPDF()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf3c8a238490b9bfcaf2f2631fb7c2ed2"></a><!-- doxytag: member="mrpt::math::mahalanobisDistance2AndPDF" ref="gaf3c8a238490b9bfcaf2f2631fb7c2ed2" args="(const VECLIKE &amp;diff_mean, const MATRIXLIKE &amp;cov, T &amp;maha2_out, T &amp;pdf_out)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , class VECLIKE , class MATRIXLIKE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::mahalanobisDistance2AndPDF </td>
          <td>(</td>
          <td class="paramtype">const VECLIKE &amp;&#160;</td>
          <td class="paramname"><em>diff_mean</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATRIXLIKE &amp;&#160;</td>
          <td class="paramname"><em>cov</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>maha2_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>pdf_out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes both, the PDF and the square Mahalanobis distance between a point (given by its difference wrt the mean) and a Gaussian. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__stats__grp.html#ga668be07e32223bceb4ff0100f8f860fc" title="Computes the integral of the product of two Gaussians, with means separated by &quot;mean_diffs&quot; and covar...">productIntegralTwoGaussians</a>, <a class="el" href="group__stats__grp.html#ga83890daff9ce929f7acd216a5a248842" title="Computes the squared mahalanobis distance of a vector X given the mean MU and the covariance *inverse...">mahalanobisDistance2</a>, <a class="el" href="group__stats__grp.html#ga2ec8bf7897f7b8b0fee1ca9ae46443bb" title="Evaluates the univariate normal (Gaussian) distribution at a given point &quot;x&quot;.">normalPDF</a> </dd></dl>

<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l01024">1024</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l01000">mrpt::math::mahalanobisDistance2AndLogPDF()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9cbd4ab1844fcd749cfafff8a5f592a1"></a><!-- doxytag: member="mrpt::math::MATLAB_plotCovariance2D" ref="ga9cbd4ab1844fcd749cfafff8a5f592a1" args="(const CMatrixFloat &amp;cov22, const vector_float &amp;mean, const float &amp;stdCount, const std::string &amp;style=std::string(&quot;b&quot;), const size_t &amp;nEllipsePoints=30)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> BASE_IMPEXP mrpt::math::MATLAB_plotCovariance2D </td>
          <td>(</td>
          <td class="paramtype">const CMatrixFloat &amp;&#160;</td>
          <td class="paramname"><em>cov22</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const vector_float &amp;&#160;</td>
          <td class="paramname"><em>mean</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>stdCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>style</em> = <code><a class="el" href="classstd_1_1string.html">std::string</a>(&quot;b&quot;)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t &amp;&#160;</td>
          <td class="paramname"><em>nEllipsePoints</em> = <code>30</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates a string with the MATLAB commands required to plot an confidence interval (ellipse) for a 2D Gaussian ('float' version). </p>
<p>Generates a string with the MATLAB commands required to plot an confidence interval (ellipse) for a 2D Gaussian ('double' version).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">cov22</td><td>The 2x2 covariance matrix </td></tr>
    <tr><td class="paramname">mean</td><td>The 2-length vector with the mean </td></tr>
    <tr><td class="paramname">stdCount</td><td>How many "quantiles" to get into the area of the ellipse: 2: 95%, 3:99.97%,... </td></tr>
    <tr><td class="paramname">style</td><td>A matlab style string, for colors, line styles,... </td></tr>
    <tr><td class="paramname">nEllipsePoints</td><td>The number of points in the ellipse to generate</td></tr>
    <tr><td class="paramname">cov22</td><td>The 2x2 covariance matrix </td></tr>
    <tr><td class="paramname">mean</td><td>The 2-length vector with the mean </td></tr>
    <tr><td class="paramname">stdCount</td><td>How many "quantiles" to get into the area of the ellipse: 2: 95%, 3:99.97%,... </td></tr>
    <tr><td class="paramname">style</td><td>A matlab style string, for colors, line styles,... </td></tr>
    <tr><td class="paramname">nEllipsePoints</td><td>The number of points in the ellipse to generate </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3bff4b9c33b2b9b2982ce7358cd16039"></a><!-- doxytag: member="mrpt::math::noncentralChi2CDF" ref="ga3bff4b9c33b2b9b2982ce7358cd16039" args="(unsigned int degreesOfFreedom, T noncentrality, T arg)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::math::noncentralChi2CDF </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>degreesOfFreedom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>noncentrality</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Cumulative non-central chi square distribution (approximate).</p>
<p>Computes approximate values of the cumulative density of a chi square distribution with <em>degreesOfFreedom</em>, and noncentrality parameter <em>noncentrality</em> at the given argument <em>arg</em>, i.e. the probability that a random number drawn from the distribution is below <em>arg</em> It uses the approximate transform into a normal distribution due to Wilson and Hilferty (see Abramovitz, Stegun: "Handbook of Mathematical Functions", formula 26.3.32). The algorithm's running time is independent of the inputs. The accuracy is only about 0.1 for few degrees of freedom, but reaches about 0.001 above dof = 5.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Function code from the Vigra project (<a href="http://hci.iwr.uni-heidelberg.de/vigra/">http://hci.iwr.uni-heidelberg.de/vigra/</a>); code under "MIT X11 License", GNU GPL-compatible. </dd></dl>

<p>Definition at line <a class="el" href="distributions_8h_source.html#l00159">159</a> of file <a class="el" href="distributions_8h_source.html">distributions.h</a>.</p>

<p>References <a class="el" href="bits_8h_source.html#l00161">mrpt::utils::square()</a>, <a class="el" href="eigen__plugins_8h_source.html#l00490">t()</a>, and <a class="el" href="group__stats__grp.html#ga31b77faefe845a607e6661c2a24e7e5f">mrpt::math::erf()</a>.</p>

<p>Referenced by <a class="el" href="distributions_8h_source.html#l00176">mrpt::math::chi2CDF()</a>.</p>

</div>
</div>
<a class="anchor" id="ga09f5b985d95b570e05c2b9cef91865b0"></a><!-- doxytag: member="mrpt::math::normalCDF" ref="ga09f5b985d95b570e05c2b9cef91865b0" args="(double p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double BASE_IMPEXP mrpt::math::normalCDF </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Evaluates the Gaussian cumulative density function. </p>
<p>The employed approximation is that from W. J. Cody freely available in <a href="http://www.netlib.org/specfun/erf">http://www.netlib.org/specfun/erf</a> </p>

</div>
</div>
<a class="anchor" id="ga2ec8bf7897f7b8b0fee1ca9ae46443bb"></a><!-- doxytag: member="mrpt::math::normalPDF" ref="ga2ec8bf7897f7b8b0fee1ca9ae46443bb" args="(double x, double mu, double std)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double BASE_IMPEXP mrpt::math::normalPDF </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>std</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Evaluates the univariate normal (Gaussian) distribution at a given point "x". </p>

</div>
</div>
<a class="anchor" id="gadeb42799aea7897137bfb75ea7de4ebf"></a><!-- doxytag: member="mrpt::math::normalPDF" ref="gadeb42799aea7897137bfb75ea7de4ebf" args="(const VECTORLIKE1 &amp;x, const VECTORLIKE2 &amp;mu, const MATRIXLIKE &amp;cov, const bool scaled_pdf=false)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTORLIKE1 , class VECTORLIKE2 , class MATRIXLIKE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">MATRIXLIKE::value_type</a> mrpt::math::normalPDF </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE1 &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const VECTORLIKE2 &amp;&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATRIXLIKE &amp;&#160;</td>
          <td class="paramname"><em>cov</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>scaled_pdf</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Evaluates the multivariate normal (Gaussian) distribution at a given point "x". </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>A vector or column or row matrix with the point at which to evaluate the pdf. </td></tr>
    <tr><td class="paramname">mu</td><td>A vector or column or row matrix with the Gaussian mean. </td></tr>
    <tr><td class="paramname">cov</td><td>The covariance matrix of the Gaussian. </td></tr>
    <tr><td class="paramname">scaled_pdf</td><td>If set to true, the PDF will be scaled to be in the range [0,1]. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="distributions_8h_source.html#l00062">62</a> of file <a class="el" href="distributions_8h_source.html">distributions.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="mrpt__macros_8h_source.html#l00304">ASSERTDEB_</a>, <a class="el" href="ops__matrices_8h_source.html#l00160">mrpt::math::multiply_HCHt_scalar()</a>, <a class="el" href="mrpt__macros_8h_source.html#l00387">M_2PI</a>, <a class="el" href="bits_8h_source.html#l00065">mrpt::math::size()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="gac921a40dc9d7a5d14fb8333300111e86"></a><!-- doxytag: member="mrpt::math::normalPDF" ref="gac921a40dc9d7a5d14fb8333300111e86" args="(const VECTORLIKE &amp;d, const MATRIXLIKE &amp;cov)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename VECTORLIKE , typename MATRIXLIKE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="eigen__plugins_8h.html#afd07186978da46f9908364e389f8a403">MATRIXLIKE::value_type</a> mrpt::math::normalPDF </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE &amp;&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATRIXLIKE &amp;&#160;</td>
          <td class="paramname"><em>cov</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Evaluates the multivariate normal (Gaussian) distribution at a given point given its distance vector "d" from the Gaussian mean. </p>

<p>Definition at line <a class="el" href="distributions_8h_source.html#l00081">81</a> of file <a class="el" href="distributions_8h_source.html">distributions.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="mrpt__macros_8h_source.html#l00304">ASSERTDEB_</a>, <a class="el" href="ops__matrices_8h_source.html#l00160">mrpt::math::multiply_HCHt_scalar()</a>, <a class="el" href="mrpt__macros_8h_source.html#l00387">M_2PI</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="gae1e6f25a0c6a318d6edd2bc9ef124bed"></a><!-- doxytag: member="mrpt::math::normalQuantile" ref="gae1e6f25a0c6a318d6edd2bc9ef124bed" args="(double p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double BASE_IMPEXP mrpt::math::normalQuantile </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Evaluates the Gaussian distribution quantile for the probability value p=[0,1]. </p>
<p>The employed approximation is that from Peter J. Acklam (<a href="mailto:pjacklam@online.no">pjacklam@online.no</a>), freely available in <a href="http://home.online.no/~pjacklam.">http://home.online.no/~pjacklam.</a> </p>

</div>
</div>
<a class="anchor" id="ga0080dc1b4ea2d89d56fdde37f2ada9bf"></a><!-- doxytag: member="mrpt::math::productIntegralAndMahalanobisTwoGaussians" ref="ga0080dc1b4ea2d89d56fdde37f2ada9bf" args="(const VECLIKE &amp;mean_diffs, const MATLIKE1 &amp;COV1, const MATLIKE2 &amp;COV2, T &amp;maha2_out, T &amp;intprod_out, const MATLIKE1 *CROSS_COV12=NULL)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , class VECLIKE , class MATLIKE1 , class MATLIKE2 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::productIntegralAndMahalanobisTwoGaussians </td>
          <td>(</td>
          <td class="paramtype">const VECLIKE &amp;&#160;</td>
          <td class="paramname"><em>mean_diffs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATLIKE1 &amp;&#160;</td>
          <td class="paramname"><em>COV1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATLIKE2 &amp;&#160;</td>
          <td class="paramname"><em>COV2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>maha2_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>intprod_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MATLIKE1 *&#160;</td>
          <td class="paramname"><em>CROSS_COV12</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes both, the integral of the product of two Gaussians and their square Mahalanobis distance. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__stats__grp.html#ga668be07e32223bceb4ff0100f8f860fc" title="Computes the integral of the product of two Gaussians, with means separated by &quot;mean_diffs&quot; and covar...">productIntegralTwoGaussians</a>, <a class="el" href="group__stats__grp.html#ga83890daff9ce929f7acd216a5a248842" title="Computes the squared mahalanobis distance of a vector X given the mean MU and the covariance *inverse...">mahalanobisDistance2</a> </dd></dl>

<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00973">973</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00387">M_2PI</a>.</p>

</div>
</div>
<a class="anchor" id="ga668be07e32223bceb4ff0100f8f860fc"></a><!-- doxytag: member="mrpt::math::productIntegralTwoGaussians" ref="ga668be07e32223bceb4ff0100f8f860fc" args="(const std::vector&lt; T &gt; &amp;mean_diffs, const CMatrixTemplateNumeric&lt; T &gt; &amp;COV1, const CMatrixTemplateNumeric&lt; T &gt; &amp;COV2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T mrpt::math::productIntegralTwoGaussians </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>mean_diffs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CMatrixTemplateNumeric&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>COV1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CMatrixTemplateNumeric&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>COV2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the integral of the product of two Gaussians, with means separated by "mean_diffs" and covariances "COV1" and "COV2". </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ D = \frac{1}{(2 \pi)^{0.5 N} \sqrt{} } \exp( \Delta_\mu^\top (\Sigma_1 + \Sigma_2 - 2 \Sigma_12)^{-1} \Delta_\mu) \]" src="form_45.png"/>
</p>
 
<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00928">928</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00387">M_2PI</a>.</p>

</div>
</div>
<a class="anchor" id="gaa31d217d82b559612958855947f79084"></a><!-- doxytag: member="mrpt::math::productIntegralTwoGaussians" ref="gaa31d217d82b559612958855947f79084" args="(const std::vector&lt; T &gt; &amp;mean_diffs, const CMatrixFixedNumeric&lt; T, DIM, DIM &gt; &amp;COV1, const CMatrixFixedNumeric&lt; T, DIM, DIM &gt; &amp;COV2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , size_t DIM&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T mrpt::math::productIntegralTwoGaussians </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>mean_diffs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CMatrixFixedNumeric&lt; T, DIM, DIM &gt; &amp;&#160;</td>
          <td class="paramname"><em>COV1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CMatrixFixedNumeric&lt; T, DIM, DIM &gt; &amp;&#160;</td>
          <td class="paramname"><em>COV2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the integral of the product of two Gaussians, with means separated by "mean_diffs" and covariances "COV1" and "COV2". </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ D = \frac{1}{(2 \pi)^{0.5 N} \sqrt{} } \exp( \Delta_\mu^\top (\Sigma_1 + \Sigma_2)^{-1} \Delta_\mu) \]" src="form_46.png"/>
</p>
 
<p>Definition at line <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html#l00951">951</a> of file <a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">base/include/mrpt/math/utils.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, <a class="el" href="math__frwds_8h_source.html#l00102">mrpt::math::UNINITIALIZED_MATRIX</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00387">M_2PI</a>.</p>

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>