Logo ROOT   6.16/01
Reference Guide
Functions
Quantile Functions

Inverse functions of the cumulative distribution functions and the inverse of the complement of the cumulative distribution functions for various distributions.

The functions with the extension _quantile calculate the inverse of the _cdf function, the lower tail integral of the probability density function \(D^{-1}(z)\) where

\[ D(x) = \int_{-\infty}^{x} p(x') dx' \]

while those with the _quantile_c extension calculate the inverse of the _cdf_c functions, the upper tail integral of the probability density function \(D^{-1}(z) \) where

\[ D(x) = \int_{x}^{+\infty} p(x') dx' \]

These functions are defined in the header file Math/ProbFunc.h or in the global one including all statistical functions Math/DistFunc.h

NOTE: In the old releases (< 5.14) the _quantile functions were called _quant_inv and the _quantile_c functions were called _prob_inv. These names are currently kept for backward compatibility, but their usage is deprecated.

The functions with the extension _quantile calculate the inverse of the _cdf function, the lower tail integral of the probability density function \(D^{-1}(z)\) where

\[ D(x) = \int_{-\infty}^{x} p(x') dx' \]

while those with the _quantile_c extension calculate the inverse of the _cdf_c functions, the upper tail integral of the probability density function \(D^{-1}(z) \) where

\[ D(x) = \int_{x}^{+\infty} p(x') dx' \]

The implementation used is that of GSL.

NOTE: In the old releases (< 5.14) the _quantile functions were called _quant_inv and the _quantile_c functions were called _prob_inv. These names are currently kept for backward compatibility, but their usage is deprecated.

Functions

double ROOT::MathMore::chisquared_quantile (double z, double r)
 Re-implementation in MathMore of the Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the \(\chi^2\) distribution with \(r\) degrees of freedom (#chisquared_cdf). More...
 
double ROOT::MathMore::gamma_quantile (double z, double alpha, double theta)
 Re-implementation in MathMore of the Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the gamma distribution (#gamma_cdf). More...
 
double ROOT::Math::vavilov_accurate_quantile (double z, double kappa, double beta2)
 The inverse of the Vavilov cumulative probability density function. More...
 
double ROOT::Math::vavilov_accurate_quantile_c (double z, double kappa, double beta2)
 The inverse of the complementary Vavilov cumulative probability density function. More...
 
double ROOT::Math::vavilov_fast_quantile (double z, double kappa, double beta2)
 The inverse of the Vavilov cumulative probability density function. More...
 
double ROOT::Math::vavilov_fast_quantile_c (double z, double kappa, double beta2)
 The inverse of the complementary Vavilov cumulative probability density function. More...
 

Quantile Functions from MathCore

The implementation is provided in MathCore and for the majority of the function comes from Cephes.

double ROOT::Math::beta_quantile (double x, double a, double b)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the beta distribution (beta_cdf_c). More...
 
double ROOT::Math::beta_quantile_c (double x, double a, double b)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the beta distribution (beta_cdf). More...
 
double ROOT::Math::cauchy_quantile_c (double z, double b)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the Cauchy distribution (cauchy_cdf_c) which is also called Lorentzian distribution. More...
 
double ROOT::Math::cauchy_quantile (double z, double b)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the Cauchy distribution (cauchy_cdf) which is also called Breit-Wigner or Lorentzian distribution. More...
 
double ROOT::Math::breitwigner_quantile_c (double z, double gamma)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the Breit-Wigner distribution (breitwigner_cdf_c) which is similar to the Cauchy distribution. More...
 
double ROOT::Math::breitwigner_quantile (double z, double gamma)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the Breit_Wigner distribution (breitwigner_cdf) which is similar to the Cauchy distribution. More...
 
double ROOT::Math::chisquared_quantile_c (double z, double r)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the \(\chi^2\) distribution with \(r\) degrees of freedom (chisquared_cdf_c). More...
 
double ROOT::Math::chisquared_quantile (double z, double r)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the \(\chi^2\) distribution with \(r\) degrees of freedom (chisquared_cdf). More...
 
double ROOT::Math::exponential_quantile_c (double z, double lambda)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the exponential distribution (exponential_cdf_c). More...
 
double ROOT::Math::exponential_quantile (double z, double lambda)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the exponential distribution (exponential_cdf). More...
 
double ROOT::Math::fdistribution_quantile (double z, double n, double m)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the f distribution (fdistribution_cdf). More...
 
double ROOT::Math::fdistribution_quantile_c (double z, double n, double m)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the f distribution (fdistribution_cdf_c). More...
 
double ROOT::Math::gamma_quantile_c (double z, double alpha, double theta)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the gamma distribution (gamma_cdf_c). More...
 
double ROOT::Math::gamma_quantile (double z, double alpha, double theta)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the gamma distribution (gamma_cdf). More...
 
double ROOT::Math::gaussian_quantile_c (double z, double sigma)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the normal (Gaussian) distribution (gaussian_cdf_c). More...
 
double ROOT::Math::gaussian_quantile (double z, double sigma)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the normal (Gaussian) distribution (gaussian_cdf). More...
 
double ROOT::Math::lognormal_quantile_c (double x, double m, double s)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the lognormal distribution (lognormal_cdf_c). More...
 
double ROOT::Math::lognormal_quantile (double x, double m, double s)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the lognormal distribution (lognormal_cdf). More...
 
double ROOT::Math::normal_quantile_c (double z, double sigma)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the normal (Gaussian) distribution (normal_cdf_c). More...
 
double ROOT::Math::normal_quantile (double z, double sigma)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the normal (Gaussian) distribution (normal_cdf). More...
 
double ROOT::Math::uniform_quantile_c (double z, double a, double b)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the uniform (flat) distribution (uniform_cdf_c). More...
 
double ROOT::Math::uniform_quantile (double z, double a, double b)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the uniform (flat) distribution (uniform_cdf). More...
 
double ROOT::Math::landau_quantile (double z, double xi=1)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the Landau distribution (landau_cdf). More...
 
double ROOT::Math::landau_quantile_c (double z, double xi=1)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the landau distribution (landau_cdf_c). More...
 

Quantile Functions from MathMore

The implementation used is that of GSL.

double ROOT::Math::tdistribution_quantile_c (double z, double r)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of Student's t-distribution (tdistribution_cdf_c). More...
 
double ROOT::Math::tdistribution_quantile (double z, double r)
 Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of Student's t-distribution (tdistribution_cdf). More...
 

Function Documentation

◆ beta_quantile()

double ROOT::Math::beta_quantile ( double  x,
double  a,
double  b 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the beta distribution (beta_cdf_c).

It is implemented using the function incbi from Cephes.

Definition at line 26 of file QuantFuncMathCore.cxx.

◆ beta_quantile_c()

double ROOT::Math::beta_quantile_c ( double  x,
double  a,
double  b 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the beta distribution (beta_cdf).

It is implemented using the function incbi from Cephes.

Definition at line 16 of file QuantFuncMathCore.cxx.

◆ breitwigner_quantile()

double ROOT::Math::breitwigner_quantile ( double  z,
double  gamma 
)
inline

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the Breit_Wigner distribution (breitwigner_cdf) which is similar to the Cauchy distribution.

For detailed description see Mathworld. It is evaluated using the same implementation of cauchy_quantile.

Definition at line 167 of file QuantFuncMathCore.h.

◆ breitwigner_quantile_c()

double ROOT::Math::breitwigner_quantile_c ( double  z,
double  gamma 
)
inline

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the Breit-Wigner distribution (breitwigner_cdf_c) which is similar to the Cauchy distribution.

For detailed description see Mathworld. It is evaluated using the same implementation of cauchy_quantile_c.

Definition at line 145 of file QuantFuncMathCore.h.

◆ cauchy_quantile()

double ROOT::Math::cauchy_quantile ( double  z,
double  b 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the Cauchy distribution (cauchy_cdf) which is also called Breit-Wigner or Lorentzian distribution.

For detailed description see Mathworld. The implementation used is that of GSL.

Definition at line 46 of file QuantFuncMathCore.cxx.

◆ cauchy_quantile_c()

double ROOT::Math::cauchy_quantile_c ( double  z,
double  b 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the Cauchy distribution (cauchy_cdf_c) which is also called Lorentzian distribution.

For detailed description see Mathworld.

Definition at line 33 of file QuantFuncMathCore.cxx.

◆ chisquared_quantile() [1/2]

double ROOT::Math::chisquared_quantile ( double  z,
double  r 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the \(\chi^2\) distribution with \(r\) degrees of freedom (chisquared_cdf).

For detailed description see Mathworld. It is implemented using chisquared_quantile_c, therefore is not very precise for small z. It is recommended to use the MathMore function (ROOT::MathMore::chisquared_quantile )implemented using GSL

Definition at line 67 of file QuantFuncMathCore.cxx.

◆ chisquared_quantile() [2/2]

double ROOT::MathMore::chisquared_quantile ( double  z,
double  r 
)

Re-implementation in MathMore of the Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the \(\chi^2\) distribution with \(r\) degrees of freedom (#chisquared_cdf).

For detailed description see Mathworld. The implementation used is that of GSL.

Definition at line 31 of file QuantFuncMathMore.cxx.

◆ chisquared_quantile_c()

double ROOT::Math::chisquared_quantile_c ( double  z,
double  r 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the \(\chi^2\) distribution with \(r\) degrees of freedom (chisquared_cdf_c).

For detailed description see Mathworld. It is implemented using the inverse of the incomplete complement gamma function, using the function igami from Cephes.

Definition at line 60 of file QuantFuncMathCore.cxx.

◆ exponential_quantile()

double ROOT::Math::exponential_quantile ( double  z,
double  lambda 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the exponential distribution (exponential_cdf).

For detailed description see Mathworld.

Definition at line 82 of file QuantFuncMathCore.cxx.

◆ exponential_quantile_c()

double ROOT::Math::exponential_quantile_c ( double  z,
double  lambda 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the exponential distribution (exponential_cdf_c).

For detailed description see Mathworld.

Definition at line 74 of file QuantFuncMathCore.cxx.

◆ fdistribution_quantile()

double ROOT::Math::fdistribution_quantile ( double  z,
double  n,
double  m 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the f distribution (fdistribution_cdf).

For detailed description see Mathworld. It is implemented using the inverse of the incomplete beta function, function incbi from Cephes.

Definition at line 103 of file QuantFuncMathCore.cxx.

◆ fdistribution_quantile_c()

double ROOT::Math::fdistribution_quantile_c ( double  z,
double  n,
double  m 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the f distribution (fdistribution_cdf_c).

For detailed description see Mathworld. It is implemented using the inverse of the incomplete beta function, function incbi from Cephes.

Definition at line 89 of file QuantFuncMathCore.cxx.

◆ gamma_quantile() [1/2]

double ROOT::Math::gamma_quantile ( double  z,
double  alpha,
double  theta 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the gamma distribution (gamma_cdf).

For detailed description see Mathworld. It is implemented using chisquared_quantile_c, therefore is not very precise for small z. For this special cases it is recommended to use the MathMore function ROOT::MathMore::gamma_quantile implemented using GSL

Definition at line 118 of file QuantFuncMathCore.cxx.

◆ gamma_quantile() [2/2]

double ROOT::MathMore::gamma_quantile ( double  z,
double  alpha,
double  theta 
)

Re-implementation in MathMore of the Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the gamma distribution (#gamma_cdf).

For detailed description see Mathworld. The implementation used is that of GSL.

Definition at line 38 of file QuantFuncMathMore.cxx.

◆ gamma_quantile_c()

double ROOT::Math::gamma_quantile_c ( double  z,
double  alpha,
double  theta 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the gamma distribution (gamma_cdf_c).

For detailed description see Mathworld. The implementation used is that of GSL. It is implemented using the function igami taken from Cephes.

Definition at line 112 of file QuantFuncMathCore.cxx.

◆ gaussian_quantile()

double ROOT::Math::gaussian_quantile ( double  z,
double  sigma 
)
inline

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the normal (Gaussian) distribution (gaussian_cdf).

alternative name for same function

For detailed description see Mathworld. It can also be evaluated using normal_quantile which will call the same implementation. It is implemented using the function ROOT::Math::Cephes::ndtri taken from Cephes.

Definition at line 431 of file QuantFuncMathCore.h.

◆ gaussian_quantile_c()

double ROOT::Math::gaussian_quantile_c ( double  z,
double  sigma 
)
inline

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the normal (Gaussian) distribution (gaussian_cdf_c).

alternative name for same function

For detailed description see Mathworld. It can also be evaluated using normal_quantile_c which will call the same implementation.

Definition at line 406 of file QuantFuncMathCore.h.

◆ landau_quantile()

double ROOT::Math::landau_quantile ( double  z,
double  xi = 1 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the Landau distribution (landau_cdf).

For detailed description see K.S. Kölbig and B. Schorr, A program package for the Landau distribution, Computer Phys. Comm. 31 (1984) 97-111 [Erratum-ibid. 178 (2008) 972]. The same algorithms as in CERNLIB (RANLAN) is used.

Parameters
zThe argument \(z\)
xiThe width parameter \(\xi\)

Definition at line 189 of file QuantFuncMathCore.cxx.

◆ landau_quantile_c()

double ROOT::Math::landau_quantile_c ( double  z,
double  xi = 1 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the landau distribution (landau_cdf_c).

Implemented using landau_quantile

Parameters
zThe argument \(z\)
xiThe width parameter \(\xi\)

Definition at line 396 of file QuantFuncMathCore.cxx.

◆ lognormal_quantile()

double ROOT::Math::lognormal_quantile ( double  x,
double  m,
double  s 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the lognormal distribution (lognormal_cdf).

For detailed description see Mathworld. The implementation used is that of GSL.

Definition at line 151 of file QuantFuncMathCore.cxx.

◆ lognormal_quantile_c()

double ROOT::Math::lognormal_quantile_c ( double  x,
double  m,
double  s 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the lognormal distribution (lognormal_cdf_c).

For detailed description see Mathworld. The implementation used is that of GSL.

Definition at line 143 of file QuantFuncMathCore.cxx.

◆ normal_quantile()

double ROOT::Math::normal_quantile ( double  z,
double  sigma 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the normal (Gaussian) distribution (normal_cdf).

For detailed description see Mathworld. It can also be evaluated using gaussian_quantile which will call the same implementation. It is implemented using the function ROOT::Math::Cephes::ndtri taken from Cephes.

Definition at line 134 of file QuantFuncMathCore.cxx.

◆ normal_quantile_c()

double ROOT::Math::normal_quantile_c ( double  z,
double  sigma 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the normal (Gaussian) distribution (normal_cdf_c).

For detailed description see Mathworld. It can also be evaluated using gaussian_quantile_c which will call the same implementation. It is implemented using the function ROOT::Math::Cephes::ndtri taken from Cephes.

Definition at line 126 of file QuantFuncMathCore.cxx.

◆ tdistribution_quantile()

double ROOT::Math::tdistribution_quantile ( double  z,
double  r 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of Student's t-distribution (tdistribution_cdf).

For detailed description see Mathworld. The implementation used is that of GSL.

Definition at line 20 of file QuantFuncMathMore.cxx.

◆ tdistribution_quantile_c()

double ROOT::Math::tdistribution_quantile_c ( double  z,
double  r 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of Student's t-distribution (tdistribution_cdf_c).

For detailed description see Mathworld. The implementation used is that of GSL.

Definition at line 12 of file QuantFuncMathMore.cxx.

◆ uniform_quantile()

double ROOT::Math::uniform_quantile ( double  z,
double  a,
double  b 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the lower tail of the uniform (flat) distribution (uniform_cdf).

For detailed description see Mathworld.

Definition at line 183 of file QuantFuncMathCore.cxx.

◆ uniform_quantile_c()

double ROOT::Math::uniform_quantile_c ( double  z,
double  a,
double  b 
)

Inverse ( \(D^{-1}(z)\)) of the cumulative distribution function of the upper tail of the uniform (flat) distribution (uniform_cdf_c).

For detailed description see Mathworld.

Definition at line 175 of file QuantFuncMathCore.cxx.

◆ vavilov_accurate_quantile()

double ROOT::Math::vavilov_accurate_quantile ( double  z,
double  kappa,
double  beta2 
)

The inverse of the Vavilov cumulative probability density function.

Parameters
zThe argument \(z\), which must be in the range \(0 \le z \le 1\)
kappaThe parameter \(\kappa\), which must be in the range \(\kappa \ge 0.001 \)
beta2The parameter \(\beta^2\), which must be in the range \(0 \le \beta^2 \le 1 \)

Definition at line 477 of file VavilovAccurate.cxx.

◆ vavilov_accurate_quantile_c()

double ROOT::Math::vavilov_accurate_quantile_c ( double  z,
double  kappa,
double  beta2 
)

The inverse of the complementary Vavilov cumulative probability density function.

Parameters
zThe argument \(z\), which must be in the range \(0 \le z \le 1\)
kappaThe parameter \(\kappa\), which must be in the range \(\kappa \ge 0.001 \)
beta2The parameter \(\beta^2\), which must be in the range \(0 \le \beta^2 \le 1 \)

Definition at line 482 of file VavilovAccurate.cxx.

◆ vavilov_fast_quantile()

double ROOT::Math::vavilov_fast_quantile ( double  z,
double  kappa,
double  beta2 
)

The inverse of the Vavilov cumulative probability density function.

Parameters
zThe argument \(z\), which must be in the range \(0 \le z \le 1\)
kappaThe parameter \(\kappa\), which must be in the range \(0.01 \le \kappa \le 12 \)
beta2The parameter \(\beta^2\), which must be in the range \(0 \le \beta^2 \le 1 \)

Definition at line 592 of file VavilovFast.cxx.

◆ vavilov_fast_quantile_c()

double ROOT::Math::vavilov_fast_quantile_c ( double  z,
double  kappa,
double  beta2 
)

The inverse of the complementary Vavilov cumulative probability density function.

Parameters
zThe argument \(z\), which must be in the range \(0 \le z \le 1\)
kappaThe parameter \(\kappa\), which must be in the range \(0.01 \le \kappa \le 12 \)
beta2The parameter \(\beta^2\), which must be in the range \(0 \le \beta^2 \le 1 \)

Definition at line 597 of file VavilovFast.cxx.