Skip to content

commalg · IdealReduction

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

Worked example

The complete checked program Split rational primes and factor an ideal in the Gaussian integers uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Split rational primes and factor an ideal in the Gaussian integers."""

from noether import Q
from noether.commalg import PolynomialRing
from noether.numthy import NumberField


def main() -> None:
    polynomials = PolynomialRing(Q, ["x"])
    field = NumberField(polynomials.generator("x") ** 2 + 1, name="i")
    order = field.maximal_order()
    primes = order.prime_ideals_above(5)
    assert len(primes) == 2
    assert all(prime.norm() == 5 for prime in primes)
    ideal = order.fractional_ideal([1 + field.generator])
    assert ideal.norm() == 2
    print(f"(5) splits into norms {[prime.norm() for prime in primes]}; N(1+i)={ideal.norm()}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/12_number_field_ideals.py.

commalg.IdealReduction

Exact normal-form and ideal-membership multiplier evidence.

class IdealReduction

noether::commalg::IdealReduction · Direct Rust declaration

pub struct IdealReduction<R: CommutativeRing> { /* 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/IdealReduction@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:23 · validation/unit/commalg/test_polynomial_ideal_facade.py:271 · validation/unit/commalg/test_polynomial_ideal_facade.py:277

commalg.IdealReduction.from_json

Deserialize and revalidate a IdealReduction from typed JSON.

Detailed contract

Deserialize and recompute canonical field-ideal reduction evidence. Deserialize and recompute canonical integral-ideal reduction evidence.

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

noether::commalg::IdealReduction::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>,
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/IdealReduction@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.IdealReduction.ideal

Return the ideal recorded by this IdealReduction.

Detailed contract

Canonical ideal against which the value was reduced.

(self) -> Ideal[PolynomialRing[C]]

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

pub fn ideal(&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/IdealReduction@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.IdealReduction.is_member

Test whether this IdealReduction is member.

Detailed contract

Whether this reduction proves ideal membership.

(self) -> bool

noether::commalg::IdealReduction::is_member · Direct Rust declaration

pub fn is_member(&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/IdealReduction@1

Executable usage: examples/30_modules_and_resolutions.py:31 · validation/unit/commalg/test_local_algebra.py:58 · validation/unit/commalg/test_polynomial_ideal_facade.py:274 · validation/unit/commalg/test_polynomial_ideal_facade.py:305 · validation/unit/commalg/test_prime_localization.py:45 · validation/unit/commalg/test_prime_localization.py:51

commalg.IdealReduction.multipliers

Return the multipliers recorded by this IdealReduction.

Detailed contract

Exact multipliers for the ideal’s canonical generators.

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

noether::commalg::IdealReduction::multipliers · Direct Rust declaration

pub fn multipliers(&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/IdealReduction@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:328 · validation/bench/magma_release.py:274 · validation/bench/magma_release.py:280 · validation/bench/magma_release.py:290 · validation/bench/magma_release.py:434 · validation/bench/magma_release.py:440

commalg.IdealReduction.remainder

Return the remainder recorded by this IdealReduction.

Detailed contract

Canonical normal form of the value.

(self) -> Polynomial[C]

noether::commalg::IdealReduction::remainder · Direct Rust declaration

pub fn remainder(&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/IdealReduction@1

Executable usage: examples/13_chinese_remainder_theorem.py:3 · validation/unit/commalg/test_polynomial_facade.py:463 · validation/unit/commalg/test_polynomial_facade.py:484 · validation/unit/commalg/test_polynomial_facade.py:501 · validation/unit/commalg/test_polynomial_ideal_facade.py:275 · validation/unit/homalg/test_local_module.py:35

commalg.IdealReduction.to_json

Serialize this IdealReduction to its canonical typed JSON representation.

Detailed contract

Serialize exact normal-form evidence as typed JSON.

(self) -> str

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

pub fn to_json(&self) -> Result<String, NoetherError>where R: Serialize, R::Element: Serialize, Ideal<PolynomialRing<R>>: 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/IdealReduction@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.IdealReduction.value

Return the value recorded by this IdealReduction.

Detailed contract

Polynomial that was reduced.

(self) -> Polynomial[C]

noether::commalg::IdealReduction::value · Direct Rust declaration

pub fn value(&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/IdealReduction@1

Executable usage: examples/09_finite_field_isomorphisms.py:13 · examples/09_finite_field_isomorphisms.py:14 · examples/13_chinese_remainder_theorem.py:12 · examples/13_chinese_remainder_theorem.py:13 · examples/13_chinese_remainder_theorem.py:14 · examples/17_weighted_power_series.py:18

commalg.IdealReduction.verify

Replay and verify the mathematical evidence carried by this IdealReduction.

Detailed contract

Verify the exact multiplier identity and every polynomial context.

(self) -> None

noether::commalg::IdealReduction::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/IdealReduction@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