npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::HomogeneousProductDistroND< Distro1D > Class Template Referenceabstract

#include <AbsDistributionND.hh>

Inheritance diagram for npstat::HomogeneousProductDistroND< Distro1D >:
npstat::AbsDistributionND

Public Member Functions

 HomogeneousProductDistroND (unsigned dim)
 
virtual HomogeneousProductDistroNDclone () const =0
 
bool mappedByQuantiles () const
 
double density (const double *x, unsigned dim) const
 
void unitMap (const double *rnd, unsigned bufLen, double *x) 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
 
virtual unsigned random (AbsRandomGenerator &g, double *x, unsigned lenX) const
 
virtual gs::ClassId classId () const =0
 
virtual bool write (std::ostream &) const
 

Protected Member Functions

virtual bool isEqual (const AbsDistributionND &r) const
 

Protected Attributes

std::vector< Distro1D > marginals_
 
- Protected Attributes inherited from npstat::AbsDistributionND
const unsigned dim_
 

Additional Inherited Members

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

Detailed Description

template<class Distro1D>
class npstat::HomogeneousProductDistroND< Distro1D >

Product distribution in which every marginal is represented by the same class. In the template below, Distro1D should be derived from AbsDistribution1D.

Constructor & Destructor Documentation

◆ HomogeneousProductDistroND()

template<class Distro1D >
npstat::HomogeneousProductDistroND< Distro1D >::HomogeneousProductDistroND ( unsigned  dim)
inlineexplicit

The marginals_ vector should be filled by the constructors of the derived classes

Member Function Documentation

◆ clone()

template<class Distro1D >
virtual HomogeneousProductDistroND* npstat::HomogeneousProductDistroND< Distro1D >::clone ( ) const
pure virtual

"Virtual copy constructor"

Implements npstat::AbsDistributionND.

Implemented in npstat::ProductSymmetricBetaND.

◆ density()

template<class Distro1D >
double npstat::HomogeneousProductDistroND< Distro1D >::density ( const double *  x,
unsigned  dim 
) const
virtual

Probability density

Implements npstat::AbsDistributionND.

◆ mappedByQuantiles()

template<class Distro1D >
bool npstat::HomogeneousProductDistroND< Distro1D >::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.

◆ unitMap()

template<class Distro1D >
void npstat::HomogeneousProductDistroND< Distro1D >::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: