convpow determines the distribution of the sum of N univariate
i.i.d r.v's by means of DFTconvpow(D1,...) "convpow"(D1,N) "convpow"(D1,N, ep = getdistrOption("TruncQuantile")) "convpow"(D1,N) "convpow"(D1,N, ep = getdistrOption("TruncQuantile"))"AbscontDistribution" or
"LatticeDistribution" or of "UnivarLebDecDistribution""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. "AbscontDistribution", "DiscreteDistribution",
"LatticeDistribution" resp. "AcDcLcDistribution"signature(D1="Norm")"Norm"signature(D1="Nbinom")"Nbinom"signature(D1="Binom")"Binom"signature(D1="Cauchy")"Cauchy"signature(D1="ExpOrGammaOrChisq")"Gammad" ---if D1 may be coerced to Gammadsignature(D1="Pois")"Pois"signature(D1="Dirac")"Dirac"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).
operators, distrARITH()