Skip to content

Integrate a power of x times an artanh whose derivative is a root, by parts - #1952

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
by-parts-against-an-artanh-whose-derivative-is-a-root
Oct 19, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
by-parts-against-an-artanh-whose-derivative-is-a-root

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #233.

x^m atanh(sqrt(e) x/sqrt(d + e x^2)) was declined or ran out of time for every power from x^6 to 1/x^9. The parser writes atanh(u) as ln((1 + u)/(1 - u))/2. For u = A x/sqrt(d + B x^2) with A^2 = B, that logarithm's derivative is 2 A/sqrt(d + B x^2), because 1 - u^2 = d/(d + B x^2) and u' = A d/(d + B x^2)^(3/2). By parts, what is left is x^(m + 1)/sqrt(d + B x^2). The new rule, SolveByPartsAgainstAnArtanhWhoseDerivativeIsARoot, takes it that way. Differentiated as written, the logarithm was a quotient of two sums with a root in each, and the search ran past its budget. The identity is algebraic, with no branch in it.

Measured against master 8a1ef454:

master this branch
Rubi 7.3, all 1,791 rows 1,752 1,765
moves, each re-run alone 13 (7.3.7:10-12, 15-24) unevaluated or timed out → solved, 0 wrong. A 14th, 3.5:37, is a timing artefact the rule does not touch
families 0 (whole) and 1 (40 a file), samples of 2–8 identical
performance gate passed
suite 15,602 passed, 0 failed

Rebased onto #1950 and #1951 without conflict. All 13 rows were declined by 2.5.0 too, and BREAKING-CHANGES.md has the entry.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

… parts

atanh(A x/sqrt(d + B x^2)) with A^2 = B is written ln((1 + u)/(1 - u))/2,
whose derivative is A/sqrt(d + B x^2): 1 - u^2 = d/(d + B x^2) and
u' = A d/(d + B x^2)^(3/2). So by parts what is left is
x^(m + 1)/sqrt(d + B x^2), which the radical rules answer. Differentiated as
written, the logarithm was a quotient of two sums with a root in each, and
the search on what was left ran past the budget.

Rubi's 7.3.7: 13 rows go from unevaluated or timed out to solved (7.3
1752 -> 1765 of 1791), 0 wrong. Families 0 and 1 and samples of 2-8
otherwise identical; gate and suite pass.

Part of #233.

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 fa3eff9 into master Oct 19, 2026
34 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