Skip to content

A power of an exponential over a polynomial is integrated to the exponential integral - #1733

Merged
Rafael-SOWNet merged 3 commits into
masterfrom
a-power-of-an-exponential-over-a-linear
Oct 4, 2026
Merged

Rafael-SOWNet merged 3 commits into
masterfrom
a-power-of-an-exponential-over-a-linear

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718.

(F^(g (e + f x)))^n with a symbol for F or n was read by no rule below a polynomial: (F^x)^n/x, and Rubi's 2.2, (a + b (F^(g (e + f x)))^n)^p/(c + d x)^m, were declined, while F^(g (e + f x))/(c + d x) is answered with Ei. 2.5.0 declined them too:

integrand 2.5.0 master ac6e33fa this
(F^x)^2/x declined declined Ei(2 ln(F) x), in 0.3 s
(F^x)^n/x declined declined (F^x)^n e^(-n ln(F) x) Ei(n ln(F) x), in 0.1 s
(a + b (F^(g (e + f x)))^n)/(c + d x) declined declined a logarithm and an exponential integral, in 0.2 s
(a + b (F^(g (e + f x)))^n)^3/(c + d x)^3 declined declined powers of c + d x and exponential integrals, in 0.3 s

What changes. The power has the constant logarithmic derivative n g f ln F, so it is a constant times e^(n g f ln(F) x) wherever it is differentiable. With a symbol for that constant, beside a polynomial below the bar, the integrand is one the exponential integral's rules read, and the answer is written back with the constant as (F^(g (e + f x)))^n e^(-n g f ln(F) x), whose derivative is zero. That holds for every F: for a negative one, (F^x)^n differs from F^(n x) by a factor that changes wherever F^x crosses the negative axis, and the constant carries it, where writing the power as F^(n g (e + f x)) would be right only for a positive F. A whole power is that exactly, whatever the base, and is written so.

Tests: PowerOfAnExponentialIntegralTest, six rows over a linear differentiated back with the symbols pinned and F = 3, and two with F = -3 compared as complex numbers on both sides of the axis crossings; all eight fail on master.

Measured first on the 999 problems of family 2 and the others with a power of an exponential in them, 675 run, at the corpus's 5-second budget, against master 8f3757cd, the branch's base:

master this
solved 596 606
wrong 0 0
past the budget 5 5

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 1297
families 2 to 8, sampled (2410) 2215 2228

No answer is wrong in the sample on either build. Of the 15 problems the two builds disagreed on, run again one build at a time, 10 are declined on master and answered here: the nine of 2.2's (a + b (F^(g (e + f x)))^n)^p/(c + d x)^m in the sample, and 2.3's (F^(sqrt(1 - a x)/sqrt(1 + a x)))^n/(1 - a^2 x^2), which master declined after 7 s and is answered in a tenth of one. The other five are answered on both, after about twenty seconds on either build, past the corpus's budget.

The suite passes on the commit measured, 6cb29bb6, 14,599 tests with 13 skipped, and the allocation gate with it. On the merge with master ac6e33fa, 3e3e9567, the 4,060 calculus and corpus tests pass, and every row of the first table is as it says.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 3 commits October 4, 2026 02:31
…nential integral

(F^(g (e + f x)))^n has the constant logarithmic derivative n g f ln F, so it is
a constant times e^(n g f ln(F) x) wherever it is differentiable; with a symbol
for the constant, over a polynomial the integrand is the exponential integral's,
and the constant is written back as the power times e^(-n g f ln(F) x). That
holds for every F, where F^(n u) holds only for a positive one. Rubi's 2.2.
Part of #718.

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
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 4, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit 0a13a63 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