fourierin: An R package to compute Fourier integrals

We present the R package fourierin (Basulto-Elias, 2017) for evaluating functions defined as Fourier-type integrals over a collection of argument values. The integrals are finitely supported with integrands involving continuous functions of one or two variables. As an important application, such Fourier integrals arise in so-called “inversion formulas”, where one seeks to evaluate a probability density at a series of points from a given characteristic function (or vice versa) through Fourier transforms. This paper intends to fill a gap in current R software, where tools for repeated evaluation of functions as Fourier integrals are not directly available. We implement two approaches for such computations with numerical integration. In particular, if the argument collection for evaluation corresponds to a regular grid, then an algorithm from Inverarity (2002) may be employed based on a fast Fourier transform, which creates significant improvements in the speed over a second approach to numerical Fourier integration (where the latter also applies to cases where the points for evaluation are not on a grid). We illustrate the package with the computation of probability densities and characteristic functions through Fourier integrals/transforms, for both univariate and bivariate examples.

Guillermo Basulto-Elias , Alicia Carriquiry , Kris De Brabanter , Daniel J. Nordman

CRAN packages used

fourierin, RcppArmadillo

CRAN Task Views implied by cited packages



Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".


For attribution, please cite this work as

Basulto-Elias, et al., "The R Journal: fourierin: An R package to compute Fourier integrals", The R Journal, 2017

BibTeX citation

  author = {Basulto-Elias, Guillermo and Carriquiry, Alicia and Brabanter, Kris De and Nordman, Daniel J.},
  title = {The R Journal: fourierin: An R package to compute Fourier integrals},
  journal = {The R Journal},
  year = {2017},
  note = {},
  doi = {10.32614/RJ-2017-044},
  volume = {9},
  issue = {2},
  issn = {2073-4859},
  pages = {72-83}