Skip to content

A function comes out of a fractional power of its even power with its sign - #1399

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
even-power-sign
Sep 17, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
even-power-sign

Conversation

@Rafael-SOWNet

@Rafael-SOWNet Rafael-SOWNet commented Sep 17, 2026 •

Copy link
Copy Markdown
Member

#1387 made (sin(x)^2)^(3/2) the modulus |sin(x)|^3 and left three of Rubi's family-4 integrands unevaluated for it, with two more answered in powers of the modulus through the substitutions. The modulus is the function times its sign, and the sign is a constant between the function's zeros — the same observation SolveByTakingASquareFactorOutOfARoot makes for a polynomial under a square root, made here for a function: (a sin(x)^2)^(5/2) is a^(5/2) sgn(sin(x)) sin(x)^5, the sign comes out in front of the integral, and what is left is a whole power any rule reads.

Why it needs no assumption on the constant. An even power of a real function is not negative, so (c q)^p = c^p q^p holds for the principal powers whatever c is (arg(c q) = arg(c) for q ≥ 0), and (f^(2k))^p = |f|^(2kp). The test differentiates every answer back at a = -3 as well as a = 2, on both sides of a zero of the function. Whole products of the exponents only, so that what is handed on is a whole power; at the top only, as the polynomial rule: a substitution's variable is one it knows the sign of, and a sign written for it is one nothing differentiates. A base that is itself a fractional power is declined, since it is not real where its own base is negative.

Was Is
x*sqrt(sin(x)^2) unevaluated sgn(sin(x)) (sin(x) - x cos(x))
(csc(x)^2)^(3/2), 1/(csc(x)^2)^(7/2) unevaluated sgn(csc(x)) times the integral of csc^3, of sin^7
(sin(x)^2)^(3/2) (2/3 tan(x/2)^5 + 2 tan(x/2)^3) ((2 tan(x/2))^2)^(1/2)/(tan(x/2)^2 + 1)^3 sgn(sin(x)) (cos(x)^3/3 - cos(x))
(a*sin(x)^2)^(5/2) sgn(sin(x)) a^(5/2) (…) in (1 - abs(sin(x))^2)^(1/2) over sgn(cos(x)) sgn(sin(x)) a^(5/2) (2 cos(x)^3/3 - cos(x) - cos(x)^5/5)
1/sqrt(a*cot(x)^2) -sgn(tan(x)) ln(1/sqrt(1 + abs(tan(x))^2))/sqrt(a) sgn(cot(x)) ln(1 + tan(x)^2)/(2 sqrt(a))

Measured. The 1,774-problem independent suite: 1706/1774, 0 wrong, 0 timeouts, per-problem verdicts identical to master 374d6c1a, 90.4 s → 88.2 s in total. Rubi's family 4 sample (422, six per file): 243/422 with 0 wrong; eight rows are this rule's shapes — (a*sec(x)^2)^(1/2), 1/(a*csc(x)^2)^(1/2), x*sqrt(sin(x)^2), (csc(x)^2)^(3/2) and 1/(csc(x)^2)^(7/2) were unevaluated on master 374d6c1a (probed), and (a*sin(x)^2)^(5/2), (b*tan(x)^2)^(5/2) and 1/sqrt(a*cot(x)^2) were answered in powers of abs(sin(x)) — and every other row that differs from the previous family-4 run is identical between the two builds, so it is the merged PRs' since. All four test suites green; new EvenPowerSignTest (10 rows) with its .editorconfig section; BREAKING-CHANGES entry under the #1387 one.

Part of #718. Part of #1387.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

… sign

(a sin(x)^2)^(5/2) is a^(5/2) |sin(x)|^5, which is a^(5/2) sgn(sin(x)) sin(x)^5, and the sign
is a constant between the sine's zeros: it comes out in front of the integral, and what is left
is a whole power any rule reads. An even power of a real function is not negative, so
(c q)^p = c^p q^p holds for the principal powers whatever c is, and the test differentiates
every answer back at a = -3 as well as a = 2, on both sides of a zero of the function. Whole
products of the exponents only, at the top of the integration only, after the rule that does
the same for a polynomial under a square root, and declining a base that is itself a
fractional power.

Rubi's x sqrt(sin(x)^2), (csc(x)^2)^(3/2) and 1/(csc(x)^2)^(7/2), unevaluated since #1387
made the root of an even power the modulus, are answered, and (a sin(x)^2)^(5/2),
1/sqrt(a cot(x)^2) and (b tan(x)^2)^(5/2) no longer come back in powers of abs(sin(x)) over
sgn(cos(x)). The 1774-problem suite is unchanged at 1706 with 0 wrong; the family 4 sample
answers eight more.

Part of #718. Part of #1387.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
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