Method convpow
determines the distribution of the sum of N univariate
i.i.d r.v's by means of DFT
convpow(D1,...)
# S4 method for AbscontDistribution
convpow(D1,N)
# S4 method for LatticeDistribution
convpow(D1,N,
ep = getdistrOption("TruncQuantile"))
# S4 method for DiscreteDistribution
convpow(D1,N)
# S4 method for AcDcLcDistribution
convpow(D1,N,
ep = getdistrOption("TruncQuantile"))
Object of class "AbscontDistribution"
, "DiscreteDistribution"
,
"LatticeDistribution"
resp. "AcDcLcDistribution"
an object of (a sub)class (of) "AbscontDistribution"
or
"LatticeDistribution"
or of "UnivarLebDecDistribution"
not yet used; meanwhile takes up N
an integer or 0 (for 0 returns Dirac(0), for 1 D1)
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)<ep)
we work with the discrete parts only, and, similarly, if
(discreteWeight(object)<ep)
we with the absolutely continuous
parts only.
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"
Peter Ruckdeschel peter.ruckdeschel@uni-oldenburg.de
Matthias Kohl matthias.kohl@stamats.de
Thomas Stabla statho3@web.de
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)
.
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.
operators
, distrARITH()