Skip to content

The integrand the root's substitution leaves is cancelled as written, not simplified - #1714

Merged
Rafael-SOWNet merged 4 commits into
masterfrom
the-root-divided-integrand-is-inner-simplified
Oct 3, 2026
Merged

Rafael-SOWNet merged 4 commits into
masterfrom
the-root-divided-integrand-is-inner-simplified

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718.

A rational function of x^n beside (c + d x^n)^(k - 1/n) is a rational function of u = x/(c + d x^n)^(1/n), and the integrand in u was simplified before it was integrated. With symbols in it the simplifier's search grew with the power of the binomial, where integrating what it returned took milliseconds:

integrand master 97c4b692 this
1/((a + b x^2)^(7/2) (1 + x^2)) past 90 s 0.6 s
x^2/((a + b x^2)^(7/2) (c + d x^2)) 4.7 s 0.9 s
(a + b x^4)^(7/4)/(c + d x^4) 11 s 0.8 s
1/((a + b x^2)^(3/2) (c + d x^2)^3) 15 s 2.6 s
1/((a + b x^2)^(5/2) (c + d x^2)^3) 18 s 4.4 s

What changes. The integrand in u is put over one bar and not simplified. Two things the simplifier did are done instead, since what follows reads them. Each base that is a sum is written as its polynomial in u, which collects what the substitution writes twice: 1 - (-u^2) - u^2 is 1 under a secant's half angle. And each factor written alike above and below the bar is cancelled, power for power, the factor the substitution leaves on both sides among them; the rest stays as written, which the rules after it read better than an expansion.

The last two rows also lean on #1712: their integrands in u are a polynomial over a power of a quadratic with sums of symbols among its coefficients.

Tests: DividedByTheRootIntegralTest, Timofeev's quartic beside a fourth root and three half-odd powers of a symbolic quadratic, each differentiated back.

Measured first on the 397 corpus problems of 1.1.2.3 (a + b x^2)^p (c + d x^2)^q and 1.1.3.3 (a + b x^n)^p (c + d x^n)^q, at the corpus's 5-second budget, against master 599dcb7f, the branch's base:

master this
solved 371 377
wrong 0 0

Measured then on the Rubi corpus against master 599dcb7f:

master this
family 0, independent suites (1814) 1766 1766
family 1, 40 a file (1381) 1290 1290
families 2 to 8, sampled (2410) 2199 2199

No answer is wrong on either build. The 14 problems the two builds disagreed on, run again one build at a time, are all answered here and 5 of them on master: 7 in 1.1.3.3, 3 in 1.1.2.3, and one each in 1.1.2.5, 1.2.1.3, 3.2.1 and 4.3.7.

The suite passes on the commit measured, 6bc973cb, 14,579 tests, and so does the allocation gate. Master 97c4b692 is merged in since, without conflicts, and the calculus tests pass on the merge, 3,948 of them.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 4 commits October 3, 2026 07:48
…ncelled as written, not simplified

A rational function of x^n beside (c + d x^n)^(k - 1/n) is a rational
function of u = x/(c + d x^n)^(1/n), and the integrand in u was
simplified before it was integrated. What that found is the factor the
substitution leaves on both sides of the bar, and with symbols in it the
search grew with the power of the binomial: 1/((a + b x^2)^(5/2)(1 + x^2))
took 5 s, the 7/2 power past 30 s. Each factor written alike above and
below is cancelled power for power now, and the rest is left as it is
written, which the rules after it read better than an expansion:
(a + b x^4)^(7/4)/(c + d x^4) is answered in a second.

Part of #718

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
The substitution writes a base twice over where the radicand is a
binomial in a half-angle tangent: under a secant's, 1 - (-u^2) - u^2,
which is 1 and which nothing after it collects, so the integrand went
on with a degree-eight numerator that is not there.
sqrt(a + a sec(e + f x))/(c - c sec(e + f x))^4 ran past a minute; it
is 1.2 s with each base written as its polynomial in u before the
factors written alike on both sides are cancelled.

Part of #718.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
@Rafael-SOWNet Rafael-SOWNet added this to the 2.6.0 milestone Oct 3, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit dbe5b38 into master Oct 3, 2026
34 checks passed
@Rafael-SOWNet
Rafael-SOWNet deleted the the-root-divided-integrand-is-inner-simplified branch October 29, 2026 00:44
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