Discrete Fourier Transform Complexity: How OpenAI Cracked the n log n Barrier

The Fast Fourier Transform has spent decades turning quadratic calculations into manageable work. OpenAI now presents a proof that discrete Fourier transform complexity can fall below the familiar O(nlog⁡n)O(n\log n) scale, at every input length. The improvement is asymptotic, deterministic, and exact, but it belongs to a computational model with unrestricted complex coefficients and supplied roots of unity.

The September 25 preprint gives a logarithmic exponent smaller than one by a minuscule amount. It includes preparation and indexing costs. It provides no practical floating-point speedup. Understanding that distinction makes the result more interesting: the proof challenges a mathematical barrier while leaving everyday FFT engineering largely untouched.

1. Discrete Fourier Transform Complexity: From Quadratic Work to the FFT Barrier

For a complex input vector x=(x0,…,xn−1)x=(x_0,\ldots,x_{n-1}), the paper studies the unnormalized DFT:

(Fnx)j=∑k=0n−1e2πijk/nxk(F_nx)_j=\sum_{k=0}^{n-1}e^{2\pi i j k/n}x_k

Here i2=−1i^2=-1, nn is the vector length, and jj selects an output coordinate. The positive exponent follows the manuscript’s convention. Unnormalized means there is no scaling factor in this formula.

At length four, the zeroth output simply adds all four inputs. The other outputs combine them with powers of ii. Evaluating every output separately takes quadratic arithmetic work. FFT factorizations reuse intermediate combinations to reach O(nlog⁡n)O(n\log n) work, including arbitrary lengths through convolution reductions.

1.1. Exact DFT Key Facts

The Exact-Arithmetic Theorem at a Glance
Key FactVerified Claim
Mathematical ObjectUnnormalized, positive-exponent DFT on any complex vector
GuaranteeDeterministic and exact at every positive integer length
Sharper BoundO(n(log⁡n)θ(log⁡log⁡n)4−θ)O(n(\log n)^\theta(\log\log n)^{4-\theta}), with θ<1\theta<1
Simplified BoundO(n(log⁡n)1−10−13)O(n(\log n)^{1-10^{-13}})= o(nlog⁡n)o(n\log n)
Arithmetic ModelUnit-cost exact complex arithmetic, unrestricted coefficients, and one specified root
Included WorkScalar preparation, schedule construction, indexing, and array organization
Practical EvidenceNo useful crossover estimate or demonstrated floating-point speedup

An upper bound describes an available algorithm. Calling it optimal requires a lower bound for every permitted algorithm. That second statement depends on what operations the model allows.

2. Why Was n log n Believed to Be the FFT Lower Bound?

The FFT’s repeated layers make logarithmic overhead look unavoidable. Historical lower bounds gave that intuition mathematical support, but within specific models.

Morgenstern’s determinant argument concerns the unnormalized Fourier transform when coefficients are bounded. Roughly, each permitted operation can increase the relevant determinant measure only by a controlled amount. Building the Fourier matrix then requires sufficiently many operations.

Ailon’s entropy argument addresses the normalized Fourier transform on nn coordinates using unitary two-coordinate gates. Such gates preserve the Euclidean norm. Later work also studies restrictions on intermediate conditioning, which measures sensitivity to perturbations.

These restrictions matter. Unrestricted coefficients and exact intermediate values remove constraints used by those arguments. An FFT lower bound for bounded coefficients cannot automatically become a theorem about unrestricted complex-linear computation.

The manuscript also separates its advance from earlier constant-factor improvements. Reducing the leading constant in FFT complexity preserves the nlog⁡nn\log n growth scale. Reducing the exponent of the logarithm changes that scale. Both are useful mathematics, but they answer different questions about optimality.

3. What OpenAI Actually Claims: The Exact DFT Theorem and Its Assumptions

Discrete Fourier transform complexity bounds compared with the exact-arithmetic model and practical limits.
Discrete Fourier transform complexity bounds compared with the exact-arithmetic model and practical limits.

Theorem 1.1 presents one deterministic algorithm for every positive integer length and every complex input. Its sharper running-time estimate is:

