Skip to content

A function of a quotient of two linears is integrated over the quotient's denominator - #1771

Merged
Rafael-SOWNet merged 3 commits into
masterfrom
a-function-of-a-quotient-of-linears-is-written-over-the-denominator
Oct 5, 2026
Merged

Rafael-SOWNet merged 3 commits into
masterfrom
a-function-of-a-quotient-of-linears-is-written-over-the-denominator

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718.

sin((a + b x)/(c + d x)) was declined, with the rest of Rubi's 4.7.7, 6.1.5 and 6.2.5 sines, cosines, hyperbolic sines and cosines and their powers of a quotient of two linears. 2.5.0 declined them too:

integrand 2.5.0 master 85d6601c this
sin((a + b x)/(c + d x)) declined after 1.3 s declined after 0.7 s (c + d x) sin((a + b x)/(c + d x))/d, written apart, and the sine and cosine integrals of (a d - b c)/(d (c + d x)), in 0.5 s
cos((a + b x)/(c + d x))^2 declined after 1.1 s declined after 2.4 s in 0.1 s
sinh((a + b x)/(c + d x)) declined after 5.5 s declined after 1.2 s in 0.3 s
e^((a + b x)/(c + d x)) declined declined in 0.1 s

Each answer is differentiated back and compared with the integrand at six points; the times include that. The answers run from 321 to 880 characters.

What changes. A quotient of two linears is a constant plus a multiple of the reciprocal of one: (a + b x)/(c + d x) is b/d + (a d - b c)/(d (c + d x)), by polynomial division, for d and a d - b c not zero, the generic case as everywhere in the integrator. Written so, sin(p + k/(c + d x)) is answered in the sine and cosine integrals and e^(p + k/(c + d x)) in the exponential integral, by the rules that read a reciprocal of a linear. A new rule writes every such argument of the sine, cosine, tangent, cotangent, secant and cosecant, and every such exponent of the exponential, that way and asks the same question. The constant and the multiple are named while the question is asked, since the rules read a symbol where they would meet a quotient of symbols, and substituted back; and a constant in front of the quotient stays in front, so that e^Q and e^(-Q), which is how the hyperbolic functions arrive, keep one argument between them and their product is 1.

Tests: QuotientOfLinearsAsAnArgumentIntegralTest, ten rows differentiated back with a = 0.3, b = 0.9, c = 1.1, d = 0.7, on both sides of the pole at c + d x = 0; master declines all ten.

Measured first on all of Rubi's 4.7.7, 6.1.5 and 6.2.5, 1,406 problems, at the corpus's 5-second budget, against master 287c69a7, the branch's base:

master this
solved 1225 1238
wrong 0 0
past the budget 38 38

Measured then on the Rubi corpus against master 287c69a7:

master this
family 0, independent suites (1814) 1772 1772
family 1, 40 a file (1381) 1308 1306
families 2 to 8, sampled (2410) 2301 2295

The harness counts no answer wrong in the pocket or the sample on either build. The family figures were measured with three other corpus runs on the machine. Of the 21 problems the two builds disagreed on, pocket and sample together, run again one build at a time, master answers 7 and this 21: thirteen are 4.7.7's, 6.1.5's and 6.2.5's sines, cosines and hyperbolic sines and cosines of a quotient of linears, each in an eighth of a second or less, where master declines them, and eight are rows at the edge of the harness's patience, answered at 13 to 25 seconds by one build or the other in every run. Run twice more on each build, at a load average above twenty, those eight ran past the budget on both, but for one that master answered once, at 21 seconds.

The suite on the commit measured, 6cd75238, passed, 14,832 tests, and the allocation gate passed. The head here, 4f5c0ce2, merges master 85d6601c, and gives every row of the first table the answer it says.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 3 commits October 4, 2026 19:57
…nt's denominator

`sin((a + b x)/(c + d x))` and its powers, the cosine's, the hyperbolic sine's and
cosine's and the exponential of the same quotient were declined, where
`sin(p + k/(c + d x))` is answered in the sine and cosine integrals and
`e^(p + k/(c + d x))` in the exponential integral. The quotient is
`b/d + (a d - b c)/(d (c + d x))`; each such argument is written so, with the
constant and the multiple named while the question is asked again. Rubi's 4.7.7,
6.1.5 and 6.2.5.

Part of #718

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
…tient-of-linears-is-written-over-the-denominator

# Conflicts:
#	Sources/AngouriMath/Functions/Continuous/Integration/Integration.Definition.cs
…tient-of-linears-is-written-over-the-denominator
@Rafael-SOWNet Rafael-SOWNet added this to the 2.6.0 milestone Oct 5, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit b82ab99 into master Oct 5, 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