Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change and mathematical scope
The rational-rank tool’s complete kernel witnesses have large identity blocks, but its checker still multiplies every zero. Evaluate each exact dot product using its smaller nonzero support. Certificate generation also clears denominators once and constructs one final Fraction per coefficient. All four product checks, canonical kernels, pivots, inversion, input limits and certificate bytes remain. No new κ is claimed.
On Nick Petalas’s unchanged PR6272 synthetic 48×64 rank-eight fixture, checking uses 69,280 integer multiplications instead of 320,000. Generation replaces 6,656 Fraction multiply/add pairs with 832 final reductions. Seven alternating fresh-process produce/save/check pairs give median 3.5729 → 3.1467 seconds (11.93% less wall time), Windows / CPython 3.12.2. An earlier seven-pair run gives 14.18% less. All 56 CLI commands pass with identical certificate bytes. Both raw reports are included. Ranges overlap and one pair in each run regresses; these are noisy local medians on a synthetic fixture. Temporary bytecode-prefix directories include standard-library source-import cost in both arms.
Task and overlap
User-assigned process optimization, card
replay-runtime, refined scope. Canonical base:7c49fe32c55de02c2c873655c804b16e4c3fef0a; selected binding-only baseline passes. The package retains the current reference script and PR6272 fixture byte for byte, with source pins, equivalence proof and Open next questions.PR5789 supplies the complete rank interface. PR6272 already accelerates verification by denominator clearing; this builds on that optimized baseline. Pending PR6705 at
e56d08c60910a4a635b708f26acbcc3326639dd5changes pivot discovery; this targets coefficient production and product evaluation, leaving that stage unchanged. Combined performance is unmeasured. PR5954 and PR6270 optimize other rank/solve callers. Title/body and Discussion overlap checks are bounded coverage.Validation
4d73d3df7183e0b1a5f3a34cb3e059eefe45a07ein scoped run 42344842877: normal/optimized package replay, existing tests and retained product conformance. Linux also passes committed-byte and POSIX-mode preflight. The checking workflow is on a separate fork branch and excluded from this 12-file contribution.The benchmark refuses an existing output, authenticates sources before timing, rejects source drift or differing certificate bytes, and never uses timing as a CI threshold. The existing exact 16,384-bit scale fallback remains.
Credit and open next questions
Ali Romman / PR5789 supplies the interface and complete checker. Nick Petalas / PR6272 supplies the integer-product predecessor, retained fixture and benchmark precedent. Existing notices remain. Sparse products and denominator clearing are classical. New implementation, proof and checks: Joseph Anglada with substantial OpenAI Codex assistance, Apache-2.0.
The package README/TASK explains the next bounded steps: measure an actual source-bound consumer matrix and compare a separately verified combination with PR6705. Native, physical, precision, compiler and theorem admission are outside this change.