Standard part function #
Given a finite element in a non-archimedean field, the standard part function rounds it to the unique closest real number. That is, it chops off any infinitesimals.
Let K be a linearly ordered field. The subset of finite elements (i.e. those bounded by a natural
number) is a ValuationSubring, which means we can construct its residue field
FiniteResidueField, roughly corresponding to the finite elements quotiented by infinitesimals.
This field inherits a LinearOrder instance, which makes it into an Archimedean linearly ordered
field, meaning we can uniquely embed it in the reals.
Given a finite element of the field, the ArchimedeanClass.stdPart function returns the real number
corresponding to this unique embedding. This function generalizes, among other things, the standard
part function on Hyperreal.
TODO #
Redefine Hyperreal.st in terms of ArchimedeanClass.stdPart.
References #
Finite residue field #
The valuation subring of elements in non-negative Archimedean classes, i.e. elements bounded by some natural number.
Equations
Instances For
The constructor for FiniteElement.
Equations
- ArchimedeanClass.FiniteElement.mk x h = ⟨x, h⟩
Instances For
The residue field of FiniteElement. This quotient inherits an order from K,
which makes it into a linearly ordered Archimedean field.
Equations
Instances For
The quotient map from finite elements on the field to the associated residue field.
Equations
- ArchimedeanClass.FiniteResidueField.mk = { toRingHom := IsLocalRing.residue (ArchimedeanClass.FiniteElement K), monotone' := ⋯ }
Instances For
An embedding from an Archimedean field into K induces an embedding into
FiniteResidueField K.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Standard part #
The standard part of a FiniteElement is the unique real number with an infinitesimal
difference.
For any infinite inputs, this function outputs a junk value of 0.
Equations
- ArchimedeanClass.stdPart x = if h : 0 ≤ ArchimedeanClass.mk x then (default.comp ArchimedeanClass.FiniteResidueField.mk) (ArchimedeanClass.FiniteElement.mk x h) else 0