Repository navigation
The substitution search drops a trigonometric candidate its quotient cannot be a function of - #1493
Merged
Merged
Conversation
…cannot be a function of A candidate u that takes one value at two points, where the integrand over du/dx takes two, is no substitution whatever the simplifier makes of it. A sine of a linear repeats at pi - theta, a cosine at -theta and a tangent a period on, so two evaluations with the symbols pinned settle it before the quotient is written in u and simplified, which is milliseconds per candidate. Rubi's 4.7.2, 4.3.10 and 4.4.10: the problems the integrator answers take 22% less time (154.2 -> 120.5 s and 153.4 -> 119.5 s, two interleaved pairs), with every verdict and every answer unchanged. Co-Authored-By: Claude Opus 5.5 <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.
The first measurable result for #1486's question of whether a stated precondition can make the search cheaper.
Over the problems the integrator answers, most of its time goes to
SolveBySubstitutiondeclining candidates. Each candidate costs a few milliseconds: the integrand overdu/dxis written inuand simplified, and the candidate is refused ifxsurvives. A candidate that takes one value at two points, where that quotient takes two, can't be a substitution whatever the simplifier makes of it, because a function ofuagrees whereverudoes.For a sine, cosine, tangent, cotangent, secant or cosecant of a linear, the second point is known. A sine repeats at
pi - theta, a cosine at-theta, and a tangent a period on. So two evaluations with the symbols pinned now settle it before the simplification runs. The complement pass is the same function spelled differently, so it's skipped with it. Other candidates aren't screened: forx^2the mirror point-xcan sit off a branch the rule answers on today.Measured
The new theory integrates six substitutions under a trigonometric function of a linear, which the screen has to keep, and checks each by differentiating back.
Part of #1486.
🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura