Skip to content

commalg · ReducedAffineNormalization

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

Worked example

The complete checked program Project and reconstruct a residue class by the Chinese remainder theorem uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Project and reconstruct a residue class by the Chinese remainder theorem."""

from noether.commalg import ResidueRing


def main() -> None:
    ring = ResidueRing(360)
    decomposition = ring.crt()
    decomposition.verify()
    value = ring(347)
    components = decomposition.project(value)
    assert decomposition.reconstruct(components) == value
    print(f"347 mod 360 -> {[int(component) for component in components]}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/13_chinese_remainder_theorem.py.

commalg.ReducedAffineNormalization

Componentwise normalization of a reduced affine algebra.

class ReducedAffineNormalization

noether::commalg::ReducedAffineNormalization · Direct Rust declaration

pub struct ReducedAffineNormalization<R: Field + Display> { /* 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/ReducedAffineNormalization@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:14 · validation/unit/commalg/test_affine_normalization_facade.py:180 · validation/unit/commalg/test_affine_normalization_facade.py:198 · validation/unit/commalg/test_affine_normalization_facade.py:205

commalg.ReducedAffineNormalization.component_count

Return the component count recorded by this ReducedAffineNormalization.

Detailed contract

Number of normal-domain factors in the product normalization.

(self) -> int

noether::commalg::ReducedAffineNormalization::component_count · Direct Rust declaration

pub fn component_count(&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/ReducedAffineNormalization@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:184 · validation/unit/commalg/test_affine_normalization_facade.py:214 · validation/unit/commalg/test_affine_normalization_facade.py:226 · validation/unit/infra/test_macaulay2_benchmark_protocol.py:248 · validation/parity/u1_graph_core.py:35 · validation/parity/u1_graph_core.py:38

commalg.ReducedAffineNormalization.component_maps

Return the component maps recorded by this ReducedAffineNormalization.

Detailed contract

Projections A -> B_i of the finite map into the product normalization.

(self) -> list[QuotientRingMap[C, C]]

noether::commalg::ReducedAffineNormalization::component_maps · Direct Rust declaration

pub fn component_maps(&self) -> &[AffineNormalizationMap<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/ReducedAffineNormalization@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:186 · validation/unit/commalg/test_affine_normalization_facade.py:190 · validation/corpus/commalg/reducible-ring-normalization.py:19

commalg.ReducedAffineNormalization.components

Return the components recorded by this ReducedAffineNormalization.

Detailed contract

Normalizations of the irreducible components, in minimal-prime order.

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

noether::commalg::ReducedAffineNormalization::components · Direct Rust declaration

pub fn components(&self) -> &[AffineNormalization<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/ReducedAffineNormalization@1

Executable usage: examples/13_chinese_remainder_theorem.py:13 · examples/13_chinese_remainder_theorem.py:14 · examples/13_chinese_remainder_theorem.py:15 · examples/14_weighted_polynomials.py:15 · examples/14_weighted_polynomials.py:16 · examples/14_weighted_polynomials.py:17

commalg.ReducedAffineNormalization.conductor_theorem

Return the conductor theorem recorded by this ReducedAffineNormalization.

Detailed contract

Exact conductor identity certified by this value.

(self) -> str

noether::commalg::ReducedAffineNormalization::conductor_theorem · Direct Rust declaration

pub const fn conductor_theorem(&self) -> &'static str
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/ReducedAffineNormalization@1

commalg.ReducedAffineNormalization.from_json

Deserialize and revalidate a ReducedAffineNormalization from typed JSON.

Detailed contract

Deserialize and exactly reverify a reduced affine normalization.

(cls, value: str) -> ReducedAffineNormalization[RationalField | FiniteField]

noether::commalg::ReducedAffineNormalization::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/ReducedAffineNormalization@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.ReducedAffineNormalization.is_normal

Test whether this ReducedAffineNormalization is normal.

Detailed contract

Whether the source is already its product normalization.

(self) -> bool

noether::commalg::ReducedAffineNormalization::is_normal · Direct Rust declaration

pub fn is_normal(&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/ReducedAffineNormalization@1

Executable usage: examples/36_affine_normalization.py:20 · validation/unit/commalg/test_affine_normalization_facade.py:143 · validation/unit/commalg/test_affine_normalization_facade.py:187 · validation/unit/commalg/test_affine_normalization_facade.py:195 · validation/unit/commalg/test_affine_normalization_facade.py:32 · validation/unit/commalg/test_affine_normalization_facade.py:59

commalg.ReducedAffineNormalization.minimal_primes

Return the minimal primes recorded by this ReducedAffineNormalization.

Detailed contract

Complete certified minimal-prime decomposition of the source.

(self) -> MinimalPrimeDecomposition[C]

noether::commalg::ReducedAffineNormalization::minimal_primes · Direct Rust declaration

pub fn minimal_primes(&self) -> &MinimalPrimeDecomposition<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/ReducedAffineNormalization@1

Executable usage: validation/unit/commalg/test_acceptance_workload.py:69 · validation/unit/commalg/test_acceptance_workload.py:70 · validation/unit/commalg/test_acceptance_workload.py:75 · validation/unit/commalg/test_affine_normalization_facade.py:183 · validation/unit/commalg/test_polynomial_ideal_facade.py:1002 · validation/unit/commalg/test_polynomial_ideal_facade.py:1039

commalg.ReducedAffineNormalization.nonnormal_locus

Return the nonnormal locus recorded by this ReducedAffineNormalization.

Detailed contract

Closed source subscheme outside which normalization is an isomorphism.

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

noether::commalg::ReducedAffineNormalization::nonnormal_locus · Direct Rust declaration

pub fn nonnormal_locus(&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/ReducedAffineNormalization@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:193 · validation/unit/commalg/test_affine_normalization_facade.py:38

commalg.ReducedAffineNormalization.source

Return the source recorded by this ReducedAffineNormalization.

Detailed contract

Radical defining ideal of the source algebra.

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

noether::commalg::ReducedAffineNormalization::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/ReducedAffineNormalization@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.ReducedAffineNormalization.source_algebra

Return the source algebra recorded by this ReducedAffineNormalization.

Detailed contract

Source coordinate algebra A.

(self) -> QuotientRing[C]

noether::commalg::ReducedAffineNormalization::source_algebra · Direct Rust declaration

pub fn source_algebra(&self) -> &QuotientRing<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/ReducedAffineNormalization@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:182 · validation/unit/commalg/test_affine_normalization_facade.py:189 · validation/unit/commalg/test_affine_normalization_facade.py:41

commalg.ReducedAffineNormalization.source_conductor

Return the source conductor recorded by this ReducedAffineNormalization.

Detailed contract

Preimage in the source polynomial ring of the total conductor.

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

noether::commalg::ReducedAffineNormalization::source_conductor · Direct Rust declaration

pub fn source_conductor(&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/ReducedAffineNormalization@1

Executable usage: examples/36_affine_normalization.py:19 · validation/unit/commalg/test_affine_normalization_facade.py:103 · validation/unit/commalg/test_affine_normalization_facade.py:111 · validation/unit/commalg/test_affine_normalization_facade.py:168 · validation/unit/commalg/test_affine_normalization_facade.py:192 · validation/unit/commalg/test_affine_normalization_facade.py:193

commalg.ReducedAffineNormalization.target_conductor_factors

Return the target conductor factors recorded by this ReducedAffineNormalization.

Detailed contract

Projections of the conductor ideal to each normal target factor.

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

noether::commalg::ReducedAffineNormalization::target_conductor_factors · Direct Rust declaration

pub fn target_conductor_factors(&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/ReducedAffineNormalization@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:194

commalg.ReducedAffineNormalization.theorem

Return the theorem recorded by this ReducedAffineNormalization.

Detailed contract

Exact theorem certified by this value.

(self) -> str

noether::commalg::ReducedAffineNormalization::theorem · Direct Rust declaration

pub const fn theorem(&self) -> &'static str
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/ReducedAffineNormalization@1

Executable usage: examples/13_chinese_remainder_theorem.py:3 · validation/unit/commalg/test_polynomial_ideal_facade.py:1150 · validation/unit/commalg/test_polynomial_ideal_facade.py:507 · validation/unit/commalg/test_polynomial_ideal_facade.py:583 · validation/unit/commalg/test_polynomial_ideal_facade.py:659 · validation/unit/homalg/test_module_facade.py:509

commalg.ReducedAffineNormalization.to_json

Serialize this ReducedAffineNormalization to its canonical typed JSON representation.

Detailed contract

Serialize the complete product normalization and conductor evidence.

(self) -> str

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

Replay and verify the mathematical evidence carried by this ReducedAffineNormalization.

Detailed contract

Replay reducedness, component normalizations, product maps, and conductor evidence.

(self) -> None

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

pub fn verify(&self) -> Result<(), ReducedNormalizationError>
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/ReducedAffineNormalization@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