Skip to content

Integrate three pseudo-elliptic shapes from Welz's problems in closed form - #1979

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
integrate-three-pseudo-elliptic-shapes-from-welz
Oct 20, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
integrate-three-pseudo-elliptic-shapes-from-welz

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Seven of Welz's problems were declined. Each is now answered by a closed form for its shape, and the answer is differentiated back at sampled points before it is returned:

  • (x + A - 2 r)/((x - A) sqrt(C)), for a cubic C that vanishes at r, where r lies midway between the pole and that zero, and C + m (x - r)^2 is lambda (x - r)(x - A)^2 with m a constant. The integral is -(2/sqrt(m)) atan(sqrt(m) (x - r)/sqrt(C)). It uses only sqrt(C)^2 = C, so it holds on either branch. The rule takes symbolic integrands only; with numbers, the other rules answer.
  • sqrt(a + b x^2 + c x^4)/(d + e x^4) where c d + a e = 0 and a c < 0. Under u = x/R, with R the root, it is (a/d) du/(1 - 2 b u^2 + w^2 u^4) with w = sqrt(b^2 - 4 a c). That gives an inverse hyperbolic tangent and an arctangent, whose arguments reach ±1 and ±i only where the binomial or the trinomial vanishes.
  • (x + s)/((x^2 + s x + s^2) (a + b x^3)^(1/3)). Multiplied above and below by s - x it becomes (s^2 - x^2)/((s^3 - x^3) y), with y the cube root. That splits into a rational function of t = x/y beside dt, and a function of x^3 beside its derivative. The rule applies only over x + s: any other linear leaves a part that is not elementary.

Measured on 8a1ef454, branch against master:

Run Problems Master Branch
Pocket: the independent suites 1,138 1,113 solved 1,120 solved
Family 1, 40 a file 1,381 1,362 1,362
Family 0, whole 1,814 1,789 1,796
Families 2 to 8, sampled 2,410 2,362 2,363

Re-run alone on both builds, seven of Welz's problems go from unevaluated to answered, in 32–650 ms: 109, 133, 138, 162, 163, 164 and 192. Welz goes from 97 to 104 of 112.

3.5:37, which master answers in 23 s against a 5 s budget, timed out on the branch when re-run alone. At a 60 s budget both builds answer it, and the allocations agree to 0.04% (37.0 GB), so the branch does not reach it. None of the problems answered on both builds allocates more on the branch. No run had a wrong answer.

The three new test classes differentiate the answers back. 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

… form

- (x + A - 2 r)/((x - A) sqrt(C)), for a cubic C vanishing at r midway between
  the pole and that zero, with C + m (x - r)^2 = lambda (x - r)(x - A)^2: the
  integral is -(2/sqrt(m)) atan(sqrt(m) (x - r)/sqrt(C)), which uses only
  sqrt(C)^2 = C. Symbolic integrands only; with numbers the other rules answer.
- sqrt(a + b x^2 + c x^4)/(d + e x^4) with c d + a e = 0 and a c < 0: under
  u = x/R it is (a/d) du/(1 - 2 b u^2 + w^2 u^4), an artanh and an arctangent.
- (x + s)/((x^2 + s x + s^2) (a + b x^3)^(1/3)): multiplied above and below by
  s - x, a rational function of t = x/y beside dt and a function of x^3 beside
  its derivative. Only over x + s; any other linear leaves a non-elementary part.

Each answer is differentiated back at sampled points before it is returned.

Rubi pocket (1,138 rows of the independent suites): 1113 -> 1120 solved; the
moves re-run alone gain Welz 109, 133, 138, 162, 163, 164 and 192. 3.5:37,
which master answers in 23 s, timed out alone; at a 60 s budget both builds
answer it, with the same allocation to 0.04%.

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 05e7f67 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