Skip to content

Independently check #4554's native FFT multiplier: exact error-chain recurrences, parameters to ell=200, separate fixed-grid multiplier (no new κ) - #4557

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
pinterbanget:check-4554-fft
Oct 22, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
pinterbanget:check-4554-fft

Conversation

@pinterbanget

Copy link
Copy Markdown
Contributor

Summary

This adds research/pr4554-native-fft-check/, an independent check of the native FFT multiplier in Dugongue's #4554 (head 4f46c6a9): the parameters in PROOF.md and the recovery bound 216N⁶β²/S < 2^(−10ℓ−6) < 1/4 in FFT-ERROR.md. It follows my #4556 on the same PR. All checked claims are confirmed. No new κ.

Both texts are vendored (blobs c7b4777b and 53691b10, SHA256-pinned). Nothing is imported from #4554's code.

Checks

  • Error chain, exact rationals. Worst-case recurrences run for N ≤ 2^20 and β ≤ 2^8 (80 cases):

    • forward amplitudes ≤ 2·4^jβ;
    • (1) 36N³β/S, (2) 112N⁵β²/S, (3) 5N⁴β²;
    • inverse amplitudes ≤ 6·4^jN⁴β² and 212N⁷β²/S;
    • (4) 216N⁶β²/S ≤ (5).

    The twiddle recurrence gives a_j ≤ 8jδ.

  • Parameters, exact integers, every ℓ = 2…200. N < 2^(ℓ+2), F+1 ≤ 2^(ℓ+7), (5) < 2^(−10ℓ−6), δ, η < 1, and the raw-product word budget is within 16(F+16)+20.

  • Separately written fixed-grid multiplier. It follows the PROOF.md construction: my own Machin/Taylor root floored to the grid, floor-rounded twiddle products, conjugated forward twiddles, an unnormalized inverse, floor division by N, nearest-integer recovery and radix carries.

    • Exactness. All 367 products are exact, covering every pair for n ≤ 4, plus random and all-ones operands up to 12,000 bits.
    • Observed error. The worst observed coefficient error is 5.7·10⁻⁷ of (4).
    • Magnitudes and width. Inverse magnitudes stay below 6N⁶β²S, and carries stay at most L(β−1). Every stored value fits the global word width; the FFT uses at most 12% of it, and the root routine sets the rest.
python3.12 -B scripts/research_package.py --package research/pr4554-native-fft-check
  PASS_REGISTERED_RESEARCH_PACKAGE research/pr4554-native-fft-check outcome=completed   (~16 s, stdlib only)

Limitations:

Head: ebc09ef98f107da49b78b450642fd00ca1a93a74. Base: canonical main f626db5c.

Credit: Dugongue (#4554); Fürer (2014). Prepared by Ryanson Jonathan with substantial Claude Code (Claude Opus 5.5) assistance.

🤖 Generated with Claude Code

…r-chain recurrences, parameters to ell=200, separate fixed-grid multiplier (no new κ)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants