Skip to content

numthy · QadicRing

20 accepted declarations. Python and Rust forms, contracts, evidence, failure boundaries, and checked usages are kept together below.

Worked example

The complete checked program Use the fixed-precision Witt ring W(F_9) uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Use the fixed-precision Witt ring W(F_9)."""

from noether.numthy import FiniteField, QadicRing


def main() -> None:
    residue_field = FiniteField.extension(3, 2)
    witt_ring = QadicRing(residue_field, absolute_precision=4)
    residue = residue_field.generator() + residue_field.one()
    lift = witt_ring.teichmuller(residue)
    assert witt_ring.residue(lift) == residue
    assert lift**residue_field.order == lift
    print(f"Teichmuller({residue}) = {lift}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/11_qadic_witt_vectors.py.

numthy.QadicRing

The fixed-cap Witt ring W(F_q) / p^N.

QadicRing(residue_field: FiniteField, absolute_precision: int)

noether::numthy::QadicRing · Direct Rust declaration

pub struct QadicRing { /* private fields */ }
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/11_qadic_witt_vectors.py:10 · examples/11_qadic_witt_vectors.py:5 · examples/31_local_fields_and_precision.py:11 · examples/31_local_fields_and_precision.py:6 · validation/unit/commalg/test_acceptance_workload.py:21 · validation/unit/commalg/test_acceptance_workload.py:27

numthy.QadicRing.__call__

Coerce the supplied input through this context or mathematical map.

(self, value: int) -> QadicElement

noether::numthy::QadicRing · Python projection

Python projection convenience over this Rust mathematical type
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: validation/unit/infra/test_discovery.py:57 · validation/unit/infra/test_public_api_index.py:155 · validation/unit/infra/test_public_api_index.py:169

numthy.QadicRing.absolute_precision

Return the absolute precision recorded by this QadicRing.

Detailed contract

Immutable absolute precision cap N.

(self) -> int

noether::numthy::QadicRing::absolute_precision · Direct Rust declaration

pub fn absolute_precision(&self) -> u64
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/10_padic_hensel_lifting.py:10 · examples/11_qadic_witt_vectors.py:10 · examples/31_local_fields_and_precision.py:11 · validation/unit/commalg/test_acceptance_workload.py:26 · validation/unit/commalg/test_acceptance_workload.py:27 · validation/unit/commalg/test_context_tower_workload.py:111

numthy.QadicRing.cardinality

Compute cardinality for this QadicRing.

Detailed contract

Exact cardinality q^N of the truncated Witt ring.

(self) -> int

noether::numthy::QadicRing::cardinality · Direct Rust declaration

pub fn cardinality(&self) -> Integer
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/27_weight_characters.py:10 · validation/unit/commalg/test_residue_ring_facade.py:23 · validation/unit/groups/test_weight_characters.py:25 · validation/unit/numthy/test_finite_field_facade.py:29 · validation/unit/numthy/test_qadic_ring_facade.py:33 · validation/parity/combinatorics/test_poset_parity.py:59

numthy.QadicRing.coefficient_frobenius

Compute coefficient frobenius for this QadicRing.

Detailed contract

Checked lift of residue-field Frobenius on this Witt-ring presentation.

(self, exponent: int) -> QadicRingFrobenius

noether::numthy::QadicRing::coefficient_frobenius · Direct Rust declaration

pub fn coefficient_frobenius(&self, exponent: u64) -> QadicRingFrobenius
fn coefficient_frobenius(&self, exponent: u64) -> Self::Frobenius
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: validation/unit/commalg/test_power_series_facade.py:279 · validation/unit/commalg/test_power_series_facade.py:286 · validation/unit/numthy/test_padic_field_facade.py:109 · validation/unit/numthy/test_padic_ring_facade.py:132 · validation/unit/numthy/test_padic_ring_facade.py:138 · validation/unit/numthy/test_qadic_field_facade.py:125

numthy.QadicRing.coefficient_ring

Return the coefficient ring recorded by this QadicRing.

Detailed contract

Base p-adic integer ring supplying the power-basis coefficients.

(self) -> PadicRing

noether::numthy::QadicRing::coefficient_ring · Direct Rust declaration

pub fn coefficient_ring(&self) -> &PadicRing
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:115 · validation/unit/commalg/test_affine_normalization_facade.py:117 · validation/unit/commalg/test_affine_normalization_facade.py:119 · validation/unit/commalg/test_base_change.py:31 · validation/unit/commalg/test_base_change.py:53 · validation/unit/commalg/test_construction_algebras.py:19

numthy.QadicRing.divide_uniformizer_exact

Compute divide uniformizer exact for this QadicRing.

Detailed contract

Divide by p^exponent, requiring the quotient to remain integral.

(self, value: QadicElement, exponent: int) -> QadicElement

noether::numthy::QadicRing::divide_uniformizer_exact · Direct Rust declaration

pub fn divide_uniformizer_exact( &self, value: &QadicElement, exponent: u64, ) -> Result<QadicElement, QadicUniformizerDivisionError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: validation/unit/numthy/test_padic_field_facade.py:100 · validation/unit/numthy/test_padic_ring_facade.py:147 · validation/unit/numthy/test_padic_ring_facade.py:153 · validation/unit/numthy/test_qadic_field_facade.py:92 · validation/unit/numthy/test_qadic_ring_facade.py:84 · validation/unit/numthy/test_qadic_ring_facade.py:89

numthy.QadicRing.element_from_coefficients

Compute element from coefficients for this QadicRing.

Detailed contract

Construct an element from ascending Z_p coordinates in the declared q-adic power basis. Missing high coordinates are zero, and at most residue_degree coordinates may be supplied. Every coordinate must belong to this context’s exact coefficient ring.

(self, coefficients: list[PadicElement]) -> QadicElement

noether::numthy::QadicRing::element_from_coefficients · Direct Rust declaration

pub fn element_from_coefficients( &self, coefficients: &[PadicElement], ) -> Result<QadicElement, InvalidQadicCoordinatesError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/09_finite_field_isomorphisms.py:13 · validation/unit/commalg/test_base_change.py:92 · validation/unit/commalg/test_context_tower_workload.py:157 · validation/unit/linalg/test_semilinear_facade.py:37 · validation/unit/numthy/test_finite_field_facade.py:111 · validation/unit/numthy/test_finite_field_facade.py:144

numthy.QadicRing.from_json

Deserialize and revalidate a fixed-precision Witt-ring context.

(cls, value: str) -> QadicRing

noether::numthy::QadicRing::from_json · Direct Rust declaration

pub fn from_json(value: &str) -> Result<Self, NoetherError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: validation/unit/category/test_category.py:14 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106 · validation/unit/combin/test_graph_facade.py:25 · validation/unit/combinatorics/test_kashiwara_crystal.py:32

numthy.QadicRing.generator

Compute generator for this QadicRing.

Detailed contract

Distinguished Teichmüller lift of the residue-field power-basis generator.

(self) -> QadicElement

noether::numthy::QadicRing::generator · Direct Rust declaration

pub fn generator(&self) -> QadicElement
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/08_finite_field_extensions.py:10 · examples/08_finite_field_extensions.py:11 · examples/08_finite_field_extensions.py:12 · examples/08_finite_field_extensions.py:13 · examples/08_finite_field_extensions.py:14 · examples/10_padic_hensel_lifting.py:12

numthy.QadicRing.one

Compute one for this QadicRing.

(self) -> QadicElement

noether::numthy::QadicRing::one · Direct Rust declaration

fn one(&self) -> Self::Element
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/02_ball_arithmetic.py:13 · examples/11_qadic_witt_vectors.py:11 · examples/24_homology_and_persistence.py:3 · examples/31_local_fields_and_precision.py:27 · validation/unit/combinatorics/test_poset.py:3 · validation/unit/commalg/test_acceptance_workload.py:37

numthy.QadicRing.precision_restriction

Compute precision restriction for this QadicRing.

Detailed contract

Construct a first-class restriction to a coarser fixed-cap Witt ring.

(self, absolute_precision: int) -> QadicRingRestriction

noether::numthy::QadicRing::precision_restriction · Direct Rust declaration

pub fn precision_restriction( &self, target_absolute_precision: u64, ) -> Result<QadicRingRestriction, QadicRestrictionError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/31_local_fields_and_precision.py:30 · validation/unit/commalg/test_power_series_facade.py:319 · validation/unit/homalg/test_padic_homology_facade.py:204 · validation/unit/numthy/test_padic_field_facade.py:58 · validation/unit/numthy/test_padic_field_facade.py:78 · validation/unit/numthy/test_padic_local_field_facade.py:101

numthy.QadicRing.prime

Return the prime recorded by this QadicRing.

Detailed contract

Residue characteristic p.

(self) -> int

noether::numthy::QadicRing::prime · Direct Rust declaration

pub fn prime(&self) -> &Integer
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/07_integer_factorization.py:12 · examples/12_number_field_ideals.py:16 · examples/12_number_field_ideals.py:19 · examples/18_finite_field_schemes.py:10 · examples/24_homology_and_persistence.py:22 · examples/33_simplicial_cohomology_operations.py:24

numthy.QadicRing.residue

Compute residue for this QadicRing.

Detailed contract

Reduce an integral q-adic value to F_q.

(self, value: QadicElement) -> FiniteFieldElement

noether::numthy::QadicRing::residue · Direct Rust declaration

pub fn residue( &self, value: &QadicElement, ) -> Result<FiniteFieldElement, ContextMismatchError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/11_qadic_witt_vectors.py:11 · examples/11_qadic_witt_vectors.py:12 · examples/11_qadic_witt_vectors.py:13 · examples/11_qadic_witt_vectors.py:15 · examples/13_chinese_remainder_theorem.py:3 · examples/31_local_fields_and_precision.py:10

numthy.QadicRing.residue_degree

Return the residue degree recorded by this QadicRing.

Detailed contract

Residue degree [F_q : F_p].

(self) -> int

noether::numthy::QadicRing::residue_degree · Direct Rust declaration

pub fn residue_degree(&self) -> usize
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: validation/unit/numthy/test_acceptance_workload.py:59 · validation/unit/numthy/test_acceptance_workload.py:68 · validation/unit/numthy/test_acceptance_workload.py:69 · validation/unit/numthy/test_acceptance_workload.py:72 · validation/unit/numthy/test_number_field_facade.py:213 · validation/unit/numthy/test_number_field_facade.py:234

numthy.QadicRing.residue_field

Return the residue field recorded by this QadicRing.

Detailed contract

Residue field F_q, including its normalized defining presentation.

(self) -> FiniteField

noether::numthy::QadicRing::residue_field · Direct Rust declaration

pub fn residue_field(&self) -> &FiniteField
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/10_padic_hensel_lifting.py:14 · examples/11_qadic_witt_vectors.py:10 · examples/11_qadic_witt_vectors.py:11 · examples/11_qadic_witt_vectors.py:14 · examples/11_qadic_witt_vectors.py:9 · validation/unit/commalg/test_acceptance_workload.py:25

numthy.QadicRing.restrict

Compute restrict for this QadicRing.

Detailed contract

Explicitly discard high p-adic digits.

(self, value: QadicElement, absolute_precision: int) -> QadicElement

noether::numthy::QadicRing::restrict · Direct Rust declaration

pub fn restrict( &self, value: &QadicElement, absolute_precision: u64, ) -> Result<QadicElement, QadicRestrictionError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: validation/unit/commalg/test_local_algebra.py:93 · validation/unit/groups/test_weight_characters.py:48 · validation/unit/numthy/test_padic_local_field_facade.py:100 · validation/unit/numthy/test_padic_ring_facade.py:62 · validation/unit/numthy/test_qadic_ring_facade.py:48

numthy.QadicRing.teichmuller

Lift a residue-field element to its fixed-precision Teichmuller representative.

Detailed contract

Lift a residue-field value to its Teichmüller representative.

(self, value: FiniteFieldElement) -> QadicElement

noether::numthy::QadicRing::teichmuller · Direct Rust declaration

pub fn teichmuller( &self, value: &FiniteFieldElement, ) -> Result<QadicElement, ContextMismatchError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Dispatch / backing flint
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/11_qadic_witt_vectors.py:12 · validation/unit/commalg/test_acceptance_workload.py:33 · validation/unit/commalg/test_acceptance_workload.py:38 · validation/unit/commalg/test_context_tower_workload.py:101 · validation/unit/commalg/test_context_tower_workload.py:113 · validation/unit/infra/test_public_api_index.py:164

numthy.QadicRing.to_json

Serialize the verified residue-field presentation and precision.

Detailed contract

Serialize the residue-field presentation and absolute precision as typed JSON.

(self) -> str

noether::numthy::QadicRing::to_json · Direct Rust declaration

pub fn to_json(&self) -> Result<String, NoetherError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: validation/unit/category/test_category.py:14 · validation/unit/category/test_category.py:15 · validation/unit/combin/test_acceptance_workload.py:30 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106

numthy.QadicRing.zero

Compute zero for this QadicRing.

(self) -> QadicElement

noether::numthy::QadicRing::zero · Direct Rust declaration

fn zero(&self) -> Self::Element
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core
GIL attached / bounded
Semantic ID noether/numthy/QadicRing@1

Executable usage: examples/08_finite_field_extensions.py:11 · examples/10_padic_hensel_lifting.py:15 · examples/40_exterior_algebra.py:26 · examples/distributed/f2_linear_algebra.py:28 · examples/distributed/f2_linear_algebra.py:29 · examples/distributed/f2_linear_algebra.py:30