 Convolution

For the usage in formal language theory, see Convolution (computer science).
In mathematics and, in particular, functional analysis, convolution is a mathematical operation on two functions f and g, producing a third function that is typically viewed as a modified version of one of the original functions. Convolution is similar to crosscorrelation. It has applications that include probability, statistics, computer vision, image and signal processing, electrical engineering, and differential equations.
The convolution can be defined for functions on groups other than Euclidean space. In particular, the circular convolution can be defined for periodic functions (that is, functions on the circle), and the discrete convolution can be defined for functions on the set of integers. These generalizations of the convolution have applications in the field of numerical analysis and numerical linear algebra, and in the design and implementation of finite impulse response filters in signal processing.
Computing the inverse of the convolution operation is known as deconvolution.
Contents
History
The operation
is a particular case of composition products considered by the Italian mathematician Vito Volterra in 1913.^{[1]}
Convolution is also sometimes called "Faltung" (which means folding in German); both Faltung and convolution were used as early as 1903, though the definition is rather unfamiliar in older uses.^{[2]}^{[3]} The term Faltung was sometimes used in English through the 1940s, before the notion of convolution became widely used, along with other terms such as composition product, superposition integral, and Carson's integral.^{[4]}
Definition
The convolution of ƒ and g is written ƒ∗g, using an asterisk or star. It is defined as the integral of the product of the two functions after one is reversed and shifted. As such, it is a particular kind of integral transform:
While the symbol t is used above, it need not represent the time domain. But in that context, the convolution formula can be described as a weighted average of the function ƒ(τ) at the moment t where the weighting is given by g(−τ) simply shifted by amount t. As t changes, the weighting function emphasizes different parts of the input function.
More generally, if f and g are complexvalued functions on R^{d}, then their convolution may be defined as the integral:
Visual explanation of convolution.  Express each function in terms of a dummy variable τ.
 Reflect one of the functions: g(τ)→g( − τ).
 Add a timeoffset, t, which allows g(t − τ) to slide along the τaxis.
 Start t at ∞ and slide it all the way to +∞. Wherever the two functions intersect, find the integral of their product. In other words, compute a sliding, weightedaverage of function f(τ), where the weighting function is g( − τ).
 The resulting waveform (not shown here) is the convolution of functions f and g. If f(t) is a unit impulse, the result of this process is simply g(t), which is therefore called the impulse response.
Circular convolution
Main article: Circular convolutionWhen a function g_{T} is periodic, with period T, then for functions, ƒ, such that ƒ∗g_{T} exists, the convolution is also periodic and identical to:
where t_{o} is an arbitrary choice. The summation is called a periodic summation of the function ƒ.
If g_{T} is a periodic summation of another function, g, then ƒ∗g_{T} is known as a circular, cyclic, or periodic convolution of ƒ and g.
Discrete convolution
For complexvalued functions f, g defined on the set Z of integers, the discrete convolution of f and g is given by:
When multiplying two polynomials, the coefficients of the product are given by the convolution of the original coefficient sequences, extended with zeros where necessary to avoid undefined terms; this is known as the Cauchy product of the coefficients of the two polynomials.
Circular discrete convolution
When a function g_{N} is periodic, with period N, then for functions, f, such that f∗g_{N} exists, the convolution is also periodic and identical to:
The summation on k is called a periodic summation of the function f.
If g_{N} is a periodic summation of another function, g, then f∗g_{N} is known as a circular convolution of f and g.
When the nonzero durations of both f and g are limited to the interval [0, N − 1], f∗g_{N} reduces to these common forms:

(
The notation for cyclic convolution denotes convolution over the cyclic group of integers modulo N.
Circular convolution is frequently used to characterized systems analyzed through the lens of the Discrete Fourier Transform.
Fast convolution algorithms
In many situations, discrete convolutions can be converted to circular convolutions so that fast transforms with a convolution property can be used to implement the computation. For example, convolution of digit sequences is the kernel operation in multiplication of multidigit numbers, which can therefore be efficiently implemented with transform techniques (Knuth 1997, §4.3.3.C; von zur Gathen & Gerhard 2003, §8.2).
Eq.1 requires N arithmetic operations per output value and N^{2} operations for N outputs. That can be significantly reduced with any of several fast algorithms. Digital signal processing and other applications typically use fast convolution algorithms to reduce the cost of the convolution to O(N log N) complexity.
The most common fast convolution algorithms use fast Fourier transform (FFT) algorithms via the circular convolution theorem. Specifically, the circular convolution of two finitelength sequences is found by taking an FFT of each sequence, multiplying pointwise, and then performing an inverse FFT. Convolutions of the type defined above are then efficiently implemented using that technique in conjunction with zeroextension and/or discarding portions of the output. Other fast convolution algorithms, such as the Schönhage–Strassen algorithm, use fast Fourier transforms in other rings.
Domain of definition
The convolution of two complexvalued functions on R^{d}
is welldefined only if ƒ and g decay sufficiently rapidly at infinity in order for the integral to exist. Conditions for the existence of the convolution may be tricky, since a blowup in g at infinity can be easily offset by sufficiently rapid decay in ƒ. The question of existence thus may involve different conditions on ƒ and g.
Compactly supported functions
If ƒ and g are compactly supported continuous functions, then their convolution exists, and is also compactly supported and continuous (Hörmander). More generally, if either function (say ƒ) is compactly supported and the other is locally integrable, then the convolution ƒ∗g is welldefined and continuous.
Integrable functions
The convolution of ƒ and g exists if ƒ and g are both Lebesgue integrable functions (in L^{1}(R^{d})), and in this case ƒ∗g is also integrable (Stein & Weiss 1971, Theorem 1.3). This is a consequence of Tonelli's theorem. Likewise, if ƒ ∈ L^{1}(R^{d}) and g ∈ L^{p}(R^{d}) where 1 ≤ p ≤ ∞, then ƒ∗g ∈ L^{p}(R^{d}) and
In the particular case p= 1, this shows that L^{1} is a Banach algebra under the convolution (and equality of the two sides holds if f and g are nonnegative almost everywhere).
More generally, Young's inequality implies that the convolution is a continuous bilinear map between suitable L^{p} spaces. Specifically, if 1 ≤ p,q,r ≤ ∞ satisfy
then
so that the convolution is a continuous bilinear mapping from L^{p}×L^{q} to L^{r}.
Functions of rapid decay
In addition to compactly supported functions and integrable functions, functions that have sufficiently rapid decay at infinity can also be convolved. An important feature of the convolution is that if ƒ and g both decay rapidly, then ƒ∗g also decays rapidly. In particular, if ƒ and g are rapidly decreasing functions, then so is the convolution ƒ∗g. Combined with the fact that convolution commutes with differentiation (see Properties), it follows that the class of Schwartz functions is closed under convolution.
Distributions
Main article: Distribution (mathematics)Under some circumstances, it is possible to define the convolution of a function with a distribution, or of two distributions. If ƒ is a compactly supported function and g is a distribution, then ƒ∗g is a smooth function defined by a distributional formula analogous to
More generally, it is possible to extend the definition of the convolution in a unique way so that the associative law
remains valid in the case where ƒ is a distribution, and g a compactly supported distribution (Hörmander 1983, §4.2).
Measures
The convolution of any two Borel measures μ and ν of bounded variation is the measure λ defined by
This agrees with the convolution defined above when μ and ν are regarded as distributions, as well as the convolution of L^{1} functions when μ and ν are absolutely continuous with respect to the Lebesgue measure.
The convolution of measures also satisfies the following version of Young's inequality
where the norm is the total variation of a measure. Because the space of measures of bounded variation is a Banach space, convolution of measures can be treated with standard methods of functional analysis that may not apply for the convolution of distributions.
Properties
Algebraic properties
See also: Convolution algebraThe convolution defines a product on the linear space of integrable functions. This product satisfies the following algebraic properties, which formally mean that the space of integrable functions with the product given by convolution is a commutative algebra without identity (Strichartz 1994, §3.3). Other linear spaces of functions, such as the space of continuous functions of compact support, are closed under the convolution, and so also form commutative algebras.
 Associativity with scalar multiplication
for any real (or complex) number .
 Multiplicative identity
No algebra of functions possesses an identity for the convolution. The lack of identity is typically not a major inconvenience, since most collections of functions on which the convolution is performed can be convolved with a delta distribution or, at the very least (as is the case of L^{1}) admit approximations to the identity. The linear space of compactly supported distributions does, however, admit an identity under the convolution. Specifically,
where δ is the delta distribution.
 Inverse element
Some distributions have an inverse element for the convolution, S^{(−1)}, which is defined by
The set of invertible distributions forms an abelian group under the convolution.
 Complex conjugation
Integration
If ƒ and g are integrable functions, then the integral of their convolution on the whole space is simply obtained as the product of their integrals:
This follows from Fubini's theorem. The same result holds if ƒ and g are only assumed to be nonnegative measurable functions, by Tonelli's theorem.
Differentiation
In the onevariable case,
where d/dx is the derivative. More generally, in the case of functions of several variables, an analogous formula holds with the partial derivative:
A particular consequence of this is that the convolution can be viewed as a "smoothing" operation: the convolution of ƒ and g is differentiable as many times as ƒ and g are together.
These identities hold under the precise condition that ƒ and g are absolutely integrable and at least one of them has an absolutely integrable (L^{1}) weak derivative, as a consequence of Young's inequality. For instance, when ƒ is continuously differentiable with compact support, and g is an arbitrary locally integrable function,
These identities also hold much more broadly in the sense of tempered distributions if one of ƒ or g is a compactly supported distribution or a Schwartz function and the other is a tempered distribution. On the other hand, two positive integrable and infinitely differentiable functions may have a nowhere continuous convolution.
In the discrete case, the difference operator D ƒ(n) = ƒ(n + 1) − ƒ(n) satisfies an analogous relationship:
Convolution theorem
The convolution theorem states that
where denotes the Fourier transform of f, and k is a constant that depends on the specific normalization of the Fourier transform (see “Properties of the Fourier transform”). Versions of this theorem also hold for the Laplace transform, twosided Laplace transform, Ztransform and Mellin transform.
See also the less trivial Titchmarsh convolution theorem.
Translation invariance
The convolution commutes with translations, meaning that
where τ_{x}ƒ is the translation of the function ƒ by x defined by
If ƒ is a Schwartz function, then τ_{x}ƒ is the convolution with a translated Dirac delta function τ_{x}ƒ = ƒ∗τ_{x} δ. So translation invariance of the convolution of Schwartz functions is a consequence of the associativity of convolution.
Furthermore, under certain conditions, convolution is the most general translation invariant operation. Informally speaking, the following holds
 Suppose that S is a linear operator acting on functions which commutes with translations: S(τ_{x}ƒ) = τ_{x}(Sƒ) for all x. Then S is given as convolution with a function (or distribution) g_{S}; that is Sƒ = g_{S}∗ƒ.
Thus any translation invariant operation can be represented as a convolution. Convolutions play an important role in the study of timeinvariant systems, and especially LTI system theory. The representing function g_{S} is the impulse response of the transformation S.
A more precise version of the theorem quoted above requires specifying the class of functions on which the convolution is defined, and also requires assuming in addition that S must be a continuous linear operator with respect to the appropriate topology. It is known, for instance, that every continuous translation invariant continuous linear operator on L^{1} is the convolution with a finite Borel measure. More generally, every continuous translation invariant continuous linear operator on L^{p} for 1 ≤ p < ∞ is the convolution with a tempered distribution whose Fourier transform is bounded. To wit, they are all given by bounded Fourier multipliers.
Convolutions on groups
If G is a suitable group endowed with a measure λ, and if f and g are real or complex valued integrable functions on G, then we can define their convolution by
In typical cases of interest G is a locally compact Hausdorff topological group and λ is a (left) Haar measure. In that case, unless G is unimodular, the convolution defined in this way is not the same as . The preference of one over the other is made so that convolution with a fixed function g commutes with left translation in the group:
Furthermore, the convention is also required for consistency with the definition of the convolution of measures given below. However, with a right instead of a left Haar measure, the latter integral is preferred over the former.
On locally compact abelian groups, a version of the convolution theorem holds: the Fourier transform of a convolution is the pointwise product of the Fourier transforms. The circle group T with the Lebesgue measure is an immediate example. For a fixed g in L^{1}(T), we have the following familiar operator acting on the Hilbert space L^{2}(T):
The operator T is compact. A direct calculation shows that its adjoint T* is convolution with
By the commutativity property cited above, T is normal: T*T = TT*. Also, T commutes with the translation operators. Consider the family S of operators consisting of all such convolutions and the translation operators. Then S is a commuting family of normal operators. According to spectral theory, there exists an orthonormal basis {h_{k}} that simultaneously diagonalizes S. This characterizes convolutions on the circle. Specifically, we have
which are precisely the characters of T. Each convolution is a compact multiplication operator in this basis. This can be viewed as a version of the convolution theorem discussed above.
A discrete example is a finite cyclic group of order n. Convolution operators are here represented by circulant matrices, and can be diagonalized by the discrete Fourier transform.
A similar result holds for compact groups (not necessarily abelian): the matrix coefficients of finitedimensional unitary representations form an orthonormal basis in L^{2} by the Peter–Weyl theorem, and an analog of the convolution theorem continues to hold, along with many other aspects of harmonic analysis that depend on the Fourier transform.
Convolution of measures
Let G be a topological group. If μ and ν are finite Borel measures on a group G, then their convolution μ∗ν is defined by
for each measurable subset E of G. The convolution is also a finite measure, whose total variation satisfies
In the case when G is locally compact with (left)Haar measure λ, and μ and ν are absolutely continuous with respect to a λ, so that each has a density function, then the convolution μ∗ν is also absolutely continuous, and its density function is just the convolution of the two separate density functions.
If μ and ν are probability measures, then the convolution μ∗ν is the probability distribution of the sum X + Y of two independent random variables X and Y whose respective distributions are μ and ν.
Bialgebras
Let (X, Δ, ∇, ε, η) be a bialgebra with comultiplication Δ, multiplication ∇, unit η, and counit ε. The convolution is a product defined on the endomorphism algebra End(X) as follows. Let φ, ψ ∈ End(X), that is, φ,ψ : X → X are functions that respect all algebraic structure of X, then the convolution φ∗ψ is defined as the composition
The convolution appears notably in the definition of Hopf algebras (Kassel 1995, §III.3). A bialgebra is a Hopf algebra if and only if it has an antipode: an endomorphism S such that
Applications
Convolution and related operations are found in many applications of engineering and mathematics.
 In electrical engineering, the convolution of one function (the input signal) with a second function (the impulse response) gives the output of a linear timeinvariant system (LTI). At any given moment, the output is an accumulated effect of all the prior values of the input function, with the most recent values typically having the most influence (expressed as a multiplicative factor). The impulse response function provides that factor as a function of the elapsed time since each input value occurred.
 In digital signal processing and image processing applications, the entire input function is often available for computing every sample of the output function. In that case, the constraint that each output is the effect of only prior inputs can be relaxed.
 Convolution amplifies or attenuates each frequency component of the input independently of the other components.
 In statistics, as noted above, a weighted moving average is a convolution.
 In probability theory, the probability distribution of the sum of two independent random variables is the convolution of their individual distributions.
 In optics, many kinds of "blur" are described by convolutions. A shadow (e.g., the shadow on the table when you hold your hand between the table and a light source) is the convolution of the shape of the light source that is casting the shadow and the object whose shadow is being cast. An outoffocus photograph is the convolution of the sharp image with the shape of the iris diaphragm. The photographic term for this is bokeh.
 Similarly, in digital image processing, convolutional filtering plays an important role in many important algorithms in edge detection and related processes.
 In linear acoustics, an echo is the convolution of the original sound with a function representing the various objects that are reflecting it.
 In artificial reverberation (digital signal processing, pro audio), convolution is used to map the impulse response of a real room on a digital audio signal (see previous and next point for additional information).
 In timeresolved fluorescence spectroscopy, the excitation signal can be treated as a chain of delta pulses, and the measured fluorescence is a sum of exponential decays from each delta pulse.
 In radiotherapy treatment planning systems, most part of all modern codes of calculation applies a convolutionsuperposition algorithm.
 In physics, wherever there is a linear system with a "superposition principle", a convolution operation makes an appearance.
 In kernel density estimation, a distribution is estimated from sample points by convolution with a kernel, such as an isotropic Gaussian. (Diggle 1995).
 In computational fluid dynamics, the large eddy simulation (LES) turbulence model uses the convolution operation to lower the range of length scales necessary in computation thereby reducing computational cost.
See also
 LTI system theory#Impulse response and convolution
 Toeplitz matrix (convolutions can be considered a Toeplitz matrix operation where each row is a shifted copy of the convolution kernel)
 Crosscorrelation
 Deconvolution
 Dirichlet convolution
 Titchmarsh convolution theorem
 Convolution power
 Analog signal processing
 Convolution for optical broadbeam responses in scattering media
 List of convolutions of probability distributions
 Jan Mikusinski
Notes
 ^ According to [Lothar von Wolfersdorf (2000), "Einige Klassen quadratischer Integralgleichungen", Sitzungsberichte der Sächsischen Akademie der Wissenschaften zu Leipzig, Mathematischnaturwissenschaftliche Klasse, volume 128, number 2, 6–7], the source is Volterra, Vito (1913), "Leçons sur les fonctions de linges". GauthierVillars, Paris 1913.
 ^ John Hilton Grace and Alfred Young (1903). The algebra of invariants. Cambridge University Press. p. 40. http://books.google.com/books?id=NIe4AAAAIAAJ&pg=PA40.
 ^ Leonard Eugene Dickson (1914). Algebraic invariants. J. Wiley. p. 85. http://books.google.com/books?id=LRGoAAAAIAAJ&pg=PA85.
 ^ R. N. Bracewell (2005). "Early work on imaging theory in radio astronomy". In W. T. Sullivan. The Early Years of Radio Astronomy: Reflections Fifty Years After Jansky's Discovery. Cambridge University Press. p. 172. ISBN 9780521616027. http://books.google.com/books?id=v2SqL0zCrwcC&pg=PA172.
References
 Bracewell, R. (1986), The Fourier Transform and Its Applications (2nd ed.), McGraw–Hill, ISBN 0071160434.
 Hewitt, Edwin; Ross, Kenneth A. (1979), Abstract harmonic analysis. Vol. I, Grundlehren der Mathematischen Wissenschaften [Fundamental Principles of Mathematical Sciences], 115 (2nd ed.), Berlin, New York: SpringerVerlag, ISBN 9783540094340, MR551496.
 Hewitt, Edwin; Ross, Kenneth A. (1970), Abstract harmonic analysis. Vol. II: Structure and analysis for compact groups. Analysis on locally compact Abelian groups, Die Grundlehren der mathematischen Wissenschaften, Band 152, Berlin, New York: SpringerVerlag, MR0262773.
 Hörmander, L. (1983), The analysis of linear partial differential operators I, Grundl. Math. Wissenschaft., 256, Springer, ISBN 3540121048, MR0717035.
 Kassel, Christian (1995), Quantum groups, Graduate Texts in Mathematics, 155, Berlin, New York: SpringerVerlag, ISBN 9780387943701, MR1321145.
 Knuth, Donald (1997), Seminumerical Algorithms (3rd. ed.), Reading, Massachusetts: Addison–Wesley, ISBN 0201896842.
 Rudin, Walter (1962), Fourier analysis on groups, Interscience Tracts in Pure and Applied Mathematics, No. 12, Interscience Publishers (a division of John Wiley and Sons), New York–London, ISBN 047152364X, MR0152834.
 Sobolev, V.I. (2001), "Convolution of functions", in Hazewinkel, Michiel, Encyclopaedia of Mathematics, Springer, ISBN 9781556080104, http://eom.springer.de/C/c026430.htm.
 Stein, Elias; Weiss, Guido (1971), Introduction to Fourier Analysis on Euclidean Spaces, Princeton University Press, ISBN 069108078X.
 Strichartz, R. (1994), A Guide to Distribution Theory and Fourier Transforms, CRC Press, ISBN 0849382734.
 Titchmarsh, E (1948), Introduction to the theory of Fourier integrals (2nd ed.), New York, N.Y.: Chelsea Pub. Co. (published 1986), ISBN 9780828403245.
 Uludag, A. M. (1998), "On possible deterioration of smoothness under the operation of convolution", J. Math. Anal. Appl. 227 no. 2, 335–358
 Treves, François (1967), Topological Vector Spaces, Distributions and Kernels, Academic Press, ISBN 0486453529.
 von zur Gathen, J.; Gerhard, J. (2003), Modern Computer Algebra, Cambridge University Press, ISBN 0521826462.
 Diggle, P. J. (1995), "A kernel method for smoothing point process data", Journal of the Royal Statistical Society, Series C) 34 (1985) 138–147
External links
 Earliest Uses: The entry on Convolution has some historical information.
 Convolution, on The Data Analysis BriefBook
 http://www.jhu.edu/~signals/convolve/index.html Visual convolution Java Applet.
 http://www.jhu.edu/~signals/discreteconv2/index.html Visual convolution Java Applet for discretetime functions.
 Lectures on Image Processing: A collection of 18 lectures in pdf format from Vanderbilt University. Lecture 7 is on 2D convolution., by Alan Peters.
 Convolution Kernel Mask Operation Interactive tutorial
 Convolution at MathWorld
 Freeverb3 Impulse Response Processor: Opensource zero latency impulse response processor with VST plugins
 Stanford University CS 178 interactive Flash demo showing how spatial convolution works.
Categories: Functional analysis
 Image processing
 Binary operations
 Fourier analysis
 Bilinear operators
Wikimedia Foundation. 2010.