ContinuousDistribution
-
class ContinuousDistribution
The generic cpplex continuous distribution type.
This module implements various complex continuous distributions.
Defined in header <ContinuousDistribution/ContinuousDistribution.hpp>.
Note
All complex continuous distribution classes make the assumption that the real and complex components are an independent, joint distribution.
Functions
-
inline double logpdf(const Complex &z) const noexcept
The natural log of the PDF of a distribution.
-
inline double logcdf(const Complex &z) const noexcept
The natural log of the CDF of a distribution.
-
virtual constexpr std::vector<Complex> rand(const int numSamples) const noexcept = 0
Samples from a distribution.
-
virtual constexpr double entropy() const noexcept = 0
Returns the entropy of a distribution.
Distributions
-
class ContinuousDistribution : public ContinuousDistribution
-
class Chi : public ContinuousDistribution
-
class ChiSquared : public ContinuousDistribution
-
class Exponential : public ContinuousDistribution
-
class Gamma : public ContinuousDistribution
-
class Laplace : public ContinuousDistribution
-
class Logistic : public ContinuousDistribution
-
class LogNormal : public ContinuousDistribution
-
class MaxwellBoltzman : public ContinuousDistribution
-
class Normal : public ContinuousDistribution
-
class Pareto : public ContinuousDistribution
-
class Rayleigh : public ContinuousDistribution
-
class Triangular : public ContinuousDistribution
-
class Uniform : public ContinuousDistribution
-
class Weibull : public ContinuousDistribution
Example
// Polymorphic implementation.
ContinuousDistribution* dist;
Complex mu = 1 + 1_j;
Complex s = 1 + 2_j;
Complex z = 0.5 + 0.5_j;
Logistic logDist(mu, s);
dist = &logDist;
std::cout << dist->pdf(z) << "\n";
Output:
0.0289212