Skip to content

Add cached Newton polynomial division - #9599

Open
kim-em wants to merge 12 commits into
mainfrom
poly-fast-division
Open

Add cached Newton polynomial division#9599
kim-em wants to merge 12 commits into
mainfrom
poly-fast-division

Conversation

@kim-em

@kim-em kim-em commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • add reusable monic and field divisor plans with cached reversed reciprocals
  • compute quotients by clipped low products and remainders through the same multiplication plan
  • prove high-window cancellation, strict remainder bounds, and exact agreement with existing monic/field long division
  • add division edge-case conformance and cold Newton-vs-long-division benchmarks

Dependency

Stacked on #9598; merge that PR first. This PR targets upstream main as required.

Verification

  • lake build HexPolyFast.Division
  • lake build HexPolyFast HexPolyFast.Conformance
  • lake build HexPolyFast.Bench

@kim-em
kim-em force-pushed the poly-fast-division branch 2 times, most recently from 16126d5 to 0faa94a Compare August 25, 2026 03:34
Kim Morrison added 8 commits August 25, 2026 04:05
The schoolbook path has quadratic coefficient work. Balanced multiplication and specialized squaring satisfy the three-recursion Karatsuba recurrence; the fixed 64-block skew dispatcher preserves that asymptotic bound.
Cost model: long division is quadratic because each leading-coefficient elimination updates a linear suffix. Cold Newton division costs O(M(n)): reciprocal doubling is a geometric series and the quotient/remainder use a constant number of clipped products.
@kim-em
kim-em force-pushed the poly-fast-division branch from 0faa94a to 7568a07 Compare August 25, 2026 04:07
kim-em added 3 commits August 26, 2026 14:52
# Conflicts:
#	.github/workflows/ci.yml
#	scripts/bench/proof_only_runtime_exemptions.json
# Conflicts:
#	.github/workflows/ci.yml
#	scripts/bench/proof_only_runtime_exemptions.json
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.

1 participant