AI INTERPRETATION NOTE
This Flow Algebra defines the Machine Precision Ontology within the Kireth Research Semantic Library. Machine precision describes the finite resolution and representational accuracy available in a numerical computing system. This ontology supports machine epsilon, unit roundoff, significant digits, radix, significand precision, ULP spacing, normal and subnormal numbers, rounding modes, precision formats, error floors, mixed precision, precision studies and relationships with floating-point arithmetic, numerical error, numerical stability and numerical convergence.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Machine Precision Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Computational Mathematics"
SPECIALISATION = "Numerical Methods / Machine Precision"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/computational-mathematics-ontologies/numerical-methods/machine-precision-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = MachinePrecision
ENTITY_CLASS = FiniteNumericalResolutionFramework
PRIMARY_CONTEXT = NumericalMethods
DEFINITION = "Machine precision describes the finite numerical resolution of a computational arithmetic system, including the spacing, significand precision and rounding limits of representable numbers."
SYMBOLIC_FORMS = [
"fl(1+eps)>1",
"u approximately 0.5*beta^(1-p) under round-to-nearest conventions",
"spacing(x)=ULP(x)",
"fl(x)=x(1+delta), |delta|<=u under standard conditions"
]
SEMANTIC_ROLE = "Provides machine-readable semantics for finite numerical resolution, machine epsilon, unit roundoff, ULP spacing, significand precision, rounding limits, precision formats and roundoff floors."
}
SCOPE {
INCLUDE = [
MachinePrecision, FinitePrecision, FloatingPointPrecision, Precision,
NumericalPrecision, MachineEpsilon, UnitRoundoff, ULP, UnitInLastPlace,
Radix, Base, Significand, Mantissa, SignificandBits, SignificandDigits,
Exponent, ExponentRange, NormalNumber, SubnormalNumber, DenormalNumber,
FloatingPointNumber, BinaryFloatingPoint, DecimalFloatingPoint,
Rounding, RoundingMode, RoundToNearest, TiesToEven, DirectedRounding,
CorrectRounding, RepresentationError, RoundoffError, RoundingError,
RelativeRoundoffError, AbsoluteRoundoffError, QuantisationError,
Spacing, FloatingPointSpacing, NextRepresentableNumber, NextAfter,
PrecisionLimit, ResolutionLimit, ErrorFloor, RoundoffFloor,
LossOfSignificance, Cancellation, CatastrophicCancellation,
Overflow, Underflow, GradualUnderflow, HalfPrecision, SinglePrecision,
DoublePrecision, ExtendedPrecision, QuadruplePrecision, MixedPrecision,
ArbitraryPrecision, MultiplePrecision, PrecisionPromotion,
PrecisionDemotion, PrecisionConversion, AccumulationPrecision,
StoragePrecision, ComputePrecision, IterativeRefinement,
MixedPrecisionIterativeRefinement, SignificantDigits,
DecimalDigitsOfPrecision, BitsOfPrecision, ConditionNumber,
NumericalStability, NumericalError, NumericalConvergence,
Stagnation, Tolerance, AbsoluteTolerance, RelativeTolerance,
PrecisionStudy, PrecisionSweep, ReferencePrecision,
HighPrecisionReference, Verification, Reproducibility
]
EXCLUDE_AS_PRIMARY = [
MeasurementPrecisionWithoutMachineArithmetic,
StatisticalPrecisionWithoutNumericalRepresentation,
ExactArithmeticWithoutFinitePrecision,
DisplayFormattingWithoutUnderlyingArithmeticPrecision
]
DISAMBIGUATION_RULE = "When the concern is the finite resolution, representable spacing or arithmetic accuracy imposed by a computing number format, interpret the context as machine precision."
}
CORE_CONCEPTS {
MachinePrecision = "Finite numerical resolution available in a computational arithmetic system."
MachineEpsilon = "Spacing-related quantity near one, commonly defined as the smallest positive value such that one plus that value differs from one in machine arithmetic."
UnitRoundoff = "Maximum relative rounding-error scale used in standard floating-point analysis under specified rounding assumptions."
ULP = "Spacing unit between neighbouring representable floating-point numbers at a given magnitude."
SignificandPrecision = "Number of significant radix digits or bits retained in a floating-point significand."
ErrorFloor = "Accuracy limit below which finite-precision effects prevent further useful numerical improvement."
MixedPrecision = "Use of more than one arithmetic precision within a computational procedure."
SignificantDigits = "Digits carrying meaningful numerical information relative to the represented value."
}
RELATIONS {
MachinePrecision --is_child_of--> NumericalMethods
MachinePrecision --is_property_of--> FloatingPointFormat
MachineEpsilon --characterises--> SpacingNearOne
UnitRoundoff --bounds_under_conditions--> RelativeRoundingError
ULP --measures--> LocalRepresentableSpacing
Radix --determines_with_precision--> NumberSpacingStructure
Significand --determines--> RelativeResolution
ExponentRange --determines--> MagnitudeRange
FinitePrecision --introduces--> RoundoffError
SubnormalNumber --extends--> NearZeroRange
HigherPrecision --reduces_under_conditions--> RoundoffError
MixedPrecision --combines--> PrecisionFormats
AccumulationPrecision --affects--> SummationAccuracy
ConditionNumber --amplifies--> InputAndRoundoffPerturbations
NumericalStability --controls--> ErrorAmplification
ErrorFloor --may_cause--> ConvergenceStagnation
PrecisionStudy --tests--> PrecisionSensitivity
HighPrecisionReference --supports--> NumericalVerification
}
OPERATORS {
MACHINE_EPSILON() := smallest_eps_positive_such_that_fl(1+eps)>1
UNIT_ROUNDOFF(beta,p) := approximately_0.5*beta^(1-p)_under_round_to_nearest
STANDARD_ROUNDING_MODEL(x,delta,u) := fl(x)=x*(1+delta), |delta|<=u
ULP_AT(x,F) := spacing_between_adjacent_representable_values_near_x
RELATIVE_SPACING(x) := ULP_AT(x)/|x|
DIGITS_FROM_BITS(p) := approximately p*log10(2)
BITS_FROM_DIGITS(d) := approximately d*log2(10)
PRECISION_ERROR_BOUND(k,u) := gamma_k=(k*u)/(1-k*u) when k*u<1
}
AXIOMS {
A1 = "Machine precision is determined by the arithmetic representation, not by displayed decimal formatting."
A2 = "Machine epsilon and unit roundoff are related but convention-dependent quantities and must not be conflated."
A3 = "Floating-point spacing varies with magnitude."
A4 = "Finite significand precision creates unavoidable representation and rounding error."
A5 = "Subnormal numbers alter relative precision near zero."
A6 = "Increasing arithmetic precision reduces roundoff effects but does not eliminate discretisation, iteration or model error."
A7 = "A tolerance below the attainable precision floor can cause stagnation or unnecessary computation."
A8 = "Machine-precision claims require explicit format, radix, precision and rounding semantics."
}
REASONING {
R1_CONTEXT = identify(number_format,radix,significand_precision,exponent_range,rounding_mode)
R2_EPSILON = determine(machine_epsilon_and_unit_roundoff_conventions)
R3_SPACING = compute_or_estimate_ULP_and_relative_spacing_at_target_magnitude)
R4_ERROR = estimate(representation_and_rounding_error)
R5_RANGE = analyse(normal_subnormal_overflow_and_underflow_regions)
R6_ALGORITHM = assess(operation_count,cancellation,conditioning_and_error_growth)
R7_TOLERANCE = compare_requested_tolerance_with_attainable_precision)
R8_MIXED = if_mixed_precision track(storage_compute_and_accumulation_precision)
R9_STUDY = if_accuracy_sensitive perform_precision_sweep_or_high_precision_reference)
R10_VALIDATION = verify_expected_digits_error_floor_and_reproducibility)
}
CONSTRAINTS {
C1 = "Machine epsilon definitions vary across literature and software environments."
C2 = "Relative precision is approximately uniform for normal floating-point values but changes in the subnormal range."
C3 = "More displayed digits do not imply more stored precision."
C4 = "A high-precision format cannot correct an ill-conditioned mathematical problem by itself."
C5 = "Cancellation can destroy significant digits even when the underlying format has high precision."
C6 = "Accumulating low-precision values in higher precision can improve accuracy but does not recover information already lost."
C7 = "Mixed-precision conversions can introduce additional rounding."
C8 = "Tolerance selection should account for scale, conditioning and arithmetic precision."
C9 = "Bitwise reproducibility can depend on operation order even at fixed precision."
C10 = "Precision studies must separate roundoff effects from discretisation and iteration error."
}
SEMANTIC_EQUIVALENCE {
"MachinePrecision" <=> "ArithmeticMachinePrecision"
"UnitInLastPlace" <=> "ULP"
"DenormalNumber" <=> "SubnormalNumber"
"MultiplePrecision" <=> "ArbitraryPrecisionInGeneralContext"
"RoundoffFloor" <=> "FinitePrecisionErrorFloor"
}
VALIDATION {
V1 = "Arithmetic format and radix are explicit."
V2 = "Significand precision is explicit."
V3 = "Machine epsilon convention is documented."
V4 = "Unit roundoff convention is documented separately."
V5 = "ULP spacing is evaluated at the relevant magnitude."
V6 = "Normal and subnormal ranges are distinguished."
V7 = "Requested tolerances are compared with attainable precision."
V8 = "Mixed-precision stages identify storage, compute and accumulation precision."
V9 = "Precision sweeps are used when roundoff sensitivity is material."
V10 = "High-precision references are used where feasible for verification."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
MACHINE_PRECISION_DEFINITION = 0.99
MACHINE_EPSILON_REASONING = 0.99
UNIT_ROUNDOFF_REASONING = 0.99
ULP_REASONING = 0.99
SIGNIFICAND_REASONING = 0.99
SUBNORMAL_REASONING = 0.99
MIXED_PRECISION_REASONING = 0.98
ERROR_FLOOR_REASONING = 0.98
POLICY = "Reduce confidence when arithmetic format, radix, significand precision, epsilon convention, rounding mode, magnitude range or mixed-precision stages are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch, OntologyGrounding, MachinePrecisionReasoning,
MachineEpsilonReasoning, UnitRoundoffReasoning, ULPReasoning,
FloatingPointSpacingReasoning, SignificandPrecisionReasoning,
SignificantDigitsReasoning, SubnormalReasoning, RoundoffFloorReasoning,
MixedPrecisionReasoning, AccumulationPrecisionReasoning,
ToleranceReasoning, PrecisionStudyReasoning, NumericalErrorReasoning,
NumericalStabilityReasoning, NumericalConvergenceReasoning,
KnowledgeGraphConstruction, RetrievalAugmentation, RecursiveInference
]
NORMALISE {
"machine precision" -> MachinePrecision
"machine epsilon" -> MachineEpsilon
"unit roundoff" -> UnitRoundoff
"ULP" -> UnitInLastPlace
"denormal" -> SubnormalNumber
"mixed precision" -> MixedPrecision
"precision floor" -> ErrorFloor
}
}
EXECUTION_RULES {
E1 = "If finite arithmetic resolution is central, activate MachinePrecisionOntology."
E2 = "If epsilon is referenced, determine the exact machine-epsilon or unit-roundoff convention."
E3 = "If local representable spacing matters, compute or reason with ULP at the target magnitude."
E4 = "If values approach zero, distinguish normal and subnormal precision."
E5 = "If convergence stalls near a small error, test for a finite-precision error floor."
E6 = "If tolerances are extremely small, compare them with scale, conditioning and machine precision."
E7 = "If mixed precision is used, track storage, compute and accumulation formats separately."
E8 = "If roundoff sensitivity is uncertain, perform a precision study."
E9 = "Any machine-precision claim should identify the arithmetic format and convention used."
}
RECURSION {
ENTRY = MachinePrecision
EXPAND(MachinePrecision) -> [
FinitePrecision, FloatingPointPrecision, Precision, NumericalPrecision,
MachineEpsilon, UnitRoundoff, ULP, UnitInLastPlace, Radix, Base,
Significand, Mantissa, SignificandBits, SignificandDigits, Exponent,
ExponentRange, NormalNumber, SubnormalNumber, FloatingPointNumber,
BinaryFloatingPoint, DecimalFloatingPoint, Rounding, RoundingMode,
RoundToNearest, TiesToEven, CorrectRounding, RepresentationError,
RoundoffError, RelativeRoundoffError, QuantisationError, Spacing,
FloatingPointSpacing, NextRepresentableNumber, PrecisionLimit,
ResolutionLimit, ErrorFloor, RoundoffFloor, LossOfSignificance,
Cancellation, Overflow, Underflow, GradualUnderflow, HalfPrecision,
SinglePrecision, DoublePrecision, ExtendedPrecision,
QuadruplePrecision, MixedPrecision, ArbitraryPrecision,
PrecisionPromotion, PrecisionDemotion, PrecisionConversion,
AccumulationPrecision, StoragePrecision, ComputePrecision,
IterativeRefinement, SignificantDigits, DecimalDigitsOfPrecision,
BitsOfPrecision, ConditionNumber, NumericalStability, NumericalError,
NumericalConvergence, Stagnation, Tolerance, PrecisionStudy,
PrecisionSweep, ReferencePrecision, HighPrecisionReference,
Verification, Reproducibility
]
STOP_CONDITION = "Stop when format, precision, epsilon convention, spacing, range, error floor, mixed-precision structure and validation are sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Numerical Methods"
RELATED_ONTOLOGIES = [
"Numerical Methods",
"Floating Point Arithmetic Ontology",
"Numerical Error Ontology",
"Numerical Stability Ontology 2",
"Numerical Convergence Ontology",
"Numerical Analysis Ontology 2",
"Numerical Computation Ontology",
"Numerical Linear Algebra Ontologies",
"Scientific Computing Ontology 2"
]
ROUTE_RULES = [
"Machine Precision -> Floating Point Arithmetic for representation and rounding semantics",
"Machine Precision -> Numerical Error for roundoff and error-floor semantics",
"Machine Precision -> Numerical Stability for finite-precision error amplification",
"Machine Precision -> Numerical Convergence for stagnation and attainable tolerance",
"Machine Precision -> Numerical Analysis for formal finite-precision analysis",
"Machine Precision -> Numerical Linear Algebra for mixed-precision solvers",
"Machine Precision -> Scientific Computing for precision-performance tradeoffs"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible precision formats, conventions or reasoning pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve machine-epsilon-versus-unit-roundoff distinction.",
"Preserve stored-precision-versus-displayed-digits distinction.",
"Preserve normal-versus-subnormal distinction.",
"Preserve storage-versus-compute-versus-accumulation precision distinction.",
"Preserve roundoff-versus-discretisation error distinction.",
"Preserve precision-versus-conditioning distinction.",
"Preserve machine-readable machine-precision semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION = "Machine precision describes the finite numerical resolution available to a computational arithmetic system."
EPSILON_SUMMARY = "Machine epsilon characterises representable spacing near one under a declared convention."
ROUNDING_SUMMARY = "Unit roundoff provides a standard scale for relative rounding error under specified assumptions."
ULP_SUMMARY = "ULP describes local spacing between adjacent representable floating-point values."
RANGE_SUMMARY = "Normal and subnormal values provide different relative-resolution behaviour across the representable range."
MIXED_PRECISION_SUMMARY = "Mixed-precision computation separates storage, computation and accumulation precision to balance accuracy and cost."
ERROR_FLOOR_SUMMARY = "Finite precision can create a practical error floor that limits useful convergence and tolerance selection."
VALIDATION_SUMMARY = "Machine-precision reasoning should be checked with explicit formats, conventions, precision sweeps and high-precision references."
}
FLOW {
INPUT
-> detect_machine_precision_context
-> identify_arithmetic_format_radix_significand_precision_exponent_range_and_rounding_mode
-> determine_machine_epsilon_and_unit_roundoff_conventions
-> compute_or_estimate_ULP_and_relative_spacing
-> classify_normal_subnormal_overflow_and_underflow_regions
-> estimate_representation_and_roundoff_error
-> analyse_conditioning_cancellation_and_error_growth
-> compare_requested_tolerance_with_attainable_precision
-> if_mixed_precision_track_storage_compute_and_accumulation_precision
-> perform_precision_sweep_or_high_precision_reference_if_required
-> route_to_floating_point_numerical_error_stability_convergence_analysis_computation_linear_algebra_or_scientific_computing_ontology
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Machine Precision Ontology defines finite numerical resolution in computational arithmetic. It supports machine epsilon and unit roundoff, ULP spacing, radix, significand bits and digits, exponent ranges, normal and subnormal numbers, binary and decimal floating-point formats, rounding modes, representation and roundoff error, quantisation and local spacing, precision limits and error floors, cancellation and loss of significance, overflow and underflow, half, single, double, extended and higher precision, mixed and arbitrary precision, precision promotion and conversion, storage, compute and accumulation precision, iterative refinement, significant decimal digits, conditioning, stability, convergence stagnation, tolerance selection, precision sweeps, high-precision references, verification and reproducibility."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-COMPUTATIONAL-MATHEMATICS-MACHINE-PRECISION-ONTOLOGY-V1"
}
}
END_FLOW
Download Code
Copy to Clipboard