Repository navigation
A symbolic quartic in x^2 with a square discriminant, split before the partial fractions - #1831
Merged
Merged
Conversation
…e partial fractions Part of #718. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
This was referenced Oct 9, 2026
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 #718.
cot(c + d x)^3 sqrt(a + b sec(c + d x))ran past the corpus's budget, with two more of Rubi's. The time went to the partial fractions over a symbolic quartic inx^2that is two quadratics in it. The root of the linear makesx^2/((x^2 - a)(x^4 - 2a x^2 + a^2 - b^2)^2)of the first. Nothing below reads a symbolic quartic, and that one ran past a minute. Written over(x^2 - a - b)(x^2 - a + b)it is answered in a fifth of a second.SolveByPartialFractionsnow writes each factorA x^4 + B x^2 + Cwith symbols in it, whose discriminantB^2 - 4ACis the square of a polynomialSin them, as(2A x^2 + B - S)(2A x^2 + B + S)/(4A)before the splits below.MultivariatePolynomial.TrySquareRootfindsS, exactly over the rationals, or says there is none.e7ef0b75cot(x)^3 sqrt(a + b sec(x))cot(x)/(a + b sec(x))^(3/2)sec(x)^2/(a sin(x) + b tan(x))^2xstands fore + f x, which is what was probed. The answers are long: each carries a case for each sign of the roots of the two quadratics, and Rubi's are a few hundred characters. They are right, and nothing else answers these.Tests:
SymbolicBiquadraticSplitIntegralTest,x^2/((x^2 - a)(x^4 - 2a x^2 + a^2 - b^2)^2)andsqrt(a + b x)/(x (x^2 - 1)^2), each differentiated back and compared at six points.Measured on 14,109 corpus problems, every one whose integrand is a rational function and every one with a secant or a cosecant in it, at the corpus's 5-second budget, against master
e7ef0b75:Three problems are answered here and not on master, two of 4.5.1.4 and one of 4.7.2, and none the other way. On the 13,889 both answer the time is 2,574 seconds on master and 2,532 here.
The harness counts no answer wrong in either. The five problems the builds disagreed on, run again one build at a time:
x^4/((a + b x^2)^2 (c + d x^2)^3), the family-1 difference: both answer it, in 20 s on master and 18 s here, near the budget whichever runs it;csc(a + b log(c x^n))pair: both decline it, in about 24 s.The suite passes: 15,182 passed, 13 skipped, none failed. The allocation gate passes: every gated benchmark allocates what the baseline says. Merged with master: the library builds for every target.
🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura