Skip to content

Commit 67d8e8d

Browse files
Record five changed answers the breaking changes missed (#1914)
* Record three changed answers the breaking changes missed Measured on the 2.5.0 package and on master: pi and an exponential evaluated at a higher precision after a lower one (#1368), the parse cache across the downcasting setting (#1517), and a difference of a negated term in a solution and in LaTeX (#1397). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura * Record the NaN for an exponential times a cosine with a complex rate Measured: e^(-i x) cos(x) is NaN + C on 2.5.0, x/2 + e^(-2 i x)/(-4 i) on master. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura * Record the complex division that underflowed to zero Measured with the downcasting off: (1.98e119 + i)/(3.39e125 + i) is 0 on 2.5.0, 5.84e-7 on master. 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>
1 parent 84dc0e7 commit 67d8e8d

1 file changed

Lines changed: 57 additions & 0 deletions

File tree

‎BREAKING-CHANGES.md‎

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,51 @@ the working digits, or `MathS.Settings.PrecisionErrorZeroRange` where a caller h
147147
still that integer, so `e^(-123.456)` is 0 as it was.
148148
[#1338](https://github.com/asc-community/AngouriMath/issues/1338).
149149

150+
### A constant or an exponential evaluated at a higher precision than before has all of its digits
151+
152+
**More digits where there were a hundred.** `pi`, `e` and an exponential, evaluated once at one precision, went on
153+
answering in that precision under a higher one: in 2.5.0 `pi` read under 300 digits after a read under 100 had 100
154+
digits, and `e^(1/3)` the same. Each is now worked out in the precision asked for
155+
([#1367](https://github.com/asc-community/AngouriMath/issues/1367), #1368).
156+
157+
| Input | Was (2.5.0) | Now |
158+
|---|---|---|
159+
| `MathS.pi.Evaled` under 300 digits, after a read under 100 | 100 digits | 300 digits |
160+
| `"e^(1/3)".Evaled` under 300 digits, after a read under 100 | 100 digits | 300 digits |
161+
162+
### A string parsed once is parsed again under the other downcasting setting
163+
164+
**A different number.** `MathS.FromString` remembered what it had parsed, keyed on the parsing setting alone. A string
165+
parsed with downcasting on came back with its exact numbers under downcasting off, and the other way round. The
166+
cache is now keyed on the downcasting setting too
167+
([#1513](https://github.com/asc-community/AngouriMath/issues/1513), #1517).
168+
169+
| Input | Was (2.5.0) | Now |
170+
|---|---|---|
171+
| `MathS.FromString("1/3").Evaled` under downcasting off, after the same parse with it on | `1/3` | `0.3333…` (one hundred digits) |
172+
173+
### A difference of a negated term is printed as a sum
174+
175+
**A printed form.** A solution and a difference were printed with the sign of a negative factor left inside:
176+
`b - x = 0` solved for `x` printed `-b / (-1)`, and LaTeX printed `1/100 - (-4) x` as `\frac{1}{100}--4 \cdot x`, which does
177+
not read back. Both are simplified to the sum now (#1397).
178+
179+
| Input | Was (2.5.0) | Now |
180+
|---|---|---|
181+
| `"b - x = 0".Solve("x")` | `{ -b / (-1) }` | `{ b }` |
182+
| `"1/100 - (-4)*x".ToEntity().Latexize()` | `\frac{1}{100}--4 \cdot x` | `\frac{1}{100}+4 \cdot x` |
183+
184+
### A complex number divided by one beyond `10^50` in modulus is not zero
185+
186+
**A wrong answer.** With the downcasting off, a complex division took the reciprocal of the divisor's squared modulus
187+
first, and beyond `10^50` that underflowed the context to zero, so `(1.98e119 + i)/(3.39e125 + i)` was `0`. It is
188+
divided by Smith's method now, which scales by the larger part and squares nothing
189+
([#1372](https://github.com/asc-community/AngouriMath/issues/1372), #1374).
190+
191+
| Input | Was (2.5.0) | Now |
192+
|---|---|---|
193+
| `(1.98e119 + i)/(3.39e125 + i)` with the downcasting off | `0` | `5.8407…e-7` |
194+
150195
### A piecewise is defined where the case it takes is
151196

152197
**Domain conditions that were false.** The domain condition of a piecewise asked every case's predicate
@@ -2917,6 +2962,18 @@ Each of these was checked by differentiating it back with the parameters pinned
29172962
four points. The Rubi sample is unchanged at 231 of 463 with no wrong answers, so nothing that
29182963
already had an antiderivative moves.
29192964

2965+
### `NaN` a fifth time, from an exponential times a cosine with a complex rate
2966+
2967+
**A wrong answer.** `e^(-i x) cos(x)` was answered `NaN + C`: the closed form `P(x) e^(a x) cos(b x)` divides by
2968+
`a^2 + b^2`, which is `(-i)^2 + 1 = 0` here, the resonance that leaves a term linear in `x`. It is integrated through the
2969+
exponential form now, and so is `e^(-i arctan(a x))/(c + a^2 c x^2)^(3/2)`, which comes to it
2970+
(PR [#1380](https://github.com/asc-community/AngouriMath/pull/1380)).
2971+
2972+
| Input | Was (2.5.0) | Now |
2973+
|---|---|---|
2974+
| `"e^(-i*x)*cos(x)".Integrate("x")` | `NaN + C` | `x/2 + e^(-2 i x)/(-4 i)` up to form |
2975+
| `"e^(-i*atan(a*x))/(c+a^2*c*x^2)^(3/2)".Integrate("x")` | `integral(...)` | an answer |
2976+
29202977
### `NaN` a fourth time, from an exponent that is `-1` only as a value
29212978

29222979
**A wrong answer.** `x^(-1 - 3n) (a + b x^n)^3` came back as a sum whose last term was `x^0/0`, so

0 commit comments

Comments
 (0)