Skip to content

commalg · RationalUnivariateRepresentation

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

Worked example

The complete checked program Lift a simple square root from F_5 to fixed-precision Z_5 uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Lift a simple square root from F_5 to fixed-precision Z_5."""

from noether.commalg import PolynomialRing
from noether.numthy import PadicRing


def main() -> None:
    integers = PadicRing(5, absolute_precision=6)
    polynomials = PolynomialRing(integers, ["x"])
    x = polynomials.generator("x")
    equation = x**2 - 6
    root = integers.hensel_lift(equation, integers.residue_field(1))
    assert equation.evaluate([root]) == integers.zero()
    print(f"sqrt(6) in Z_5 mod 5^6 is represented by {int(root)}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/10_padic_hensel_lifting.py.

commalg.RationalUnivariateRepresentation

A verified one-parameter representation of a zero-dimensional ideal.

class RationalUnivariateRepresentation

noether::commalg::RationalUnivariateRepresentation · Direct Rust declaration

pub struct RationalUnivariateRepresentation<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/RationalUnivariateRepresentation@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:107 · validation/unit/commalg/test_polynomial_ideal_facade.py:32 · validation/unit/commalg/test_polynomial_ideal_facade.py:457 · validation/unit/commalg/test_polynomial_ideal_facade.py:98

commalg.RationalUnivariateRepresentation.coordinate_numerators

Coordinate numerators in source-variable order.

(self) -> list[Polynomial[CoefficientRing]]

noether::commalg::RationalUnivariateRepresentation::coordinate_numerators · Direct Rust declaration

pub fn coordinate_numerators(&self) -> &[Polynomial<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/RationalUnivariateRepresentation@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:102

commalg.RationalUnivariateRepresentation.denominator

Common coordinate denominator.

(self) -> Polynomial[CoefficientRing]

noether::commalg::RationalUnivariateRepresentation::denominator · Direct Rust declaration

pub fn denominator(&self) -> &Polynomial<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/RationalUnivariateRepresentation@1

Executable usage: validation/unit/commalg/test_curve_facade.py:51 · validation/unit/commalg/test_curve_facade.py:52 · validation/unit/commalg/test_curve_facade.py:93 · validation/unit/commalg/test_curve_facade.py:96 · validation/unit/commalg/test_local_algebra.py:30 · validation/unit/commalg/test_local_algebra.py:46

commalg.RationalUnivariateRepresentation.equation

Monic equation for the selected parameter.

(self) -> Polynomial[CoefficientRing]

noether::commalg::RationalUnivariateRepresentation::equation · Direct Rust declaration

pub fn equation(&self) -> &Polynomial<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/RationalUnivariateRepresentation@1

Executable usage: examples/10_padic_hensel_lifting.py:13 · examples/10_padic_hensel_lifting.py:14 · examples/10_padic_hensel_lifting.py:15 · validation/unit/commalg/test_curve_facade.py:53 · validation/unit/commalg/test_curve_facade.py:94 · validation/unit/numthy/test_number_field_facade.py:156

commalg.RationalUnivariateRepresentation.from_json

Restore and exactly reverify a typed representation.

Detailed contract

Deserialize and exactly reverify a typed representation.

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

noether::commalg::RationalUnivariateRepresentation::from_json · Direct Rust declaration

pub fn from_json(value: &str) -> Result<Self, NoetherError>where R: for<'de> Deserialize<'de>, R::Element: for<'de> Deserialize<'de>,
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/RationalUnivariateRepresentation@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.RationalUnivariateRepresentation.is_reduced

Whether the represented quotient is reduced.

Detailed contract

Whether the quotient is reduced.

(self) -> bool

noether::commalg::RationalUnivariateRepresentation::is_reduced · Direct Rust declaration

pub fn is_reduced(&self) -> bool
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/RationalUnivariateRepresentation@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:105 · validation/unit/commalg/test_polynomial_ideal_facade.py:114 · validation/unit/commalg/test_polynomial_ideal_facade.py:1146 · validation/unit/commalg/test_polynomial_ideal_facade.py:455

commalg.RationalUnivariateRepresentation.linear_form

Coefficients of the selected source-coordinate linear form.

Detailed contract

Coefficients of the parameter as a linear form in source variables.

(self) -> list[Coefficient]

noether::commalg::RationalUnivariateRepresentation::linear_form · Direct Rust declaration

pub fn linear_form(&self) -> &[R::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/RationalUnivariateRepresentation@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:104 · validation/bench/macaulay2_core.py:379 · validation/bench/macaulay2_core.py:394 · validation/bench/macaulay2_core.py:400

commalg.RationalUnivariateRepresentation.parameter_ring

Canonical univariate parameter context.

Detailed contract

Canonical univariate context with parameter named t.

(self) -> PolynomialRing[CoefficientRing]

noether::commalg::RationalUnivariateRepresentation::parameter_ring · Direct Rust declaration

pub fn parameter_ring(&self) -> &PolynomialRing<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/RationalUnivariateRepresentation@1

Executable usage: validation/unit/commalg/test_normalization_facade.py:35 · validation/unit/commalg/test_normalization_facade.py:60 · validation/unit/commalg/test_normalization_facade.py:61 · validation/unit/commalg/test_normalization_facade.py:63 · validation/unit/commalg/test_polynomial_ideal_facade.py:100 · validation/unit/commalg/test_polynomial_ideal_facade.py:103

commalg.RationalUnivariateRepresentation.quotient_dimension

Vector-space dimension of the quotient algebra.

Detailed contract

Vector-space dimension of the represented quotient algebra.

(self) -> int

noether::commalg::RationalUnivariateRepresentation::quotient_dimension · Direct Rust declaration

pub fn quotient_dimension(&self) -> usize
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/RationalUnivariateRepresentation@1

Executable usage: validation/unit/commalg/test_curve_facade.py:34 · validation/unit/commalg/test_kahler_differentials.py:99 · validation/unit/commalg/test_polynomial_ideal_facade.py:101 · validation/unit/commalg/test_polynomial_ideal_facade.py:113 · validation/unit/commalg/test_polynomial_ideal_facade.py:1178 · validation/unit/commalg/test_polynomial_ideal_facade.py:454

commalg.RationalUnivariateRepresentation.real_solutions

Certified real solution boxes for a rational RUR.

Detailed contract

Enclose all distinct real solutions at one Arb working precision. The parameter roots are isolated and refined exactly before ball evaluation. If a future imported RUR has a nonconstant denominator, refinement continues until its ball excludes zero or fails closed at a fixed bound.

(self: RationalUnivariateRepresentation[RationalField], precision: int) -> list[RealSolutionBox]

noether::commalg::RationalUnivariateRepresentation::real_solutions · Direct Rust declaration

pub fn real_solutions( &self, precision: u64, ) -> Result<Vec<RealSolutionBox>, RealSolutionError>
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/RationalUnivariateRepresentation@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:163

commalg.RationalUnivariateRepresentation.source

Source ideal represented by this value.

(self) -> Ideal[C]

noether::commalg::RationalUnivariateRepresentation::source · Direct Rust declaration

pub fn source(&self) -> &Ideal<PolynomialRing<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/RationalUnivariateRepresentation@1

Executable usage: examples/09_finite_field_isomorphisms.py:11 · examples/09_finite_field_isomorphisms.py:13 · examples/09_finite_field_isomorphisms.py:9 · examples/30_modules_and_resolutions.py:34 · examples/30_modules_and_resolutions.py:37 · validation/unit/category/test_acceptance_workload.py:25

commalg.RationalUnivariateRepresentation.to_json

Canonical typed JSON representation.

Detailed contract

Serialize this verified representation as typed JSON.

(self) -> str

noether::commalg::RationalUnivariateRepresentation::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/RationalUnivariateRepresentation@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.RationalUnivariateRepresentation.verify

Recompute and exactly verify the representation.

Detailed contract

Recheck the quotient dimension, primitive-element relation, every source equation, and the reducedness claim exactly.

(self) -> None

noether::commalg::RationalUnivariateRepresentation::verify · Direct Rust declaration

pub fn verify(&self) -> Result<(), GroebnerError>
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/RationalUnivariateRepresentation@1

Executable usage: examples/01_bezout_certificates.py:10 · examples/01_bezout_certificates.py:3 · examples/03_exact_linear_systems.py:13 · examples/03_exact_linear_systems.py:3 · examples/04_smith_normal_form.py:12 · examples/06_shortest_lattice_vectors.py:12