3.4. Fourier Transform¶
The 1D Fourier transform is:
To show that it works:
If  is time (unit 
), then 
 is angular frequency (unit
). One can express the Fourier transform in terms of
ordinary frequency 
 (unit 
) by
substituting 
:
Both transformations are equivalent and only differ in whether we
express the transform in terms of  or 
,
the conversion
being given by 
.
Third frequently used convention that is however not equivalent to the above is:
The 3D Fourier transform is:
(3.4.1)¶
With obvious analogs for other conventions and dimensions.
The sign convention in the exponentials  is arbitrary, one
can as well flip the sign of the direct and inverse transforms. In particular,
one often uses both sign conventions in the same equation. Consider a spacetime
plane-wave 
. Then
we obtain (using plus sign convention in the 
 exponential for
the direct transformation):
Finally, the equation  depends
on the metric signature, in this case 
.
For a signature 
 we would get
.
Unlike the normalization convention, where one has to be very careful, the sign convention in Fourier transform is not a problem, one just has to remember to flip the sign for the inverse transform.
3.4.1. Shift Theorem¶
The Fourier transform of a shifted function, in 3D:
3.4.2. Scaling¶
For :
3.4.3. Derivative¶
The Fourier transform of a derivative, in 3D:
An alternative derivation is to start from:
and differentiate both sides:
from which:
3.4.4. Convolution¶
The convolution of two functions  and 
 is defined as:
The Fourier transform of a convolution is:
And for the inverse transform:
Fourier transform of a function multiplication is:
and for the inverse transform:
3.4.5. Radial Fourier Transform¶
As a special case when the function  is spherically symmetric,
we introduce spherical coordinates such that the 
-axis is along the
 vector and calculate (we use 
 and 
):
where we used:
So the transform is real and spherically symmetric, since the result only
depends on .
Similarly, for the inverse transform:
3.4.6. Examples¶
Rectangular Function¶
The rectangular function is defined as:
The Fourier transform is:
Dirichlet Kernel¶
The Dirichlet kernel  is a partial sum of complex exponentials:
From the definition, it is a periodic function with period .
Integral of it is equal to one:
also
The Dirichlet kernel  converges towards a train of delta functions
(called Dirac comb, see the equation (3.4.6.2) in the next section):
(3.4.6.1)¶
Let us do the crucial step in more details using distributions:
Where we used the fact that
Dirac Comb (Shah) Function¶
The Dirac comb function, also called the Shah function, is defined as:
It has the following scaling property:
and for  with 
:
From which a train of delta functions  distance apart is expressed using a
Dirac comb as:
Using the identity (3.4.6.1), the infinite sum of complex exponentials is also equal to a Dirac comb:
(3.4.6.2)¶
Using (3.4.6.2) we can now calculate the Fourier transform:
For the inverse Fourier transform we get (using the previous result):
The following Fourier transform is also useful:
Periodic Summation¶
The convolution  of a
Dirac comb 
 and an arbitrary function 
 is called a periodic
summation:
because the result is a periodic function with period 1:
Poisson Summation Formula¶
The Poisson summation formula:
(3.4.6.3)¶
can be derived using a Dirac comb:
An alternative derivation using Fourier series (see next sections):
And setting  we get the Poisson summation formula
(3.4.6.3).
The last derivation can actually also be done using a Dirac comb function as follows:
Fourier Series¶
Consider a periodic function  with a period 
 and let us calculate the
Fourier transform of it. We define a new function 
 in the
 interval and zero otherwise. Then:
Apply Fourier transform:
(3.4.6.4)¶
where  are called Fourier coefficients:
We can see that the Fourier transform is zero for . For 
 it is equal to a delta function times a
 multiple of a Fourier series coefficient. The delta functions structure
is given by the period 
 of the function 
. All the information that is
stored in the answer is inside the 
 coefficients, so those are the only
ones that we need to calculate and store.
The function  is calculated from the 
 coefficients by applying the
inverse Fourier transform to the final result of (3.4.6.4) as follows:
(3.4.6.5)¶
The expansion (3.4.6.5) is called a Fourier series. It is given by the
Fourier coefficients . The equation (3.4.6.4) provides the relation
between a Fourier transform and a Fourier series.
For example for , the only nonzero Fourier coefficients for
 are 
 and 
. The Fourier transform
then is:
For  the only nonzero Fourier coefficient is 
, the Fourier
transform then is:
For  the only nonzero Fourier coefficient for 
 is
, the Fourier transform then is:
For  the Fourier coefficients
for 
 are all equal to 
 and the Fourier transform is:
Note: if we start from (3.4.6.5), for simplicity on an interval :
(3.4.6.6)¶
To calculate the Fourier coefficients , we can just multiply both sides of
(3.4.6.6) by 
 and integrate:
so
(3.4.6.7)¶
Convergence of Fourier Series¶
To see what conditions the function  must satisfy in order for the
Fourier series to converge towards it, we can do the following analysis.
Substituting (3.4.6.7) into (3.4.6.6) yields:
We can now calculate the difference between the Fourier series and the function value:
where  is finite and well behaved at the origin 
:
The integral is zero because the more and more oscillating  function
cancels the contributions of positive and negative parts of the integrand. This
can be proven explicitly as follows using the fact that 
, 
 and
 is bounded as 
:
The conditions that we used are that the function  can be integrated,
which is satisfied if e.g. 
 has derivatives. These conditions can be
loosened in various ways.
3.5. Fourier Transform of a Periodic Function (e.g. in a Crystal)¶
The Fourier transform in (3.4.1) requires the function 
to be decaying fast enough in order to converge. In an infinite crystal, on the
other hand, the function 
 is typically periodic (and thus not
decaying):
where  are the crystal
translation vectors. As such, the Fourier transform in (3.4.1) is
infinite, but it can be made finite by the following definition:
(3.5.1)¶
This assumes that the wave vector  is equal to the
reciprocal space vectors 
, defined by
(3.5.2)¶
because then .
For , the expression 
 vanishes,
because the sum is bounded, and so dividing by the (infinite) crystal volume
makes the expression vanish, and so 
.  In other words, the
only non-zero Fourier components 
 of any periodic function
 are those with 
. Equivalently said, if the
Fourier components of a given function are non-zero for some
, then the function is not periodic.
Summary: the only difference between the crystal Fourier transform
(3.5.1) and the usual Fourier transform (3.4.1) is the
 factor. The Fourier transform (3.5.1) of a
periodic function is nonzero only for 
 and is equal to:
(3.5.3)¶
Note: the fact that the sum is bounded follows from:
Because .  So for 
 (i.e. the
denominator is non-zero), the sum is bounded (to be precise, the infinite sum
does not converge, because it oscillates, but the point is that the partial sum
is always bounded). For 
, the sum is infinite, because 
.
Since we divided the direct Fourier transform in (3.4.1) by
 to obtain (3.5.1), we need to multiply the
inverse transform in (3.4.1) by 
:
(3.5.4)¶
where we used the fact that:
Alternatively, if one is only interested to show that the inverse transformation works, one can directly substitute the direct formula (3.5.3) into (3.5.4) as follows:
where we used the fact that:
Thus we have shown that .
3.5.1. One Dimension (Fourier Series)¶
In one dimension with a periodic function ,
the volume of a unit cell is 
and the reciprocal space vectors 
 are defined using
 from which 
.
The equation (3.5.3) then becomes:
(3.5.1.1)¶
This is exactly the definition of a Fourier series ( are the Fourier
coefficients). The inverse transform follows from (3.5.4):
(3.5.1.2)¶
3.6. Discrete Fourier Transform¶
In the discrete case, we only have a finite
number  of reciprocal points:
E.g. for:
The real space function  is sampled at points 
 for
 and the equation (3.5.1.1) becomes:
The equation (3.5.1.2) becomes:
Using the fact
we can express the periodicity  as 
. The
sums can then be rearranged:
and if we drop the limit and consider a finite  only:
Summary, the direct transform:
(3.6.1)¶
and inverse transform:
(3.6.2)¶
with . In the limit 
, the equation (3.6.1)
becomes (3.5.1.1) and equation (3.6.2) becomes
(3.5.1.2) and as we increase 
, the discrete Fourier
transform numerically converges towards the Fourier series results.
The  factor is sometimes moved from the direct to the inverse
transform, but then the correspondence with Fourier series is broken (one has
to divide and multiply by 
 appropriately to recover it).