T(n)=O(n(log⁡n)θ(log⁡log⁡n)4−θ)T(n)=O\left(n(\log n)^\theta(\log\log n)^{4-\theta}\right)

The constant θ=logm⁡λ\theta=\log_m\lambda is approximately 0.9999999999997893560.999999999999789356, with exact definitions supplied below. Corollary 1.2 simplifies the estimate to O(n(log⁡n)1−10−13)O\left(n(\log n)^{1-10^{-13}}\right). The iterated logarithm has not disappeared for free. The corollary trades some exponent improvement to absorb it.

Complex field operations have unit cost. Input processing uses addition, subtraction, and multiplication by prepared, input-independent scalars. Division occurs only during preparation, with nonzero denominators established. Complex coefficients and intermediate magnitudes are unrestricted.

Integer addresses use a fixed number of logarithmic-size words. That requirement limits address size, not complex-register precision. One specified root of unity, of polynomial order, is supplied. Other scalars, schedules, and array organization are charged.

The root assumption prevents a hidden algebraic shortcut. Rational field operations alone cannot manufacture roots of arbitrarily large order from rational constants. The algorithm states which root it receives and shows how that root supplies the others. Its access to exact algebraic information is explicit.

OpenAI included the result in its October 6 mathematics release. The relevant achievement is this stated theorem, rather than an inference from the broader AI mathematical proofs coverage.

4. The Two-Coordinate Matrix Behind OpenAI’s New Algorithm

The construction starts with a small complex matrix:

C=12(1+i1−i1−i1+i)C=\frac{1}{2}\begin{pmatrix}1+i&1-i\\1-i&1+i\end{pmatrix}

For kk binary coordinates, its tensor power C⊗kC^{\otimes k} acts on 2k2^k values. Applying its factors separately costs O(k2k)O(k2^k). The proof seeks a smaller exponent of kk.

Its starting network has two banks of wires and many auxiliary wires. Each forward invocation performs eight updates: subtract the auxiliaries’ contribution, add the source into the auxiliaries, add their revised contribution, then restore them. Algebraic cancellation produces (x,y)↦(x,y+x)(x,y)\mapsto(x,y+x) for arbitrary initial auxiliary values.

Three stages, forward, inverse in the opposite direction, and forward again, exchange the banks with a sign: (X,Y)↦(−Y,X)(X,Y)\mapsto(-Y,X). Every auxiliary value returns unchanged.

Arbitrary initial values are essential. Recursive calls borrow coordinates already holding data. Requiring fresh zero-filled workspace would break the intended interface and cost accounting. The phase network also appears in the related integer multiplication construction, whose later precision and tape arguments belong to a separate model.

5. How Binary Frames Create a Strict Saving in Tensor Operations

The ingenious step is to replace each scalar wire with an array and attach binary-subspace labels to gates and endpoints. These labels specify coordinate frames ΦU\Phi_U, transformations associated with a subspace UU of a binary vector space.

A scalar gate mixes arrays. A common frame transforms their address coordinates. Those actions commute, allowing adjacent frame changes to cancel throughout the network.

Moving between nested suitable subspaces costs directional kernels for the dimensions added or removed. A directional kernel combines an array with its binary-address translation. On paired addresses it acts like CC, or its inverse with a translation.

The paper explicitly counts these residual dimensions. If WW denotes the physical roles and ss their total directional cost, the saving is Δ=Wm−s>0\Delta=Wm-s>0. Its exact value is 6,871,402,692,000,0006{,}871{,}402{,}692{,}000{,}000.

This is a finite accounting victory, not an approximate transform. The frames make every physical role contribute correctly, including auxiliary roles. Walsh matrices help establish the identities, but the algorithm does not execute those Walsh transforms. The positive saving will survive padding and become a recursive multiplier.

The binary space organizes addresses, while the stored values remain complex numbers. Confusing those two spaces would incorrectly suggest a finite-field Fourier algorithm. The subspace labels determine which pairs interact. They do not change the arithmetic domain of the input or output.

6. The Recurrence That Breaks the n log n Barrier

