# ConvPow: Distribution of the sum of univariate i.i.d r.v's In distr: Object Oriented Implementation of Distributions

## Description

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

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11``` ``` 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) `"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)

## 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"` —if `D1` may be coerced to `Gammad`

`signature(D1="Pois")`

returns class `"Pois"`

`signature(D1="Dirac")`

returns class `"Dirac"`

## Author(s)

Peter Ruckdeschel [email protected]
Matthias Kohl [email protected] Thomas Stabla [email protected]

## 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.

`operators`, `distrARITH()`
 `1` ```convpow(Exp()+Pois(),4) ```