Skip to content

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 into
masterfrom
a-polynomial-over-a-power-of-one-symbolic-linear-is-reduced-at-its-root
Oct 4, 2026
Merged

Rafael-SOWNet merged 2 commits into
masterfrom
a-polynomial-over-a-power-of-one-symbolic-linear-is-reduced-at-its-root

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718.

t^9/(a + b t)^8 is a polynomial and eight powers of 1/(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 of a and b it takes sixty milliseconds. 2.5.0 declined it:

integrand master 51cb049a this
t^9/(a + b t)^8 63 s 0.4 s
x^4/(a + b sqrt(x))^8 53 s 0.09 s
x^6/(a + b x)^5 3 s 0.02 s

Timed 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:

master this
solved 1,857 1,862
wrong 0 0
past the budget 16 11

Measured then on the Rubi corpus against master 8f3757cd:

master this
family 0, independent suites (1814) 1766 1766
family 1, 40 a file (1381) 1296 1298
families 2 to 8, sampled (2410) 2215 2218

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)^8 and (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. Master 51cb049a is 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

Rafael-SOWNet and others added 2 commits October 3, 2026 18:35
…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
@Rafael-SOWNet Rafael-SOWNet added this to the 2.6.0 milestone Oct 4, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit 9f89516 into master Oct 4, 2026
34 checks passed
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