Skip to content

Read the root's quadratic at a symbolic pole without the slope's condition - #1888

Merged
Rafael-SOWNet merged 4 commits into
masterfrom
a-pole-with-a-symbolic-slope-beside-a-root-is-read-bare
Oct 14, 2026
Merged

Rafael-SOWNet merged 4 commits into
masterfrom
a-pole-with-a-symbolic-slope-beside-a-root-is-read-bare

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718

sqrt(a + c x^2)/(x (d + e x)) and its kin in Rubi's 1.2.1.4 were declined, though sqrt(a + b x + c x^2)/(x (d + e x)) was answered. The difference was in SolveALinearBesideTheRootOfAQuadratic, which works at the linear's root p = -d/e. With no b x term, (a p^2 + c).InnerSimplified comes back as 3 (-d/k)^2 + 2 provided not k = 0. TryStandardIntegrals reads no quadratic in t through that Providedf, so 1/((d + k x) sqrt(2 + 3 x^2)) was declined where 1/((d + x) sqrt(2 + 3 x^2)) was not. The condition only says the linear's slope is not zero, so the value is now read with Bare, here and in SolveAPolynomialOverAPowerOfALinearBesideTheRoot.

The condition had also been stopping the rule on linears with the imaginary unit in them. With it gone, 1 + i a x (what e^(3 i atan(a x)) is written as) reached the rule as a pole at i/a. The rule then wrote sgn(x - i/a) and nothing checked it afterwards, and 5.3.6:69, 1/(e^(3 i atan(a x)) x^3), lost its answer. The rule now declines a linear holding the imaginary unit, which is what it did by accident before. The other rule checks its own derivative, and master's route for 5.3.6:69 goes through it, so it keeps complex poles.

Measured

intbench, this branch against master 1763843, 5 s budget. The pocket was 1.2.1.2–1.2.1.4, 1.2.1.6, 1.2.1.9, 1.2.2.4, 1.3.2, 5.3.6, 7.3.6 and 4.3.2.1 in full (9,239 rows), plus the usual family sample:

master this branch
pocket 9,029 solved 9,044 solved
families 0–8 sample identical
wrong / error 0 / 0 0 / 0

All 15 moves held when re-run alone (master solves 1 of them), and none went from solved to anything else:

  • 1.2.1.4: 404–408, 416–418, 424–426, 439 and 441
  • 1.3.2:1233, sqrt(a + c/x^2)/(d + e x)
  • 4.3.2.1:690

I checked the 14 algebraic rows exactly with exactcheck (exact pins, 50 and 2,000 digits, four points, three pin sets with negative coefficients): 336 of 336 diff 0. The gate and the suite pass (15,389).

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 4 commits October 14, 2026 16:51
…ition

Q(p) for p = -n/m comes back with `provided not m = 0` where Q has no
linear term, and the table read no quadratic in t through the condition:
`1/((d + k x) sqrt(a + c x^2))` was declined where `1/((d + x) sqrt(a + c x^2))`
was not. The slope is not zero for a linear, so the value is read bare.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
… p is written

With the slope's condition gone, the rule for a linear beside a root
read `1 + i a x` as a pole at i/a, and wrote sgn(x - i/a) with nothing
checking it after; `1/(e^(3 i atan(a x)) x^3)` lost its answer.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
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 14, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit 954a9cd into master Oct 14, 2026
34 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in AngouriMath Oct 14, 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