A polynomial over a power of one linear with a symbol in it is written in powers of the linear - #1724
Merged
Rafael-SOWNet merged 2 commits intoOct 4, 2026
Conversation
…n in powers of the linear t^9/(a + b t)^8 is a polynomial and eight powers of 1/(a + b t). Divided out and decomposed with the symbols in it, it went round the substitution search a dozen levels deep and took forty-six seconds, where with numbers in place of a and b it took sixty milliseconds. Partial fractions asks the reduction at the linear's root first now, for a power of one linear with a symbol in it and nothing else below the bar, and each piece is the table's: 27 ms. Part of #718. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
…-power-of-one-symbolic-linear-is-reduced-at-its-root
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.
Part of #718.
t^9/(a + b t)^8is a polynomial and eight powers of1/(a + b t), each the table's. Master divides it out and decomposes it with the symbols in it, and the pieces went round the substitution search a dozen levels deep; with numbers in place ofaandbit takes sixty milliseconds. 2.5.0 declined it:51cb049at^9/(a + b t)^8x^4/(a + b sqrt(x))^8x^6/(a + b x)^5Timed one integrand at a time on a loaded machine.
What changes. The partial fractions ask first, before they divide, whether the integrand is a polynomial over a power of one linear and nothing else, the linear with a symbol in it and its power at least two. Such a polynomial is written in powers of the linear at its root, as the reduction over a linear factor beside something else already writes it, and each piece is the table's. With numbers only, or anything else below the bar, nothing changes.
Tests:
PolynomialOverAPowerOfASymbolicLinearTest.InPowersOfTheLinear, five rows, each differentiated back with the symbols pinned. The sizes are the ones that were slow, so that a regression shows as a slow suite rather than as a clock in a test.Measured first on every third problem of Rubi's 1.1.1 files, the products of linears, and all of 1.3.1, 1,923 run, at the corpus's 5-second budget, against master
8f3757cd, the branch's base:Measured then on the Rubi corpus against master
8f3757cd:No answer is wrong in the sample on either build. Of the 13 problems the two builds disagreed on, run again one build at a time, five ran out of time on master and are answered here in under half a second --
x^11/(a + b x)^10,(c + d x)^10/(a + b x)^4,(a + b x)^6 (A + B x)/(d + e x)^4,(a + b x)^10 (A + B x)/(d + e x)^8and(a + c x^2)^3 (A + B x + C x^2)/(d + e x)^3-- and(c + d x)^7/(a + b x)^3, answered on both, took 21 s on master in the corpus's timing and a tenth of one here. None is lost: the other seven are answered or declined alike on both.The suite passes on the commit measured,
f4da3c31, 14,596 tests, and so does the allocation gate. Master51cb049ais merged in since, without conflicts; the calculus tests pass on the merge, 3,987 of 3,988, the other the one-minute clock on declining((1 + i a x)/(1 - i a x))^(-5/4)/x^3, which ran past it under the machine's load and passes on its own in 7 s.🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura