npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
Inheritance diagram for npstat::EllipticalDistribution:
npstat::AbsDistributionND npstat::EllipticalKotz npstat::EllipticalNormal npstat::EllipticalPearsonTypeII npstat::EllipticalPearsonTypeVII

Public Member Functions

 EllipticalDistribution (const double *location, unsigned dim, const Matrix< double > &transformationMatrix, const AbsDistribution1D &gDistro, const AbsDistribution1D &hDistro)
 
 EllipticalDistribution (const EllipticalDistribution &)
 
EllipticalDistributionoperator= (const EllipticalDistribution &)
 
virtual EllipticalDistributionclone () 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
 
double chiSquare (const double *x, unsigned dim) const
 
const AbsDistribution1DgetGDistro () const
 
const AbsDistribution1DgetHDistro () const
 
const Matrix< double > & getTransformationMatrix () const
 
const std::vector< double > & getShift () const
 
virtual gs::ClassId classId () const
 
virtual bool write (std::ostream &os) 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 EllipticalDistributionread (const gs::ClassId &id, std::istream &in)
 
- 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
 

Protected Attributes

std::vector< double > mu_
 
Matrix< double > A_
 
Matrix< double > InvCovmat_
 
AbsDistribution1Dg_
 
AbsDistribution1Dh_
 
double det_
 
double gNorm_
 
- Protected Attributes inherited from npstat::AbsDistributionND
const unsigned dim_
 

Constructor & Destructor Documentation

◆ EllipticalDistribution()

npstat::EllipticalDistribution::EllipticalDistribution ( const double *  location,
unsigned  dim,
const Matrix< double > &  transformationMatrix,
const AbsDistribution1D gDistro,
const AbsDistribution1D hDistro 
)

The constructor arguments are as follows:

location, dim The shift and the dimensionality of the distribution. The array "location" must have at least "dim" elements.

transformationMatrix The square matrix for generating random variables from this density according to x = location + transformationMatrix*y, where y is a spherically distributed random variable. For multivariate normal, transformationMatrix is the square root of the covariance matrix.

gDistro The "generator" distribution. The multivariate density is going to be proportional to gDistro.density(chi-square), where chi-square variable is constructed as in the multivariate normal. Must have gDistro.quantile(0.0) = 0.0.

hDistro Distribution of the r^2 variable. Must have hDistro.quantile(0.0) = 0.0.

Member Function Documentation

◆ chiSquare()

double npstat::EllipticalDistribution::chiSquare ( const double *  x,
unsigned  dim 
) const

This function returns the value of the quadratic form

◆ classId()

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

◆ clone()

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

"Virtual copy constructor"

Implements npstat::AbsDistributionND.

◆ density()

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

Probability density

Implements npstat::AbsDistributionND.

Reimplemented in npstat::EllipticalKotz.

◆ mappedByQuantiles()

virtual bool npstat::EllipticalDistribution::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.

◆ random()

virtual unsigned npstat::EllipticalDistribution::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.

◆ unitMap()

virtual void npstat::EllipticalDistribution::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: