Alphabeta Math
AlgorithmAlgorithm: Literature-sourcedProof: Not applicablePipeline-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.

Arbitrary-length mixed-radix and Bluestein DFT

Definition

Fix an instance of the operationwise floating-point model in Operationwise real and complex floating point arithmetic with rounded square roots and fused multiply-add, with representable real set F. Input N≥1, x∈CN whose real and imaginary coordinates all belong to F, an exact rational phase tolerance 0<τ≤1/4, integer dyadic exponent limits emin⁡≤emax⁡, an initial phase precision p0≥2, a finite precision cap pmax⁡≥p0, a finite elementary-series cap J≥1, and a maximum radix-two recursion depth dmax⁡≥0. At precision p, phase endpoints use the dyadic format with precision p and exponent limits emin⁡,emax⁡. Before any certified phase is used as an arithmetic operand or stored in an input vector to a computed subroutine, require its real and imaginary coordinates to belong to F; otherwise return range-failure with that phase index before the operation or subcall. Use the same floating-point model instance throughout all recursive calls. The output convention is the unnormalised DFT Xk=∑j=0N−1xje−2πijk/N (The unnormalised engineering DFT and its conversion to the unitary transform); the procedure returns an approximate vector or the first inconclusive/range-failure status.

  1. For N=1, return x0.
  2. If N=2m with m≥1, call Computed unitary radix-two FFT with certified twiddle phases in forward mode with controls (τ,emin⁡,emax⁡,p0,pmax⁡,J,dmax⁡) and multiply each output by the computed scalar fl⁡(N). A failed subcall or scale operation returns its status.
  3. If N is composite and not a power of two, find its least divisor r with 1<r<N by trial division and put s=N/r. For u=0,…,r−1, recursively call this procedure with the same controls on the strided vector (xu+rv)v=0s−1 to obtain an approximate unnormalised length-s DFT Uu. For each 0≤k2<s and 0≤u<r, call Certified dyadic enclosures for unit-circle phases on (q,τ,emin⁡,emax⁡,p0,pmax⁡,J) with q=−2uk2/N to obtain the twiddle enclosure, then multiply its returned phase by Uu(k2) using fl⁡C. For each 0≤k2<s, apply this procedure recursively, with the same controls, to the length-r vector of these products indexed by u, and for every 0≤k1<r store its output k1 at index k2+sk1. Propagate any failed phase or arithmetic status.
  4. If N is prime, set M to the least power of two with M≥2N−1. For each 0≤j<N, call Certified dyadic enclosures for unit-circle phases on (q,τ,emin⁡,emax⁡,p0,pmax⁡,J) with q=−j2/N to obtain α^j, and set aj=fl⁡C(α^jxj); set the remaining entries of a∈CM to zero. For each −(N−1)≤t≤N−1, obtain β^t by the same call with q=t2/N and set b[t]M=β^t, setting other entries of b to zero. Compute the cyclic convolution with Computed FFT cyclic convolution and zero-padded linear convolution in cyclic mode using controls (τ,emin⁡,emax⁡,p0,pmax⁡,J,dmax⁡). For each 0≤k<N, obtain γ^k by the same phase call with q=−k2/N and set X^k=fl⁡C(γ^kc^k). Return the first N entries or the first failure status.

The divisor search and phase-enclosure work have separate integer/interval budgets and are not counted as complex arithmetic operations in the operation-count theorem. The exact factorization lemmas and the chirp-phase error theorem state what is guaranteed; this procedure by itself makes no general mixed-radix stability claim.

Depends on

Used by

Dependency tree · two levels

37 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