Skip to content

Integrate a power of a linear beside a quadratic's derivative over its power by parts - #1890

Merged
Rafael-SOWNet merged 4 commits into
masterfrom
the-derivative-of-a-quadratic-over-its-power-beside-a-linear-is-integrated-by-parts
Oct 15, 2026
Merged

Rafael-SOWNet merged 4 commits into
masterfrom
the-derivative-of-a-quadratic-over-its-power-beside-a-linear-is-integrated-by-parts

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718

Rubi's 1.2.1.3 (b + 2 c x)(d + e x)^m/(a + b x + c x^2)^n ran past the 5 s budget for every one of its 11 rows: the partial fractions took the symbolic quadratic apart twice over. The numerator is Q', so one step of parts lowers the power of the quadratic. With u = (d + e x)^m and dv = Q'/Q^n dx:

-(d + e x)^m/((n - 1) Q^(n - 1)) + m e/(n - 1) * integral (d + e x)^(m - 1)/Q^(n - 1)

Over Q^1, what is left is answered in a third of a second.

SolveAPowerOfALinearBesideTheDerivativeOfAQuadraticOverItsPower does that step. It reads the numerator up to a constant multiple of Q', checks the derivative of what it returns, and runs right after SolveByWritingEachLinearOnce, beside #1889's split. A negative whole power of the linear is left to the partial fractions: parts raises that power, and (b + 2 c x)/((d + e x) Q^3) went from 6,220 characters to 14,351.

Measured

intbench, this branch against master 954a9cd, 5 s budget. The pocket was 1.2.1.2–1.2.1.4, 1.2.1.9, 1.3.1 and 1.3.2 in full (6,664 rows), plus the usual family sample:

master this branch
pocket 6,550 solved, 42 timeouts 6,561 solved, 31 timeouts
time on the rows both solve 1,366 s 1,282 s
families 0–8 sample identical
wrong / error 0 / 0 0 / 0

All 11 moves held when re-run alone (master solves none of them); none went the other way. They are 1.2.1.3:1723 and 1821–1830. The Q^2 rows take about 50 ms. The Q^3 rows take 14 s, because what is left, sqrt(d + e x)/Q^2, is still slow on master.

One row is slower: 1.3.2:871, 1/(x^3 sqrt(a + b sqrt(c + d x))), went from 1.4 s to 4.3 s. The rule meets this shape under a substitution, and the answer is shorter, 3,025 characters against 4,465.

Exact checks (exact pins, 50 and 2,000 digits, four points, three pin sets): 72 of 72 diff 0. The gate and the suite pass (15,395) on the branch before merging master. After the merge, the dispatch puts this rule just before #1889's split, and every target of both gives the same answer as when each was measured alone.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 4 commits October 15, 2026 01:36
…s power by parts

Q' L^m/Q^n is -L^m/((n - 1) Q^(n - 1)) plus m e/(n - 1) times the integral
of L^(m - 1)/Q^(n - 1): one power of the quadratic fewer. Asked right after
each linear is written once, before the partial fractions take a symbolic
quadratic apart twice over.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Parts raises it: (b + 2 c x)/((d + e x) Q^3) went from 6,220 characters
to 14,351.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
…-quadratic-over-its-power-beside-a-linear-is-integrated-by-parts

# Conflicts:
#	Sources/AngouriMath/Functions/Continuous/Integration/Integration.Definition.cs
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 15, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit 37b4798 into master Oct 15, 2026
34 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in AngouriMath Oct 15, 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