Skip to content

A binomial differential with symbols in it, or a power of x that is not whole, is integrated - #1721

Merged
Rafael-SOWNet merged 3 commits into
masterfrom
a-binomial-differential-with-symbols-or-a-fractional-power
Oct 3, 2026
Merged

Rafael-SOWNet merged 3 commits into
masterfrom
a-binomial-differential-with-symbols-or-a-fractional-power

Conversation

@Rafael-SOWNet

@Rafael-SOWNet Rafael-SOWNet commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

Part of #718.

Chebyshev's theorem says when x^m (a + b x^n)^(p/q) has an elementary antiderivative, and it is about the exponents only. The rule for it read whole m and n and rational numbers for a and b, and declined everything else, which is most of Rubi's 1.1.2.2 and 1.1.3.2, (c x)^m (a + b x^n)^p:

integrand master 9f271330 this
x^2/(a + b x^4)^(3/4) declined 0.5 s
x^6 (a + b x^4)^(1/4) declined 0.2 s
x^(7/3) (a + b x^2)^(1/3) declined 0.6 s
(c x)^(5/2)/(a - b x^2)^(3/4) declined 0.5 s
(a - b x^2)^(1/4)/(c x)^(15/2) declined 0.1 s

What changes. The rule reads rational m and n, and anything free of x for a and b. A power of a multiple of x, (c x)^(5/2), is read as x^(5/2) times (c x)^(5/2)/x^(5/2), whose derivative is zero: it is c^(5/2) for a positive c x and constant on either side of zero whatever the signs, so it stands outside as written. Where m + 1 + n (p/q + 1) is zero, a case of the third, the answer is the one product of powers it is; the rule for a derivative of a product of powers finds that too, but only at the top and one level below.

Where it is asked. With numbers it is asked where it was. With a symbol in a, b or the multiple it is asked again later, after the rules for a root of a quadratic and for a rational function of x^n beside the root of its binomial, which answer what they share with it more shortly. Asked in the first place with symbols too, it changed 112 answers of those two files that a later rule had given, 43 of them longer: 1/(a - b x^4)^(1/4) came out as two logarithms and two arctangents where SolveByDividingByTheRoot gives two arctangents. Asked later, 15 change: six are the third case's own (#1720), shorter, and nine are a rule ahead of this one finishing where it used to decline, because a sub-integral it asks is answered now. Four of the nine come out shorter and five longer.

Tests: SymbolicBinomialDifferentialTest, eleven rows, each differentiated back on both sides of zero wherever the integrand is real there, a negative c with a negative x among them.

Traced on all 3,163 problems of 1.1.2.2 and 1.1.3.2 with an answer in functions the library has, one probe process a build at a 10-second budget: 2,964 answered on master, 3,060 here, none lost and none wrong.

Measured first on the same 3,163 problems at the corpus's 5-second budget, against master dbe5b382, the branch then carrying the third case's fix that #1720 has merged since:

master this
solved 2,965 3,061
wrong 15 15

The fifteen wrong on both are powers of x whose exponent is -1 as a value and not as written, such as x^(-1 - 3n) (a + b x^n)^3, which this does not touch.

Measured then on the Rubi corpus against master dbe5b382:

master this
family 0, independent suites (1814) 1766 1767
family 1, 40 a file (1381) 1294 1297
families 2 to 8, sampled (2410) 2215 2215

No answer is wrong in the sample on either build. The 98 problems the two builds disagreed on, run again one build at a time, are 96 that master declines and this answers, one master answered without its check settling it that checks out here -- family 0's, Timofeev's cos(x) (-cos(x)^2 - 5 sin(x)^2)^(3/2), #1720's -- and one answered on both; none is lost.

With the corpus's check of the negative side switched on (IB_BOTHSIDES=1), on the same 3,163 problems against master 9f271330 and the merge below: 2,964 and 3,060 answered, and the same sixteen wrong on both -- the fifteen above and 1/(1 + (x^2)^(3/2)), which is right for a positive x only and which this does not touch.

The suite passes on the commit measured, 022652ef, 14,605 tests, and so does the allocation gate. Master 9f271330 is merged in since, the conflicts being the lines #1720 and this both rewrote, taken from this; the calculus tests pass on the merge, 3,983 of 3,985, the other two wall clocks that failed under the machine's load and pass on their own in 6 s and 8 s.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 3 commits October 3, 2026 17:10
…ive x too

Chebyshev's third case is integrated under x = 1/y, and its root, whose q-th power is
b + a/x^n, was written back as (b + a/x^n)^(1/q): that root for a positive x, and for a
negative one only under an odd root. 1/(1 + x^4)^(5/4) came out as 1/(1 + 1/x^4)^(1/4),
an even function whose derivative is the integrand's negative for every negative x. It is
written back as (a + b x^n)^(1/q)/x^(n/q) now, which has the same q-th power everywhere.

Part of #718.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
…ot whole, is integrated

Chebyshev's theorem is about the exponents only, and the rule for x^m (a + b x^n)^(p/q) read
whole m and n and rational numbers for a and b. It reads rational m and n and anything free of
x for a and b now, and a power of a multiple of x, (c x)^(5/2), as x^(5/2) times
(c x)^(5/2)/x^(5/2), which is constant on either side of zero. Where m + 1 + n (p/q + 1) is
zero the answer is the one product of powers it is. With a symbol in the coefficients the rule
is asked after the rules for a root of a quadratic and for a rational function of x^n beside
the root of its binomial, which answer what they share with it more shortly.

Part of #718.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
…tial-with-symbols-or-a-fractional-power

# Conflicts:
#	Sources/AngouriMath/Functions/Continuous/Integration/IndefiniteIntegralSolver.cs
@Rafael-SOWNet Rafael-SOWNet added this to the 2.6.0 milestone Oct 3, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit 51cb049 into master Oct 3, 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