Skip to content

Leave a sum beside its own derivative to the plain substitution - #1943

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
keep-the-substitution-for-a-sum-beside-its-derivative
Oct 19, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
keep-the-substitution-for-a-sum-beside-its-derivative

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

2.6.0 lost ∫ (x - 3 sqrt(x))^(2/3) (2 sqrt(x) - 3)/sqrt(x) dx (Rubi 1.3.2, row 1130). 2.5.0 answered it in about 200 ms; 2.6.0 does not answer it within 20 s. Bisected to #1705. Its rule, which takes a power of x out of a fractional power of a sum, runs before SolveBySubstitution. On this integrand the rule sends the search somewhere it cannot finish, whereas u = the sum answers it outright.

The rule now skips a sum when the rest of the integrand is a constant times that sum's derivative. It checks this as a constant ratio at three sample points, with the symbols pinned. #1705's own examples are unaffected, because their rest is not such a multiple.

Measured

These runs compare against master da06bac. Each one is in a separate process.

master this branch
Rubi 1.3.2, all 714 rows 685 solved, 4 timeout 686 solved, 3 timeout, 0 wrong
families 0 and 1, and samples of families 2–8 (5,605 rows) — identical verdicts

The one row that moved, 1.3.2:1130, was re-run alone. It timed out on master and is solved in 374 ms on this branch.

The performance gate passed. The unit suite passed: 15,580 tests, 0 failed.

The new test, ASumBesideItsDerivativeKeepsItsPowerOfXIntegralTest, covers the regression and one of #1705's shapes, at six points.

No BREAKING-CHANGES entry is needed: this restores an answer 2.5.0 gave.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Taking a power of x out of a fractional power of a sum (#1705) runs before
`SolveBySubstitution`, and on `(x - 3 sqrt(x))^(2/3) (2 sqrt(x) - 3)/sqrt(x)`
it took the integral somewhere it could not finish, where u = the sum
answers it outright: 2.5.0 did in a fifth of a second, 2.6.0 not in twenty.
The rule now passes over a sum when the rest of the integrand is a constant
times that sum's derivative, checked at three sample points.

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 19, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit 3d5d146 into master Oct 19, 2026
36 of 37 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in AngouriMath Oct 19, 2026
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