Skip to content

Write out the factors the half tangent shares between the parts it homogenised apart - #2055

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
write-out-the-factors-the-half-tangent-shares
Oct 22, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
write-out-the-factors-the-half-tangent-shares

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #233.

  • Under the half tangent, a factor the parts share is written out. Rubi's 6.7.1 sech(x)^2/(a + c sech(x) + b tanh(x)) ran past the corpus's budget. Master answered it in 1,383,216 characters after 22 s and 3.7 GB.
  • Why it grew. SolveARationalFunctionOfTheHyperbolicTangent homogenises each maximal rational function of e^x apart, which keeps the written factors. A factor two parts share then stays inside the expanded polynomial of one of them. Under u = tanh(x/2) the integrand was (1 + u^2)^2 over (1 + u^2)^2, times a quartic that holds 1 + u^2 once more. The rational integrator then wrote that quartic's partial fractions with symbols in it.
  • The change. The factors the homogenising makes, 1 + u^2, 1 - u^2, 1 - u, 1 + u and u, are divided out of every written factor of the denominator as often as they go exactly, and written as powers of their own. Then they are divided out of the numerator. The integrand becomes 1/((1 + u^2) Q(u)) for a quadratic Q. The helper is PartialFractions.WithTheCandidateFactorsWrittenOut.
  • Where it applies. Only where a candidate then divides the numerator too. 1 - u^2 comes before its two linears, so that an integrand even in u stays written so.
  • A polynomial gcd over the whole quotient was tried first. It cancels the same factor but expands the denominator, and the rational integrator declined the quartic it left.
  • What the chains caught. Written out with nothing cancelled, 6.3.1's (c + d x)^3/(a + a tanh(e + f x))^3 and two like it ran past the budget they had been answered in. With 1 - u^2 split into its two linears, 6.1.7's sinh(u)^8/(a - b sinh(u)^4)^2 took 5.4 GB where it takes 0.5, confirmed alone. Both guards answer those as master does.
Input master ef4150e this branch
6.7.1:910 sech(x)^2/(a + c sech(x) + b tanh(x)) 1,383,216 characters, 22 s, 3.7 GB 2,931 characters, 0.1 s, 0.04 GB
csch(x)^2/(a + c csch(x) + b coth(x)) 1,690 characters 1,766 characters
6.3.1:68/69, 6.4.1:46, 6.1.7:286 answered the same answers

Third chain, against master ef4150e (the branch rebased onto 7d1081e):

The library builds for netstandard2.0, net8.0 and net10.0. The suite is left to CI. The BREAKING-CHANGES lengths were measured on the branch, and the 2.5.0 column on a v2.5.0 build.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

…mogenised apart

Rubi's 6.7.1 sech(x)^2/(a + c sech(x) + b tanh(x)) ran past the corpus's
budget; master answered it in 1,383,216 characters after twenty-two
seconds. SolveARationalFunctionOfTheHyperbolicTangent homogenises each
maximal rational function of e^x apart, which keeps the written factors,
and leaves a factor two parts share inside the expanded polynomial of one:
under u = tanh(x/2) the integrand was (1 + u^2)^2 over (1 + u^2)^2 times a
quartic holding 1 + u^2 once more, and the rational integrator wrote that
quartic's partial fractions with symbols. The factors the homogenising
makes, 1 + u^2, 1 - u^2, 1 - u, 1 + u and u, are now divided out of every written
factor of the denominator as often as they go exactly and written as powers
of their own, then out of the numerator: the integrand is 1/((1 + u^2) Q(u))
for a quadratic Q, 2,931 characters in 0.6 s. Only where one of them then
divides the numerator too: written out with nothing cancelled, 6.3.1's
(c + d x)^3/(a + a tanh(e + f x))^3 ran past the budget it was answered
in. And 1 - u^2 before its two linears, so that an integrand even in u
stays written so: split into them, 6.1.7's sinh(u)^8/(a - b sinh(u)^4)^2
took 5.4 GB where it takes 0.5. A polynomial gcd over the
whole quotient was tried first; it cancels the same factor, but expands the
denominator, and the rational integrator declined the quartic it left.

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 force-pushed the write-out-the-factors-the-half-tangent-shares branch from 879b5f5 to b4b5252 Compare October 22, 2026 05:50
@Rafael-SOWNet

Copy link
Copy Markdown
Member Author

Rebased onto 1566841 (#2054). There was one conflict, in BREAKING-CHANGES.md: two entries at one anchor, sharing their citation line and table header. Both entries are rebuilt whole, #2054's first. The library builds for every target, and the hyperbolic rules' tests pass together, 6 of 6.

@Rafael-SOWNet
Rafael-SOWNet merged commit 68ae16c into master Oct 22, 2026
34 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in AngouriMath Oct 22, 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