urchisq function

UNU.RAN Chi-Squared random variate generator

UNU.RAN Chi-Squared random variate generator

UNU.RAN random variate generator for the Chi-Squared (chi2chi^2) distribution with df degrees of freedom. It also allows sampling from the truncated distribution.

[Special Generator] -- Sampling Function: Chi-squared.

urchisq(n, df, lb=0, ub=Inf)

Arguments

  • n: size of required sample.
  • df: degrees of freedom (strictly positive, but can be non-integer).
  • lb: lower bound of (truncated) distribution.
  • ub: upper bound of (truncated) distribution.

Details

The Chi-squared distribution with df=n>0= n > 0 degrees of freedom has density

fn(x)=12n/2Γ(n/2)xn/21ex/2fn(x)=1/(2(n/2)Gamma(n/2))x(n/21)e(x/2) f_n(x) = \frac{1}{{2}^{n/2} \Gamma (n/2)} {x}^{n/2-1} {e}^{-x/2}f_n(x) = 1 / (2^(n/2) Gamma(n/2)) x^(n/2-1) e^(-x/2)

for x>0x > 0.

The generation algorithm uses fast numerical inversion. The parameters lb and ub can be used to generate variates from the Chi-squared distribution truncated to the interval (lb,ub).

See Also

runif and .Random.seed about random number generation, unuran for the UNU.RAN class, and rchisq for the built-in generator.

References

W. H"ormann, J. Leydold, and G. Derflinger (2004): Automatic Nonuniform Random Variate Generation. Springer-Verlag, Berlin Heidelberg

Author(s)

Josef Leydold and Wolfgang H"ormann unuran@statmath.wu.ac.at .

Note

This function is wrapper for the UNU.RAN class in . Compared to rchisq, urchisq is faster, especially for larger sample sizes. However, in opposition to rchisq vector arguments are ignored, i.e. only the first entry is used.

Examples

## Create a sample of size 1000 x <- urchisq(n=1000,df=3)
  • Maintainer: Josef Leydold
  • License: GPL (>= 2)
  • Last published: 2025-04-07