Alphabeta Math
Pipeline-generated
How statement and proof provenance work

The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.

  • Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
  • AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
  • AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.

These labels describe origin, not correctness: citations and verification chips remain separate evidence.

✓ 8 results · all verified · 8 also independently AI-judged
Every result on this page is machine-checked by a proof checker and read in full and owner-audited; the judge is an additional, independent cross-model AI review of the proofs; all 8 also cleared it.

Finite Fourier Analysis and the Fast Fourier Transform

1 · Prerequisites

2 · Summary

This page develops the discrete Fourier transform on the finite cyclic group Z/NZ from finite sums alone, with no convergence, regularity or topological hypothesis anywhere. It fixes the counting inner product on complex functions on the group, the unnormalised cyclic convolution, and the negative-sign, N−1/2-normalised unitary transform. The orthogonality of the characters x↦e2πikx/N is proved directly from the recursion for finite sums, including the length-one case, and it drives inversion, Parseval–Plancherel, and the convolution law, in which the unnormalised convolution costs one explicit factor N. The square of the transform is reflection and its fourth power is the identity.

The second half converts the unitary convention into the unnormalised engineering convention Xk=∑xfxe−2πikx/N=N (FNf)(k), in which the convolution law has no extra factor and the inverse formula carries the visible 1/N. The radix-two step then splits an even length into the even and odd coefficient lists and combines their shorter transforms with twiddle factors e−2πik/N; the recursive algorithm built from that step is defined for lengths N=2m, proved to compute the unnormalised transform, and shown to use at most 2m 2m=2Nlog⁡2N complex additions and multiplications in an explicitly stated operation model that excludes twiddle evaluation, index arithmetic and bit complexity. This recursive algorithm and its bound apply to the specified power-of-two lengths. The companion page executes the small cases: the transforms at N=1 and N=2, a four-point cyclic convolution computed through the transform, the full four-point radix-two recursion, and two counterexamples showing the wrap of an unpadded product and the failure of the even/odd split for odd lengths.

3 · Logical flowchart

4 · Definitions, theorems and proofs

DefinitionDefinition: Literature-sourcedProof: Not applicablejudge pass (gpt-6.1-sol)Open item page →

The counting inner product on CZ/NZ

Definition

Let N≥1 and let CZ/N be the complex vector space of all functions Z/NZ→C, with pointwise addition and scalar multiplication (The vector space FX of all functions X→F with pointwise operations, and Fn as the case X=n={0,1,…,n−1}, Vector space over a field). For f,g∈CZ/N define

⟨f,g⟩:=∑x∈Z/Nf(x) g(x)‾,

the sum being the finite sum over the finite index set Z/NZ in the additive commutative monoid of C (A finite sum in a commutative monoid indexed by an arbitrary finite set). Enumerating the group by its standard representatives gives the equivalent formula

⟨f,g⟩=∑x=0N−1f([x]N) g([x]N)‾,

where z‾ is complex conjugation (Real and imaginary parts, complex conjugation, and modulus). The two displays agree. By For n≥1, every class in Z/n has one representative r with 0≤r<n, so ∣Z/n∣=n; while Z/0 is in bijection with Z the map x↦[x]N is a bijection from the von Neumann natural N={0,…,N−1} onto Z/NZ, and the summand f(x)g(x)‾ depends only on the class x; a finite commutative-monoid sum is unchanged by reindexing along a bijection (Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule, part 1), so the second display is a rewrite of the first. No representative of a class is ever selected: every application of f or of g is an evaluation at a class.

The pairing is an inner product in the sense of Real and complex inner product spaces, with the inner product linear in the first argument and Real and complex inner-product spaces and their induced length, with the linear-first convention fixed there. Linearity in the first argument, ⟨af1+bf2,g⟩=a⟨f1,g⟩+b⟨f2,g⟩ for a,b∈C, follows from the field laws of C (C=R[x]/(x2+1) is a field, every element is uniquely a+bi, and every nonzero element has inverse (a−bi)/(a2+b2)) together with the two elementary laws of a finite sum over a fixed finite index set, ∑x(ux+vx)=∑xux+∑xvx and ∑xc ux=c∑xux; each of these laws is proved from the recursion clauses of A finite sum in a commutative monoid indexed by an arbitrary finite set by induction on an enumeration of the index set. Conjugate symmetry, ⟨f,g⟩=⟨g,f⟩‾, follows from the same two laws together with the fact that complex conjugation is an involutive field automorphism, hence g(x)f(x)‾‾=g(x)‾ f(x) and conjugation commutes with finite sums (Conjugation is an involutive real-field automorphism, zz‾=∣z∣2, and modulus is definite, multiplicative, and subadditive).

Positive definiteness. Taking g=f gives ⟨f,f⟩=∑x∣f(x)∣2 by zz‾=∣z∣2 (Conjugation is an involutive real-field automorphism, zz‾=∣z∣2, and modulus is definite, multiplicative, and subadditive), a sum of nonnegative real numbers, so ⟨f,f⟩≥0. For the vanishing clause, reindex by the standard representatives to identify this group sum of the real family x↦∣f(x)∣2 with the sequential real sum ∑x=0N−1∣f([x]N)∣2 (Finite sums and finite products, by recursion, Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule); by claim 4 of Laws of finite sums and finite products a finite sum of nonnegative reals vanishes only if every term vanishes, and ∣f([x]N)∣2=0 happens exactly when f([x]N)=0 (Conjugation is an involutive real-field automorphism, zz‾=∣z∣2, and modulus is definite, multiplicative, and subadditive). Since every class of Z/NZ is [x]N for some 0≤x<N, this forces f=0.

This is the pairing induced by the counting set function on the finite set Z/NZ, which weights a finite set by its cardinality and therefore gives weight 1 to each point (Counting measure on an arbitrary set). No factor 1/N is inserted anywhere in the definition; a normalisation constant is carried by the transform, not by the pairing.

Remarks

  • Why the counting normalisation and not (1/N)-counting. Taylor's (11.5) weights the function space on Γn by (1/n)-times counting measure and the space on Zn by counting measure, matching the factor 1/n carried by his forward transform (11.1); this page uses the counting pairing on both sides and puts the constant N−1/2 in the transform. Under the identification ωj↔[j]N the two conventions are related by f#=N−1/2FNf, a relabelling of the same finite sums, not a change of the mathematics.
DefinitionDefinition: Literature-sourcedProof: Not applicablejudge pass (gpt-6.1-sol)Open item page →

The unnormalised cyclic convolution on Z/NZ

Definition

Let N≥1 and let CZ/N be the complex vector space of functions on the finite group Z/NZ (The vector space FX of all functions X→F with pointwise operations, and Fn as the case X=n={0,1,…,n−1}). For f,g∈CZ/N the cyclic convolution of f and g, unnormalised, is the function f∗g:Z/NZ→C defined for x∈Z/NZ by

(f∗g)(x):=∑y∈Z/Nf(y) g(x−y),

where x−y is the group operation of Z/NZ (For every natural n, (Z/n,+) is an abelian group, multiplication is a commutative monoid operation, and both distributive laws hold) and the sum is the finite sum in the additive commutative monoid of C over the finite index set Z/NZ (A finite sum in a commutative monoid indexed by an arbitrary finite set). No factor 1/N or 1/N is inserted, and this unnormalised convention is the one used throughout the page.

Well-definedness. The standard-representatives bijection gives ∣Z/NZ∣=N (For n≥1, every class in Z/n has one representative r with 0≤r<n, so ∣Z/n∣=n; while Z/0 is in bijection with Z). For fixed x, f(y) and g(x−y) are values at classes, so the finite sum of the complex family y↦f(y)g(x−y) is a single complex number (A finite sum in a commutative monoid indexed by an arbitrary finite set). Thus x↦(f∗g)(x) is a well-defined function Z/NZ→C.

The operation is commutative. Fix x∈Z/NZ and let h:Z/NZ→Z/NZ be h(y):=x−y; then h(h(y))=x−(x−y)=y, so h is its own two-sided inverse and hence a bijection (Injection, surjection, bijection, For every natural n, (Z/n,+) is an abelian group, multiplication is a commutative monoid operation, and both distributive laws hold). Reindexing the finite sum along a bijection (Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule, part 1) with the substitution z:=x−y gives

(f∗g)(x)=∑y∈Z/Nf(y) g(x−y)=∑z∈Z/Nf(x−z) g(z)=∑z∈Z/Ng(z) f(x−z)=(g∗f)(x),

the middle equality being commutativity of multiplication in C (C=R[x]/(x2+1) is a field, every element is uniquely a+bi, and every nonzero element has inverse (a−bi)/(a2+b2)). Hence f∗g=g∗f.

Attached to the finite set Z/NZ is its counting set function, which gives weight 1 to each point (Counting measure on an arbitrary set); the displayed sum is the convolution of f and g against that weight on the finite group. This cyclic convolution is a different operation from the linear convolution of finite sequences of coefficients, which agrees with it only after the sequences are padded with enough zeros; the companion page exhibits the wrap that occurs without such padding, and the transform law proved later on this page computes the cyclic, not the linear, convolution.

Remarks

  • The factor that this convention costs. Because no normalisation is built into ∗, the unitary transform of this page does not turn ∗ into an unadorned pointwise product: the transform law later on this page carries a factor N. That factor is not an artefact of the proof but the exact price of leaving the convolution unnormalised, and it is recorded here once so that no later item silently mixes the two conventions.

  • Cyclic convolution as reduction of polynomial products. Writing a function on Z/NZ as the coefficient list of a residue-class polynomial identifies (f∗g)(x) with the coefficient of zx in the product of the two polynomials taken modulo zN−1: exponents add under the group operation and are reduced modulo N. This is the viewpoint of Taylor's (11.30)–(11.33) and of the MIT lecture, and it is what makes the diagonalisation of ∗ by the discrete Fourier transform the discrete analogue of the Fourier-multiplier calculus.

DefinitionDefinition: Literature-sourcedProof: Not applicablejudge pass (gpt-6.1-sol)Open item page →

The unitary discrete Fourier transform on Z/NZ

Definition

Let N≥1 and let CZ/N be the complex vector space of all functions Z/NZ→C (The vector space FX of all functions X→F with pointwise operations, and Fn as the case X=n={0,1,…,n−1}, Vector space over a field). For f∈CZ/N define the unitary discrete Fourier transform FNf:Z→C by

(FNf)(k):=N−1/2∑x=0N−1f([x]N) e−2πikx/N,k∈Z,

where [x]N is the class of the integer x in Z/NZ (The congruence class [a]n and the quotient set Z/n, Congruence modulo every integer is an equivalence relation on Z), ez=exp⁡z is the complex exponential (The complex exponential by its power series), and N−1/2 is the rational power of the positive real N (Rational powers ar of a positive base, Laws of rational exponents), read in C through the embedded copy of R (C=R[x]/(x2+1) is a field, every element is uniquely a+bi, and every nonzero element has inverse (a−bi)/(a2+b2)).

The summands depend only on classes, and the transform is periodic in k. Each summand f([x]N)e−2πikx/N is a complex number determined by the class [x]N and the integer k, and the classes [0]N,…,[N−1]N are pairwise distinct and exhaust Z/NZ (For n≥1, every class in Z/n has one representative r with 0≤r<n, so ∣Z/n∣=n; while Z/0 is in bijection with Z); so the display is the finite sum, over the finite group, of the family x↦f(x)N−1/2e−2πikx/N, and reindexing by any other representative list leaves it unchanged (Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule, part 1). Reindexing by the transition x↦x+N uses e−2πik(x+N)/N=e−2πikx/Ne−2πik and e−2πik=1 for every integer k, because −2πk∈2πZ (exp⁡(z+w)=exp⁡z exp⁡w, and the complex exponential extends the real exponential, ker⁡(exp⁡)=2πiZ, and exp⁡z=exp⁡w exactly when z−w∈2πiZ). For periodicity in k, the same two facts give e−2πi(k+N)x/N=e−2πikx/Ne−2πix=e−2πikx/N for every integer x, so (FNf)(k+N)=(FNf)(k) for every k∈Z (exp⁡(z+w)=exp⁡z exp⁡w, and the complex exponential extends the real exponential, ker⁡(exp⁡)=2πiZ, and exp⁡z=exp⁡w exactly when z−w∈2πiZ). Consequently FNf factors through the quotient Z→Z/NZ and is a well-defined function on Z/NZ, and FN is a map CZ/N→CZ/N.

Form in terms of characters. Define χk([m]):=exp⁡(2πikm/N) for k,m∈Z. The assignment is well defined on classes because replacing m by m+N multiplies the exponential by e2πik=1 (ker⁡(exp⁡)=2πiZ, and exp⁡z=exp⁡w exactly when z−w∈2πiZ); it is multiplicative, χk(x+y)=χk(x)χk(y), by the addition law (exp⁡(z+w)=exp⁡z exp⁡w, and the complex exponential extends the real exponential); and it takes values of modulus 1, since ∣exp⁡(iθ)∣=1 (exp⁡(x+iy)=ex(cos⁡y+isin⁡y), ∣exp⁡(x+iy)∣=ex, and eiπ+1=0). Thus the χk are characters of the finite group Z/NZ (homomorphisms into the unit circle; no continuity is required on a discrete group), and the definition reads

(FNf)(k)=N−1/2∑x∈Z/Nf(x) χ−k(x),

with the positive-sign transform obtained by replacing k with −k. This fixes the negative-sign, N−1/2-normalised convention of the whole page: the forward transform carries the minus sign in the exponent and the factor N−1/2, and the inverse transform of the inversion theorem carries the plus sign with the same factor. A different, unnormalised convention is introduced later on this page for the algorithmic part; the two are related by a single explicit rescaling recorded there.

Linearity, recorded for later use. For a,b∈C and f,g∈CZ/N one has FN(af+bg)=a FNf+b FNg: the identity holds at each k by distributivity in C (C=R[x]/(x2+1) is a field, every element is uniquely a+bi, and every nonzero element has inverse (a−bi)/(a2+b2)) and the elementary laws of finite sums over a fixed finite index set, which follow from the recursion clauses of A finite sum in a commutative monoid indexed by an arbitrary finite set by induction on an enumeration. Nothing else about FN — unitarity, invertibility, the convolution law — is asserted here; those are proved in the items that follow.

Remarks

  • Why the normalisation is split as N−1/2. The factor N−1/2 is exactly what makes the transform an isometry for the counting inner product, and is the finite analogue of the 1/2π convention in the L2 Fourier transform. Taylor writes the finite transform (11.1) with the factor 1/n in the forward direction and weights L2(Γn) by (1/n)-counting measure; the two descriptions differ by relabelling the sides, not by mathematics, and the translation used here sends ωj to [j]N and f# to N−1/2FNf.

  • No convergence hypothesis is needed or used. The index set is finite, so the definition involves no limit, no summability condition and no auxiliary topology; it applies to every function in CZ/N, including the zero function, and it is total at N=1, where the single summand is f([0]1)e0=f([0]1) with coefficient 1−1/2=1.

LemmaStatement: Literature-sourcedProof: AI-adaptedprecheck passjudge pass (gpt-6.1-sol)Open item page →

Orthogonality of the characters x↦e2πikx/N on Z/NZ

Statement

Let N≥1 and let k,ℓ∈Z. Then

∑x=0N−1e2πi(k−ℓ)x/N={N,k≡ℓ(modN),0,k≢ℓ(modN).

At N=1 the congruence holds for all k,ℓ and the sum is 1. The sum is the finite sum of the complex family x↦e2πi(k−ℓ)x/N over the von Neumann natural N={0,…,N−1} (A finite sum in a commutative monoid indexed by an arbitrary finite set), and N on the right is the natural number N read in C as the additive multiple N⋅1C, that is, the value at N of the canonical embedding N→C (The canonical natural ι(n)=n⋅1F of a field, In a field, the additive multiple n⋅1F is the canonical natural ι(n): the additive power of the group-power definition and the canonical natural are the same function, both being the unique one given by the recursion ι(0)=0F, ι(σ(n))=ι(n)+1F).

Facts & Assumptions

Given: A natural number N≥1, integers k,ℓ, the complex number ω:=e2πi(k−ℓ)/N, the partial sums Sn:=∑x<nωx for n∈N, and S:=SN.

[F1]

k≡ℓ(modN) means N∣(k−ℓ), that is, k−ℓ=Nm for some integer m; the relation is an equivalence relation and is defined for every integer modulus, including N≥1 (Congruence modulo an integer: a≡b(modn) when n∣(a−b), including the moduli 0 and 1, Congruence modulo every integer is an equivalence relation on Z).

[F2]

For complex z,w: exp⁡z=1 exactly when z∈2πiZ, and exp⁡z=exp⁡w exactly when z−w∈2πiZ (ker⁡(exp⁡)=2πiZ, and exp⁡z=exp⁡w exactly when z−w∈2πiZ, The complex exponential by its power series).

[L1]

exp⁡(z+w)=exp⁡z exp⁡w for all complex z,w (exp⁡(z+w)=exp⁡z exp⁡w, and the complex exponential extends the real exponential).

[L2]

A finite sum in a commutative monoid is computed from any enumeration of its finite index set and does not depend on it; it is unchanged by reindexing along a bijection, additive over disjoint splittings, and subject to the finite Fubini rule (A finite sum in a commutative monoid indexed by an arbitrary finite set, Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule).

[L3]

Powers in C: ω0=1 and ωn+1=ωnω for every n∈N (Integer powers in the complex field), and ωm+n=ωmωn for all naturals m,n (Laws of integer exponents, claim 1). Induction is available (The principle of mathematical induction).

[L4]

Additive natural powers: in the additive group of C, the element N⋅1C defined by 0⋅1C=0 and σ(n)⋅1C=n⋅1C+1C equals the image of the natural number N under the canonical embedding N→C (Powers gn: natural exponents in a monoid and integer exponents in a group, with g0=e read additively, In a field, the additive multiple n⋅1F is the canonical natural ι(n): the additive power of the group-power definition and the canonical natural are the same function, both being the unique one given by the recursion ι(0)=0F, ι(σ(n))=ι(n)+1F).

[L5]

Field laws of C: multiplication is associative and commutative and distributes over addition, every nonzero element has an inverse, and 1≠0 (C=R[x]/(x2+1) is a field, every element is uniquely a+bi, and every nonzero element has inverse (a−bi)/(a2+b2)).

Proof

technique · cases
1.1F2L1L2L3given

The summands are the powers of ω: e2πi(k−ℓ)x/N=ωx for every x∈N. Indeed, for x=0 both sides are 1 by [F2] (as 0∈2πiZ) and [L3]; and if the identity holds at x, then the addition law [L1] and the power recursion [L3] give e2πi(k−ℓ)(x+1)/N=e2πi(k−ℓ)x/Ne2πi(k−ℓ)/N=ωxω=ωx+1, so induction [L3] proves it for every x. Consequently S=∑x<Nωx by [L2], since the finite sum depends only on the listed values.

1.2L2L3L5given

The geometric identity: (1−ω)Sn=1−ωn for every n∈N. For n=0 the sum S0 is empty, hence 0 by [L2], and 1−ω0=0 by [L3]. If the identity holds at n, then Sn+1=Sn+ωn by the recursion clause of [L2], so distributivity [L5] gives (1−ω)Sn+1=(1−ω)Sn+(1−ω)ωn=(1−ωn)+(ωn−ωnω)=1−ωn+1, using the hypothesis, distributivity, associativity and the power recursion [L3]. Induction [L3] gives the identity at every n.

2.1F1F2step 1.1

The two alternatives for ω: ω=1 exactly when k≡ℓ(modN), and ωN=1 always. For the first, [F2] gives ω=1  ⟺  2πi(k−ℓ)/N∈2πiZ  ⟺  (k−ℓ)/N∈Z  ⟺  N∣(k−ℓ)  ⟺  k≡ℓ(modN) by [F1]; for the second, e2πi(k−ℓ)=1 by [F2] because 2πi(k−ℓ)∈2πiZ, and step 1.1 identifies e2πi(k−ℓ) with ωN.

2.2assume-case congruentF1F2step 1.1L2L4given

Case k≡ℓ(modN): then k−ℓ=Nm for some integer m by [F1], so every exponent 2πi(k−ℓ)x/N=2πimx lies in 2πiZ and every summand ωx equals 1 by step 1.1 and [F2]. The sum therefore consists of N copies of 1C, and the recursion clause of [L2] computes it as the additive natural power N⋅1C of [L4]. In particular at N=1, where every pair k,ℓ is congruent, the sum is the single term 1, the image of the natural number 1 under the canonical embedding.

3.1assume-case noncongruentstep 1.2step 2.1L5

Case k≢ℓ(modN): then ω≠1 and ωN=1 by step 2.1, so the geometric identity of step 1.2 at n=N gives (1−ω)S=1−ωN=0. Since 1−ω≠0, the field laws [L5] give S=(1−ω)−1⋅0=0.

4.1casesF1step 2.2step 3.1∎

The alternatives of [F1] are exhaustive and mutually exclusive, so steps 2.2 and 3.1 cover every pair (k,ℓ): the sum equals the natural number N read in C in the congruent case and 0 otherwise, which is the stated formula.

Remarks

  • The case ωm=1 is exactly the case split used by Taylor. In Taylor's proof of Proposition 11.2 the sum Sm of the powers of ω satisfies Sm=ωmSm, so it vanishes whenever ωm≠1; the coincident case ωm=1 is separated first. Here the split is made on k≡ℓ(modN) and the noncoincident case is settled by the geometric identity, which is the same computation in explicit finite-sum form.

  • No dependence on the representation-theoretic orthogonality. The published orthogonality lemma for finite abelian groups and the real-variable factorisation lemma for bn−an are stated outside the complex-sum setting used here, so this lemma proves the complex geometric identity directly from the recursion instead of importing them. They are independent cross-checks, not prerequisites.

LemmaStatement: Literature-sourcedProof: AI-adaptedprecheck passjudge pass (gpt-6.1-sol)Open item page →

FN2 is reflection and FN4 is the identity

Statement

Let N≥1 and f∈CZ/N. Define the reflection Rf by (Rf)(x):=f(−x) for x∈Z/NZ. Then FN2f=Rf and FN4=id, the identity map of CZ/N; consequently FN2 is an involution and FN3=FN−1. At N=1 and N=2 the reflection is the identity, so FN2=id there. No convergence or regularity hypothesis is involved: the transform is a finite sum (The unitary discrete Fourier transform on Z/NZ).

Facts & Assumptions

Given: A natural number N≥1, a function f∈CZ/N, classes x,y∈Z/NZ, and the reflection R.

[F1]

(FNh)(k)=N−1/2∑z=0N−1h([z]N)e−2πikz/N for every h∈CZ/N and every integer k, and FNh is N-periodic in k (The unitary discrete Fourier transform on Z/NZ); every class has a unique standard representative in {0,…,N−1} (For n≥1, every class in Z/n has one representative r with 0≤r<n, so ∣Z/n∣=n; while Z/0 is in bijection with Z).

[F2]

For all integers a,b, ∑q=0N−1e2πi(a−b)q/N=N when a≡b(modN) and 0 otherwise (Orthogonality of the characters x↦e2πikx/N on Z/NZ).

[F3]

Finite sums over Z/NZ are computed from any enumeration, are unchanged by reindexing along a bijection, split over disjoint unions, and satisfy the finite Fubini rule (A finite sum in a commutative monoid indexed by an arbitrary finite set, Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule). In particular a sum whose every term has 0C as a factor is 0, and a sum over a one-element index set is the single listed value.

[L2]

Classes of Z/NZ: [u]N=[v]N exactly when u≡v(modN) (The congruence class [a]n and the quotient set Z/n); the group is abelian, so −(−x)=x and x−y is the group operation (For every natural n, (Z/n,+) is an abelian group, multiplication is a commutative monoid operation, and both distributive laws hold).

Proof

technique · direct
1.1F1F3L1L2L3

Fix a class x and let x0∈{0,…,N−1} be its unique standard representative by [F1]; evaluating the second transform at x0 and expanding twice by [F1], the addition law [L1] gives (FN2f)(x)=N−1/2∑q=0N−1(N−1/2∑y=0N−1f([y]N)e−2πiqy/N)e−2πiqx0/N=N−1∑q=0N−1∑y=0N−1f([y]N)e−2πiq(x0+y)/N: indeed e−2πiqy/Ne−2πiqx0/N=e−2πiq(x0+y)/N by [L1], and N−1/2N−1/2=N−1 by the exponent laws (Laws of rational exponents, claim 2). The double sum is the finite sum over the product index set and the interchange of the two sums is the finite Fubini rule [F3].

1.2F2L2

Evaluation of the inner sum: for y∈{0,…,N−1}, ∑q=0N−1e−2πiq(x0+y)/N=N when [x]+[y]N=[0] and 0 otherwise. Apply [F2] with a=0, b=x0+y and dummy summation index q; then 0≡x0+y(modN) is exactly [x]+[y]N=[0] by [L2].

1.3F3

Collapsing a sum supported at one class: if c:Z/NZ→C is any function and a∈Z/NZ, then ∑y∈Z/Nc(y)⋅(N if y=a, 0 otherwise)=N c(a). Split the finite index set into the singleton {a} and its complement by [F3]; every term of the complement sum has 0C as a factor, hence the complement contributes 0, while the single term over {a} is the listed value N c(a).

1.4L2L3

The reflection is an involution: R(Rf)=f. For every class x, (R(Rf))(x)=(Rf)(−x)=f(−(−x))=f(x) by [L2], so the two functions agree at every class [L3].

2.1F1F3L2L3step 1.1step 1.2step 1.3

Combining steps 1.1, 1.2 and 1.3, for every class x one has (FN2f)(x)=N−1∑y=0N−1f([y]N)(N if [y]N=[−x], 0 otherwise)=N−1⋅N f([−x])=f(−x); the list [0]N,…,[N−1]N contains exactly one representative of each class by [F1]. Hence FN2f=Rf as functions on Z/NZ [L3].

3.1L4step 1.4step 2.1∎

Fourth power and inverse: from step 2.1, FN4=(FN2)∘(FN2)=R∘R, and step 1.4 gives R∘R=id; so FN4=id, whence FN2∘FN2=id (that is, FN2 is an involution) and both FN∘FN3=FN4=id and FN3∘FN=id; by [L4] the two-sided inverse of FN is unique and equals FN3, so FN−1=FN3. This proves the statement.

Remarks

  • The two involution cases. At N=1 the group Z/1 has one element, so −x=x and the reflection is the identity. At N=2 the element [1] satisfies [1]+[1]=[0], so −[1]=[1] and −[0]=[0]; the reflection is the identity there too and F22=id, consistent with the fact that the N=2 matrix 12(111−1) is its own inverse. Both claims use only the group law of For every natural n, (Z/n,+) is an abelian group, multiplication is a commutative monoid operation, and both distributive laws hold.

  • What this identity is not. It is a statement about the finite transform and its exponent bookkeeping only. In particular it does not assert that FN has order four in general, and it does not identify the reflection with the identity for N≥3: for N=3 the reflection exchanges the classes [1] and [2] and is not the identity, while it still satisfies R2=id.

LemmaStatement: Literature-sourcedProof: AI-adaptedprecheck passjudge pass (gpt-6.1-sol)Open item page →

The DFT turns cyclic convolution into a scaled pointwise product

Statement

Let N≥1 and f,g∈CZ/N. Then for every k∈Z

(FN(f∗g))(k)=N (FNf)(k)(FNg)(k),

where ∗ is the unnormalised cyclic convolution of The unnormalised cyclic convolution on Z/NZ and N=N1/2 is the rational power of Rational powers ar of a positive base. The factor N is the price of leaving the convolution unnormalised; it is not an artefact of the proof, and the same factor appears for every pair (f,g).

Facts & Assumptions

Given: A natural number N≥1, functions f,g∈CZ/N, an integer k, and classes x,y,z∈Z/NZ.

[F1]

(FNh)(k)=N−1/2∑x=0N−1h([x]N)e−2πikx/N for every h∈CZ/N (The unitary discrete Fourier transform on Z/NZ).

[F2]

(f∗g)(x)=∑y∈Z/Nf(y)g(x−y), a single complex number for each class x; the value depends on classes only (The unnormalised cyclic convolution on Z/NZ).

[F3]

Finite sums over Z/NZ are computed from any enumeration, are unchanged by reindexing along a bijection, split over disjoint unions and satisfy the finite Fubini rule; scalar factors move through them (A finite sum in a commutative monoid indexed by an arbitrary finite set, Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule).

[L1]

exp⁡(u+v)=exp⁡u exp⁡v for all complex u,v (exp⁡(z+w)=exp⁡z exp⁡w, and the complex exponential extends the real exponential).

[L2]

Rational powers of the positive real N: N−1/2N1/2=N0=1 and the exponent laws hold (Rational powers ar of a positive base, Laws of rational exponents, claims 1 and 2).

[L3]

For fixed y, the map x↦x−y is a bijection of Z/NZ onto itself with inverse z↦z+y (For every natural n, (Z/n,+) is an abelian group, multiplication is a commutative monoid operation, and both distributive laws hold); classes are the objects of Z/NZ (The congruence class [a]n and the quotient set Z/n).

Proof

technique · direct
1.1F1F2F3

Substitute [F2] into [F1] and interchange the two finite sums by the finite Fubini rule [F3]: for the given k, (FN(f∗g))(k)=N−1/2∑x=0N−1(∑y∈Z/Nf(y)g(x−y))e−2πikx/N=N−1/2∑y∈Z/Nf(y)∑x∈Z/Ng(x−y)e−2πikx/N.

1.2F1F3L1L3L4

Reindex the inner sum and separate the exponentials: for fixed y the substitution z:=x−y is the bijection of [L3], so ∑xg(x−y)e−2πikx/N=∑zg(z)e−2πik(z+y)/N, and by the addition law [L1] this equals (∑zg(z)e−2πikz/N)e−2πiky/N=N1/2(FNg)(k) e−2πiky/N, the last step by [F1] and [L4].

2.1F1F3L2L4step 1.1step 1.2∎

Inserting step 1.2 into step 1.1 and recognising the remaining sum by [F1], (FN(f∗g))(k)=N−1/2∑yf(y)e−2πiky/N N1/2(FNg)(k)=N−1/2N1/2(FNf)(k) N1/2(FNg)(k); by [L2] the scalar is N−1/2N1/2N1/2=N1/2, so (FN(f∗g))(k)=N1/2(FNf)(k)(FNg)(k) as claimed.

Remarks

  • Comparison with Taylor's convention. Put h#:=N−1/2FNh, so h# carries the forward factor 1/N of Taylor's (11.1). The proved identity gives (f∗g)#=Nf#g# for the unnormalised convolution here. Taylor's (11.30) instead uses f⋆g:=N−1(f∗g), so (f⋆g)#=f#g# by linearity. Both the transform and the convolution normalisations matter.

  • Cyclic, not linear. The identity computes the cyclic convolution of [F2]. It does not compute the linear convolution of two coefficient sequences unless the length is large enough that no coefficient wraps; the companion page shows the wrap explicitly for two sequences of length two, where the linear coefficient 1 of z2 reappears in degree 0.

TheoremStatement: Literature-sourcedProof: AI-adaptedprecheck passjudge pass (gpt-6.1-sol)Open item page →

Finite Fourier inversion for the unitary transform on Z/NZ

Statement

Let N≥1 and f∈CZ/N. Then for every x∈Z/NZ

f(x)=N−1/2∑k=0N−1(FNf)(k) e2πikx/N,

the right-hand side being independent of the chosen integer representative of the class x. Consequently FN is bijective with inverse the positive-sign transform

(GNg)(x):=N−1/2∑k=0N−1g(k) e2πikx/N,g∈CZ/N, x∈Z/NZ,

and there is no convergence, regularity or support hypothesis anywhere.

Facts & Assumptions

Given: A natural number N≥1, a function f∈CZ/N, classes x,y∈Z/NZ, and integers j,ℓ.

[F1]

(FNh)(k)=N−1/2∑x=0N−1h([x]N)e−2πikx/N for every h∈CZ/N and integer k (The unitary discrete Fourier transform on Z/NZ).

[F2]

For all integers a,b, ∑q=0N−1e2πi(a−b)q/N=N if a≡b(modN) and 0 otherwise (Orthogonality of the characters x↦e2πikx/N on Z/NZ).

[F3]

Finite sums over Z/NZ: computed from any enumeration, invariant under reindexing along a bijection, additive over disjoint unions, Fubini, and scalars move through them (A finite sum in a commutative monoid indexed by an arbitrary finite set, Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule); the classes [0]N,…,[N−1]N enumerate Z/NZ without repetition (For n≥1, every class in Z/n has one representative r with 0≤r<n, so ∣Z/n∣=n; while Z/0 is in bijection with Z).

[L2]

Classes: [u]N=[v]N exactly when u≡v(modN) (The congruence class [a]n and the quotient set Z/n), and −[u]N=[−u]N with −(−x)=x in the abelian group Z/NZ (For every natural n, (Z/n,+) is an abelian group, multiplication is a commutative monoid operation, and both distributive laws hold).

[L3]

Rational powers: N−1/2N−1/2=N−1 and N−1N=1 (Rational powers ar of a positive base, Laws of rational exponents).

Proof

technique · direct
1.1F1F3L1L3

Fix a class x and let x0∈{0,…,N−1} be its unique standard representative from [F3]. Substituting [F1] and using the product rule for exponentials [L1], the candidate right-hand side evaluated at x0 equals N−1/2∑k=0N−1(N−1/2∑y=0N−1f([y]N)e−2πiky/N)e2πikx0/N=N−1∑k=0N−1∑y=0N−1f([y]N)e2πi(x0−y)k/N, where N−1/2N−1/2=N−1 by [L3] and the interchange of the two finite sums is the Fubini rule [F3].

1.2F2L2

The inner sum over k is ∑k=0N−1e2πi(x0−y)k/N=N when [x]=[y]N and 0 otherwise: apply [F2] with a=x0, b=y and summation index k; the condition x0≡y(modN) is exactly [x]=[y]N by [L2].

1.3F3

Collapsing a sum supported at one class: for any c:Z/NZ→C and class a, ∑y∈Z/Nc(y)⋅(N if y=a, 0 otherwise)=N c(a). Split the finite index set into {a} and its complement by [F3]; the complement contributes 0 because every term there has the factor 0C, and the single term over {a} is the listed value.

1.4L1L2

The right-hand side depends only on the class of x: replacing its standard representative x0 by any representative x0+jN changes the exponent 2πikx0/N to 2πikx0/N+2πikj, and e2πikj=1 by [L1] because 2πikj∈2πiZ; so every summand, and hence the whole sum, is unchanged.

2.1F3L4step 1.1step 1.2step 1.3step 1.4

Therefore, for every class x, the right-hand side of the statement equals N−1∑y=0N−1f([y]N)(N if [y]N=[x], 0 otherwise)=N−1⋅N f(x)=f(x), by steps 1.1, 1.2 and 1.3, the list [0]N,…,[N−1]N containing one representative of every class by [F3]. This proves the inversion formula, and by step 1.4 the formula is a statement about the class x.

3.1F1F2F3L1L2L3L4step 1.1step 1.2step 1.3step 2.1

The transform GN of the statement is well defined by the same periodicity argument as step 1.4 (with the sign of the exponent reversed, which does not affect e2πik=1), and the computation of steps 1.1-2.1 with (f,FN,e−2πi⋅/N) replaced throughout by (g,GN,e+2πi⋅/N) gives FN(GNg)(k)=N−1∑yg([y]N)(N if [y]=[k],0 otherwise)=g(k) for every class k; that is, FN∘GN=id, while step 2.1 with g=FNf is GN∘FN=id.

4.1L5step 3.1∎

Since FN∘GN=id and GN∘FN=id, the transform FN has a two-sided inverse, namely GN; by [L5] FN is bijective and GN=FN−1, which is the statement.

Remarks

  • The exchange of signs is not a second theorem. The two compositions in step 3.1 are the same finite computation with the roles of x and k exchanged: both reduce to the orthogonality sum of [F2]. Both are verified because [L5] is stated for a two-sided inverse; no dimension argument and no countability or convergence argument is used.

  • Nothing here is a limit. All sums are finite, and the only scalar identity used beyond the orthogonality lemma is N−1N=1. In particular the inversion formula is exact for every function in CZ/N, including the zero function, and at N=1 it reads f([0])=1−1/2(F1f)(0)⋅1=f([0]), since F1=id.

TheoremStatement: Literature-sourcedProof: AI-adaptedprecheck passjudge pass (gpt-6.1-sol)Open item page →

Finite Parseval and Plancherel identity for the unitary DFT

Statement

Let N≥1 and f,g∈CZ/N. Then

⟨FNf,FNg⟩=⟨f,g⟩,

where both pairings are the counting inner products of The counting inner product on CZ/NZ. In particular

∑k=0N−1∣(FNf)(k)∣2=∑x=0N−1∣f(x)∣2,

so FN preserves the counting inner product; invertibility of FN is not asserted here.

Facts & Assumptions

Given: A natural number N≥1, functions f,g∈CZ/N, and classes x,y∈Z/NZ.

[F1]

FNh(k)=N−1/2∑x=0N−1h([x]N)e−2πikx/N (The unitary discrete Fourier transform on Z/NZ); ⟨u,v⟩=∑z∈Z/Nu(z)v(z)‾ is the counting inner product (The counting inner product on CZ/NZ).

[F2]

∑k=0N−1e2πi(a−b)k/N=N when a≡b(modN) and 0 otherwise (Orthogonality of the characters x↦e2πikx/N on Z/NZ).

[F3]

Finite sums over Z/NZ are computed from any enumeration, are invariant under reindexing along a bijection, split over disjoint unions, satisfy the finite Fubini rule, and carry scalar factors (A finite sum in a commutative monoid indexed by an arbitrary finite set, Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule); the classes [0]N,…,[N−1]N enumerate the group (For n≥1, every class in Z/n has one representative r with 0≤r<n, so ∣Z/n∣=n; while Z/0 is in bijection with Z).

[L2]

Conjugation and modulus: z+w‾=z‾+w‾, zw‾=z‾ w‾, zz‾=∣z∣2, ∣z∣=0  ⟺  z=0 (Conjugation is an involutive real-field automorphism, zz‾=∣z∣2, and modulus is definite, multiplicative, and subadditive); ∣exp⁡(x+iy)∣=ex (exp⁡(x+iy)=ex(cos⁡y+isin⁡y), ∣exp⁡(x+iy)∣=ex, and eiπ+1=0).

Proof

technique · direct
1.1F1F2F3L1L2L3

Conjugation of the second factor: for each class k, (FNg)(k)‾=N−1/2∑y=0N−1g([y]N)‾ e2πiky/N. Indeed, conjugation is additive and multiplicative and fixes the real scalar N−1/2 (Conjugation is an involutive real-field automorphism, zz‾=∣z∣2, and modulus is definite, multiplicative, and subadditive, Laws of rational exponents); and e−2πiky/N‾=e2πiky/N, because for ζ=eiθ with θ=−2πky/N one has ∣ζ∣=1 by [L2] and hence ζ‾=∣ζ∣2/ζ=ζ−1=e−iθ.

1.2F2

The orthogonality sum: ∑k=0N−1e−2πik(x−y)/N=N when [x]=[y] and 0 otherwise, by [F2] with the integers y and x in the roles of the two congruence parameters.

1.3F3

Collapsing a sum supported at one class: for any c:Z/NZ→C and class a, ∑y∈Z/Nc(y)⋅(N if y=a, 0 otherwise)=N c(a); split the index set into {a} and its complement by [F3], the complement contributing 0 because every term there has the factor 0C.

2.1F1F3L1L3step 1.1

Expanding the pairing: substituting [F1] for both transforms, step 1.1 for the conjugate factor, and interchanging the finite sums by [F3] gives ⟨FNf,FNg⟩=N−1∑x=0N−1∑y=0N−1f([x]N)g([y]N)‾∑k=0N−1e−2πik(x−y)/N, where the exponentials combine by the addition law [L1] and the scalar is N−1/2N−1/2=N−1 by [L3].

3.1F1F3L2L3step 1.2step 1.3step 2.1∎

Evaluating the inner sum by step 1.2 and then collapsing the outer sum by step 1.3 gives ⟨FNf,FNg⟩=N−1∑x=0N−1N f([x]N)g([x]N)‾=∑x=0N−1f([x]N)g([x]N)‾=⟨f,g⟩ by [L3] and the standard-representative form of the counting inner product [F1]. Taking g=f and using zz‾=∣z∣2 from [L2], the same computation gives ∑k∣(FNf)(k)∣2=∑x∣f([x]N)∣2; both assertions are proved.

Remarks

  • Isometry versus unitary isomorphism. The identity proved here says that FN preserves the counting inner product; it does not by itself assert that FN is bijective, and none of its steps uses inversion. Invertibility is the separate content of the inversion theorem on this page, and [L2] alone does not supply it.

  • Both sides use the same weight. There is no factor 1/N on either side of the displayed identity, and the cancellation of the two N−1/2 factors against the orthogonality value N is the only place where the normalisation is used. In Taylor's convention the same computation reads as the unitarity of Φn between the (1/n)-weighted space on Γn and the counting-measure space on Zn (11.5).

DefinitionDefinition: Literature-sourcedProof: Not applicablejudge pass (gpt-6.1-sol)Open item page →

The unnormalised engineering DFT and its conversion to the unitary transform

Definition

Let N≥1 and f∈CZ/N. The unnormalised (engineering) discrete Fourier transform of f is the function X(f):Z→C defined by

Xk(f):=∑x=0N−1f([x]N) e−2πikx/N,k∈Z,

the sum being the finite sum of A finite sum in a commutative monoid indexed by an arbitrary finite set over the representatives [0]N,…,[N−1]N of the classes of Z/NZ (The congruence class [a]n and the quotient set Z/n), with ez the complex exponential of The complex exponential by its power series. Comparing with The unitary discrete Fourier transform on Z/NZ,

Xk(f)=N (FNf)(k),(FNf)(k)=N−1/2Xk(f),k∈Z,

where N=N1/2 is the rational power of Rational powers ar of a positive base and the two conversions are inverse to each other by N1/2N−1/2=1 (Laws of rational exponents). So the two transforms determine each other, and the only difference between them is the constant N.

The transform is defined on classes and is N-periodic. If [x]N=[x′]N then x′=x+mN for some integer m and e−2πikx′/N=e−2πikx/Ne−2πikm=e−2πikx/N, so the summands depend only on classes; and e−2πi(k+N)x/N=e−2πikx/Ne−2πix=e−2πikx/N for every integer x, both identities following from the addition law and exp⁡(2πi ⋅)=1 (exp⁡(z+w)=exp⁡z exp⁡w, and the complex exponential extends the real exponential, ker⁡(exp⁡)=2πiZ, and exp⁡z=exp⁡w exactly when z−w∈2πiZ). Hence X(f) factors through Z→Z/NZ and Xk(f) depends on k only through its class.

Inverse formulas. The inversion theorem in its unitary form is the identity f(x)=N−1/2∑k=0N−1(FNf)(k)e2πikx/N of Finite Fourier inversion for the unitary transform on Z/NZ; substituting (FNf)(k)=N−1/2Xk(f) and collecting N−1/2N−1/2=N−1 (Laws of rational exponents) gives the engineering form

f(x)=1N∑k=0N−1Xk(f) e2πikx/N,x∈Z/NZ.

This is the convention in which the radix-two algorithm computes its output. The unitary transform is recovered by the single rescaling N−1/2=2−m/2 at length N=2m. The correctness and complexity theorems refer to this unnormalised output; the convolution lemma is stated in the unitary convention.

Remarks

  • No factor 1/N in the forward direction. The normalisation sits in the inverse formula. MIT's heading 3 uses the positive-sign unnormalised forward transform; replacing its primitive root by its inverse gives the sign here. Taylor's negative-sign finite sum (12.1), multiplied by N and identified by ωj↔[j]N, agrees with X. His printed recursive twiddle has a sign inconsistency, explained in the radix-two factorisation lemma; no printed recursion identity is needed for the conversion above.

  • What is not asserted. Nothing here claims that X is an isometry for the counting inner product — with this normalisation X rescales norms by N1/2 — and nothing here claims an O(Nlog⁡N) evaluation of X for arbitrary N; the algorithmic statements are proved later on this page and are restricted to the lengths stated there.

LemmaStatement: Literature-sourcedProof: AI-adaptedprecheck passjudge pass (gpt-6.1-sol)Open item page →

The radix-two even/odd factorisation of the DFT

Statement

Let M≥1, N=2M and f∈CZ/N. Define the even and odd parts e,o∈CZ/M by

e(r):=f(2r),o(r):=f(2r+1),r∈Z/MZ,

where 2r and 2r+1 denote the classes in Z/NZ of the corresponding integers; the maps r↦2r and r↦2r+1 from Z/MZ to Z/NZ are well defined and injective with disjoint images, which together exhaust Z/NZ. Let X(f), X(e), X(o) be the unnormalised transforms of The unnormalised engineering DFT and its conversion to the unitary transform, the latter two extended periodically to Z. Then for every k∈Z

Xk(f)=Xk(e)+e−2πik/NXk(o),Xk+M(f)=Xk(e)−e−2πik/NXk(o).

Thus an N-point transform is computed from the two M-point transforms of its even and odd parts together with the twiddle factors e−2πik/N; this is the radix-two (decimation-in-time) step of the fast Fourier transform, and it holds for every input class list, with no hypothesis beyond N=2M.

Facts & Assumptions

Given: Natural numbers M≥1 and N=2M, a function f∈CZ/N, and integers k,r,r′; the classes are those of The congruence class [a]n and the quotient set Z/n.

[F1]

Xk(u)=∑x=0L−1u([x]L)e−2πikx/L for a function u on Z/LZ, and Xk(u) depends on k only modulo L (The unnormalised engineering DFT and its conversion to the unitary transform).

[F2]

[u]n=[v]n exactly when n∣(u−v) (The congruence class [a]n and the quotient set Z/n, Divisibility in Z: d∣a when a=dq for some integer q); if r−r′=Mt then 2r−2r′=Nt and 2r+1−(2r′+1)=Nt, and conversely 2M∣2s forces M∣s by cancellation in Z (The integers have no zero divisors; multiplicative cancellation). The divisors of 1 in Z are exactly 1 and −1, and 0<1<2, −1<0 in the ordered ring Z ((Z,⋅,1) is a commutative monoid whose group of units is {1,−1}; equivalently u∣1 holds exactly for u=1 and u=−1, The integers form a totally ordered ring).

[F3]

Division with remainder: for every integer x and the positive divisor 2 there are unique integers q,r with x=2q+r and 0≤r<2, hence r∈{0,1} (Division with remainder in Z: for a∈Z and b>0 there are unique q,r∈Z with a=qb+r and 0≤r<b); and the classes [0]L,…,[L−1]L enumerate Z/LZ without repetition (For n≥1, every class in Z/n has one representative r with 0≤r<n, so ∣Z/n∣=n; while Z/0 is in bijection with Z).

[F4]

Finite sums over Z/LZ: computed from any enumeration, invariant under reindexing along a bijection, and additive over disjoint splittings (A finite sum in a commutative monoid indexed by an arbitrary finite set, Finite commutative-monoid sums are invariant under bijective reindexing, split over disjoint unions, and satisfy the finite Fubini rule).

[L1]

exp⁡(u+v)=exp⁡u exp⁡v, exp⁡w=1 exactly when w∈2πiZ, and e−πi=−1, so e−2πi(k+M)/N=e−2πik/Ne−πi=−e−2πik/N because 2πiM/N=πi (exp⁡(z+w)=exp⁡z exp⁡w, and the complex exponential extends the real exponential, ker⁡(exp⁡)=2πiZ, and exp⁡z=exp⁡w exactly when z−w∈2πiZ, exp⁡(x+iy)=ex(cos⁡y+isin⁡y), ∣exp⁡(x+iy)∣=ex, and eiπ+1=0, The complex exponential by its power series).

[L2]

Since N=2M with M>0, division in the embedded real field gives 2r/N=r/M and (2r+1)/N=r/M+1/N. The frequency k+M differs from k by the period M of each shorter transform in [F1].

Proof

technique · direct
1.1F2F3L2

The index maps are well defined with the stated images. If r≡r′(modM), then r−r′=Mt and [F2] gives 2r≡2r′(modN) and 2r+1≡2r′+1(modN), so e and o are well-defined functions on Z/MZ. If 2r≡2r′(modN), then N∣2(r−r′), that is 2M∣2(r−r′), so M∣(r−r′) by cancellation [F2], hence r=r′ in Z/MZ: the doubling map is injective, and likewise r↦2r+1. If 2r≡2r′+1(modN) then N∣(2r−2r′−1), say 2(r−r′)−1=2Mt, so 1=2(r−r′−Mt) and 2∣1; by [F2] this forces 2∈{1,−1}, contradicting 0<1<2 and −1<0. Hence the two images are disjoint. Finally, every class of Z/NZ is [x]N for a unique 0≤x<N=2M [F3]; writing x=2q+r with r∈{0,1} [F3] gives x=2q or x=2q+1, and x<2M forces q<M (if q≥M then x≥2q≥2M), so the class is in one of the two images; the images therefore exhaust Z/NZ.

1.2F1F4

Splitting the defining sum: with x running over 0,…,2M−1, the list is the disjoint union of the even numbers 2r and the odd numbers 2r+1, 0≤r<M; hence by the splitting and reindexing rules [F4] Xk(f)=∑x=02M−1f([x]N)e−2πikx/N=∑r=0M−1f([2r]N)e−2πik(2r)/N+∑r=0M−1f([2r+1]N)e−2πik(2r+1)/N.

1.3F1L1L2

Evaluating the two pieces: by 2r/N=r/M and the addition law [L1], ∑r=0M−1f([2r]N)e−2πik(2r)/N=∑r=0M−1e([r]M)e−2πikr/M=Xk(e); and ∑r=0M−1f([2r+1]N)e−2πik(2r+1)/N=e−2πik/N∑r=0M−1o([r]M)e−2πikr/M=e−2πik/NXk(o), where the exponents combine by [L1] using (2r+1)/N=r/M+1/N.

2.1step 1.2step 1.3

Adding the two evaluations of step 1.3 gives Xk(f)=Xk(e)+e−2πik/NXk(o) for every k∈Z, which is the first displayed identity.

3.1F1L1step 2.1∎

For the second identity, replace k by k+M in step 2.1: Xk+M(e)=Xk(e) and Xk+M(o)=Xk(o) because the transforms of the M-point functions depend on k only modulo M [F1], while e−2πi(k+M)/N=−e−2πik/N by [L1]; hence Xk+M(f)=Xk(e)−e−2πik/NXk(o).

Remarks

  • This is the declared decimation-in-time form; Taylor's Proposition 12.1 and the MIT lecture's heading 4 are its mirror. Taylor splits the input into the halves f(ωj)±f(ωj+n/2) and reads off the output parities, and the MIT lecture's heading 4 likewise splits the coefficient list into its two halves and combines them with a twiddle; both are the decimation-in-frequency description of the same pair of identities, the transposed statement of the even/odd-coefficient form proved here. No second independent result is being recorded.

  • Sign caveat in Taylor. Formula (12.1) uses ω−jℓ, but (12.9) prints ωj in the odd-frequency branch. With ω=e2πi/N, the negative-sign odd-frequency sum instead factors as ∑jω−j(f(ωj)−f(ωj+N/2))(ω2)−jk. Thus that branch needs ω−j, consistent with Taylor's four-point factor −i in (12.6). The local proof above derives its signs directly rather than importing the inconsistent printed general twiddle.

  • The twiddle factor is the price of the odd subproblem. The even half reuses the M-point transform unchanged; the odd half carries the factor e−2πik/N, and at k+M that factor changes sign, which is exactly what produces the second displayed identity. Both identities are used in the recursion definition later on this page.

DefinitionDefinition: Literature-sourcedProof: Not applicablejudge pass (gpt-6.1-sol)Open item page →

The recursive radix-two fast Fourier transform

Definition

Let m∈N and N=2m. The radix-two fast Fourier transform FFT⁡m:CZ/N→CZ/N is defined by recursion on m as follows. At m=0 the group is Z/1Z and FFT⁡0:=idCZ/1. For m≥1, given f∈CZ/2m with even and odd parts e,o∈CZ/2m−1 (The radix-two even/odd factorisation of the DFT), and given E:=FFT⁡m−1(e) and O:=FFT⁡m−1(o), extend E and O from Z/2m−1Z to Z by 2m−1-periodicity and set

FFT⁡m(f)(k):=E(k)+e−2πik/2mO(k),k∈Z.

Then FFT⁡m(f)(k+2m)=FFT⁡m(f)(k) for every k∈Z, because E and O are 2m−1-periodic and e−2πi(k+2m)/2m=e−2πik/2me−2πi=e−2πik/2m (exp⁡(z+w)=exp⁡z exp⁡w, and the complex exponential extends the real exponential, ker⁡(exp⁡)=2πiZ, and exp⁡z=exp⁡w exactly when z−w∈2πiZ); hence FFT⁡m(f) factors through Z→Z/2mZ and FFT⁡m is a well-defined map CZ/2m→CZ/2m.

The recursion is legitimate. Put Fm:=CZ/2m for each m∈N, and use the tagged state set A:={(m,g):m∈N, g:Fm→Fm}. For a state (m,g)∈A and f∈Fm+1, let e,o∈Fm be the even and odd parts supplied by The radix-two even/odd factorisation of the DFT, and define g+(f)∈Fm+1 by g+(f)([k]2m+1):=g(e)([k]2m)+e−2πik/2m+1g(o)([k]2m) for k∈Z. This is well defined on [k]2m+1: replacing k by k+2m+1 leaves the recursive values unchanged modulo 2m and multiplies the twiddle by e−2πi=1 (exp⁡(z+w)=exp⁡z exp⁡w, and the complex exponential extends the real exponential, ker⁡(exp⁡)=2πiZ, and exp⁡z=exp⁡w exactly when z−w∈2πiZ). Thus g+ is a total map Fm+1→Fm+1, and T:A→A defined by T(m,g):=(m+1,g+) is a total step function. Starting from a:=(0,idF0), the recursion theorem The recursion theorem gives a unique H:N→A with H(0)=a and H(m+1)=T(H(m)). By induction (The principle of mathematical induction, The natural numbers N (von Neumann)) the first coordinate of H(m) is m; writing H(m)=(m,FFT⁡m) gives FFT⁡m:Fm→Fm and exactly the base and combine clauses above. Termination is immediate from recursion on m: each recursive call uses level m−1, and the base case m=0 returns the input. The exponent arithmetic uses 2m+1=2⋅2m and, for the rescaling below, 2−m/2=(2m)−1/2 (Laws of integer exponents, Rational powers ar of a positive base, Laws of rational exponents).

What the algorithm computes. Correctness is proved separately later on this page: FFT⁡m(f)(k)=Xk(f) for every input, where X is the unnormalised transform of The unnormalised engineering DFT and its conversion to the unitary transform; the unitary transform of this page is recovered from the output by the single rescaling 2−m/2 at length N=2m. The operation count is likewise the subject of a later item. At level m the recursion forms the even and odd parts of a length-2m list and performs one combine per output value, reading E and O at their classes and multiplying by the twiddle factors e−2πik/2m.

Remarks

  • The base case is a genuine case, not a convention. N contains 0 (The natural numbers N (von Neumann)), so FFT⁡0 is defined by the same recursion that defines all the other levels, and the length-one transform is the identity. Nothing in the definition excludes N=1, and the recursion is total on N.

  • The two conventions, once more. The recursion outputs the unnormalised transform: the definition of FFT⁡m contains no factor N−1/2, and the combine uses the twiddle factors e−2πik/2m with the same sign as X of The unnormalised engineering DFT and its conversion to the unitary transform. Dividing the output by 2m/2 yields the unitary transform, and no other rescaling is needed.

TheoremStatement: Literature-sourcedProof: AI-adaptedprecheck passjudge pass (gpt-6.1-sol)Open item page →

The radix-two FFT uses O(Nlog⁡2N) complex arithmetic operations

Statement

Let Tm be the number of complex-number multiplications and additions performed by the recursion of The recursive radix-two fast Fourier transform on an input of length N=2m, counted as the operations of the two recursive subproblems of length 2m−1 plus, at the top level, the 2m twiddle multiplications e−2πik/2mO(k) and the 2m additions E(k)+⋅ needed to form all 2m output values, and with no other operations counted. Then T0=0, Tm≤2Tm−1+2⋅2m for m≥1, and

Tm≤2m 2m=2Nlog⁡2N(m≥0).

In particular there is the explicit constant C=2 with Tm≤C m 2m for every m, so at length N=2m the algorithm uses at most 2Nlog⁡2N complex arithmetic operations, whereas independent direct evaluation of all N coefficients uses N(N−1) additions and N2 multiplications. The count is of arithmetic operations only: integer index arithmetic, twiddle evaluation, memory access and bit complexity are not counted, and no numerical-stability claim is made.

Facts & Assumptions

Given: Natural numbers m,n and the operation counts Tm of the radix-two recursion on inputs of length 2m.

[F1]

FFT⁡m is defined by recursion on m, with FFT⁡0=id and, for m≥1, two recursive calls FFT⁡m−1 on the even and odd parts followed by the combine FFT⁡m(f)(k)=E(k)+e−2πik/2mO(k) for each of the 2m output values (The recursive radix-two fast Fourier transform).

[F2]

The operation model of the Statement: Tm counts exactly the complex multiplications and additions of the two subproblems and of the 2m twiddle multiplications and 2m combine additions at the top level, and nothing else. In particular T0=0 and Tm=2Tm−1+2⋅2m for the counted operations, so the upper bound Tm≤2Tm−1+2⋅2m holds for m≥1.

[L1]

Powers: 2m>0, 2m+1=2⋅2m, and 2m/2m−1=2 for m≥1 (Laws of integer exponents, The natural numbers N (von Neumann)); 20=1.

[L3]

Induction: a property holding at 0 and inherited by successors holds at every natural (The principle of mathematical induction).

[L4]

Local asymptotic notation: for nonnegative sequences am,bm with bm>0 for all sufficiently large m, am=O(bm) means that there are constants C>0 and m0 such that am≤Cbm for every m≥m0.

Proof

technique · direct
1.1F1F2given

The counted recurrence: T0=0, since the base case returns the input without performing a complex multiplication or addition, and Tm≤2Tm−1+2⋅2m for m≥1, because the recursion performs the two subproblem computations and then, at the top level, one twiddle multiplication and one addition for each of the 2m output values [F2]; no other operation is counted.

2.1L1step 1.1

Dividing by the level size: put Um:=Tm/2m, a real number. Dividing the inequality of step 1.1 by 2m>0 and using 2m=2⋅2m−1 gives Um≤Tm−1/2m−1+2=Um−1+2 for m≥1, and U0=T0=0.

3.1L3step 2.1

The unrolled bound: Um≤2m for every m∈N. At m=0 this reads U0=0≤0; and if Um≤2m, then Um+1≤Um+2≤2m+2=2(m+1) by step 2.1, so induction [L3] gives the bound at every natural.

4.1L1step 3.1

Consequently Tm=2mUm≤2m⋅2m=2m 2m for every m, by [L1] and step 3.1.

5.1L2L4step 4.1∎

Constant form and the logarithmic reading: the bound of step 4.1 is Tm≤C m 2m for every m with the explicit constant C=2, so [L4] gives Tm=O(m2m). Since N=2m and log⁡2(2m)=m by [L2], this is Tm=O(Nlog⁡2N) and the explicit bound is Tm≤2Nlog⁡2N at every power-of-two length; this proves the claimed complexity and completes the proof.

Remarks

  • The direct-evaluation baseline. For N=2m the unnormalised transform of The unnormalised engineering DFT and its conversion to the unitary transform evaluates each of the N coefficients Xk(f)=∑x=0N−1f([x]N)e−2πikx/N as a sum of N terms, needing N−1 additions and (if each term is formed separately) N multiplications per coefficient, hence N(N−1) additions and N2 multiplications in total; this is the baseline of Taylor §12 and the reason the bound of step 4.1 is an improvement for large N. The comparison concerns the counted operation model only: the two bounds ignore different constants and neither says anything about rounding error.

  • What is not counted, and why that matters. Twiddle-factor evaluation, index arithmetic, memory traffic, bit complexity and numerical stability are all outside the model fixed in the Statement; the theorem is a statement about the number of complex multiplications and additions in the recursion as defined, not a machine-level running-time or accuracy claim. The bounded model is stated explicitly so that no later use silently strengthens it.

  • Asymptotic reading. By the local convention [L4], the explicit constant-form estimate gives Tm=O(m 2m), hence Tm=O(Nlog⁡2N) at length N=2m. The explicit constant C=2 and bound Tm≤2m 2m remain the load-bearing quantitative result.

TheoremStatement: Literature-sourcedProof: AI-adaptedprecheck passjudge pass (gpt-6.1-sol)Open item page →

Correctness of the recursive radix-two FFT

Statement

Let m∈N, N=2m and f∈CZ/N. Then

FFT⁡m(f)(k)=Xk(f)for every k∈Z,

where X is the unnormalised N-point discrete Fourier transform of The unnormalised engineering DFT and its conversion to the unitary transform. Equivalently FFT⁡m(f)=2m/2 FNf for the unitary transform of The unitary discrete Fourier transform on Z/NZ; consequently the algorithm returns the unitary transform after the single rescaling 2−m/2, and it does so for every input of length 2m. Correctness is separate from speed: the operation count is the subject of a different theorem, and no floating-point or stability claim is made here.

Facts & Assumptions

Given: The family FFT⁡m of The recursive radix-two fast Fourier transform, the unnormalised transform X and the unitary transform FN, and the statement P(m): for every f∈CZ/2m and every k∈Z, FFT⁡m(f)(k)=Xk(f).

[F1]

Definition of the recursion: FFT⁡0=id on CZ/1, and for m≥1, with M=2m−1, f∈CZ/2m and even/odd parts e,o∈CZ/M, one has FFT⁡m(f)(k)=FFT⁡m−1(e)(k)+e−2πik/2mFFT⁡m−1(o)(k) for every k∈Z, the subproblem outputs being extended M-periodically (The recursive radix-two fast Fourier transform).

[F2]

Radix-two factorisation: with M≥1, 2M in place of N, and even/odd parts e,o of f, Xk(f)=Xk(e)+e−2πik/(2M)Xk(o) and Xk+M(f)=Xk(e)−e−2πik/(2M)Xk(o) for every k∈Z (The radix-two even/odd factorisation of the DFT).

[F3]

The unnormalised transform at length L is Xk(u)=∑x=0L−1u([x]L)e−2πikx/L and satisfies Xk(u)=L1/2(FLu)(k); at L=1, X0(u)=u([0]1) because e0=1 (The unnormalised engineering DFT and its conversion to the unitary transform, The unitary discrete Fourier transform on Z/NZ).

[L1]

Induction: a property holding at 0 and inherited by successors holds at every natural (The principle of mathematical induction); 20=1 and 2m=2⋅2m−1 for m≥1 (Laws of integer exponents, The natural numbers N (von Neumann)).

[L2]

Rational powers: 2m>0, (2m)1/2=2m/2 and 2m/2⋅2−m/2=1 (Rational powers ar of a positive base, Laws of rational exponents, claims 1, 2 and 5).

Proof

technique · induction on $m$
1.1baseF1F3L1

Base case m=0: the group Z/1Z has the single class [0]1, FFT⁡0=id, and X0(f)=f([0]1)e0=f([0]1) while Xk(f)=Xk mod 1(f)=X0(f) for every integer k because the length-one transform is 1-periodic; hence FFT⁡0(f)(k)=f([0]1)=Xk(f) for every k.

1.2ih

Inductive hypothesis: fix m≥0 and assume P(m), that is FFT⁡m(g)(k)=Xk(g) for every g∈CZ/2m and every integer k.

1.3givenF1L1

Successor data: for the induction step from m to m+1, put N:=2m+1 and M:=2m, and let f∈CZ/N have even and odd parts e,o∈CZ/M, so N=2M and M≥1.

2.1step 1.2step 1.3F1F2L1

Successor case: by [F1], FFT⁡m+1(f)(k)=FFT⁡m(e)(k)+e−2πik/2m+1FFT⁡m(o)(k); the induction hypothesis of step 1.2 applies to e,o∈CZ/2m and every integer k, giving FFT⁡m(e)(k)=Xk(e) and FFT⁡m(o)(k)=Xk(o). Substituting these equalities and applying the first radix-two factorisation [F2] with N=2m+1=2M yields FFT⁡m+1(f)(k)=Xk(f) for every k∈Z, which is P(m+1).

3.1discharge-induction: step 2.1F1F3L1L2step 1.1step 2.1∎

By induction [L1], P(m) holds for every m∈N, which is the first display. For the equivalent form, [F3] gives Xk(f)=2m/2(F2mf)(k) since 2m=2m/2 by [L2]; hence FFT⁡m(f)=2m/2FNf, and multiplying both sides by 2−m/2 recovers the unitary transform from the output, so the rescaling 2−m/2 is the only normalisation step needed.

Remarks

  • Use of the induction hypothesis. In the step from m to m+1, the hypothesis is applied at level m to the even and odd parts. The combine is the radix-two factorisation, and the base case is the identity transform at length 1.

  • Correctness and the operation model are independent. Nothing in this proof counts operations or inspects the resources used by the recursion; conversely the complexity theorem does not reprove the identity. The two statements share only the definition of the algorithm and the factorisation lemma.

5 · Examples, counterexamples and false statements

None yet.

Sources