npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
Inheritance diagram for npstat::DistributionMixND:
npstat::AbsDistributionND

Public Member Functions

 DistributionMixND (unsigned dim)
 
 DistributionMixND (const DistributionMixND &)
 
DistributionMixNDoperator= (const DistributionMixND &)
 
virtual DistributionMixNDclone () const
 
DistributionMixNDadd (const AbsDistributionND &distro, double weight)
 
void setWeights (const double *weights, unsigned nWeights)
 
unsigned nComponents () const
 
const AbsDistributionNDgetComponent (const unsigned n) const
 
double getWeight (unsigned n) const
 
virtual double density (const double *x, unsigned dim) const
 
virtual void unitMap (const double *rnd, unsigned bufLen, double *x) const
 
virtual bool mappedByQuantiles () const
 
virtual unsigned random (AbsRandomGenerator &g, double *x, unsigned lenX) const
 
virtual gs::ClassId classId () const
 
virtual bool write (std::ostream &) const
 
- Public Member Functions inherited from npstat::AbsDistributionND
 AbsDistributionND (const unsigned dim)
 
 AbsDistributionND (const AbsDistributionND &r)
 
AbsDistributionNDoperator= (const AbsDistributionND &r)
 
bool operator== (const AbsDistributionND &r) const
 
bool operator!= (const AbsDistributionND &r) const
 
unsigned dim () const
 

Static Public Member Functions

static const char * classname ()
 
static unsigned version ()
 
static DistributionMixNDread (const gs::ClassId &id, std::istream &)
 
- Static Public Member Functions inherited from npstat::AbsDistributionND
static const char * classname ()
 
static unsigned version ()
 
static AbsDistributionNDread (const gs::ClassId &id, std::istream &)
 

Protected Member Functions

virtual bool isEqual (const AbsDistributionND &) const
 

Additional Inherited Members

- Protected Attributes inherited from npstat::AbsDistributionND
const unsigned dim_
 

Member Function Documentation

◆ add()

DistributionMixND& npstat::DistributionMixND::add ( const AbsDistributionND distro,
double  weight 
)

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

◆ classId()

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

Prototype needed for I/O

Implements npstat::AbsDistributionND.

◆ clone()

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

"Virtual copy constructor"

Implements npstat::AbsDistributionND.

◆ density()

virtual double npstat::DistributionMixND::density ( const double *  x,
unsigned  dim 
) const
virtual

Probability density

Implements npstat::AbsDistributionND.

◆ getComponent()

const AbsDistributionND& npstat::DistributionMixND::getComponent ( const unsigned  n) const
inline

Get the mixture component with the given number

◆ getWeight()

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

Get the component weight

◆ mappedByQuantiles()

virtual bool npstat::DistributionMixND::mappedByQuantiles ( ) const
inlinevirtual

The following method should return "true" in case the "unitMap" method is implemented by a sequence of conditional quantile functions. Distributions with such maps permit quantile-based interpolation procedures.

Implements npstat::AbsDistributionND.

◆ nComponents()

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

Number of mixture components

◆ random()

virtual unsigned npstat::DistributionMixND::random ( AbsRandomGenerator g,
double *  x,
unsigned  lenX 
) const
virtual

Random number generator according to the given distribution. Should return the number of random points used up from the generator. Length of the provided buffer "x" should be equal to the function dimensionality.

Reimplemented from npstat::AbsDistributionND.

◆ setWeights()

void npstat::DistributionMixND::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.

◆ unitMap()

virtual void npstat::DistributionMixND::unitMap ( const double *  rnd,
unsigned  bufLen,
double *  x 
) const
virtual

Mapping from the unit hypercube into the density support region. Note that "bufLen" does not have to be equal to the dimensionality of the function. There may be an efficient way to generate just the leading dimensions in case "bufLen" is smaller than the dimensionality.

Implements npstat::AbsDistributionND.


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