Skip to main content

Module closure

Module closure 

Source
Expand description

The real closure of the values of several infinitesimals: √(dt + dx), ∛(h + dt), every root the program’s arithmetic reaches among the values of more than one infinitesimal, held exactly.

A value of dx, declared much smaller than dt, that is no rational function of a root of dx over the values of the larger infinitesimals is an AlgValue: the recipe that built it, a squarefree polynomial over those rational functions with the value among its roots, and the value’s expansion in dx with exact coefficients (crate::expansion). The polynomial composes as the value does — α + β is a root of Res_z(P(z), Q(y − z)), α·β of Res_z(P(z), z^n·Q(y/z)), 1/α of P reversed, ⁿ√α of P(y^n), α^k of Res_z(P(z), y − z^k) — and decides what the expansion alone cannot. The orders of P’s nonzero roots are the slopes of its Newton polygon, so a value whose expansion vanishes through the largest of them is the root 0, and a nonzero value’s leading term lies at or below it: every comparison is a bounded scan of exact coefficients.

One form for a value. A value that is a rational function of a root of dx is held as that function (Multi::Over): its candidate is the Padé approximant of its expansion within the degrees Gauss’s lemma bounds a root of the monic polynomial by, kept only when it is a root of the polynomial and its difference from the value is the root 0. A value prints as that function, as a radical when a power of it is one (√(dt + dx), 2·√(dt + dx), 1/√(dt + dx)), or by its two leading terms and the order of the rest (1/(2·√dt) - (1/(8·dt^(3/2)))·dx + O(dx^2)).

Structs§

AlgValue
A value of the real closure of several infinitesimals at its smallest. See the module documentation.