Skip to content

Read a linear exponent written as a negation in the gamma rule - #2084

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
a-linear-exponent-written-as-a-negation
Oct 23, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
a-linear-exponent-written-as-a-negation

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

The rule from #2083 read its exponent term by term, so e^(-a - b x) was answered and e^(-(a + b x)) was declined, though they are one function. The second is how gamma(2, a + b x) is elementary, e^(-(a + b x)) (1 + a + b x), and how a hyperbolic function of a + b x arrives as exponentials. A linear exponent written otherwise is now read as its offset and rate. Part of #2075.

Measured on Rubi's suite, read with the harness that maps GAMMA, against master 3dc5ac6b, the whole corpus each side:

master this
solved 48,634 of 49,052 48,700
wrong 0 0
solved rows lost 0

The gains are 23 in 6.2.1, 20 in 6.1.1, 9 in 6.7.1, 7 in 2.1, 7 in 8.6 and 1 in 2.3. In 8.6 they are x^(p/3) gamma(2, a + b x) and (c + d x)^m gamma(1, a + b x).

Four rows move to the harness's timeout, and none is the library's.

  • Three in 6.1.1, (c + d x)^m (a + i a sinh(e + f x))^k, declined in 0.2–0.7 s before. The library answers them in 0.4 s. Its derivative matches the integrand exactly at x = 0.35, 0.9, 1.45 and at the far points 18.1 and -12.7, at the default 100 digits. The harness rechecks far points at 300 and then 2,000 digits where there is an exponential of the variable, and the gamma function at 300 digits costs 22 to 26 s for the derivative at one point. That cost is the library's factorial at high precision, the same class as the 19 rows of 5.1.5 that recheck once timed out.
  • 8.6:249, (e x)^m GAMMA(p, d (a + b log(c x^n))), was solved in the base run in 21 s, past the 5 s budget. It times out alone on both builds.

The suite passes (16,926) and so do the MCP tests (329). The new tests differentiate the three shapes above back.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

The rule for a power beside an exponential of a power read its exponent term by
term, so e^(-a - b x) was answered and e^(-(a + b x)) was declined, though they are
one function. The second is how gamma(2, a + b x) is elementary, e^(-(a + b x))
(1 + a + b x), and how a hyperbolic function of a + b x arrives as exponentials. A
linear exponent written otherwise is now read as its offset and rate.

Rubi's suite on the harness that reads GAMMA, against master 3dc5ac6:
48,634 -> 48,700 of 49,052, 0 wrong, no solved row lost. The gains are 23 in 6.2.1,
20 in 6.1.1, 9 in 6.7.1, 7 in 2.1, 7 in 8.6 (x^(p/3) gamma(2, a + b x) and
(c + d x)^m gamma(1, a + b x)) and 1 in 2.3. Three rows of 6.1.1, (c + d x)^m
(a + i a sinh(e + f x))^k, move from a quick decline to the harness's timeout: the
library answers them in 0.4 s, correctly at x = 0.35, 0.9, 1.45, 18.1 and -12.7,
and the harness's recheck at far points at 300 and 2,000 digits evaluates the
gamma function there: 22 to 26 s for the derivative at one point at 300.
8.6:249, solved in 21 s
in the base run, times out alone on both builds.

Part of #2075.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
@Rafael-SOWNet
Rafael-SOWNet merged commit 23c8eca into master Oct 23, 2026
34 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in AngouriMath Oct 23, 2026
Rafael-SOWNet added a commit that referenced this pull request Oct 23, 2026
…ny constant (#2086)

A hyperbolic function of a power of x arrives as (e^u - e^(-u))/2, and the gamma
rule read -(c + d x^3) as one term, which is not a power of x: sinh(c + d x^3)
was declined. The exponent is now read expanded where it does not read as
written.

And where the answer's constant factor x^(m + 1) z^(-s) is the same on both
half-lines it is written as that constant, so that the answer has a value at 0;
it had to be a number, and x^(1/3) e^(-1 - 3 x^2), with 3^(-2/3) on both sides,
left its integral from 0 to 1 as written. It is now 0.11693893956963...,
which quadrature agrees with.

Rubi's suite on the harness that reads GAMMA, against master 6a7b656:
48,850 -> 48,875 of 49,052, 0 wrong, no solved row lost. The gains are 19 in
6.1.3, 5 in 6.2.3, and 8.6:249, solved in 21 s as in earlier runs. Two rows of
6.1.3, (e x)^m sinh(a + b/x^2)^k, move from a decline to the harness's timeout:
the library answers them in 0.4 and 0.1 s, and they differentiate back; the time
is the harness's verification, as for #2084's three. Two rows' allocation grew in
the run and is identical alone on both builds.

Part of #2075.


Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant