Skip to content

commalg · PolynomialPrimeLocalization

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

Worked example

The complete checked program Reduce and specialize an exact rational function uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Reduce and specialize an exact rational function."""

from fractions import Fraction

from noether import Q
from noether.commalg import RationalFunctionField


def main() -> None:
    functions = RationalFunctionField(Q, "x")
    x = functions.polynomial_ring.generator("x")
    reduced = functions.fraction(x**2 - 1, x - 1)
    assert reduced == functions(x + 1)
    assert (reduced + Fraction(1, 2)).specialize(2) == Fraction(7, 2)
    print(f"(x^2-1)/(x-1) = {reduced}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/16_rational_functions.py.

commalg.PolynomialPrimeLocalization

A polynomial ring localized at one certified prime ideal.

PolynomialPrimeLocalization(prime: PolynomialPrimeCertificate[_ProjectedIdealFieldContext])

noether::commalg::PolynomialPrimeLocalization · Direct Rust declaration

pub struct PolynomialPrimeLocalization<R: Field> { /* private fields */ }
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@1

Executable usage: validation/unit/commalg/test_prime_localization.py:10 · validation/unit/commalg/test_prime_localization.py:20 · validation/unit/commalg/test_prime_localization.py:30 · validation/unit/commalg/test_prime_localization.py:38

commalg.PolynomialPrimeLocalization.fraction

Compute fraction for this PolynomialPrimeLocalization.

Detailed contract

Construct and canonically reduce an admitted fraction.

(self, numerator: Polynomial[_ProjectedIdealFieldContext], denominator: Polynomial[_ProjectedIdealFieldContext]) -> PolynomialPrimeLocalElement[_ProjectedIdealFieldContext]

noether::commalg::PolynomialPrimeLocalization::fraction · Direct Rust declaration

pub fn fraction( &self, numerator: Polynomial<R>, denominator: Polynomial<R>, ) -> Result<PolynomialPrimeLocalElement<R>, PrimeLocalizationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@1

Executable usage: examples/16_rational_functions.py:14 · validation/unit/commalg/test_curve_facade.py:102 · validation/unit/commalg/test_local_algebra.py:42 · validation/unit/commalg/test_local_algebra.py:47 · validation/unit/commalg/test_local_algebra.py:91 · validation/unit/commalg/test_prime_localization.py:23

commalg.PolynomialPrimeLocalization.from_json

Deserialize and revalidate a PolynomialPrimeLocalization from typed JSON.

Detailed contract

Deserialize and revalidate a rational prime-local context. Deserialize and revalidate a finite-field prime-local context.

(cls, value: str) -> PolynomialPrimeLocalization[CoefficientRing]

noether::commalg::PolynomialPrimeLocalization::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, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@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

commalg.PolynomialPrimeLocalization.from_polynomial

Construct a PolynomialPrimeLocalization using polynomial.

Detailed contract

Embed an ambient polynomial.

(self, value: Polynomial[_ProjectedIdealFieldContext]) -> PolynomialPrimeLocalElement[_ProjectedIdealFieldContext]

noether::commalg::PolynomialPrimeLocalization::from_polynomial · Direct Rust declaration

pub fn from_polynomial( &self, value: Polynomial<R>, ) -> Result<PolynomialPrimeLocalElement<R>, PrimeLocalizationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@1

Executable usage: validation/unit/commalg/test_acceptance_workload.py:65 · validation/unit/commalg/test_local_algebra.py:27 · validation/unit/commalg/test_local_algebra.py:54 · validation/unit/commalg/test_local_algebra.py:56 · validation/unit/commalg/test_local_algebra.py:63 · validation/unit/commalg/test_local_algebra.py:79

commalg.PolynomialPrimeLocalization.generators

Compute generators for this PolynomialPrimeLocalization.

Detailed contract

Images of all ambient polynomial variables.

(self) -> list[PolynomialPrimeLocalElement[_ProjectedIdealFieldContext]]

noether::commalg::PolynomialPrimeLocalization::generators · Direct Rust declaration

pub fn generators( &self, ) -> Result<Vec<PolynomialPrimeLocalElement<R>>, PrimeLocalizationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@1

Executable usage: examples/14_weighted_polynomials.py:11 · examples/15_groebner_twisted_cubic.py:11 · examples/15_groebner_twisted_cubic.py:19 · examples/17_weighted_power_series.py:15 · examples/18_finite_field_schemes.py:12 · examples/30_modules_and_resolutions.py:20

commalg.PolynomialPrimeLocalization.ideal

Compute ideal for this PolynomialPrimeLocalization.

Detailed contract

Construct the canonical ideal generated by exact local fractions.

(self, generators: Iterable[PolynomialPrimeLocalElement[_ProjectedIdealFieldContext]]) -> PolynomialPrimeLocalIdeal[_ProjectedIdealFieldContext]

noether::commalg::PolynomialPrimeLocalization::ideal · Direct Rust declaration

pub fn ideal( &self, generators: &[PolynomialPrimeLocalElement<R>], ) -> Result<PolynomialPrimeLocalIdeal<R>, PrimeLocalizationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@1

Executable usage: examples/12_number_field_ideals.py:17 · examples/12_number_field_ideals.py:18 · examples/12_number_field_ideals.py:19 · examples/12_number_field_ideals.py:3 · examples/15_groebner_twisted_cubic.py:12 · examples/15_groebner_twisted_cubic.py:13

commalg.PolynomialPrimeLocalization.one

Compute one for this PolynomialPrimeLocalization.

Detailed contract

Multiplicative identity.

(self) -> PolynomialPrimeLocalElement[_ProjectedIdealFieldContext]

noether::commalg::PolynomialPrimeLocalization::one · Direct Rust declaration

pub fn one(&self) -> PolynomialPrimeLocalElement<R>
fn one(&self) -> Self::Element
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@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

commalg.PolynomialPrimeLocalization.prime

Return the prime recorded by this PolynomialPrimeLocalization.

Detailed contract

Exact certificate for the localization prime.

(self) -> PolynomialPrimeCertificate[_ProjectedIdealFieldContext]

noether::commalg::PolynomialPrimeLocalization::prime · Direct Rust declaration

pub fn prime(&self) -> &PolynomialPrimeCertificate<R>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@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

commalg.PolynomialPrimeLocalization.to_json

Serialize this PolynomialPrimeLocalization to its canonical typed JSON representation.

Detailed contract

Serialize the certified prime-local context.

(self) -> str

noether::commalg::PolynomialPrimeLocalization::to_json · Direct Rust declaration

pub fn to_json(&self) -> Result<String, NoetherError>where R: Serialize, R::Element: Serialize,
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@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

commalg.PolynomialPrimeLocalization.zero

Compute zero for this PolynomialPrimeLocalization.

Detailed contract

Additive identity.

(self) -> PolynomialPrimeLocalElement[_ProjectedIdealFieldContext]

noether::commalg::PolynomialPrimeLocalization::zero · Direct Rust declaration

pub fn zero(&self) -> PolynomialPrimeLocalElement<R>
fn zero(&self) -> Self::Element
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/PolynomialPrimeLocalization@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