3.7. Fast Fourier Transform (FFT)¶
We write the discrete Fourier transform (3.6.1) using a notation more commonly used for FFTs:
where:
Similarly, the inverse discrete Fourier transform (3.6.2) becomes:
3.7.1. Decimation In Frequency (DIF)¶
We start with radix-4:
Now we subdivide the  sequence into 4 subsequences:
Similarly:
This has a form of a DFT of length :
where
This coefficient matrix for various radix-n schemes can be generated by:
>>> from sympy import exp, I, pi, pprint, Matrix
>>> n = 2
>>> Matrix(n, n, lambda i, j: exp(-2*pi*I*i*j/n))
[1  1]
[1 -1]
>>> n = 3
>>> Matrix(n, n, lambda i, j: exp(-2*pi*I*(i*j % n)/n))
[1,              1,              1]
[1, exp(-2*I*pi/3), exp(-4*I*pi/3)]
[1, exp(-4*I*pi/3), exp(-2*I*pi/3)]
>>> n = 4
>>> Matrix(n, n, lambda i, j: exp(-2*pi*I*i*j/n))
[1  1  1  1]
[1 -I -1  I]
[1 -1  1 -1]
[1  I -1 -I]
>>> n = 5
>>> Matrix(n, n, lambda i, j: exp(-2*pi*I*(i*j % n)/n))
[1,              1,              1,              1,              1]
[1, exp(-2*I*pi/5), exp(-4*I*pi/5), exp(-6*I*pi/5), exp(-8*I*pi/5)]
[1, exp(-4*I*pi/5), exp(-8*I*pi/5), exp(-2*I*pi/5), exp(-6*I*pi/5)]
[1, exp(-6*I*pi/5), exp(-2*I*pi/5), exp(-8*I*pi/5), exp(-4*I*pi/5)]
[1, exp(-8*I*pi/5), exp(-6*I*pi/5), exp(-4*I*pi/5), exp(-2*I*pi/5)]
>>> n = 8
>>> Matrix(n, n, lambda i, j: exp(-2*pi*I*(i*j % n)/n))
[1,              1,  1,              1,  1,              1,  1,              1]
[1,   exp(-I*pi/4), -I, exp(-3*I*pi/4), -1, exp(-5*I*pi/4),  I, exp(-7*I*pi/4)]
[1,             -I, -1,              I,  1,             -I, -1,              I]
[1, exp(-3*I*pi/4),  I,   exp(-I*pi/4), -1, exp(-7*I*pi/4), -I, exp(-5*I*pi/4)]
[1,             -1,  1,             -1,  1,             -1,  1,             -1]
[1, exp(-5*I*pi/4), -I, exp(-7*I*pi/4), -1,   exp(-I*pi/4),  I, exp(-3*I*pi/4)]
[1,              I, -1,             -I,  1,              I, -1,             -I]
[1, exp(-7*I*pi/4),  I, exp(-5*I*pi/4), -1, exp(-3*I*pi/4), -I,   exp(-I*pi/4)]
One then recursively solves the smaller problems. This approach is used for example in FFTPACK. There are also other approaches how to decompose the DFT, used in various other libraries.
3.8. Laplace Transform¶
Laplace transform of  is:
The contour integration is over the vertical line  and 
is chosen large enough so that all residues are to the left of the line (that’s
because the Laplace transform 
 is only defined for 
 larger than
the residues, so we have to integrate in this range as well).  It can be shown
that the integral over the left semicircle goes to zero:
so the complex integral is equal to the sum of all residues of  in the complex plane.
To show that it works:
where we used:
and it can be derived from the Fourier transform by
transforming a function :
and making a substitution :
Where the bar () means the Laplace transform and tilde (
)
means the Fourier transform.
3.9. Hilbert Transform¶
The Hilbert transform is:
By applying the Fourier transform to both sides of the equation, we get:
So the Hilbert transform can be calculated using a Fourier transform as:
The inverse Hilbert transform can then be calculated by inverting:
so we get:
From this it also follows:
or
In other words, by applying the Hilbert transform twice, the result is the negative of a function.