The R Journal: accepted article

This article will be copy edited and may be changed before publication.

fourierin: An R package to compute Fourier integrals PDF download
Guillermo Basulto-Elias, Alicia Carriquiry, Kris De Brabanter and Daniel J. Nordman

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

Received: 2016-11-16; online 2017-10-12
CRAN packages: fourierin, RcppArmadillo , CRAN Task Views implied by cited CRAN packages: NumericalMathematics

CC BY 4.0
This article is licensed under a Creative Commons Attribution 4.0 International license.

  author = {Guillermo Basulto-Elias and Alicia Carriquiry and Kris De
          Brabanter and Daniel J. Nordman},
  title = {{fourierin: An R package to compute Fourier integrals}},
  year = {2017},
  journal = {{The R Journal}},
  url = {}