Repository navigation
A shared symbol among a denominator sum's coefficients comes out in front of it - #1403
Merged
Merged
Conversation
…ront of it tan(x)/(a + a csc(x)) came back unevaluated while tan(x)/(1 + csc(x)) was answered: under u = sin(x) the denominator is (a u + a)(1 - u^2), a symbolic linear beside a rational quadratic that shares its root, which the symbolic split declines, and under the half-angle it is a sextic with a in every coefficient, which nothing factors. A written sum below the bar whose coefficients share a symbol is now that symbol times a polynomial over the rationals -- the content, by the multivariate gcd of the coefficients, and the primitive part -- before the denominator is refactored, so the repeated factor is found and the rational machinery answers. Once, since a primitive factor has no content to take out. Rubi's family 4 sample: ten more rows, the powers of (a + a sin) and (a + a sec) among them; the 1774-problem suite is unchanged at 1706 with 0 wrong. Part of #718. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
…m as well a u^4 + b u^3 is u^3 (a u + b), what u = sin(x) makes of cot(x)^3/(a + b csc(x)), and neither the refactoring over the rationals nor the symbolic split reads a symbolic polynomial for the monomial it is a multiple of. Family 4: three more rows. Part of #718. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
# Conflicts: # Sources/.editorconfig
Member
Author
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.
tan(x)/(a + a csc(x))came back unevaluated whiletan(x)/(1 + csc(x))was answered in a quarter of a second. Traced: underu = sin(x)the denominator is(a u + a)(1 - u^2), a symbolic linear beside a rational quadratic that shares its root, which the symbolic split declines (rightly — the root is not that block's alone); under the half-angle it is-a t^6 - 2a t^5 - a t^4 + a t^2 + 2a t + a, a sextic with a symbol in every coefficient, which nothing factors — where it isatimes-(t - 1)(t + 1)^3 (t^2 + 1).Change. In
SolveByPartialFractions, before the denominator is refactored over the rationals: every written sum among its factors whose coefficients share a symbol is written as its content times its primitive part — the content byPolynomialGcd.ContentInover the coefficients as polynomials in the symbols — so(a u + a)isa (u + 1), and the refactoring that follows finds the repeated(u + 1). The lowest power of the variable every term holds comes out the same way:a u^4 + b u^3isu^3 (a u + b), which is whatu = sin(x)makes ofcot(x)^3/(a + b csc(x)), and neither the refactoring over the rationals nor the symbolic split reads a symbolic polynomial for the monomial it is a multiple of. Whole powers of the sum only:(c e + d e x)^(1/3)ise^(1/3) (c + d x)^(1/3)for a positiveeand not for a negative one, and a symbol is neither — a first version read the fractional power too and answered #1386'ssin(a + b (c + d x)^(1/3))/(c e + d e x)^(1/3)withe^(1/3)pulled out, right wheree > 0only, and that row is back to unevaluated. Once, since a primitive factor has no content to take out; the numerator is not read, since a factor there is not what stops anything.Measured. Rubi's family 4 sample (422, six per file): 243 → 255, 0 wrong —
tan(x)/(a + a csc(x)),tan(x)^4/…,sec(x)^2/…,sin(x)^4/(a + a cos(x)),cos(c + d x)^4/(a + a sin(c + d x))^2,(c + d x)/(a + a sin(e + f x))^2,cot^2/(a + a sec)^2and two more powers of(a + a sin)from the symbol content, thencot(x)^3/(a + b csc(x)),1/(a + b csc(c + d x)^2)andcot^4 sqrt(a + b tan^2)from the monomial (second commit); no row goes the other way (onesqrt(a + a sin)/(sin (c + d sin))reads Unsolved at 9.4 s on one run and Timeout on the other, both past the budget). The 1,774-problem independent suite: 1706/1774, 0 wrong, 0 timeouts, verdicts identical to master. All four test suites green;DenominatorContentTest(6 rows, each ata = 2anda = -3) with its.editorconfigsection; BREAKING-CHANGES entry.Part of #718.
🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura