Skip to content

A power of a constant multiple of the radicand a logarithm holds is written over it - #1487

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
negated-radicand
Sep 24, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
negated-radicand

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

acosh(a x)^2/sqrt(1 - a^2 x^2) and x (a + b acosh(c x))/(d - c^2 d x^2)^3 ran out of time. acosh(c x) is ln(c x + sqrt(c^2 x^2 - 1)), and the substitution u = acosh(c x) wants the root its derivative carries, sqrt(c^2 x^2 - 1); beside it the integrand holds a constant multiple of that radicand, d - c^2 d x^2 = -d (c^2 x^2 - 1), which nothing read as one.

A whole power of the multiple is now the product of the powers, and a root (lambda M)^(k/2) is K^k M^(k/2) with K = sqrt(lambda M)/sqrt(M) — plus or minus i, or sqrt(lambda), constant on every interval where it is defined — so it is carried through the integration as a symbol and written out in front of the answer, the way Rubi writes it (sqrt(-1 + c x) sqrt(1 + c x)/sqrt(d - c^2 d x^2) and kin). arcosh(2 x)^2/sqrt(1 - 4 x^2) is real on (-1/2, 1/2), where arcosh(2x) is i arccos(2x); the existing DeclinedOrRight test checks it there, and a new theory requires it answered.

Three things the measurement found:

  • The polynomial reader does not take the monic spelling the normalisation gives a power with a symbolic leading coefficient — d^0 (-1)^(-1) c^(-2) + x^2 — nor its simplification, x^2 - c^(-2) provided not d = 0. It is read bare.
  • The ratio of leading coefficients is simplified where it holds symbols: -c^2 d/c^2 written into a whole power cost the integrand its time.
  • The question asked only. Family 5 showed atan(c x/sqrt(a - c^2 x^2))^2/sqrt(d - c^2 d x^2/a) declining in 31 s where master takes 7. Two calls of the rule took 12.5 s each: below the top the substitutions write logarithms of their own, and in a by-parts remainder the rule found a genuine multiple, rewrote it and asked a whole search again that was going to decline. A depth-two scope and a numeric screen for the multiples were each measured and neither was the cause; answering the question asked only is, and it costs nothing here — the inverse cosine is in the integrand as asked, and a round of parts differentiates it away. That decline is 6.7 s now.

Measured

before after
Rubi 7.2.4 + 7.2.5, all 277 problems that count 127 255, no row lost, 121 timeouts → 18
Rubi family 7 223/270 235/270
Rubi families 1, 4, 5, 6 and the 1774-problem suite — unchanged, row for row
unit suite 12,694 12,698 (four cases added), 0 failed, run to completion
allocation gate — PASSED on all 19 gated benchmarks

Of the 7.2 answers, 105 are for integrands complex-valued along the whole real line and are checked there as complex numbers; seven of the shapes were also checked independently at five points each, exact, including a negative d.

Part of #718.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

…ritten over it

`acosh(a x)^2/sqrt(1 - a^2 x^2)` and `x (a + b acosh(c x))/(d - c^2 d x^2)^3` ran out of
time. `acosh(c x)` is `ln(c x + sqrt(c^2 x^2 - 1))`, and the substitution `u = acosh(c x)` wants
the root its derivative carries, `sqrt(c^2 x^2 - 1)`; beside it the integrand holds a constant
multiple of that radicand, `d - c^2 d x^2 = -d (c^2 x^2 - 1)`, which nothing read as one.

A whole power of the multiple is now the product of the powers, and a root `(lambda M)^(k/2)` is
`K^k M^(k/2)` with `K = sqrt(lambda M)/sqrt(M)`: plus or minus `i`, or `sqrt(lambda)`, constant on
every interval where it is defined, so it is carried through the integration as a symbol and
written out in front of the answer, the way Rubi writes it. `arcosh(2 x)^2/sqrt(1 - 4 x^2)` is
real on `(-1/2, 1/2)`, where `arcosh(2x)` is `i arccos(2x)`, and the answer is checked there too.

Three things the measurement found. The polynomial reader does not take the monic spelling the
normalisation gives a power with a symbolic leading coefficient -- `d^0 (-1)^(-1) c^(-2) + x^2`
-- nor its simplification, which is `x^2 - c^(-2) provided not d = 0`; it is read bare. The
ratio of leading coefficients is simplified where it holds symbols, `-c^2 d/c^2` being `-d`. And
the rule answers the question asked only: below it the substitutions write logarithms of their
own, and there it found a genuine multiple in a by-parts remainder, rewrote it and asked a whole
search again that was going to decline -- `atan(c x/sqrt(a - c^2 x^2))^2/sqrt(d - c^2 d x^2/a)`
took thirty-one seconds to decline where master takes seven. The inverse cosine is in the
integrand as asked, and a round of parts differentiates it away, so nothing below needs it.

Rubi's 7.2.4 and 7.2.5, all 277 problems that count: 127 to 255, no row lost, 121 timeouts to
18. Family 7 223 to 235 of 270; families 1, 4, 5 and 6 and the 1774-problem suite unchanged,
row for row.

Part of #718.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
@Rafael-SOWNet
Rafael-SOWNet merged commit d7c0be5 into master Sep 24, 2026
31 checks passed
Rafael-SOWNet added a commit that referenced this pull request Sep 24, 2026
… holds are written as that radicand (#1488)

`(a + b arsinh(c x)) sqrt(d + i c d x) sqrt(f - i c f x)` ran out of time. The two linear
factors multiply to `d f (1 + c^2 x^2)`, a constant multiple of the radicand `arsinh(c x) =
ln(c x + sqrt(c^2 x^2 + 1))` holds -- the case #1487 answers, spelled as two factors. Rubi's
7.1.4 writes seventy-two of its 663 rows this way.

`L1^p L2^q` with `p - q` whole is now `L1^(p - q) L1^q L2^q`, and `L1^q L2^q` is `lambda^q M^q`
for a whole `q` and `K^k M^(k/2)` for `q = k/2`, with `K = sqrt(L1) sqrt(L2)/sqrt(M)` carried as
a symbol and written in front of the answer: constant wherever it is defined, as #1487's is.
Tried only where no single base is a multiple of the radicand, on the factors of both sides of
the bar, with a nested power read through and a factor below the bar read with its exponent
negated.

Rubi's 7.1.4 and 7.1.5, all 376 problems that count: 308 to 345, no row lost, 56 timeouts to
27. Family 7 235 to 237 of 270; the 7.2 files, families 1, 4, 5 and 6 and the 1774-problem suite
unchanged, row for row. The answers are complex-valued along the whole line and are exact at
five points each compared as complex numbers, with a negative `d` among the pins.

Part of #718.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Rafael-SOWNet added a commit that referenced this pull request Sep 24, 2026
arcsin(u) holds the radicand 1 - u^2 without writing it: its derivative
is u'/sqrt(1 - u^2). Beside arcsin(c x), the factors d + c d x and
f - c f x multiply to d f (1 - c^2 x^2), a multiple of that radicand.
The rule that writes such a multiple over the radicand (#1487, #1488)
took its radicands only from logarithms, so the pair ran out of time.

The radicand of an inverse sine or cosine of a linear is now one of the
radicands it reads. Two factors whose product is the radicand itself,
sqrt(1 + c x) sqrt(1 - c x), are written as its one root too.

Rubi's 5.1.4, 5.1.5, 5.2.4 and 5.2.5, all 504 problems that count:
405 to 463, no row lost, 77 timeouts to 19.


Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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