Convolution

This article is about the mathematical concept of convolution. See convolution (computer science) for the computer science usage.
In mathematics and in particular, functional analysis, convolution is a mathematical operator which takes two functions f and g and produces a third function that in a sense represents the amount of overlap between f and a reversed and translated version of g. A convolution is a kind of very general moving average, as one can see by taking one of the functions to be an indicator function of an interval.
Contents 
Uses
Convolution and related operations are found in many applications of engineering and mathematics.
 In statistics, as noted above, a weighted moving average is a convolution.
 In statistics, the probability distribution of the sum of two random variables is the convolution of each of their 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 blur circle formed by the iris diaphragm.
 In acoustics, an echo is the convolution of the original sound with a function representing the various objects that are reflecting it.
 In electrical engineering and other disciplines, the output (response) of a (stationary, or time or spaceinvariant) linear system is the convolution of the input (excitation) with the system's response to an impulse or Dirac delta function. See LTI system theory.
 In timeresolved fluorescence spectroscopy, the excitation signal can be treated as a chain of delta pulses, and the measured fluorescence is sum of exponential decays from each delta pulse.
 In physics, wherever there is a linear system with a "superposition" principle, a convolution operation makes an appearance.
 In digital signal processing, convolution can be used to generate the output of an FIR filter by convolving the input signal with the impulse response.
Definition
The convolution of f and g is written f ∗ g. It is defined as the integral of the product of the two functions after one is reversed and shifted.
 <math>(f * g )(t) = \int f(\tau) g(t  \tau)\, d\tau<math>
The integration range depends on the domain on which the functions are defined. In the case of a finite integration range, f and g are often considered to extend periodically in both directions, so that the term g(t − τ) does not imply a range violation. This use of periodic domains is sometimes called a cyclic, circular or periodic convolution. Of course, extension with zeros is also possible. Using zeroextended or infinite domains is sometimes called a linear convolution, especially in the discrete case below.
If <math>X<math> and <math>Y<math> are two independent random variables with probability densities f and g, respectively, then the probability density of the sum X + Y is given by the convolution f ∗ g.
For discrete functions, one can use a discrete version of the convolution. It is then given by
 <math>(f * g)(m) = \sum_n {f(n) g(m  n)} \,<math>
When multiplying two polynomials, the coefficients of the product are given by the convolution of the original coefficient sequences, in this sense (using extension with zeros as mentioned above).
Generalizing the above cases, the convolution can be defined for any two integrable functions defined on a locally compact topological group. A different generalization is the convolution of distributions.
Properties
The various convolution operators all satisfy the following properties:
Commutativity:
 <math>f * g = g * f \,<math>
Associativity:
 <math>f * (g * h) = (f * g) * h \,<math>
Distributivity:
 <math>f * (g + h) = (f * g) + (f * h) \,<math>
Associativity with scalar multiplication:
 <math>a (f * g) = (a f) * g = f * (a g) \,<math>
for any real (or complex) number <math>a<math>.
Differentiation rule:
 <math>\mathcal{D}(f * g) = \mathcal{D}f * g = f * \mathcal{D}g \,<math>
where Df denotes the derivative of f or, in the discrete case, the difference operator
Df(n) = f(n+1)  f(n).
Convolution theorem:
 <math> \mathcal{F}(f * g) = \sqrt{2\pi} \mathcal{F} (f) \cdot \mathcal{F} (g) <math>
where F f denotes the Fourier transform of f. Versions of this theorem also hold for the Laplace transform, twosided Laplace transform and Mellin transform.
Convolutions on groups
If G is a suitable group endowed with a measure m (for instance, a locally compact Hausdorff topological group with the Haar measure) and if f and g are real or complex valued mintegrable functions of G, then we can define their convolution by
 <math>(f * g)(x) = \int_G f(y)g(xy^{1})\,dm(y) \,<math>
In this case, it is also possible to give, for instance, a Convolution Theorem, however it is much more difficult to phrase and requires representation theory for these types of groups and the PeterWeyl theorem of Harmonic analysis. It is very difficult to do these calculations without more structure, and Lie groups turn out to be the setting in which these things are done.
See also
fr:produit de convolution nl:Convolutie no:Konvolusjon pl:Splot sv:Faltning zh:卷积