Skip to content

Latest commit

 

History

History
224 lines (148 loc) · 4.74 KB

normal.rst

File metadata and controls

224 lines (148 loc) · 4.74 KB

Normal Distribution

Table of contents


The density function of the Normal (Gaussian) distribution:

f(x; \mu, \sigma) = \frac{1}{\sqrt{2 \pi} \sigma} \exp \left( - \frac{(x-\mu)^2}{2 \sigma^2} \right)

Methods for scalar input, as well as for vector/matrix input, are listed below.

.. doxygenfunction:: dnorm(const T1, const T2, const T3, const bool)
   :project: statslib

.. doxygenfunction:: dnorm(const T, const bool)
   :project: statslib

.. doxygenfunction:: dnorm(const std::vector<eT>&, const T1, const T2, const bool)
   :project: statslib

.. doxygenfunction:: dnorm(const ArmaMat<eT>&, const T1, const T2, const bool)
   :project: statslib

.. doxygenfunction:: dnorm(const BlazeMat<eT, To>&, const T1, const T2, const bool)
   :project: statslib

.. doxygenfunction:: dnorm(const EigenMat<eT, iTr, iTc>&, const T1, const T2, const bool)
   :project: statslib


The cumulative distribution function of the Normal (Gaussian) distribution:

F(x; \mu, \sigma) = \int_{-\infty}^x f(z; \mu, \sigma) dz = \frac{1}{2} \times \left( 1 +  \text{erf} \left( \frac{x - \mu}{\sqrt{2} \sigma} \right) \right)

where \text{erf}(\cdot) denotes the Gaussian error function.

Methods for scalar input, as well as for vector/matrix input, are listed below.

.. doxygenfunction:: pnorm(const T1, const T2, const T3, const bool)
   :project: statslib

.. doxygenfunction:: pnorm(const T, const bool)
   :project: statslib

.. doxygenfunction:: pnorm(const std::vector<eT>&, const T1, const T2, const bool)
   :project: statslib

.. doxygenfunction:: pnorm(const ArmaMat<eT>&, const T1, const T2, const bool)
   :project: statslib

.. doxygenfunction:: pnorm(const BlazeMat<eT, To>&, const T1, const T2, const bool)
   :project: statslib

.. doxygenfunction:: pnorm(const EigenMat<eT, iTr, iTc>&, const T1, const T2, const bool)
   :project: statslib


The quantile function of the log-Normal distribution:

q(p; \mu, \sigma) = \mu + \sqrt{2} \sigma \times \text{erf}^{-1} \left( 2 p - 1 \right)

where \text{erf}^{-1}(\cdot) denotes the inverse Gaussian error function.

Methods for scalar input, as well as for vector/matrix input, are listed below.

.. doxygenfunction:: qnorm(const T1, const T2, const T3)
   :project: statslib

.. doxygenfunction:: qnorm(const T)
   :project: statslib

.. doxygenfunction:: qnorm(const std::vector<eT>&, const T1, const T2)
   :project: statslib

.. doxygenfunction:: qnorm(const ArmaMat<eT>&, const T1, const T2)
   :project: statslib

.. doxygenfunction:: qnorm(const BlazeMat<eT, To>&, const T1, const T2)
   :project: statslib

.. doxygenfunction:: qnorm(const EigenMat<eT, iTr, iTc>&, const T1, const T2)
   :project: statslib


Random sampling for the Normal distribution is achieved via the normal_distribution class from the C++ standard library, imported from <random>.

  1. Random number engines
.. doxygenfunction:: rnorm(const T1, const T2, rand_engine_t&)
   :project: statslib

  1. Seed values
.. doxygenfunction:: rnorm(const T1, const T2, const ullint_t)
   :project: statslib

  1. Convenience
.. doxygenfunction:: rnorm()
   :project: statslib

  1. Random number engines
.. doxygenfunction:: rnorm(const ullint_t, const ullint_t, const T1, const T2, rand_engine_t&)
   :project: statslib

  1. Seed values
.. doxygenfunction:: rnorm(const ullint_t, const ullint_t, const T1, const T2, const ullint_t)
   :project: statslib