Skip to content

commalg · QuotientRingMap

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

Worked example

The complete checked program Apply and multiply canonical sparse exact operators uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Apply and multiply canonical sparse exact operators."""

from noether import Z
from noether.linalg import SparseMatrix, Vector


def main() -> None:
    operator = SparseMatrix.from_triplets(
        Z,
        (3, 3),
        [(0, 0, 2), (0, 2, -1), (1, 1, 3), (2, 0, 4)],
    )
    vector = Vector.from_values(Z, [5, 7, 11])
    image = operator.apply(vector)
    assert image.to_values() == [-1, 21, 20]
    assert (operator @ operator).nnz == 4
    print(f"A v = {image.to_values()}; nnz(A^2) = {(operator @ operator).nnz}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/05_sparse_exact_operators.py.

commalg.QuotientRingMap

A checked map between explicitly presented polynomial quotient rings.

class QuotientRingMap

noether::commalg::QuotientRingMap · Direct Rust declaration

pub struct QuotientRingMap<S, T, M>where S: CommutativeRing, T: CommutativeRing, M: CoefficientMap<Source = S, Target = T>,{ /* 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/QuotientRingMap@1

Executable usage: validation/unit/commalg/test_quotient_facade.py:115 · validation/unit/commalg/test_quotient_facade.py:15 · validation/unit/commalg/test_quotient_facade.py:87 · validation/unit/commalg/test_quotient_facade.py:93 · validation/unit/commalg/test_quotient_facade.py:96

commalg.QuotientRingMap.__call__

Coerce the supplied input through this context or mathematical map.

(self, value: QuotientElement[C]) -> QuotientElement[T]

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

commalg.QuotientRingMap.apply

Apply this QuotientRingMap to the supplied value.

Detailed contract

Apply the descended map and return the target’s canonical normal form.

(self, value: QuotientElement[C]) -> QuotientElement[T]

noether::commalg::QuotientRingMap::apply · Direct Rust declaration

pub fn apply( &self, value: &QuotientElement<PolynomialRing<R>>, ) -> Result<QuotientElement<PolynomialRing<Q>>, QuotientRingMapError>
fn apply( &self, value: &QuotientElement<PolynomialRing<R>>, ) -> Result<QuotientElement<PolynomialRing<Q>>, Self::Error>
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/QuotientRingMap@1

Executable usage: examples/05_sparse_exact_operators.py:16 · validation/unit/commalg/test_local_algebra.py:94 · validation/unit/commalg/test_local_algebra.py:97 · validation/unit/commalg/test_polynomial_facade.py:199 · validation/unit/commalg/test_quotient_facade.py:186 · validation/unit/groups/test_weight_characters.py:39

commalg.QuotientRingMap.base_map

Return the base map recorded by this QuotientRingMap.

Detailed contract

Checked map between the two ambient polynomial rings.

(self) -> PolynomialHomomorphism[C, Polynomial[T]]

noether::commalg::QuotientRingMap::base_map · Direct Rust declaration

pub fn base_map(&self) -> &M
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/QuotientRingMap@1

Executable usage: validation/unit/commalg/test_quotient_facade.py:111 · validation/unit/commalg/test_quotient_facade.py:113 · validation/unit/commalg/test_quotient_facade.py:84 · validation/unit/commalg/test_quotient_facade.py:86 · validation/unit/commalg/test_quotient_facade.py:90

commalg.QuotientRingMap.from_json

Deserialize and revalidate a QuotientRingMap from typed JSON.

Detailed contract

Deserialize and replay every endpoint and relation check.

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

noether::commalg::QuotientRingMap::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>, Q: for<'de> Deserialize<'de>, Q::Element: for<'de> Deserialize<'de>, M: 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/QuotientRingMap@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.QuotientRingMap.source

Return the source recorded by this QuotientRingMap.

Detailed contract

Exact source quotient context.

(self) -> QuotientRing[C]

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

pub fn source(&self) -> &QuotientRing<PolynomialRing<R>>
fn source(&self) -> &Self::Source
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/QuotientRingMap@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.QuotientRingMap.target

Return the target recorded by this QuotientRingMap.

Detailed contract

Exact target quotient context.

(self) -> QuotientRing[T]

noether::commalg::QuotientRingMap::target · Direct Rust declaration

pub fn target(&self) -> &QuotientRing<PolynomialRing<Q>>
fn target(&self) -> &Self::Target
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/QuotientRingMap@1

Executable usage: examples/09_finite_field_isomorphisms.py:10 · examples/09_finite_field_isomorphisms.py:11 · examples/30_modules_and_resolutions.py:33 · examples/30_modules_and_resolutions.py:38 · examples/31_local_fields_and_precision.py:27 · examples/36_affine_normalization.py:16

commalg.QuotientRingMap.to_json

Serialize this QuotientRingMap to its canonical typed JSON representation.

Detailed contract

Serialize the quotient endpoints and inducing ambient map.

(self) -> str

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

pub fn to_json(&self) -> Result<String, NoetherError>where R: Serialize, R::Element: Serialize, Q: Serialize, Q::Element: Serialize, M: 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/QuotientRingMap@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.QuotientRingMap.verify

Replay and verify the mathematical evidence carried by this QuotientRingMap.

Detailed contract

Replay endpoint and relation-vanishing checks.

(self) -> None

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

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