npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0

#include <DistributionMix1D.hh>

Inheritance diagram for npstat::DistributionMix1D:
npstat::AbsDistribution1D

Public Member Functions

 DistributionMix1D (const DistributionMix1D &)
 
DistributionMix1Doperator= (const DistributionMix1D &)
 
virtual DistributionMix1Dclone () const
 
DistributionMix1Dadd (const AbsDistribution1D &distro, double weight)
 
void setWeights (const double *weights, unsigned nWeights)
 
unsigned nComponents () const
 
const AbsDistribution1DgetComponent (const unsigned n) const
 
double getWeight (unsigned n) const
 
double density (double x) const
 
double cdf (double x) const
 
double exceedance (double x) const
 
double quantile (double x) const
 
unsigned random (AbsRandomGenerator &g, double *r) const
 
virtual gs::ClassId classId () const
 
virtual bool write (std::ostream &) const
 
- Public Member Functions inherited from npstat::AbsDistribution1D
bool operator== (const AbsDistribution1D &r) const
 
bool operator!= (const AbsDistribution1D &r) const
 
long double empiricalMoment (long double center, unsigned order, unsigned nIntegrationPoints=1024U, bool useFejerQuadrature=false) const
 
template<class Functor >
double expectation (const Functor &fcn, unsigned nIntegrationPoints=1024U, bool useFejerQuadrature=false) const
 

Static Public Member Functions

static const char * classname ()
 
static unsigned version ()
 
static DistributionMix1Dread (const gs::ClassId &id, std::istream &in)
 
- Static Public Member Functions inherited from npstat::AbsDistribution1D
static const char * classname ()
 
static unsigned version ()
 
static AbsDistribution1Dread (const gs::ClassId &id, std::istream &)
 

Protected Member Functions

virtual bool isEqual (const AbsDistribution1D &) const
 

Detailed Description

One-dimensional mixture of statistical distributions

Member Function Documentation

◆ add()

DistributionMix1D& npstat::DistributionMix1D::add ( const AbsDistribution1D distro,
double  weight 
)

Add a component to the mixture. Weight must be non-negative. All weights will be normalized internally so that their sum is 1.

◆ cdf()

double npstat::DistributionMix1D::cdf ( double  x) const
virtual

Cumulative distribution function

Implements npstat::AbsDistribution1D.

◆ classId()

virtual gs::ClassId npstat::DistributionMix1D::classId ( ) const
inlinevirtual

Prototype needed for I/O

Implements npstat::AbsDistribution1D.

◆ clone()

virtual DistributionMix1D* npstat::DistributionMix1D::clone ( ) const
inlinevirtual

"Virtual copy constructor"

Implements npstat::AbsDistribution1D.

◆ density()

double npstat::DistributionMix1D::density ( double  x) const
virtual

Probability density

Implements npstat::AbsDistribution1D.

◆ exceedance()

double npstat::DistributionMix1D::exceedance ( double  x) const
virtual

1 - cdf, implementations should avoid subtractive cancellation

Implements npstat::AbsDistribution1D.

◆ getComponent()

const AbsDistribution1D& npstat::DistributionMix1D::getComponent ( const unsigned  n) const
inline

Get the mixture component with the given number

◆ getWeight()

double npstat::DistributionMix1D::getWeight ( unsigned  n) const

Get the component weight

◆ isEqual()

virtual bool npstat::DistributionMix1D::isEqual ( const AbsDistribution1D ) const
protectedvirtual

Comparison for equality. To be implemented by derived classes.

Implements npstat::AbsDistribution1D.

◆ nComponents()

unsigned npstat::DistributionMix1D::nComponents ( ) const
inline

Number of mixture components

◆ quantile()

double npstat::DistributionMix1D::quantile ( double  x) const
virtual

The quantile function

Implements npstat::AbsDistribution1D.

◆ random()

unsigned npstat::DistributionMix1D::random ( AbsRandomGenerator g,
double *  r 
) const
virtual

Random number generator according to this distribution

Reimplemented from npstat::AbsDistribution1D.

◆ setWeights()

void npstat::DistributionMix1D::setWeights ( const double *  weights,
unsigned  nWeights 
)

Set all weights. Number of weights provided should be equal to the number of components. Weights will be normalized internally.


The documentation for this class was generated from the following file: