A Fast Algorithm for the Convolution of Functions with Compact Support Using Fourier Extensions∗

A Fast Algorithm for the Convolution of Functions with Compact Support Using Fourier Extensions∗

SIAM J. SCI.COMPUT. c 2017 Society for Industrial and Applied Mathematics Vol. 39, No. 6, pp. A3089{A3106 A FAST ALGORITHM FOR THE CONVOLUTION OF FUNCTIONS WITH COMPACT SUPPORT USING FOURIER EXTENSIONS∗ y z x KUAN XU , ANTHONY P. AUSTIN , AND KE WEI Abstract. We present a new algorithm for computing the convolution of two compactly sup- ported functions. The algorithm approximates the functions to be convolved using Fourier extensions and then uses the fast Fourier transform to efficiently compute Fourier extension approximations to the pieces of the result. The complexity of the algorithm is ON(log N)2, where N is the number of degrees of freedom used in each of the Fourier extensions. Key words. convolution, fast Fourier transform, Fourier extension, Fredholm convolution inte- gral, Toeplitz matrix, Volterra convolution integral AMS subject classifications. 44A35, 65R10, 65T40 DOI. 10.1137/17M1114764 1. Introduction. Let f :[a; b] ! C and g :[ c; d] ! C be two compactly supported functions on the real line. We consider the problem of approximating the convolution h = f ∗ g, defined via the integral Z 1 Z min(b;x−c) (1.1) h(x) = f(t)g(x − t) dt = f(t)g( x − t) dt; x 2 [a + c; b + d]: −∞ max(a;x−d) Since convolution is a commutative operation, we lose no generality in assuming that g has the larger domain: d − c ≥ b − a. In this case, the limits of integration in (1.1) can be visualized for each value of x by the diagram in Figure 1. Splitting h into the three pieces suggested by the diagram, we have 8 Z x−c > L (1.2a) > h (x) = f(t)g(x − t)dt; x 2 [a + c; b + c]; > > a <> Z b (1.2b) h(x) = hM (x) = f(t)g(x − t)dt; x 2 [b + c; a + d]; > a > b > Z (1.2c) > hR(x) = f(t)g(x − t)dt; x 2 [a + d; b + d]: :> x−d ∗Submitted to the journal's Methods and Algorithms for Scientific Computing section February 3, 2017; accepted for publication (in revised form) September 7, 2017; published electronically December 21, 2017. http://www.siam.org/journals/sisc/39-6/M111476.html Funding: The first author's work was supported by the Royal Society under Research grant RG160236. The second author's work was supported by the U.S. Department of Energy, Office of Science, under contract number DE-AC02-06CH11357. The third author's work was supported by the National Science Foundation under grant DTRA-DMS 1322393. The submitted manuscript was created by UChicago Argonne, LLC, Operator of Argonne National Laboratory (\Argonne"). Argonne, a U.S. Department of Energy Office of Science laboratory, is operated under Contract DE-AC02-06CH11357. The U.S. Government retains for itself, and others acting on its behalf, a paid-up nonexclusive, irrevocable worldwide license in said article to reproduce, prepare derivative works, distribute copies to the public, and perform publicly and display publicly, by or on behalf of the Government. The Department of Energy will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan (http://energy.gov/downloads/ doe-public-access-plan). ySchool of Mathematics, Statistics, and Actuarial Science, University of Kent, Canterbury, CT2 7NF, UK ([email protected]). Downloaded 12/21/17 to 129.12.11.80. Redistribution subject SIAM license or copyright; see http://www.siam.org/journals/ojsa.php zMathematics and Computer Science Division, Argonne National Laboratory, Lemont, IL 60439 ([email protected]). xDepartment of Mathematics, University of California, Davis, Davis, CA 95616 (kewei@math. ucdavis.edu). A3089 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited. A3090 KUAN XU, ANTHONY P. AUSTIN, AND KE WEI t b b Z b Z x−d x−c Z a a a O a + c b + c a + d b + d x Fig. 1. Schematic illustrating how the limits of integration in (1.1) vary with x, assuming that d−c ≥ b−a. Given a value of x on the horizontal axis, the limits range over the values of t indicated by the corresponding \slice" of the parallelogram. L M R We refer to h , h , and h as the left, middle, and right pieces of the convolution, respectively. The integrals for the left and right pieces are known as Volterra convo- lution integrals because each has a limit that varies with x, while the integral for the middle piece, which has constant limits, is a Fredholm convolution integral [6, 9, 10]. In [14], Hale and Townsend propose an algorithm for approximating h that first approximates f and g by polynomials represented in the Legendre basis and then convolves the approximations using a version of the convolution theorem for Legendre polynomials. The result is a piecewise polynomial representation that can be evaluated at any x in the domain of h to yield an approximation to h(x). If the polynomials used to approximate f and g have degree at most M , their algorithm produces an 2 approximation to h in O(M ) operations. In this article, we present a new algorithm for approximating h using Fourier extensions instead of polynomials. The algorithm first constructs Fourier extension approximations to f and g from samples at equispaced points and then uses these to compute Fourier extension approximations to hL, h M , and hR. The advantage to using Fourier representations is that the latter computations can be carried out in just O(N log N) operations using the fast Fourier transform (FFT), where N is the number of degrees of freedom in each of the Fourier extensions for f and g. Since the extensions can be computed in just O(N(log N)2 ) operations by using recently developed techniques [17], the overall complexity of our algorithm is O(N(log N)2). Because Fourier extensions and polynomials approximate functions at different rates, the values of M and N defined in the preceding paragraphs needed to attain the same level of accuracy in the corresponding approximations to f and g may differ. It is therefore not immediately clear from the preceding description how our method compares with the one from [14]. We explore these issues in some of our numerical experiments below. Note that while our algorithm uses Fourier representations, it differs substantially from the naive method of computing h by approximating (suitably zero-extended versions of) f and g using trigonometric polynomials over a common interval and convolving the approximations via the FFT. The discontinuities introduced by the nonperiodicity of f and g makes the approximations used in this approach inefficient and susceptible to artifacts such as the Gibbs phenomenon. One can ameliorate these Downloaded 12/21/17 to 129.12.11.80. Redistribution subject SIAM license or copyright; see http://www.siam.org/journals/ojsa.php problems by smoothing out the discontinuities; however, this comes at the expense of accuracy in the computation of h. Fourier extensions are more complicated theoreti- cally and algorithmically, but they offer a way around these deficiencies. Copyright © by SIAM. Unauthorized reproduction of this article is prohibited. FAST CONVOLUTION USING FOURIER EXTENSIONS A3091 Our discussion is organized as follows. In section 2, we briefly review some con- cepts related to Fourier extensions. In section 3, we present the details of our algo- rithm. In section 4, we test our algorithm on a variety of numerical examples, and in section 5, we conclude the paper with some additional remarks about future work. 2. Fourier extensions. Fourier extensions are a technique for approximating functions on compact subintervals of the real line by using Fourier series, even if they are not periodic. Briefly, the idea is to smoothly extend the function to a periodic function on a larger domain and then approximate the extension using Fourier series. In practice, we do not compute such an extension explicitly but, instead, directly approximate the original function using the Fourier basis from the larger domain. In symbols, suppose that F is a complex-valued function on [−1; 1]. For fixed T > 1, we seek an approximation to F of the form n X (2.1) F (x) ≈ G (x);G (x) = c eikπx=T ; x 2 [−1; 1]: n n k k=−n The function Gn is a trigonometric polynomial of degree n that is periodic on the interval [−T;T ]. The value T is known as the extension parameter [3] (or the con- tinuation length [11]) and is commonly taken to be 2, although our algorithm will involve Fourier extension approximations of lengths other than this.1 Note that the approximation is not expected to be good for x2 = [− 1; 1], and in practice it rarely is.2 The approximation in (2.1) is usually made withrespect to a least-squares crite- rion. One can choose Gn to minimize kF − GnkL2([−1;1]), where k · kL2([−1;1]) is the L2 norm on [−1; 1]; this is called the continuous Fourier extension problem. Alter- 3 natively, one can solve a discrete Fourier extension problem obtained by selecting M = 2m + 1 > N = 2n + 1 points x−m; : : : ; xm 2 [− 1; 1] and demanding that Gn Pm 2 minimize j=−m jF (xj) − Gn(xj)j . The number of points M is typically chosen as some fixed multiple of N, the number of degrees of freedom available in the extension. That is, we have M = γN for some γ ≥ 1, known as the oversampling factor. For a detailed explanation of why oversampling is important, we refer the reader to [7, sec- tion 4.2].

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us