R: Distribution of the sum of univariate i.i.d r.v's

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) `"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)<ep)` we work with the discrete parts only, and, similarly, if `(discreteWeight(object)<ep)` we with the absolutely continuous parts only.

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

[Package distr version 2.8.0 Index]