A negative power of a linear beside a root of another is integrated by the recurrence on the power - #1758
Merged
Rafael-SOWNet merged 4 commits intoOct 4, 2026
Conversation
…y the recurrence on the power A whole power m <= -2 of one linear beside a power that is not whole of another, times a polynomial, goes down the recurrence int L1^m L2^n = L1^(m+1) L2^(n+1)/((m+1) D) - (m+n+2) d/((m+1) D) int L1^(m+1) L2^n to int L2^n/L1, the polynomial written in powers of L1 first. Under the substitution for the root the same integrand is a rational function over a power of a quadratic with symbols in it, which took four seconds at the square and twenty at the fourth power. A whole power of a product is read through, since the question comes back so once a constant is out of the bar. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
…0 has Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
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.
1/((a + b x)^4 sqrt(c + d x))and(p + q x + r x^2 + s x^3)/((a + b x)^5 sqrt(c + d x))ran past forty seconds on master: the substitution for the root makes a rational function over a power of a quadratic with symbols in it, and its reduction grows with the power. 2.5.0 declined them:9848e4671/((a + b x)^4 sqrt(c + d x))(p + q x + r x^2 + s x^3)/((a + b x)^5 sqrt(c + d x))(c + d x)^(3/2)/(a + b x)^31/(x^3 (c + d x)^(5/2))x/((a + b x)^4 sqrt(c + d x))Each answer is differentiated back with the symbols pinned and compared as a complex number at
x = -2.3, -1.1, -0.4, 0.4, 1.1, 2.3; the times include that.What changes. A whole power
m <= -2of one linear beside a power that is not whole of another, times a polynomial, is integrated by the recurrenceint L1^m L2^n = L1^(m + 1) L2^(n + 1)/((m + 1) D) - (m + n + 2) d/((m + 1) D) int L1^(m + 1) L2^n,L1 = a + b x,L2 = c + d x,D = b c - a d-- the derivative ofL1^(m + 1) L2^(n + 1)read back -- down toint L2^n/L1, the polynomial written in powers ofL1first; the powers at or above zero andint L2^n/L1are asked of the integrator, which answers each in a step. The integrand's factors are read through a whole power of a product, since the question comes back as((a/b + x)^4 sqrt(c + d x))^(-1)once a constant is out of its bar.Tests:
LinearPowerRecurrenceIntegralTest, five rows differentiated back with the symbols pinned, on both sides of zero; 2.5.0 declines all five, and master answers three of them, in a twentieth of a second to fifteen seconds, and runs past forty on the other two.Measured first on the 413 problems of Rubi's 1.1.1.2, 1.1.1.3, 1.1.1.5 and 1.2.1.4 with one whole power below
-1of a linear beside one power that is not whole of another, at the corpus's 5-second budget, against mastercb8e133d, the branch's base:Measured then on the Rubi corpus against master
cb8e133d:The harness counts no answer wrong in the pocket or the sample on either build. Of the 17 problems the two builds disagreed on, pocket and sample together, run again one build at a time, master answers 11 and this 16. Five are the recurrence's, past the budget on master and answered here in 0.06 to 0.75 seconds --
1/((a + b x)^5 sqrt(c + d x)),(A + B x + C x^2 + D x^3)/((a + b x)^5 sqrt(c + d x))and three more -- and(f + g x)/((d + e x)^(5/2) (c d^2 - b d e - b e^2 x - c e^2 x^2)^(3/2))takes 2.8 seconds where master takes sixteen. The other eleven both answer at fifteen to twenty-four seconds, or both decline, at the edge of the harness's patience: the eight that families 3, 6 and 7 lose in the sample are eight of them, past the patience on the loaded run and answered on both builds alone.The suite passes on the commit measured,
cc678773, 14,780 tests with 13 skipped, and the allocation gate with it. On the merge with master9848e467,f2fcab08, the 4,158 calculus and corpus tests that run pass, with 2 skipped. Every row of the first table is as it says on the merge. With master moved on toce4d1a1f, the 4,164 calculus and corpus tests pass on that merge too.🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura