Differentiation, Simplification, Solvers: three outputs as master prints them
Caught by the documentation-samples harness against cd3b27b9. Each answer is the same
value in a different form. Two are factor order: since #1635 a product puts a letter or a
power of a letter before a sum, so the outputs are x * (cos(x) + a) and x ^ x * (1 + ln(x)).
The third is a union that now absorbs (sqrt(6) / 2; +oo) into (0; +oo), which contains it.
All 89 samples pass with these three changed.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
d23ca13
Simplification: a section on provided -- a condition the answer's own domain condition states is not written twice
Four examples run on the build of asc-community/AngouriMath's provided-has-a-value branch
(#1394, #1402): x/x, the derivatives of x^x and ln(x)/x, tan(x) provided not cos(x) = 0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
d85aa58
Settings: the solver prints x + sin(x), not sin(x) + x
Caught by work/docsamples against 6a97c071, the 2.5.0 release commit: the page
was the only one of 84 wiki samples whose output no longer matched what the
library prints. The set is the same; the operand order in the printed sum
changed with the canonicalisation work in 2.5.0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
d4649c4
AllowNewton(false) no longer answers with the empty set
Since asc-community/AngouriMath#1046 an equation no solver settled is answered
with the equation as a set builder rather than with `{ }`. Turning Newton off is
exactly that case, so this page's output block was stale -- and it was stale in
the way the issue was about: `{ }` claims `x + sin(x) = 0` has no roots, and it
has one at 0.
The point the section makes is unchanged; the new output states it more plainly.
Caught by `work/docsamples`, which compiles and runs every sample on this wiki
against a build of the library.
87b18b1
Home: the pages describe 2.1.0
2.1.0 is on nuget.org. The note said 2.0.0 and framed the changed answers as a 1.x-to-2.0 story,
which is now one release out of date -- BREAKING-CHANGES.md has a heading per release, so a reader
coming from either version has somewhere to look. The drop-in guarantee is worth stating here too,
since it is what decides whether upgrading is a decision or a version bump.
docsamples still reads 84 samples, 0 compile errors, 0 output mismatches against a 2.1.0 build.
563400a
Solvers: the concrete quadratic inequality no longer keeps an abs
#881 folded abs where the sign of its argument is known, released in #901, so
(2x^2 - 3 > 0) and (x > 0) now answers (sqrt(6) / 2; +oo) rather than
(abs(-sqrt(6)) / 2; +oo). The note calling the unfolded form a known wart goes with
it; what remains true is why the endpoint is written as an absolute value at all,
which is the symbolic-coefficient case.
Checked against a build rather than edited by hand: work/docsamples compiles and
runs every sample on this page and compares the printed output to what is written
here.
f00afa4
Make every code sample true of 2.0, and checkable
The pages named APIs the library no longer has and printed outputs it no longer
produces. Measured against a 2.0.0 build, 23 of the 90 samples did not compile and
9 more printed something else.
What was wrong:
- Latexise is Latexize since 2.0, and the extensions live in AngouriMath.Extensions,
which no sample said.
- The whole F# page called a function `dy/dx` that has always been `d/dx`, and opened
Functions and Core by paths that do not resolve, so that sample had never compiled.
- Exceptions documented FutureReleaseException, which 2.0 removed; the gap it stood
for now raises NotSufficientlySupportedException, and the distinction from
AngouriBugException is what a reader needs.
- Compilation and Evaluation used Complex without System.Numerics, and printed it as
(9, 0) -- that type has formatted itself <9; 0> since .NET 8.
- An integral prints its constant of integration, and no page said so.
- Differentiating a set maps over its elements, so { 1, 2 } + sin(x) gives { cos(x) }
rather than an unevaluated derivative.
- Output blocks were tagged cs in fourteen places, so they rendered as C# and read as
code.
- Two samples declared the same variable twice to show equivalent lines, and several
printed a value another block had built.
Outputs are now what the library produces, including the two that are worse than they
should be: abs(-sqrt(6)) is not folded (#881) and a solution matrix is not simplified
entrywise (#882). Both are linked from the page rather than tidied away.
Every sample is now compiled and run against the library, and every stated output
compared: 86 samples, 0 compile errors, 0 output mismatches, 57 outputs verified.
Home.md says what the conventions are, since they are what keeps that working.
41a292d
Created Parsing expression from string (markdown)
ad28bb5
Updated 15. Jupyter (markdown)
3b4ebc9
Updated 14. F# language (markdown)
c922fc4
Updated 13. Settings (markdown)
83cedbb
Updated 12. Multithreading (markdown)
b30d237
Updated 11. Exceptions (markdown)
00ef766
Updated 10. Matrices (markdown)
6b17606
Updated 09. Compilation (markdown)
e55be3b
Updated 08. Limits (markdown)
4323e35
Updated 07. Solvers (markdown)
bbfba6d
Updated 06. Integration (markdown)
323e772
Updated 05. Differentiation (markdown)
b12edc5
Updated 04. Simplification (markdown)
1e7fa67
Updated 03. Evaluation (markdown)
67453ab
Updated 02. Basic operations (markdown)
5d1d479
Updated 01. Expressions (markdown)
65ec815
Updated Terminal (markdown)
513525e
Updated 01. Expressions (markdown)
fbd7f77
Updated 01. Expressions (markdown)
de513b5
Updated Terminal (markdown)
872e200
Updated 16. Terminal (markdown)
06bdccb