distr (version 2.6)

convpow-methods: Distribution of the sum of univariate i.i.d r.v's

Description

Method convpow determines the distribution of the sum of N univariate i.i.d r.v's by means of DFT

Usage

convpow(D1,...) "convpow"(D1,N) "convpow"(D1,N, ep = getdistrOption("TruncQuantile")) "convpow"(D1,N) "convpow"(D1,N, ep = getdistrOption("TruncQuantile"))

Arguments

D1
an object of (a sub)class (of) "AbscontDistribution" or "LatticeDistribution" or of "UnivarLebDecDistribution"
...
not yet used; meanwhile takes up N
N
an integer or 0 (for 0 returns Dirac(0), for 1 D1)
ep
numeric of length 1 in (0,1) --- for "LatticeDistribution": support points will be cancelled if their probability is less than ep; for "UnivarLebDecDistribution": if (acWeight(object) we work with the discrete parts only, and, similarly, if (discreteWeight(object) we with the absolutely continuous parts only.

Value

"AbscontDistribution", "DiscreteDistribution", "LatticeDistribution" resp. "AcDcLcDistribution"

further S4-Methods

There are particular methods for the following classes, using explicit convolution formulae:
signature(D1="Norm")
returns class "Norm"
signature(D1="Nbinom")
returns class "Nbinom"
signature(D1="Binom")
returns class "Binom"
signature(D1="Cauchy")
returns class "Cauchy"
signature(D1="ExpOrGammaOrChisq")
returns class "Gammad" ---if D1 may be coerced to Gammad
signature(D1="Pois")
returns class "Pois"
signature(D1="Dirac")
returns class "Dirac"

Details

in the methods implemented a second argument N is obligatory; the general methods use a general purpose convolution algorithm for distributions by means of D/FFT. In case of an argument of class "UnivarLebDecDistribution", the result will in generally be again of class "UnivarLebDecDistribution". However, if acWeight(D1) is positive, discreteWeight(convpow(D1,N)) will decay exponentially in N, hence from some (small) $N_0$ on, the result will be of class "AbscontDistribution". This is used algorithmically, too, as then only the a.c. part needs to be convolved. In case of an argument D1 of class "DiscreteDistribution", for N equal to 0,1 we return the obvious solutions, and for N==2 the return value is D1+D1. For N>2, we split up N into N=N1+N2, N1=floor(N/2) and recursively return convpow(D1,N1)+convpow(D1,N2).

References

Kohl, M., Ruckdeschel, P., (2014): General purpose convolution algorithm for distributions in S4-Classes by means of FFT. J. Statist. Softw. 59(4): 1-25.

See Also

operators, distrARITH()

Examples

Run this code
convpow(Exp()+Pois(),4)

Run the code above in your browser using DataCamp Workspace