HOME

TheInfoList



OR:

In
mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, the discrete Fourier transform over a ring generalizes the
discrete Fourier transform In mathematics, the discrete Fourier transform (DFT) converts a finite sequence of equally-spaced Sampling (signal processing), samples of a function (mathematics), function into a same-length sequence of equally-spaced samples of the discre ...
(DFT), of a function whose values are commonly
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the for ...
s, over an arbitrary
ring (The) Ring(s) may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell Arts, entertainment, and media Film and TV * ''The Ring'' (franchise), a ...
.


Definition

Let be any
ring (The) Ring(s) may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell Arts, entertainment, and media Film and TV * ''The Ring'' (franchise), a ...
, let n\geq 1 be an integer, and let \alpha \in R be a principal ''n''th root of unity, defined by:Martin Fürer,
Faster Integer Multiplication
, STOC 2007 Proceedings, pp. 57–66. Section 2: The Discrete Fourier Transform.
The discrete Fourier transform maps an ''n''-tuple (v_0,\ldots,v_) of elements of to another ''n''-tuple (f_0,\ldots,f_) of elements of according to the following formula: By convention, the tuple (v_0,\ldots,v_) is said to be in the ''time domain'' and the index is called ''time''. The tuple (f_0,\ldots,f_) is said to be in the ''frequency domain'' and the index is called ''frequency''. The tuple (f_0,\ldots,f_) is also called the ''
spectrum A spectrum (: spectra or spectrums) is a set of related ideas, objects, or properties whose features overlap such that they blend to form a continuum. The word ''spectrum'' was first used scientifically in optics to describe the rainbow of co ...
'' of (v_0,\ldots,v_). This terminology derives from the applications of Fourier transforms in
signal processing Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
. If is an
integral domain In mathematics, an integral domain is a nonzero commutative ring in which the product of any two nonzero elements is nonzero. Integral domains are generalizations of the ring of integers and provide a natural setting for studying divisibilit ...
(which includes
fields Fields may refer to: Music *Fields (band), an indie rock band formed in 2006 * Fields (progressive rock band), a progressive rock band formed in 1971 * ''Fields'' (album), an LP by Swedish-based indie rock band Junip (2010) * "Fields", a song by ...
), it is sufficient to choose \alpha as a primitive ''n''th root of unity, which replaces the condition () by: :\alpha^ \ne 1 for 1 \leq k < n Another simple condition applies in the case where ''n'' is a power of two: () may be replaced by \alpha^ = -1.


Inverse

The inverse of the discrete Fourier transform is given as: where 1/n is the multiplicative inverse of in (if this inverse does not exist, the DFT cannot be inverted).


Matrix formulation

Since the discrete Fourier transform is a
linear operator In mathematics, and more specifically in linear algebra, a linear map (also called a linear mapping, linear transformation, vector space homomorphism, or in some contexts linear function) is a mapping V \to W between two vector spaces that pr ...
, it can be described by
matrix multiplication In mathematics, specifically in linear algebra, matrix multiplication is a binary operation that produces a matrix (mathematics), matrix from two matrices. For matrix multiplication, the number of columns in the first matrix must be equal to the n ...
. In matrix notation, the discrete Fourier transform is expressed as follows: : \beginf_0\\f_1\\\vdots\\f_\end = \begin 1&1&1&\cdots &1 \\ 1&\alpha&\alpha^2&\cdots&\alpha^ \\ 1&\alpha^2&\alpha^4&\cdots&\alpha^\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ 1&\alpha^&\alpha^&\cdots&\alpha^\\ \end \beginv_0\\v_1\\\vdots\\v_\end. The matrix for this transformation is called the
DFT matrix In applied mathematics, a DFT matrix is a ''square matrix'' as an expression of a discrete Fourier transform (DFT) as a transformation matrix, which can be applied to a signal through matrix multiplication. Definition An ''N''-point DFT is expres ...
. Similarly, the matrix notation for the inverse Fourier transform is : \beginv_0\\v_1\\\vdots\\v_\end = \frac\begin 1&1&1&\cdots &1 \\ 1&\alpha^&\alpha^&\cdots&\alpha^ \\ 1&\alpha^&\alpha^&\cdots&\alpha^\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ 1&\alpha^&\alpha^&\cdots&\alpha^ \end \beginf_0\\f_1\\\vdots\\f_\end.


Polynomial formulation

Sometimes it is convenient to identify an -tuple (v_0,\ldots,v_) with a formal polynomial :p_v(x) = v_0 + v_1x + v_2x^2 + \cdots + v_x^. \, By writing out the summation in the definition of the discrete Fourier transform (), we obtain: :f_k = v_0 + v_1\alpha^ + v_2\alpha^ + \cdots + v_\alpha^. \, This means that f_k is just the value of the polynomial p_v(x) for x=\alpha^k, i.e., 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 th roots of unity, which are exactly the powers of \alpha. Similarly, the definition of the inverse Fourier transform () can be written: With :p_f(x) = f_0 + f_1x + f_2x^2 + \cdots + f_x^, this means that :v_j = \fracp_f(\alpha^). We can summarize this as follows: if the ''values'' of p_v(x) are the ''coefficients'' of p_f(x), then the ''values'' of p_f(x) are the ''coefficients'' of p_v(x), up to a scalar factor and reordering.


Special cases


Complex numbers

If F= is the field of complex numbers, then the nth roots of unity can be visualized as points on the
unit circle In mathematics, a unit circle is a circle of unit radius—that is, a radius of 1. Frequently, especially in trigonometry, the unit circle is the circle of radius 1 centered at the origin (0, 0) in the Cartesian coordinate system in the Eucli ...
of the
complex plane In mathematics, the complex plane is the plane (geometry), plane formed by the complex numbers, with a Cartesian coordinate system such that the horizontal -axis, called the real axis, is formed by the real numbers, and the vertical -axis, call ...
. In this case, one usually takes :\alpha=e^, which yields the usual formula for the complex discrete Fourier transform: :f_k = \sum_^ v_j e^. Over the complex numbers, it is often customary to normalize the formulas for the DFT and inverse DFT by using the scalar factor \frac in both formulas, rather than 1 in the formula for the DFT and \frac in the formula for the inverse DFT. With this normalization, the DFT matrix is then unitary. Note that \sqrt does not make sense in an arbitrary field.


Finite fields

If F=\mathrm(q) is a
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field (mathematics), field that contains a finite number of Element (mathematics), elements. As with any field, a finite field is a Set (mathematics), s ...
, where is a
prime A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
power, then the existence of a primitive th root automatically implies that
divides In mathematics, a divisor of an integer n, also called a factor of n, is an integer m that may be multiplied by some integer to produce n. In this case, one also says that n is a '' multiple'' of m. An integer n is divisible or evenly divisibl ...
q-1, because the
multiplicative order In number theory, given a positive integer ''n'' and an integer ''a'' coprime to ''n'', the multiplicative order of ''a'' modulo ''n'' is the smallest positive integer ''k'' such that a^k\ \equiv\ 1 \pmod n. In other words, the multiplicative orde ...
of each element must divide the size of the
multiplicative group In mathematics and group theory, the term multiplicative group refers to one of the following concepts: *the group under multiplication of the invertible elements of a field, ring, or other structure for which one of its operations is referre ...
of , which is q-1. This in particular ensures that n=\underbrace_ is invertible, so that the notation \frac in () makes sense. An application of the discrete Fourier transform over \mathrm(q) is the reduction of Reed–Solomon codes to
BCH code In coding theory, the Bose–Chaudhuri–Hocquenghem codes (BCH codes) form a class of cyclic error-correcting codes that are constructed using polynomials over a finite field (also called a '' Galois field''). BCH codes were invented in ...
s in
coding theory Coding theory is the study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and computer data storage, data sto ...
. Such transform can be carried out efficiently with proper fast algorithms, for example,
cyclotomic fast Fourier transform The cyclotomic fast Fourier transform is a type of fast Fourier transform algorithm over finite fields.S.V. Fedorenko and P.V. Trifonov, This algorithm first decomposes a DFT into several circular convolutions, and then derives the DFT results from ...
.


Polynomial formulation without nth root

Suppose F=\mathrm(p). If p\nmid n, it may be the case that n \nmid p-1. This means we cannot find an n^ root of unity in F. We may view the Fourier transform as an isomorphism \mathrm _n\mathrm (x^n-1) \cong \bigoplus_i \mathrm (P_i(x)) for some polynomials P_i(x), in accordance with
Maschke's theorem In mathematics, Maschke's theorem, named after Heinrich Maschke, is a theorem in group representation theory that concerns the decomposition of representations of a finite group into irreducible pieces. Maschke's theorem allows one to make gener ...
. The map is given by the
Chinese remainder theorem In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of thes ...
, and the inverse is given by applying
Bézout's identity In mathematics, Bézout's identity (also called Bézout's lemma), named after Étienne Bézout who proved it for polynomials, is the following theorem: Here the greatest common divisor of and is taken to be . The integers and are called B� ...
for polynomials. x^n-1=\prod_ \Phi_d(x), a product of cyclotomic polynomials. Factoring \Phi_d(x) in F /math> is equivalent to factoring the prime ideal (p) in \mathrm
zeta Zeta (, ; uppercase Ζ, lowercase ζ; , , classical or ''zē̂ta''; ''zíta'') is the sixth letter of the Greek alphabet. In the system of Greek numerals, it has a value of 7. It was derived from the Phoenician alphabet, Phoenician letter zay ...
= \mathrm (\Phi_d(x)). We obtain g polynomials P_1 \ldots P_g of degree f where fg = \varphi(d) and f is the order of p \text d. As above, we may extend the base field to \mathrm(q) in order to find a primitive root, i.e. a splitting field for x^n-1. Now x^n-1 = \prod_k (x-\alpha^), so an element \sum_^ v_j x^j \in F (x^n-1) maps to \sum_^ v_j x^j \mod (x-\alpha^k) \equiv \sum_^ v_j (\alpha^k)^j for each k.


When p divides n

When p, n, we may still define an F_p-linear isomorphism as above. Note that (x^n-1)=(x^m-1)^ where n=m p^s and p \nmid m. We apply the above factorization to x^m-1, and now obtain the decomposition F (x^n-1) \cong \bigoplus_i F (P_i(x)^). The modules occurring are now indecomposable rather than irreducible.


Order of the DFT matrix

Suppose p \nmid n so we have an n^ root of unity \alpha. Let A be the above DFT matrix, a Vandermonde matrix with entries A_=\alpha^ for 0 \le i,j < n. Recall that \sum_^ \alpha^ = n\delta_ since if k=l, then every entry is 1. If k \ne l, then we have a geometric series with common ratio \alpha^, so we obtain \frac. Since \alpha^n=1 the numerator is zero, but k-l \ne 0 so the denominator is nonzero. First computing the square, (A^2)_ = \sum_^ \alpha^ = n\delta_. Computing A^4=(A^2)^2 similarly and simplifying the deltas, we obtain (A^4)_=n^2\delta_. Thus, A^4=n^2 I_n and the order is 4\cdot \text(n^2).


Normalizing the DFT matrix

In order to align with the complex case and ensure the matrix is order 4 exactly, we can normalize the above DFT matrix A with \frac. Note that though \sqrt may not exist in the splitting field F_q of x^n-1, we may form a quadratic extension F_ \cong F_q (x^2-n) in which the square root exists. We may then set U=\fracA, and U^4=I_n.


Unitarity

Suppose p \nmid n. One can ask whether the DFT matrix is unitary over a finite field. If the matrix entries are over F_q, then one must ensure q is a perfect square or extend to F_ in order to define the order two automorphism x \mapsto x^q. Consider the above DFT matrix A_=\alpha^. Note that A is symmetric. Conjugating and transposing, we obtain A_^=\alpha^. (AA^*)_ = \sum_^\alpha^ = n\delta_ by a similar geometric series argument as above. We may remove the n by normalizing so that U = \fracA and (UU^*)_ = \delta_. Thus U is unitary iff q \equiv -1 \,(\text \, n). Recall that since we have an n^ root of unity, n, q^2-1. This means that q^2 - 1 \equiv (q+1)(q-1) \equiv 0 \,(\text \, n). Note if q was not a perfect square to begin with, then n, q-1 and so q \equiv 1 \, (\text \, n). For example, when p=3, n=5 we need to extend to q^2=3^4 to get a 5th root of unity. q=9 \equiv -1 \, (\text \, 5). For a nonexample, when p=3, n=8 we extend to F_ to get an 8th root of unity. q^2=9, so q \equiv 3 \,(\text \, 8), and in this case q+1 \not\equiv 0 and q-1 \not\equiv 0. UU^* is a square root of the identity, so U is not unitary.


Eigenvalues of the DFT matrix

When p \nmid n, we have an n^ root of unity \alpha in the splitting field F_q \cong F_p (x^n-1). Note that the characteristic polynomial of the above DFT matrix may not split over F_q. The DFT matrix is order 4. We may need to go to a further extension F_, the splitting extension of the characteristic polynomial of the DFT matrix, which at least contains fourth roots of unity. If a is a generator of the multiplicative group of F_, then the eigenvalues are \, in exact analogy with the complex case. They occur with some nonnegative multiplicity.


Number-theoretic transform

The number-theoretic transform (NTT) is obtained by specializing the discrete Fourier transform to F=/p, the integers modulo a prime . This is a
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field (mathematics), field that contains a finite number of Element (mathematics), elements. As with any field, a finite field is a Set (mathematics), s ...
, and primitive th roots of unity exist whenever divides p-1, so we have p=\xi n+1 for a positive integer . Specifically, let \omega be a primitive (p-1)th root of unity, then an th root of unity \alpha can be found by letting \alpha=\omega^. e.g. for p=5, \alpha = 2 :\begin2^&=2 \pmod 5\\2^&=4 \pmod 5\\2^&=3 \pmod 5\\2^&=1 \pmod 5\end when N=4 : \begin F(0) \\ F(1) \\ F(2) \\ F(3) \end = \begin 1 & 1 & 1 & 1 \\ 1 & 2 & 4 & 3 \\ 1 & 4 & 1 & 4 \\ 1 & 3 & 4 & 2 \end \begin f(0) \\ f(1) \\ f(2) \\ f(3) \end The number theoretic transform may be meaningful in the
ring (The) Ring(s) may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell Arts, entertainment, and media Film and TV * ''The Ring'' (franchise), a ...
\mathbb/m, even when the modulus is not prime, provided a principal root of order exists. Special cases of the number theoretic transform such as the Fermat Number Transform (), used by the Schönhage–Strassen algorithm, or Mersenne Number Transform () use a composite modulus. In general, if m = \prod_i p_i^, then one may find an n^ root of unity mod by finding primitive n^ roots of unity g_i mod p_i^, yielding a tuple g=\left(g_i\right)_i \in \prod_i \left(\mathbb/p_i^\mathbb\right)^\ast. The preimage of g under the
Chinese remainder theorem In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of thes ...
isomorphism is an n^ root of unity \alpha such that \alpha^ = -1 \mod m. This ensures that the above summation conditions are satisfied. We must have that n, \varphi(p_i^) for each i, where \varphi is the
Euler's totient function In number theory, Euler's totient function counts the positive integers up to a given integer that are relatively prime to . It is written using the Greek letter phi as \varphi(n) or \phi(n), and may also be called Euler's phi function. In ot ...
function.


Discrete weighted transform

The discrete weighted transform (DWT) is a variation on the discrete Fourier transform over arbitrary rings involving
weighting The process of frequency weighting involves emphasizing the contribution of particular aspects of a phenomenon (or of a set of data) over others to an outcome or result; thereby highlighting those aspects in comparison to others in the analy ...
the input before transforming it by multiplying elementwise by a weight vector, then weighting the result by another vector. The Irrational base discrete weighted transform is a special case of this.


Properties

Most of the important attributes of the complex DFT, including the inverse transform, the
convolution theorem In mathematics, the convolution theorem states that under suitable conditions the Fourier transform of a convolution of two functions (or signals) is the product of their Fourier transforms. More generally, convolution in one domain (e.g., time dom ...
, and most
fast Fourier transform A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
(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 In mathematics, the field with one element is a suggestive name for an object that should behave similarly to a finite field with a single element, if such a field could exist. This object is denoted F1, or, in a French–English pun, Fun. The nam ...
, considering any field with a primitive ''n''th root of unity as an algebra over the extension field \mathbf_. In particular, the applicability of O(n \log n)
fast Fourier transform A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
algorithms to compute the NTT, combined with the convolution theorem, mean that the number-theoretic transform gives an efficient way to compute exact
convolution In mathematics (in particular, functional analysis), convolution is a operation (mathematics), mathematical operation on two function (mathematics), functions f and g that produces a third function f*g, as the integral of the product of the two ...
s of integer sequences. While the complex DFT can perform the same task, it is susceptible to
round-off error In computing, a roundoff error, also called rounding error, is the difference between the result produced by a given algorithm using exact arithmetic and the result produced by the same algorithm using finite-precision, rounded arithmetic. Roun ...
in finite-precision
floating point In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a signed sequence of a fixed number of digits in some base) multiplied by an integer power of that base. Numbers of this form ...
arithmetic; the NTT has no round-off because it deals purely with fixed-size integers that can be exactly represented.


Fast algorithms

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 A power of two is a number of the form where is an integer, that is, the result of exponentiation with number 2, two as the Base (exponentiation), base and integer  as the exponent. In the fast-growing hierarchy, is exactly equal to f_1^ ...
. However, there are specialized fast Fourier transform algorithms for finite fields, such as Wang and Zhu's algorithm, 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 that are efficient regardless of the transform length factors.


See also

* Discrete Fourier transform (complex) * Fourier transform on finite groups *
Gauss sum In algebraic number theory, a Gauss sum or Gaussian sum is a particular kind of finite sum of roots of unity, typically :G(\chi) := G(\chi, \psi)= \sum \chi(r)\cdot \psi(r) where the sum is over elements of some finite commutative ring , is ...
*
Convolution In mathematics (in particular, functional analysis), convolution is a operation (mathematics), mathematical operation on two function (mathematics), functions f and g that produces a third function f*g, as the integral of the product of the two ...
*
Least-squares spectral analysis Least-squares spectral analysis (LSSA) is a method of estimating a Spectral density estimation#Overview, frequency spectrum based on a least-squares fit of Sine wave, sinusoids to data samples, similar to Fourier analysis. Fourier analysis, the ...
* Multiplication algorithm


References


External links

* http://www.apfloat.org/ntt.html {{DEFAULTSORT:Discrete Fourier Transform (General) Fourier analysis