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"`

—if`D1`

may be coerced to`Gammad`

`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)
```

*distr*version 2.9.3 Index]