commalg · QuotientRing¶
23 accepted declarations. Python and Rust forms, contracts, evidence, failure boundaries, and checked usages are kept together below.
Worked example¶
The complete checked program Normalize the cusp y^2=x^3 with exact conductor evidence uses this API directly.
# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Normalize the cusp y^2=x^3 with exact conductor evidence."""
from noether import Q
from noether.commalg import PolynomialRing
def main() -> None:
ring = PolynomialRing(Q, ["x", "y"])
x, y = ring.generators()
cusp = ring.ideal([y**2 - x**3])
normalization = cusp.normalization()
normalization.verify()
target = normalization.normal_algebra.base_ring
t = target.generator(0)
assert normalization.coordinate_images == [t**2, t**3]
assert normalization.source_conductor == ring.ideal([x, y])
assert not normalization.is_normal
print(
f"cusp normalization: x -> t^2, y -> t^3; proof={normalization.proof_kind}, conductor=(x,y)"
)
if __name__ == "__main__":
main()
Run it with .venv/bin/python examples/36_affine_normalization.py.
commalg.QuotientRing¶
An exact polynomial quotient ring with presentation-exact identity.
noether::commalg::QuotientRing · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: validation/unit/commalg/test_quotient_facade.py:14 · validation/unit/commalg/test_quotient_facade.py:192 · validation/unit/commalg/test_quotient_facade.py:28 · validation/unit/commalg/test_quotient_facade.py:41 · validation/unit/commalg/test_quotient_facade.py:58 · validation/unit/infra/test_public_api_index.py:192
commalg.QuotientRing.__call__¶
Coerce the supplied input through this context or mathematical map.
noether::commalg::QuotientRing · Python projection
| 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/QuotientRing@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.QuotientRing.base_ring¶
Ambient polynomial ring before taking the quotient.
Detailed contract
Ambient commutative ring before taking the quotient.
noether::commalg::QuotientRing::base_ring · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: examples/36_affine_normalization.py:16 · validation/unit/commalg/test_affine_normalization_facade.py:100 · validation/unit/commalg/test_affine_normalization_facade.py:107 · validation/unit/commalg/test_affine_normalization_facade.py:25 · validation/unit/commalg/test_affine_normalization_facade.py:68 · validation/unit/commalg/test_affine_normalization_facade.py:71
commalg.QuotientRing.conormal_sequence_from_generators¶
Exact conormal sequence for a possibly redundant equation list.
Detailed contract
Present I/I^2 and its conormal map using an explicit equation list. Unlike the complete-intersection constructor this accepts redundant generators: their exact syzygies remain visible in the returned conormal module. The equations must generate this algebra’s defining ideal exactly.
noether::commalg::QuotientRing::conormal_sequence_from_generators · Direct Rust declaration
| 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 | released |
| Semantic ID | noether/commalg/QuotientRing@1 |
Executable usage: validation/unit/commalg/test_kahler_differentials.py:117 · validation/unit/infra/test_public_api_index.py:245
commalg.QuotientRing.cotangent_complex¶
Proved two-term cotangent complex for the canonical equations.
Detailed contract
Construct the complete-intersection cotangent complex using the canonical reduced ideal generators.
noether::commalg::QuotientRing::cotangent_complex · Direct Rust declaration
| 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 | released |
| Semantic ID | noether/commalg/QuotientRing@1 |
Executable usage: examples/39_kahler_differentials.py:28 · validation/unit/commalg/test_kahler_differentials.py:146 · validation/unit/commalg/test_kahler_differentials.py:92 · validation/unit/infra/test_public_api_index.py:243
commalg.QuotientRing.cotangent_complex_from_generators¶
Proved two-term cotangent complex for an explicit equation list.
Detailed contract
Construct the complete-intersection cotangent complex from an explicit chosen equation list. The equations are first proved to generate this algebra’s canonical ideal. Redundant lists then fail the regular-sequence count check rather than producing a falsely free conormal term.
noether::commalg::QuotientRing::cotangent_complex_from_generators · Direct Rust declaration
| 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 | released |
| Semantic ID | noether/commalg/QuotientRing@1 |
Executable usage: validation/unit/commalg/test_kahler_differentials.py:122 · validation/unit/infra/test_public_api_index.py:244
commalg.QuotientRing.cotangent_space_at¶
Cotangent fiber at an explicit coefficient-field point.
Detailed contract
Cotangent fiber at one explicit rational or finite-field point.
noether::commalg::QuotientRing::cotangent_space_at · Direct Rust declaration
| 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 | released |
| Semantic ID | noether/commalg/QuotientRing@1 |
Executable usage: examples/39_kahler_differentials.py:22 · examples/39_kahler_differentials.py:23 · validation/unit/commalg/test_kahler_differentials.py:115 · validation/unit/commalg/test_kahler_differentials.py:132 · validation/unit/commalg/test_kahler_differentials.py:134 · validation/unit/commalg/test_kahler_differentials.py:144
commalg.QuotientRing.defining_ideal¶
Canonical defining ideal in the ambient polynomial ring.
Detailed contract
Canonical defining ideal in the ambient ring.
noether::commalg::QuotientRing::defining_ideal · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: validation/unit/commalg/test_acceptance_workload.py:107 · validation/unit/commalg/test_acceptance_workload.py:114 · validation/unit/commalg/test_affine_normalization_facade.py:108 · validation/unit/commalg/test_affine_normalization_facade.py:163 · validation/unit/commalg/test_affine_normalization_facade.py:182 · validation/unit/commalg/test_affine_normalization_facade.py:89
commalg.QuotientRing.degree¶
Compute degree for this QuotientRing.
Detailed contract
Standard-graded multiplicity.
noether::commalg::QuotientRing::degree · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: examples/14_weighted_polynomials.py:16 · examples/14_weighted_polynomials.py:18 · examples/15_groebner_twisted_cubic.py:15 · examples/15_groebner_twisted_cubic.py:28 · examples/31_local_fields_and_precision.py:37 · examples/33_simplicial_cohomology_operations.py:26
commalg.QuotientRing.dimension¶
Compute dimension for this QuotientRing.
Detailed contract
Krull dimension, with -1 for the zero ring.
noether::commalg::QuotientRing::dimension · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: examples/03_exact_linear_systems.py:15 · examples/03_exact_linear_systems.py:16 · examples/15_groebner_twisted_cubic.py:14 · examples/15_groebner_twisted_cubic.py:28 · examples/27_weight_characters.py:25 · examples/34_finite_group_cohomology.py:13
commalg.QuotientRing.element¶
Project one ambient polynomial to its canonical quotient normal form.
Detailed contract
Project an ambient polynomial to its canonical quotient element.
noether::commalg::QuotientRing::element · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: examples/19_permutation_groups.py:17 · examples/19_permutation_groups.py:18 · examples/30_modules_and_resolutions.py:3 · examples/38_exact_linear_systems.py:52 · examples/38_exact_linear_systems.py:56 · examples/38_exact_linear_systems.py:58
commalg.QuotientRing.finite_algebra¶
Compute finite algebra for this QuotientRing.
Detailed contract
Verified standard-monomial basis and multiplication operators for a finite quotient.
noether::commalg::QuotientRing::finite_algebra · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: validation/unit/commalg/test_quotient_facade.py:130
commalg.QuotientRing.from_json¶
Deserialize and revalidate a QuotientRing from typed JSON.
Detailed contract
Deserialize and revalidate the ambient ring and canonical defining ideal.
noether::commalg::QuotientRing::from_json · Direct Rust declaration
| 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/QuotientRing@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.QuotientRing.grading¶
Return the grading recorded by this QuotientRing.
Detailed contract
Ambient grading inherited by this quotient, when the defining ideal is homogeneous.
noether::commalg::QuotientRing::grading · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: examples/14_weighted_polynomials.py:10 · examples/14_weighted_polynomials.py:3 · validation/unit/commalg/test_base_change.py:23 · validation/unit/commalg/test_base_change.py:34 · validation/unit/commalg/test_construction_algebras.py:44 · validation/unit/commalg/test_context_tower_workload.py:42
commalg.QuotientRing.hilbert_numerator¶
Compute hilbert numerator for this QuotientRing.
Detailed contract
Dense standard-graded Hilbert numerator.
noether::commalg::QuotientRing::hilbert_numerator · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: examples/15_groebner_twisted_cubic.py:16 · validation/unit/commalg/test_monomial_ideal_facade.py:47 · validation/unit/commalg/test_monomial_ideal_facade.py:50 · validation/unit/commalg/test_polynomial_ideal_facade.py:203 · validation/unit/commalg/test_polynomial_ideal_facade.py:205 · validation/unit/commalg/test_quotient_facade.py:126
commalg.QuotientRing.hilbert_polynomial¶
Compute hilbert polynomial for this QuotientRing.
Detailed contract
Standard Hilbert polynomial in the canonical variable m.
noether::commalg::QuotientRing::hilbert_polynomial · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: validation/unit/commalg/test_monomial_ideal_facade.py:54 · validation/unit/commalg/test_polynomial_ideal_facade.py:212 · validation/unit/commalg/test_polynomial_ideal_facade.py:223 · validation/unit/commalg/test_polynomial_ideal_facade.py:246 · validation/unit/commalg/test_quotient_facade.py:129 · validation/unit/commalg/test_scheme_facade.py:38
commalg.QuotientRing.hilbert_series¶
Compute hilbert series for this QuotientRing.
Detailed contract
Exact Hilbert series computed from the canonical defining ideal.
noether::commalg::QuotientRing::hilbert_series · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: validation/unit/commalg/test_monomial_ideal_facade.py:48 · validation/unit/commalg/test_monomial_ideal_facade.py:86 · validation/unit/commalg/test_polynomial_ideal_facade.py:204 · validation/unit/commalg/test_quotient_facade.py:125 · validation/unit/homalg/test_module_facade.py:261 · validation/unit/homalg/test_module_facade.py:502
commalg.QuotientRing.induced_map¶
Descend an ambient polynomial map after checking every source relation.
Detailed contract
Descend a checked ambient-ring map to a target quotient. Construction verifies that every source defining relation maps to zero in target; failure never creates a partially checked map.
noether::commalg::QuotientRing::induced_map · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: validation/unit/commalg/test_quotient_facade.py:100 · validation/unit/commalg/test_quotient_facade.py:113 · validation/unit/commalg/test_quotient_facade.py:86 · validation/unit/commalg/test_rational_function_facade.py:123 · validation/unit/commalg/test_rational_function_facade.py:151 · validation/unit/homalg/test_module_facade.py:316
commalg.QuotientRing.is_graded¶
Test whether this QuotientRing is graded.
Detailed contract
Whether the defining ideal is homogeneous in the complete ambient grading.
noether::commalg::QuotientRing::is_graded · Direct Rust declaration
| 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/QuotientRing@1 |
Executable usage: validation/unit/commalg/test_construction_algebras.py:72 · validation/unit/commalg/test_quotient_facade.py:140 · validation/unit/commalg/test_quotient_facade.py:145 · validation/unit/commalg/test_quotient_facade.py:31
commalg.QuotientRing.kahler_differentials¶
Exact Kähler differentials over the coefficient field.
Detailed contract
Construct the exact module Omega_{A/C} for this affine algebra.
noether::commalg::QuotientRing::kahler_differentials · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Dispatch / backing | noether, groebner-kernel, module-core |
| GIL | released |
| Semantic ID | noether/commalg/QuotientRing@1 |
| Contexts | affine algebras over Q, affine algebras over finite fields |
| Evidence | KahlerDifferentials.verify, ConormalSequenceEvidence.verify |
| Failures | unsupported coefficient context, invalid quotient presentation |
Executable usage: examples/39_kahler_differentials.py:14 · validation/unit/commalg/test_kahler_differentials.py:110 · validation/unit/commalg/test_kahler_differentials.py:129 · validation/unit/commalg/test_kahler_differentials.py:176 · validation/unit/commalg/test_kahler_differentials.py:30 · validation/unit/commalg/test_kahler_differentials.py:57
commalg.QuotientRing.one¶
Compute one for this QuotientRing.
noether::commalg::QuotientRing::one · Direct Rust declaration
| 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/QuotientRing@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.QuotientRing.to_json¶
Serialize this QuotientRing to its canonical typed JSON representation.
Detailed contract
Serialize the complete ambient presentation and canonical defining ideal.
noether::commalg::QuotientRing::to_json · Direct Rust declaration
| 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/QuotientRing@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.QuotientRing.zero¶
Compute zero for this QuotientRing.
noether::commalg::QuotientRing::zero · Direct Rust declaration
| 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/QuotientRing@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