Skip to content

A polynomial with symbols in it that is a binomial or an even quartic in a shifted variable is integrated in it - #1713

Merged
Rafael-SOWNet merged 3 commits into
masterfrom
a-polynomial-that-is-a-binomial-after-a-shift
Oct 3, 2026
Merged

Rafael-SOWNet merged 3 commits into
masterfrom
a-polynomial-that-is-a-binomial-after-a-shift

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718.

A polynomial below the bar with a symbol among its coefficients was declined whenever it is not already written in the form a rule reads, although some are one shift of the variable away from it: c^2 x^3 + 3 b c x^2 + 3 b^2 x + 3 a b is ((c x + b)^3 + 3 a b c - b^3)/c, and 1/(a + (b + c x)^3) is answered at once.

integrand master 599dcb7f this
1/(3 a b + 3 b^2 x + 3 b c x^2 + c^2 x^3) declined 0.5 s
1/(3 a b + 3 b^2 x + 3 b c x^2 + c^2 x^3)^2 declined after 1.6 s 0.6 s
x/(a + 8 x - 8 x^2 + 4 x^3 - x^4) declined 0.4 s
1/(a + 8 x - 8 x^2 + 4 x^3 - x^4) declined 0.4 s

What changes. One step in the partial fractions, before the Hermite reduction. Where the denominator is a constant times a power of one polynomial of the third to the sixth degree with a symbol in it, written out, the polynomial is read in y = x + s with s = a_(n-1)/(n a_n), which takes its term of degree n - 1 away. Where that leaves a binomial in y, or a quartic even in y -- a + 8 x - 8 x^2 + 4 x^3 - x^4 is a + 3 - 2 y^2 - y^4 in y = x - 1 -- the integral is taken in y and written back. A polynomial over the rationals is not touched, since the steps above split it over its factors, and neither is one written in a linear already, a + (b + c x)^3.

Tests: ShiftedPolynomialIntegralTest, four rows, each differentiated back with the symbols pinned.

Measured first on Rubi's 1.3.1 Rational functions, all 490 problems with answers in functions the library has, at the corpus's 5-second budget, against master 9c2509d8, the branch's base:

master this
solved 437 451
wrong 0 0

14 more are answered and none that master answers is lost.

Measured then on the Rubi corpus against master 9c2509d8:

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

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 none on master, all in 1.3.1.

The suite passes on the commit measured, b46c2bd5, 14,563 tests, and so does the allocation gate. Master 599dcb7f is merged in since, without conflicts, and the calculus tests pass on that merge, 3,939 of them; 2340e8a4, #1711, after it, with the tests the two touch passing.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 3 commits October 3, 2026 11:56
… in a shifted variable is integrated in it

1/(c^2 x^3 + 3 b c x^2 + 3 b^2 x + 3 a b) was declined, although its
denominator is ((c x + b)^3 + 3 a b c - b^3)/c and 1/(a + (b + c x)^3)
is answered at once: nothing factors a polynomial with a symbol among
its coefficients. In partial fractions, before the Hermite reduction, a
power of one polynomial of the third to the sixth degree with a symbol
in it, written out, is read in y = x + s with s = a_(n-1)/(n a_n),
which takes its term of degree n - 1 away; where that leaves a binomial,
or a quartic even in y -- a + 8 x - 8 x^2 + 4 x^3 - x^4 is
a + 3 - 2 y^2 - y^4 in y = x - 1 -- the integral is taken in y.

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 97c4b69 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