Skip to content

A trigonometric function of the reciprocal of a linear beside a power of it is integrated under the reciprocal - #1737

Merged
Rafael-SOWNet merged 2 commits into
masterfrom
a-function-of-the-reciprocal-of-a-linear
Oct 4, 2026
Merged

Rafael-SOWNet merged 2 commits into
masterfrom
a-function-of-the-reciprocal-of-a-linear

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718.

sin(a + b/x)/x^3 was declined, while under u = 1/x it is -u sin(a + b u), one step by parts; sin(a + b/x)/x^2, the derivative of its argument beside it, was answered. 2.5.0 declined them too:

integrand 2.5.0 master 0a13a636 this
sin(a + b/x)/x^3 declined declined cos and sin of a + b/x beside powers of 1/x, in 0.4 s
sin(a + b/x)^2/x^3 declined declined the same, in 0.03 s
cos(a + b/x)^3/x^4 declined declined the same, in 0.06 s
sin(a + b/(c + d x))/(c + d x)^3 declined declined after 2 s the same in 1/(c + d x), in 1.8 s

What changes. A trigonometric function of something of L with 1/L^k in it, L a linear, beside L^m with m <= -3, is integrated under u = 1/L: dx = -du/(d u^2), so it is -(1/d) u^(-m - 2) times the function of a + b u^k, a polynomial times the function, and it is written back with u = 1/L. Every factor with the variable in it has to be read so, or the rule declines. The other powers of L were answered as written -- the derivative of the argument at m = -2, the sine and cosine integrals above it -- and are left to the rules that answer them.

Tests: FunctionOfTheReciprocalIntegralTest.UnderTheReciprocal, six rows, each differentiated back with the symbols pinned, on both sides of zero; all six are declined on master.

Measured first on the 293 problems with a function of the reciprocal of x or of a linear in them, 191 run, at the corpus's 5-second budget, against master 8f3757cd, the branch's base:

master this
solved 142 155
wrong 0 0
past the budget 4 4

Measured then on the Rubi corpus against master 8f3757cd:

master this
family 0, independent suites (1814) 1766 1766
family 1, 40 a file (1381) 1296 1297
families 2 to 8, sampled (2410) 2215 2218

No answer is wrong in the pocket or the sample on either build. Of the 18 problems the two builds disagreed on, run again one build at a time, master answers none and this 16: thirteen declined on master in a second and answered here in a fifth of one -- sin(a + b/x)/x^3 to x^5 and their squares, cos(a + b/x)/x^3 and x^4, cos(1/x)/x^5, and four of sin(a + b/(c + d x)^(1/3))/(c e + d e x)^(5/3) and its kind -- and three at about twenty seconds, past the budget on master and inside the patience here. The two left take longer than that on either build.

The suite passes on the commit measured, 3d5bf6ee, 14,597 tests with 13 skipped, and the allocation gate with it. On the merge with master 0a13a636, f93622d5, 4,066 of the 4,068 calculus and corpus tests pass; the other two time themselves, ran past their bound on a loaded machine, and pass run again. Every row of the first table is as it says on the merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 2 commits October 4, 2026 03:08
…s integrated under u = 1/L

sin(a + b/x)/x^3 is -u sin(a + b u) under u = 1/x, one step by parts, and was
declined. A trigonometric function of a + b/L^k beside L^m with m <= -3 is a
polynomial in u = 1/L times the function; it is integrated so and written back.
Rubi's 4.1.12 and 4.2.12. 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
@Rafael-SOWNet Rafael-SOWNet added this to the 2.6.0 milestone Oct 4, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit 346b218 into master Oct 4, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant