CMP++: Uncertainty Quantification & Bayesian Calibration
Loading...
Searching...
No Matches
cmp::distribution::PowerLawDistribution Class Reference

#include <distribution.h>

Inheritance diagram for cmp::distribution::PowerLawDistribution:
Collaboration diagram for cmp::distribution::PowerLawDistribution:

Public Member Functions

 PowerLawDistribution (double alpha, double lowerBound=1.0)
 
 PowerLawDistribution ()=default
 
double logPDF (const double &x) const
 
double dLogPDF (const double &x) const
 
double ddLogPDF (const double &x) const
 
double CDF (const double &t) const
 
double quantile (const double &q) const
 
double sample (std::default_random_engine &rng)
 
void setDegree (double degree)
 
- Public Member Functions inherited from cmp::distribution::UnivariateDistribution< PowerLawDistribution >
double logPDF (const double &x) const
 Computes the log probability density function (log-PDF) of the distribution.
 
double dLogPDF (const double &x) const
 Computes the first derivative of the log-PDF.
 
double ddLogPDF (const double &x) const
 Computes the second derivative of the log-PDF.
 
double CDF (const double &x) const
 Computes the cumulative distribution function (CDF).
 
double quantile (const double &p) const
 Computes the quantile function (inverse CDF).
 
double sample (std::default_random_engine &rng)
 Draws a single pseudo-random sample from the distribution.
 

Private Attributes

double degree_
 Power law degree parameter (exponent).
 
double lowerBound_
 Lower bound parameter.
 
std::uniform_real_distribution< double > distU_
 Uniform distribution helper for sampling.
 

Constructor & Destructor Documentation

◆ PowerLawDistribution() [1/2]

cmp::distribution::PowerLawDistribution::PowerLawDistribution ( double  alpha,
double  lowerBound = 1.0 
)
inline

◆ PowerLawDistribution() [2/2]

cmp::distribution::PowerLawDistribution::PowerLawDistribution ( )
default

Member Function Documentation

◆ CDF()

double cmp::distribution::PowerLawDistribution::CDF ( const double &  t) const
inline

◆ ddLogPDF()

double cmp::distribution::PowerLawDistribution::ddLogPDF ( const double &  x) const
inline

◆ dLogPDF()

double cmp::distribution::PowerLawDistribution::dLogPDF ( const double &  x) const
inline

◆ logPDF()

double cmp::distribution::PowerLawDistribution::logPDF ( const double &  x) const
inline

◆ quantile()

double cmp::distribution::PowerLawDistribution::quantile ( const double &  q) const
inline

◆ sample()

double cmp::distribution::PowerLawDistribution::sample ( std::default_random_engine &  rng)
inline

◆ setDegree()

void cmp::distribution::PowerLawDistribution::setDegree ( double  degree)
inline

Member Data Documentation

◆ degree_

double cmp::distribution::PowerLawDistribution::degree_
private

Power law degree parameter (exponent).

◆ distU_

std::uniform_real_distribution<double> cmp::distribution::PowerLawDistribution::distU_
private

Uniform distribution helper for sampling.

◆ lowerBound_

double cmp::distribution::PowerLawDistribution::lowerBound_
private

Lower bound parameter.


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