convpow-methods {distr} | R Documentation |
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,...)
## S4 method for signature 'AbscontDistribution'
convpow(D1,N)
## S4 method for signature 'LatticeDistribution'
convpow(D1,N,
ep = getdistrOption("TruncQuantile"))
## S4 method for signature 'DiscreteDistribution'
convpow(D1,N)
## S4 method for signature 'AcDcLcDistribution'
convpow(D1,N,
ep = getdistrOption("TruncQuantile"))
Arguments
D1 |
an object of (a sub)class (of) |
... |
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 |
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)
.
Value
Object of class "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"
—ifD1
may be coerced toGammad
signature(D1="Pois")
returns class
"Pois"
signature(D1="Dirac")
returns class
"Dirac"
Author(s)
Peter Ruckdeschel peter.ruckdeschel@uni-oldenburg.de
Matthias Kohl matthias.kohl@stamats.de
Thomas Stabla statho3@web.de
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
convpow(Exp()+Pois(),4)