Alphabeta Math
TheoremStatement: Literature-sourcedProof: AI-adaptedPipeline-generatedprecheck passjudge pass (gpt-6-luna)
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.

A zero-padded circulant embedding computes a Toeplitz product in O(N log N)

Statement

Let m,n≥1, let T∈Cm×n be Toeplitz with Tij=ti−j for 0≤i<m, 0≤j<n, and let x∈Cn. Set L=m+n−1 and let N be the least power of two with N≥L. Define c∈CN by cℓ=tℓ (0≤ℓ<m),cN−d=t−d (1≤d<n), and set every other coordinate to zero. Let x~=(x0,…,xn−1,0,…,0)T∈CN. In exact arithmetic, the first m coordinates of the cyclic convolution c∗Nx~ equal Tx.

The convolution can be computed with three exact length-N DFT calls, pointwise products, and scalar scaling. Its arithmetic count is O(Nlog⁡2N) for N≥2 and constant when N=1. This is an exact-arithmetic count for the formal exact-constant FFT model; a finite-precision execution is not claimed to be exact.

Facts & Assumptions

Given: Positive integers m,n, a Toeplitz matrix T with the stated lag convention, a vector x∈Cn, and the embedding length N.

[F1]

Tij=ti−j for zero-based row and column indices. Toeplitz, circulant, and finite-index conventions for structured solvers

[F2]

The cyclic convolution coordinate is (a∗Nb)i=∑j=0N−1a(i−j) mod Nbj. The unnormalised cyclic convolution on Z/NZ

[F3]

For the canonical unitary DFT, FN(a∗Nb)=N(FNa)⊙(FNb). The DFT turns cyclic convolution into a scaled pointwise product

[F4]

In the formal exact-constant model, the published arbitrary-length FFT procedure returns the unnormalised DFT DNa=∑jaje−2πi(⋅)j/N and costs O(Nlog⁡2N) for N≥2. Mixed-radix and Bluestein reductions compute every finite DFT in O(N log N) arithmetic

[F5]

The unitary DFT is invertible, and its inverse is the positive-sign transform. Finite Fourier inversion for the unitary transform on Z/NZ

Proof

1.1givenF1algebra

The two nonzero index ranges used for c are disjoint: N−(n−1)≥m follows from N≥m+n−1. They also lie in 0,…,N−1. For 0≤i<m and 0≤j<n, if i≥j then 0≤i−j≤m−1 and c(i−j) mod N=ti−j. If i<j, put d=j−i, so 1≤d<n and c(i−j) mod N=cN−d=t−d=ti−j. Thus every selected circulant entry has the intended Toeplitz lag.

1.2F3F4F5algebra

Write DN=N FN. By [F3], DN(a∗Nb)=N FN(a∗Nb)=N(FNa)⊙(FNb)=(DNa)⊙(DNb). By [F5], the inverse coordinate is (DN−1y)j=N−1∑ℓ=0N−1yℓe2πijℓ/N=N−1(DNy‾)j‾. Thus three calls from [F4], two pointwise products, and O(N) scalar operations compute c∗Nx~ exactly in the formal model.

2.1givenF2step 1.1algebra

By [F2], for 0≤i<m, (c∗Nx~)i=∑j=0n−1c(i−j) mod Nxj=∑j=0n−1ti−jxj=(Tx)i, where the middle equality is step 1.1. Hence the first m convolution coordinates equal Tx.

3.1givenstep 2.1step 1.2F4algebra∎

Each of the three DFT calls in step 1.2 costs O(Nlog⁡2N) for N≥2 by [F4], while pointwise products and scaling cost O(N). Since N is the least power of two at least L, N<2L when L≥2; for L=1, N=1 and the product is scalar. This proves the stated count and exact result.

Remarks

The computed convolution has a separate conditional error theorem. Under its successful-operation, unit-roundoff, and twiddle-certificate hypotheses, Computed FFT convolution error separates transform, product, inverse, and final-scale terms bounds the cyclic-convolution error; restricting to the first m coordinates cannot increase its Euclidean norm. No finite-precision exactness is asserted here.

Depends on

Used by

Nothing in the library uses this result yet.

Dependency tree · two levels

48 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.

Sources