convpow
determines the distribution of the sum of N univariate
i.i.d r.v's by means of DFTconvpow(D1,...)
## S3 method for class 'AbscontDistribution':
convpow(D1,N)
## S3 method for class 'LatticeDistribution':
convpow(D1,N,
ep = getdistrOption("TruncQuantile"))
## S3 method for class 'DiscreteDistribution':
convpow(D1,N)
## S3 method for class 'AcDcLcDistribution':
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 (
"AbscontDistribution"
, "DiscreteDistribution"
,
"LatticeDistribution"
resp. "AcDcLcDistribution"
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()