Discrete Fourier transform over a ring

In mathematics, the discrete Fourier transform over a ring generalizes the discrete Fourier transform (DFT), of a function whose values are commonly complex numbers, over an arbitrary ring.

Definition edit

Let R be any ring, let   be an integer, and let   be a principal nth root of unity, defined by:[1]

 

(1)

The discrete Fourier transform maps an n-tuple   of elements of R to another n-tuple   of elements of R according to the following formula:

 

(2)

By convention, the tuple   is said to be in the time domain and the index j is called time. The tuple   is said to be in the frequency domain and the index k is called frequency. The tuple   is also called the spectrum of  . This terminology derives from the applications of Fourier transforms in signal processing.

If R is an integral domain (which includes fields), it is sufficient to choose   as a primitive nth root of unity, which replaces the condition (1) by:[1]

  for  
Proof

Take   with  . Since  ,  , giving:

 

where the sum matches (1). Since   is a primitive root of unity,  . Since R is an integral domain, the sum must be zero. ∎

Another simple condition applies in the case where n is a power of two: (1) may be replaced by  .[1]

Inverse edit

The inverse of the discrete Fourier transform is given as:

 

(3)

where   is the multiplicative inverse of n in R (if this inverse does not exist, the DFT cannot be inverted).

Proof

Substituting (2) into the right-hand-side of (3), we get

 

This is exactly equal to  , because   when   (by (1) with  ), and   when  . ∎

Matrix formulation edit

Since the discrete Fourier transform is a linear operator, it can be described by matrix multiplication. In matrix notation, the discrete Fourier transform is expressed as follows:

 

The matrix for this transformation is called the DFT matrix.

Similarly, the matrix notation for the inverse Fourier transform is

 

Polynomial formulation edit

Sometimes it is convenient to identify an n-tuple   with a formal polynomial

 

By writing out the summation in the definition of the discrete Fourier transform (2), we obtain:

 

This means that   is just the value of the polynomial   for  , i.e.,

 

(4)

The Fourier transform can therefore be seen to relate the coefficients and the values of a polynomial: the coefficients are in the time-domain, and the values are in the frequency domain. Here, of course, it is important that the polynomial is evaluated at the nth roots of unity, which are exactly the powers of  .

Similarly, the definition of the inverse Fourier transform (3) can be written:

 

(5)

With

 

this means that

 

We can summarize this as follows: if the values of   are the coefficients of  , then the values of   are the coefficients of  , up to a scalar factor and reordering.[2]

Special cases edit

Complex numbers edit

If   is the field of complex numbers, then the  th roots of unity can be visualized as points on the unit circle of the complex plane. In this case, one usually takes

 

which yields the usual formula for the complex discrete Fourier transform:

 

Over the complex numbers, it is often customary to normalize the formulas for the DFT and inverse DFT by using the scalar factor   in both formulas, rather than   in the formula for the DFT and   in the formula for the inverse DFT. With this normalization, the DFT matrix is then unitary. Note that   does not make sense in an arbitrary field.

Finite fields edit

If   is a finite field, where q is a prime power, then the existence of a primitive nth root automatically implies that n divides  , because the multiplicative order of each element must divide the size of the multiplicative group of F, which is  . This in particular ensures that   is invertible, so that the notation   in (3) makes sense.

An application of the discrete Fourier transform over   is the reduction of Reed–Solomon codes to BCH codes in coding theory. Such transform can be carried out efficiently with proper fast algorithms, for example, cyclotomic fast Fourier transform.

Suppose  . If  , it may not be the case that  . We may view the Fourier transform as an isomorphism   for some polynomials  , in accordance with Maschke's theorem. The map is given by the Chinese remainder theorem, and the inverse is given by applying Bézout's identity for polynomials.[3]

 , a product of cyclotomic polynomials. Factoring   in   is equivalent to factoring the prime ideal   in  . We obtain   polynomials   of degree   where   and   is the order of  .

As above, we may extend the base field to   in order to find a primitive root, i.e. a splitting field for  . Now  , so an element   maps to  .

When  , we may still define an  -linear isomorphism as above. Note that   where   and  . We apply the above factorization to  , and now obtain the decomposition  . The modules occurring are now indecomposable rather than irreducible.

Number-theoretic transform edit

The number-theoretic transform (NTT)[4] is obtained by specializing the discrete Fourier transform to  , the integers modulo a prime p. This is a finite field, and primitive nth roots of unity exist whenever n divides  , so we have   for a positive integer ξ. Specifically, let   be a primitive  th root of unity, then an nth root of unity   can be found by letting  .

e.g. for  ,  

 

when  

 

The number theoretic transform may be meaningful in the ring  , even when the modulus m is not prime, provided a principal root of order n exists. Special cases of the number theoretic transform such as the Fermat Number Transform (m = 2k+1), used by the Schönhage–Strassen algorithm, or Mersenne Number Transform[5] (m = 2k − 1) use a composite modulus.

Discrete weighted transform edit

The discrete weighted transform (DWT) is a variation on the discrete Fourier transform over arbitrary rings involving weighting the input before transforming it by multiplying elementwise by a weight vector, then weighting the result by another vector.[6] The Irrational base discrete weighted transform is a special case of this.

Properties edit

Most of the important attributes of the complex DFT, including the inverse transform, the convolution theorem, and most fast Fourier transform (FFT) algorithms, depend only on the property that the kernel of the transform is a principal root of unity. These properties also hold, with identical proofs, over arbitrary rings. In the case of fields, this analogy can be formalized by the field with one element, considering any field with a primitive nth root of unity as an algebra over the extension field  [clarification needed]

In particular, the applicability of   fast Fourier transform algorithms to compute the NTT, combined with the convolution theorem, mean that the number-theoretic transform gives an efficient way to compute exact convolutions of integer sequences. While the complex DFT can perform the same task, it is susceptible to round-off error in finite-precision floating point arithmetic; the NTT has no round-off because it deals purely with fixed-size integers that can be exactly represented.

Fast algorithms edit

For the implementation of a "fast" algorithm (similar to how FFT computes the DFT), it is often desirable that the transform length is also highly composite, e.g., a power of two. However, there are specialized fast Fourier transform algorithms for finite fields, such as Wang and Zhu's algorithm,[7] that are efficient regardless of whether the transform length factors.

See also edit

References edit

  1. ^ a b c Martin Fürer, "Faster Integer Multiplication", STOC 2007 Proceedings, pp. 57–66. Section 2: The Discrete Fourier Transform.
  2. ^ R. Lidl and G. Pilz. Applied Abstract Algebra, 2nd edition. Wiley, 1999, pp. 217–219.
  3. ^ https://github.com/jacksonwalters/dft-finite-field
  4. ^ Agarwal, R.; Burrus, C. (April 1974). "Fast Convolution using fermat number transforms with applications to digital filtering". IEEE Transactions on Acoustics, Speech, and Signal Processing. 22 (2): 87–97. doi:10.1109/TASSP.1974.1162555. ISSN 0096-3518.
  5. ^ Rader, C.M. (December 1972). "Discrete Convolutions via Mersenne Transforms". IEEE Transactions on Computers. C-21 (12): 1269–1273. doi:10.1109/T-C.1972.223497. ISSN 0018-9340. S2CID 1939809.
  6. ^ Crandall, Richard; Fagin, Barry (1994), "Discrete weighted transforms and large-integer arithmetic" (PDF), Mathematics of Computation, 62 (205): 305–324, doi:10.2307/2153411, JSTOR 2153411
  7. ^ Yao Wang and Xuelong Zhu, "A fast algorithm for the Fourier transform over finite fields and its VLSI implementation", IEEE Journal on Selected Areas in Communications 6(3)572–577, 1988

External links edit