Skip to content

Write a quotient by a radical sum with a constant conjugate product over the conjugate - #1962

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
a-quotient-by-a-radical-sum-over-its-conjugate
Oct 20, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
a-quotient-by-a-radical-sum-over-its-conjugate

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

e^asech(a x) arrives as 1/(a x) + sqrt(1/(a x)^2 - 1), whose product with its conjugate is 1. So x^m/e^asech(a x) is x^m (1/(a x) - sqrt(1/(a x)^2 - 1)), a sum with no quotient left. The identity (A + B sqrt(R))(A - B sqrt(R)) = A^2 - B^2 R holds on every branch, so the rewrite holds wherever the quotient is defined. Rubi's 7.5.2 x^4/e^asech(a x) to 1/(e^asech(a x) x) were declined. The answers hold where |a x| <= 1, which is where the integrand is real.

The rule fires only on the question asked. By parts against asech or acsch asks a quotient by the same sum. A first version that also fired on those sub-questions lost x*asech(a*x)^2 and five similar problems, which master answers in 130–230 ms. They are now in the test.

Measured on 8a1ef454, branch against master:

Run Problems Master Branch
Pocket: Rubi's 1.3, 7.5 and 7.6 1,476 1,431 solved 1,436 solved
Family 1, 40 a file 1,381 1,362 1,362
Family 0, whole 1,814 1,789 1,789
Families 2 to 8, sampled 2,410 2,362 2,359

Re-run alone on both builds, 7.5.2:111–114 and 116 go from timed out or declined to answered, in 30 ms to 1.1 s. 6.4.2:50 and 7.4.1:369 both take about 24 s on either build, so they flip with load: one was counted solved on master only, the other on the branch only. The other moves time out on both builds. No run had a wrong answer.

On this master the dispatch line sits after #1960's, the last rule of its group. AQuotientByARadicalSumWithAConstantConjugateProductIntegralTest differentiates the answers back and checks the six problems by parts stay answered. BREAKING-CHANGES.md has the entry, with the 2.5.0 column measured on v2.5.0.

Part of #233.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

…ver the conjugate

e^asech(a x) arrives as 1/(a x) + sqrt(1/(a x)^2 - 1), whose product with
its conjugate is 1, so x^m/e^asech(a x) is x^m (1/(a x) - sqrt(1/(a x)^2 - 1)),
a sum with no quotient left. (A + B sqrt(R))(A - B sqrt(R)) = A^2 - B^2 R
holds on every branch, so the rewrite holds wherever the quotient is defined.
Rubi's 7.5.2 x^4/e^asech(a x) to 1/(e^asech(a x) x) were declined. The
search took the quotient as written, a root below the bar beside a pole.

The rule is asked only of the question asked. By parts against asech or acsch
asks a quotient by the same sum, and rewritten over the conjugate those
sub-questions ran past the budget where the rules below answer them as
written. Asked below the top, the rule cost x*asech(a*x)^2 and five of its
neighbours, which master answers in 130-230 ms.

Part of #233.

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 20, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit 03f6c17 into master Oct 20, 2026
34 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in AngouriMath Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant