@article{JSSv059i04,
title={General Purpose Convolution Algorithm in S4 Classes by Means of FFT},
volume={59},
url={https://www.jstatsoft.org/index.php/jss/article/view/v059i04},
doi={10.18637/jss.v059.i04},
abstract={Object orientation provides a flexible framework for the implementation of the convolution of arbitrary distributions of real-valued random variables. We discuss an algorithm which is based on the fast Fourier transform. It directly applies to lattice-supported distributions. In the case of continuous distributions an additional discretization to a linear lattice is necessary and the resulting lattice-supported distributions are suitably smoothed after convolution. We compare our algorithm to other approaches aiming at a similar generality as to accuracy and speed. In situations where the exact results are known, several checks confirm a high accuracy of the proposed algorithm which is also illustrated for approximations of non-central χ<sup>2</sup> distributions. By means of object orientation this default algorithm is overloaded by more specific algorithms where possible, in particular where explicit convolution formulae are available. Our focus is on R package distr which implements this approach, overloading operator + for convolution; based on this convolution, we define a whole arithmetics of mathematical operations acting on distribution objects, comprising operators +, -, *, /, and ^.},
number={4},
journal={Journal of Statistical Software},
author={Ruckdeschel, Peter and Kohl, Matthias},
year={2014},
pages={1–25}
}