A whole power of a product below the bar is read distributed after a radical substitution - #1438
Merged
Merged
Conversation
…radical substitution The quotient-of-linears substitution u = sqrt((a x + 1)/(a x - 1)) leaves (a (1 - u^2))^5 below the bar, which no rational reader reads: the same rational function was declined after five seconds in that spelling and answered in 27 ms as .../(a^5 (1 - u^2)^5). The integrand was then split into its terms and each decomposed on its own, through the scaling route, which is where the nine seconds of Rubi's x^3 sqrt((a x + 1)/(a x - 1)) went (dotnet-stack samples: SolveByLinearRadicalSubstitution, SolveBySplittingSum, SolveByScalingTheVariable). The exponential substitution already distributes such powers for the same reason; the loop is a helper now and the linear-radical substitution calls it too, where the integrand in u is rational -- with a root of u still in it the distributed spelling sent Timofeev's 314 down a path that answered with a sign function. x^3 sqrt((a x + 1)/(a x - 1)): 8.7 s to 0.5 s; e^acoth(a x) x^3: 17.7 s to 0.1 s; two more 7.4.2 rows answered within the probe's budget. #718 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
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.
Where the nine seconds of Rubi's
x^3 sqrt((a x + 1)/(a x - 1))went, bydotnet-stacksamples: the quotient-of-linears substitutionu = sqrt((a x + 1)/(a x - 1))leaves(12 a (u^4 + u^6) + 4 a (u^8 + u^2)) / (a (1 - u^2))^5inu, and(a (1 - u^2))^5below the bar is something no rational reader reads — the same rational function is declined after 5 s in that spelling and answered in 27 ms as.../(a^5 (1 - u^2)^5). So the integrand was split into its terms (SolveBySplittingSum) and each decomposed on its own through the scaling route, four times over the same denominator.The exponential substitution already distributes whole powers of products for the same reason (Timofeev's
1/(a^2 + b^2 cosh(x)^2)); that loop is a helper now,WithWholePowersOfProductsDistributed, and the linear-radical substitution calls it — only where the integrand inuis rational: with a root ofustill in it (a second base, Timofeev's 314) the distributed spelling sent the radical rules down a path that answered with a sign function where the undistributed one is answered exactly, which the suite caught.x^3 sqrt((a x + 1)/(a x - 1))e^acoth(a x) x^3(7.4.2)1/(e^(3 acoth(a x)) x^4)(7.4.2)Family 7 on the corpus: 162/270, 0 wrong, 46 timeouts (159 and 49 before). 1774 suite unchanged: 1706, 0 wrong, 0 timeout. Four rows added to
ExponentialOfALogarithmIntegralTest, pinned as solved, not as timed. Full suite 12171 passed, 0 failed.Part of #718.
🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura