Skip to content

The scaling rule does not simplify an integrand with the imaginary unit in it - #1718

Merged
Rafael-SOWNet merged 3 commits into
masterfrom
the-scaling-rule-does-not-simplify-with-the-imaginary-unit
Oct 3, 2026
Merged

Rafael-SOWNet merged 3 commits into
masterfrom
the-scaling-rule-does-not-simplify-with-the-imaginary-unit

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718.

The rule that scales the variable by the integrand's one symbol simplified the scaled integrand three times, to separate the whole power of the scale it is homogeneous of. With the imaginary unit beside the symbol that search ran past any budget:

integrand master 3a3d0163 this
((1 + i a x)/(1 - i a x))^(-5/4)/x^2 no verdict within 150 s declined in 3.5 s
sec(c + d x)^3/(a + i a tan(c + d x)) no verdict within 150 s 3.8 s
x^4 e^(2 i arctan(a + b x)) 83 s 16 s
1/(e^(3 i arctan(a + b x)) x^4) declined after 41 s declined in 18 s

Measured one integrand at a time on a loaded machine, so the last two are rough; the first two are not.

What changes. With the imaginary unit in the integrand, the scaled integrand is inner-simplified, which separates what a whole power of the scale does, and where the parts do not separate the rule declines at once. Without the imaginary unit nothing changes.

Tests: ComplexCoefficientRationalIntegralTest.AnImaginaryMobiusPowerIsDeclinedWithinAMinute: ((1 + i a x)/(1 - i a x))^(-5/4)/x^2 comes back within a minute, declined, where master ran past two.

Measured first on the 1,112 problems with the imaginary unit in them, at the corpus's 5-second budget, against master 97c4b692, the branch's base:

master this
solved 802 809
wrong 0 0

Measured then on the Rubi corpus against master 97c4b692:

master this
family 0, independent suites (1814) 1766 1766
family 1, 40 a file (1381) 1289 1288
families 2 to 8, sampled (2410) 2212 2212

No answer is wrong on either build. The 15 problems the two builds disagreed on, run again one build at a time, all ran out of time on master; here 9 are answered -- sec(c + d x)^2/(a + i a tan(c + d x)) and its cube, tan(c + d x)^(8/3)/(a + i a tan(c + d x)), 1/(a + b csc(c + d x)^2)^4, and five powers of x beside e^(k i arctan(a + b x)) -- 5 are declined in seconds, and one, from 1.1.1.5 and the change in family 1, runs out of time on both.

The suite passes on the commit measured, 9e190e5b, 14,586 tests, and so does the allocation gate. Master 3a3d0163 is merged in since, without conflicts, after a commit with the entry in BREAKING-CHANGES.md that the corpus showed this owes. The calculus tests pass on the merge, 3,960 of 3,961; the other, a 30-second wall clock on declining sin(x)/(x^3 + 1)^2, failed under the machine's load and passes on its own, and that integral is declined in 1.4 s on both builds.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 3 commits October 3, 2026 16:27
…it in it

The rule that scales the variable by the integrand's one symbol
simplified the scaled integrand three times to separate the whole power
of the scale it is homogeneous of. With the imaginary unit beside the
symbol that search ran past any budget:
((1 + i a x)/(1 - i a x))^(-5/4)/x^2, which is declined, took more than
two minutes to be. Inner simplification separates what a whole power of
the scale does, and where the parts do not separate so the rule
declines; it is declined in 3 s.

Part of #718.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Measured on the corpus, the integrands the scaling rule held up are answered by the rules after
it now: sec(c + d x)^3/(a + i a tan(c + d x)), five powers of x beside e^(k i arctan(a + b x)),
1/(a + b csc(c + d x)^2)^4 among them, and 2.5.0 declined eight of nine.

Part of #718.

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 3, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit 459a531 into master Oct 3, 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