Discrete Fourier transform complexity saving traced from binary frames to exact batching and a recursive bound.
Discrete Fourier transform complexity saving traced from binary frames to exact batching and a recursive bound.

The network uses m=106m=10^6 binary dimensions. Padding its role count to W∗=271W_*=2^{71} preserves the absolute saving and gives λ=m−Δ/W∗<m\lambda=m-\Delta/W_*<m.

Let TC(k)T_C(k) be the cost of transforming W∗W_* arrays of length 2k2^k, and normalize by their total length: t(k)=TC(k)/(W∗2k)t(k)=T_C(k)/(W_*2^k). Splitting kk into blocks of mm dimensions yields:

t(k)≤A+λt(⌊k/m⌋)t(k)\le A+\lambda t\left(\left\lfloor k/m\right\rfloor\right)

Here AA is a fixed overhead covering pointwise gates, permutations, leftover dimensions, and batch handling. The recursive argument shrinks by a factor of approximately mm. Crucially, fiber counts divide exactly into full batches. No partial batch forces wasted workspace or extra transforms.

Unrolling the recurrence gives a geometric sum with about logm⁡k\log_m k levels. Consequently t(k)=O((k+1)θ)t(k)=O((k+1)^\theta), where θ=logm⁡λ<1\theta=\log_m\lambda<1. A single tensor transform therefore costs O(2k(k+1)θ)O(2^k(k+1)^\theta).

If the multiplier were mm, this reasoning would retain exponent one. The strict inequality supplies the entire power saving. The algorithm makes that saving survive recursion by transforming arbitrary values on all roles.

The normalized cost isolates overhead per stored value. Recursion reduces the number of active binary coordinates, while batching accounts for all values still being transformed. This distinction explains why a saving in a finite dimension budget can become a bound for an unbounded family of arrays.

7. Newton Interpolation and Toeplitz Matrices: Compiling the Fourier Transform

A faster tensor kernel still needs a bridge to Fourier matrices. Newton interpolation supplies it by viewing FrF_r as polynomial evaluation at successive powers of a primitive root.

Changing to the Newton basis makes evaluation triangular. Symmetry of the Fourier matrix and uniqueness of triangular factorization then give:

Fr=NDN−1NTF_r=ND_N^{-1}N^T

Here NN is lower triangular, DND_N contains its diagonal entries, and NTN^T is its transpose. Moreover, NN factors into diagonal matrices and a lower triangular Toeplitz matrix. Toeplitz entries depend on the difference between row and column indices, connecting their action to convolution.

The compiler recursively handles triangular blocks and their cross updates through convolution circuits. It measures the actual register requirements of candidate chunks before choosing a size. Borrowed coordinates can hold arbitrary values and are restored before reuse.

The resulting Fourier word uses exactly rr coordinates and O(1+log4⁡r)O(1+\log^4 r) slots. That is a layer count, not the full arithmetic cost of a length-rr transform. Preparation is polynomial in rr. Later, the algorithm chooses small local widths so that preparation remains affordable.

8. Synchronizing Fourier Circuits Without Losing the Complexity Saving

The compiler expresses its words through monomial layers, which permute and scale coordinates, and shear layers, which add a multiple of one coordinate to another. Shears are converted into a fixed pattern using CC pair slots.

Padding with identity operations lets many local Fourier circuits share a common schedule. Across several axes, a simultaneous pair slot partitions the array into sectors. Choosing a pair on kk axes produces a sector carrying C⊗kC^{\otimes k}. Singleton choices leave those axes inactive.

The fast tensor algorithm can now process each sector. However, repeatedly scanning every axis to calculate every entry’s address would reintroduce excessive work.

The paper instead traverses a tree of mixed-radix prefixes. Each extension updates accumulated addresses and coefficients in a fixed number of operations. Because every internal node has at least two children, the total node count is linear in the number of array entries.

This pays for packing sectors, executing them, and undoing the packing. Address arithmetic is part of the proof. Ignoring it could make the advertised saving vanish before any Fourier output appeared.

9. From Special Transform Sizes to Arbitrary Lengths Using Prime Factors

