The powers of a symbolic quadratic share their arms - #1797
Merged
Rafael-SOWNet merged 2 commits intoOct 5, 2026
Merged
Conversation
The reduction for 1/(a x^2 + b x + c)^n put its arms on 4 a c - b^2 as written, and the rule for the first power on it expanded. A split hands a quadratic's powers to the integrator side by side, and the piecewise that adds their answers read 4 (-c - d) = 0 and (-4) c + (-4) d = 0 as two conditions, so the arms multiplied: 2 d^3 x^2/((x^2 - c - d)^3 (x^2 - c + d)) came back with 27 arms and 18,355 characters. The reduction writes the discriminant expanded as well now, and that answer has 9 arms and 6,265 characters. Part of #1788. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
…minant-is-spelled-one-way
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #1788.
The reduction that takes a power off
1/(a x^2 + b x + c)^nput its arms on4 a c - b^2as written, and the rule for the first power puts them on it expanded. A split hands a quadratic's powers to the integrator side by side, and the piecewise that adds their answers read4 (-c - d) = 0and(-4) c + (-4) d = 0as two conditions, so the arms multiplied:a5ce1c551/(x^2 - c - d)^3 + 1/(x^2 - c - d)2 d^3 x^2/((x^2 - c - d)^3 (x^2 - c + d))x^2/(a x^2 + b x + c)^2Each is differentiated back at six points with the symbols pinned.
What changes.
IntegrateOverPowerOfQuadraticcomputed the expanded discriminant only to test it for zero, and wrote its arms, its roots and its reduction on the discriminant as written. It writes all of them on the expanded one now, the spellingIntegrateRationalQuadraticalready uses for the first power, which the reduction bottoms out on. A lone power's answer is a little longer, 534 characters to 616 for1/(t^2 - c - d)^3, since the expansion is written where the product was.This is the second of three defects in the size of #1788's answers.
Tests:
RepeatedQuadraticIntegralTest.ThePowersOfAQuadraticShareTheirArms, the three rows above, each with its arms counted and differentiated back at three points under two sets of values, one on each side of the discriminant's sign.Measured first on 1,774 problems from family 1 with a symbolic quadratic or quartic to a whole power of two or more below the bar, at the corpus's 5-second budget, against master
b1af529d(the cache's base; the change is cherry-picked there as8f8e5827):The one counted wrong on both is #1793, fixed since in #1794.
Measured then on the Rubi corpus against master
b1af529d:The harness counts no answer wrong in either.
The seven problems the two builds disagreed on, pocket and sample together, run again one build at a time at the same budget, are answered by both, each in 10 to 23 seconds with the check and the two builds within 6% of each other on every one; which of them ran past the budget in the corpus runs was the load's doing. Nothing is answered or declined differently.
The suite on the commit measured,
8f8e5827(the change cherry-picked ontob1af529d), passes, 14,988 tests, and so does the allocation gate: every gated benchmark allocates what the baseline says. The head here,1e4c97c9, merges mastera5ce1c55; the calculus and corpus tests pass on it, 4,350 tests, and the library builds fornetstandard2.0.🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura