npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::AbsScalableDistribution1D Class Referenceabstract

#include <AbsDistribution1D.hh>

Inheritance diagram for npstat::AbsScalableDistribution1D:
npstat::AbsDistribution1D npstat::Beta1D npstat::BifurcatedGauss1D npstat::BinnedDensity1D npstat::Cauchy1D npstat::ChebyshevDistro1D npstat::DeltaMixture1D npstat::Exponential1D npstat::Gamma1D npstat::Gauss1D npstat::GaussianMixture1D npstat::Huber1D npstat::IsoscelesTriangle1D npstat::JohnsonSb npstat::JohnsonSu npstat::JohnsonSystem npstat::Laplace1D npstat::LegendreDistro1D npstat::LocationScaleFamily1D npstat::LogNormal npstat::LogQuadratic1D npstat::Logistic1D npstat::MirroredGauss1D npstat::Moyal1D npstat::Pareto1D npstat::PolynomialDistro1D npstat::PowerHalfCauchy1D npstat::PowerRatio1D npstat::Quadratic1D npstat::QuantileTable1D npstat::StudentsT1D npstat::SymmetricBeta1D npstat::Tabulated1D npstat::TruncatedGauss1D npstat::UGaussConvolution1D npstat::UniPareto1D npstat::Uniform1D

Public Member Functions

 AbsScalableDistribution1D (const double location, const double scale)
 
double location () const
 
double scale () const
 
void setLocation (const double v)
 
void setScale (const double v)
 
double density (const double x) const
 
double cdf (const double x) const
 
double exceedance (const double x) const
 
double quantile (const double x) const
 
virtual unsigned random (AbsRandomGenerator &g, double *generatedRandom) const
 
virtual AbsScalableDistribution1Dclone () const =0
 
virtual gs::ClassId classId () const =0
 
virtual bool write (std::ostream &os) 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 bool read (std::istream &is, double *location, double *scale)
 
- 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 &other) const
 

Friends

class UnscaledDensityFunctor1D
 
class UnscaledCdfFunctor1D
 

Detailed Description

This base class is used to model distributions which have "trivial" behavior w.r.t. location and scale parameters. That is, if the distribution density is g(x), the density with location parameter "mu" and scale parameter "sigma" is g((x - mu)/sigma)/sigma.

All distributions with infinite support on both sides fall in this category, as well as a large number of distributions with finite support.

Constructor & Destructor Documentation

◆ AbsScalableDistribution1D()

npstat::AbsScalableDistribution1D::AbsScalableDistribution1D ( const double  location,
const double  scale 
)
inline

Location and scale parameters must be provided

Member Function Documentation

◆ cdf()

double npstat::AbsScalableDistribution1D::cdf ( const double  x) const
inlinevirtual

Cumulative distribution function

Implements npstat::AbsDistribution1D.

◆ classId()

◆ clone()

◆ density()

double npstat::AbsScalableDistribution1D::density ( const double  x) const
inlinevirtual

Method overriden from the AbsDistribution1D base class

Implements npstat::AbsDistribution1D.

◆ exceedance()

double npstat::AbsScalableDistribution1D::exceedance ( const double  x) const
inlinevirtual

1 - cdf, known as "survival function" or "exceedance". Implementations should avoid subtractive cancellation.

Implements npstat::AbsDistribution1D.

◆ isEqual()

◆ location()

double npstat::AbsScalableDistribution1D::location ( ) const
inline

Get the location parameter

◆ quantile()

double npstat::AbsScalableDistribution1D::quantile ( const double  x) const
inlinevirtual

The quantile function (inverse cdf)

Implements npstat::AbsDistribution1D.

◆ random()

virtual unsigned npstat::AbsScalableDistribution1D::random ( AbsRandomGenerator g,
double *  generatedRandom 
) const
inlinevirtual

Random number generator according to the given distribution. Should return the number of random points used up from the generator.

Reimplemented from npstat::AbsDistribution1D.

Reimplemented in npstat::GaussianMixture1D.

◆ read()

static bool npstat::AbsScalableDistribution1D::read ( std::istream &  is,
double *  location,
double *  scale 
)
static

Pseudo-read function for I/O. Note that this class is abstract, so its instance can not be created.

◆ scale()

double npstat::AbsScalableDistribution1D::scale ( ) const
inline

Get the scale parameter

◆ setLocation()

void npstat::AbsScalableDistribution1D::setLocation ( const double  v)
inline

Set the location parameter

◆ setScale()

void npstat::AbsScalableDistribution1D::setScale ( const double  v)
inline

Set the scale parameter


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