The synchronized construction prefers many small, coprime axes. The working length begins with the product RℓR_\ell of the first ℓ\ell odd primes, taking the largest such product no greater than 2n2n.

Multiply it by the smallest suitable power of two to obtain L=Rℓ2eL=R_\ell2^e with 2n≤L<4n2n\leq L<4n. Thus, the working array remains proportional to the requested input length. The power of two fills a size gap without adding a large difficult axis.

Elementary prime estimates give ℓ=Θ(log⁡n/log⁡log⁡n)\ell=\Theta(\log n/\log\log n), while individual factors remain polynomially bounded in log⁡n\log n. No prime number theorem is needed for this estimate.

Chinese remainder indexing turns the length-LL Fourier transform into coprime tensor factors, with appropriate permutations. These permutations also use linear traversal work.

The odd-prime axes receive synchronized compiled circuits. The remaining power-of-two axis uses a conventional radix-two FFT. The new algorithm therefore incorporates classical FFT machinery while changing the overall complexity accounting. Merely solving a sparse collection of convenient lengths would not establish the all-length theorem.

10. Bluestein’s Chirp Reduction and the Final Complexity Bound

Discrete Fourier transform complexity proof links tensor savings, Fourier compilation, CRT, and chirp convolution.
Discrete Fourier transform complexity proof links tensor savings, Fourier compilation, CRT, and chirp convolution.

Bluestein’s identity connects the requested transform to convolution. Set η=e2πi/(2n)\eta=e^{2\pi i/(2n)}. Then:

e2πijk/n=ηj2η−(j−k)2ηk2e^{2\pi i j k/n}=\eta^{j^2}\eta^{-(j-k)^2}\eta^{k^2}

Multiply input coordinate xkx_k by its chirp ηk2\eta^{k^2}, convolve with the fixed sequence η−u2\eta^{-u^2}, then multiply output jj by ηj2\eta^{j^2}. Padding at length LL prevents unwanted wraparound in the required outputs.

The computation uses three full transforms: two forward and one inverse. Transforming the fixed convolution operand counts as preparation. Its pointwise products with variable data are multiplication by prepared scalars, preserving input linearity.

Chirp tables take linear work through successive ratios. A supplied root of order D∗<1024n3D_*<1024n^3 generates the required initial roots, with extraction charged.

Substituting the prime-factor count into the synchronized cost gives Theorem 1.1’s sharper bound. The proof establishes θ<1−2⋅10−13\theta<1-2\cdot10^{-13}. Eventually, (log⁡log⁡n)4−θ(\log\log n)^{4-\theta} grows more slowly than (log⁡n)10−13(\log n)^{10^{-13}}, producing the simplified corollary. This absorption is asymptotic, not a numerical shortcut for ordinary inputs.

11. Why the New FFT Bound Does Not Translate Into Practical Speedups

The constants are enormous, and the paper offers no useful crossover estimate. Its role padding alone involves 2712^{71} arrays in the fixed construction. Exact complex arithmetic treats operations on arbitrarily precise values as unit-cost actions. Hardware does not.

There is also no finite-precision error analysis or numerical-stability guarantee. Unrestricted intermediate magnitudes can matter greatly when arithmetic rounds. The theorem does not establish a faster implementation for existing FFT libraries, GPUs, or signal-processing workloads.

11.1. FFT Time Complexity: What the Bounds Compare

Arithmetic Growth Rates and Their Qualifications
MethodOperation BoundQualification
Direct DFTO(n2)O(n^2)Evaluates every output independently
Conventional FFTO(nlog⁡n)O(n\log n)Classical arithmetic upper bound, not universal optimality
OpenAI Theorem 1.1O(n(log⁡n)θ(log⁡log⁡n)4−θ)O(n(\log n)^\theta(\log\log n)^{4-\theta})All lengths in the stated exact-arithmetic model
OpenAI Corollary 1.2O(n(log⁡n)1−10−13)O(n(\log n)^{1-10^{-13}})Eventually absorbs the iterated logarithm with exponent slack

Corollary 1.3 extends the same sharper bound to exact linear convolution and multiplication of complex polynomials of degree below nn. Unlike the input-linear DFT algorithm, it permits general field multiplication for pointwise products of two variable inputs.

It does not establish integer bit complexity, a finite-field result, or a stable numerical algorithm. As with edit distance approximation and practical alignment, the useful question is whether the theorem’s cost model and guarantees match the application.

Polynomial coefficients illustrate the extension directly: multiplying two degree-below-nn polynomials requires their coefficient convolution, with 2n−12n-1 possible output positions. The proof pads and transforms these coefficients exactly, retaining its arithmetic assumptions throughout.

12. Has OpenAI’s Fourier Transform Proof Been Verified, and What Remains Open?

As checked on October 12, 2026, OpenAI’s Problem 130 formalization documentation reports two scopes. One gives arbitrarily small normalized exact-circuit cost along an unbounded sequence of lengths. A separate uniform formalization gives fixed deterministic programs for every positive length, covering exact DFT and full convolution with the simplified power-saving bound, including root-order selection and scalar preparation.

The supplied-root and unrestricted-coefficient assumptions remain. The synthesis appendix’s extraction, search, and printer uniformization lie outside the selected statements. The documentation does not identify the sharper iterated-logarithm estimate as its uniform comparator statement.

These are repository-reported formalization scopes, without an independent rebuild reported here. The checked primary sources also do not establish completed independent peer review. Formalization and mathematical review answer overlapping but distinct questions, as our Lean proof explainer discusses.

The OpenAI FFT breakthrough changes the unrestricted exact-arithmetic barrier under explicit assumptions. Bounded coefficients, stable numerical computation, and practical crossover behavior remain separate questions. For discrete Fourier transform complexity, a tiny exponent can settle a large qualitative question. Follow Binary Verse AI’s AI and mathematics coverage for explanations that connect new proofs to their actual computational meaning.

What is the time complexity of the discrete Fourier transform after OpenAI’s proof?

Direct DFT computation takes O(n2)O(n^2) arithmetic operations, while conventional FFT algorithms achieve O(nlog⁡n)O(n\log n). OpenAI presents an all-length exact-arithmetic algorithm with O(n(log⁡n)1−10−13)O(n(\log n)^{1-10^{-13}}) running time under supplied-root and unrestricted-coefficient assumptions. The sharper theorem is O(n(log⁡n)θ(log⁡log⁡n)4−θ)O(n(\log n)^\theta(\log\log n)^{4-\theta}), where θ<1−2⋅10−13\theta<1-2\cdot10^{-13}. These are asymptotic operation bounds, not practical floating-point timings.

Why is the Fast Fourier Transform faster than direct DFT computation?

Conventional FFT algorithms reuse intermediate computations through structured factorizations, avoiding the quadratic work of evaluating every DFT output independently. OpenAI’s paper constructs recursive tensor operations with a strict asymptotic saving beyond the familiar nlog⁡nn\log n scale in its exact-arithmetic model.

Was O(n log n) previously proven to be the optimal FFT complexity?

Not for unrestricted exact complex-linear computations. Earlier lower bounds applied under additional restrictions, including bounded coefficients or unitary operations. OpenAI’s construction permits unrestricted complex coefficients and exact intermediate values, so it does not contradict those restricted-model lower bounds.

How does OpenAI’s algorithm compute the DFT in less than n log n operations?

The proof constructs a finite scalar network whose binary frame changes yield a strict tensor saving, amplifies it through exact recursive batching, and compiles small Fourier transforms using Newton interpolation and Toeplitz matrices. Synchronization, linear-time indexing, coprime factorization, and Bluestein’s chirp identity extend the improvement to every length.

Will OpenAI’s new Fourier transform algorithm make practical FFT computations faster?

The paper demonstrates no practical speedup. It assumes unit-cost exact complex arithmetic, unrestricted coefficients, supplied roots, and enormous constants. It establishes an asymptotic mathematical improvement, with no useful crossover estimate, faster floating-point library implementation, or numerical-stability guarantee.

Leave a Comment