Skip to content

The arm for a quadratic off the real line excludes the arms on the sign of its discriminant - #1799

Merged
Rafael-SOWNet merged 2 commits into
masterfrom
an-arm-off-the-real-line-excludes-a-sign-arm
Oct 5, 2026
Merged

Rafael-SOWNet merged 2 commits into
masterfrom
an-arm-off-the-real-line-excludes-a-sign-arm

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #1788.

An antiderivative over a quadratic with i among its coefficients has an arm off the real line, not D in RR or D > 0, beside the arms D = 0 and D < 0. A sum of two such answers pairs their arms and drops a pair whose conditions contradict each other, and that arm was read against neither -- though D = 0 asks D to be real, and D < 0 is NaN off the real line, so neither pairing is ever true:

integrand 2.5.0 master 15aae3d3 this
x^2/(x^2 + a + i b)^3 10 arms, no value at a real x 7 arms, 2,701 characters 3 arms, 1,065 characters
1/(x^2 + i a)^2 + 1/(x^2 + i a)^3 9 arms, no value at a real x 7 arms, 1,994 characters 3 arms, 779 characters

What changes. The test CombinedCaseByCase puts each pair through reads its conjuncts as tests of a quantity against zero. It reads not q in RR as one now, which an equality contradicts for every value and a strict sign for a real q, NaN off the real line being no truer; and a disjunction as contradicted where each of its arms is, for every value or for the same quantity. A pair that is contradicted for a real q only goes where every later pair tests the sign of q, as before.

This is the third of three defects in the size of #1788's answers; with all three, 2 d^3 t^2/((t^2 - c - i d)^3 (t^2 - c + i d)) has 9 arms where master writes 63.

Tests: ContradictoryConjunctionTest.TheArmOffTheRealLineExcludesTheSignArms: the sum of two piecewises with that arm and the two signs has three cases, and a chain of four more stays at three, with values on each side of zero, at zero and off the real line. It fails on master's code.

Measured on every corpus problem with i in its integrand, 2,253 of them, at the corpus's 5-second budget, against master 221d3c5f, the branch's base:

master this
solved 1838 1838
unevaluated 140 140
wrong 1 1
past the budget 210 211

One answer is counted wrong on each build, and the two builds answer and decline the same problems.

The one problem the two builds disagreed on, run again one build at a time, gets the same verdict from both. Nothing is answered or declined differently; the answers are shorter.

The suite on the commit measured, 6688a0e3, passes, 15,036 tests, and so does the allocation gate: every gated benchmark allocates what the baseline says. The head here, 6da62f53, merges master 15aae3d3; the calculus and corpus tests pass on it, 4,358 tests, and the library builds for netstandard2.0.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Rafael-SOWNet and others added 2 commits October 5, 2026 10:32
…gn of its discriminant

An antiderivative over a quadratic with i among its coefficients has an arm off
the real line, `not D in RR or D > 0`, beside `D = 0` and `D < 0`. A sum of two
such answers drops a pair of arms whose conditions contradict each other, and that
arm was read against neither: `D = 0` asks D to be real, and `D < 0` is NaN off
the real line, so neither pairing is ever true. The contradiction now reads
`not q in RR` as a test of q, and a disjunction as contradicted where each of its
arms is. x^2/(x^2 + a + i b)^3 had 7 arms and has 3.

Part of #1788.

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 5, 2026
@Rafael-SOWNet Rafael-SOWNet changed the title Half-odd powers of two conjugate tangent sums are integrated as the exponential they make (#1798) The arm for a quadratic off the real line excludes the arms on the sign of its discriminant Oct 5, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit fa6fed4 into master Oct 5, 2026
34 checks passed
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