Skip to content

commalg · PolynomialPrimeCertificate

19 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.PolynomialPrimeCertificate

Exact evidence that a polynomial ideal is prime.

class PolynomialPrimeCertificate

noether::commalg::PolynomialPrimeCertificate · Direct Rust declaration

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

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:1064 · validation/unit/commalg/test_polynomial_ideal_facade.py:1085 · validation/unit/commalg/test_polynomial_ideal_facade.py:1096 · validation/unit/commalg/test_polynomial_ideal_facade.py:1213 · validation/unit/commalg/test_polynomial_ideal_facade.py:1216 · validation/unit/commalg/test_polynomial_ideal_facade.py:27

commalg.PolynomialPrimeCertificate.affine_linear_pivots

Sorted leading pivot variables for an affine-linear prime.

(self) -> list[int] | None

noether::commalg::PolynomialPrimeCertificate::affine_linear_pivots · Direct Rust declaration

pub fn affine_linear_pivots(&self) -> Option<&[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/PolynomialPrimeCertificate@1

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

commalg.PolynomialPrimeCertificate.complete_intersection_codimension

Codimension in a smooth projective complete-intersection proof.

Detailed contract

Codimension of a smooth projective complete-intersection proof.

(self) -> int | None

noether::commalg::PolynomialPrimeCertificate::complete_intersection_codimension · Direct Rust declaration

pub fn complete_intersection_codimension(&self) -> Option<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/PolynomialPrimeCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:1059 · validation/unit/commalg/test_polynomial_ideal_facade.py:1110

commalg.PolynomialPrimeCertificate.coordinate_variables

Sorted coordinate indices generating a coordinate prime.

(self) -> list[int] | None

noether::commalg::PolynomialPrimeCertificate::coordinate_variables · Direct Rust declaration

pub fn coordinate_variables(&self) -> Option<&[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/PolynomialPrimeCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:1197 · validation/unit/commalg/test_polynomial_ideal_facade.py:1205 · validation/unit/commalg/test_polynomial_ideal_facade.py:1271 · validation/unit/commalg/test_polynomial_ideal_facade.py:760 · validation/unit/commalg/test_polynomial_ideal_facade.py:762

commalg.PolynomialPrimeCertificate.from_json

Deserialize and exactly reverify polynomial primality evidence.

Detailed contract

Deserialize and exactly reverify rational polynomial primality evidence. Deserialize and exactly reverify finite-field polynomial primality evidence.

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

noether::commalg::PolynomialPrimeCertificate::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/PolynomialPrimeCertificate@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.PolynomialPrimeCertificate.homogeneous_patch_prime

Prime certificate for the affine slice I + (x_i - 1).

Detailed contract

Prime certificate for the affine slice I + (x_i - 1).

(self) -> PolynomialPrimeCertificate[C] | None

noether::commalg::PolynomialPrimeCertificate::homogeneous_patch_prime · Direct Rust declaration

pub fn homogeneous_patch_prime(&self) -> Option<PolynomialPrimeCertificate<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/PolynomialPrimeCertificate@1

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

commalg.PolynomialPrimeCertificate.homogeneous_patch_saturation

Saturation proving injection into the selected affine localization.

Detailed contract

Recomputed I : x_i^infinity proving injection into the patch localization.

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

noether::commalg::PolynomialPrimeCertificate::homogeneous_patch_saturation · Direct Rust declaration

pub fn homogeneous_patch_saturation(&self) -> Option<&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/PolynomialPrimeCertificate@1

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

commalg.PolynomialPrimeCertificate.homogeneous_patch_variable

Homogeneous coordinate inverted by the affine-patch proof.

(self) -> int | None

noether::commalg::PolynomialPrimeCertificate::homogeneous_patch_variable · Direct Rust declaration

pub const fn homogeneous_patch_variable(&self) -> Option<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/PolynomialPrimeCertificate@1

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

commalg.PolynomialPrimeCertificate.ideal

Canonical polynomial ideal certified as prime.

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

noether::commalg::PolynomialPrimeCertificate::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/PolynomialPrimeCertificate@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.PolynomialPrimeCertificate.irreducible_factor

Irreducible generator when the hypersurface route applies.

(self) -> Polynomial[C] | None

noether::commalg::PolynomialPrimeCertificate::irreducible_factor · Direct Rust declaration

pub fn irreducible_factor(&self) -> Option<&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/PolynomialPrimeCertificate@1

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

commalg.PolynomialPrimeCertificate.jacobian_minors

Expected-codimension Jacobian minors in the projective proof.

Detailed contract

Jacobian minors in a smooth projective complete-intersection proof.

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

noether::commalg::PolynomialPrimeCertificate::jacobian_minors · Direct Rust declaration

pub fn jacobian_minors(&self) -> Option<&[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/PolynomialPrimeCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:1060 · validation/unit/commalg/test_polynomial_ideal_facade.py:1111

commalg.PolynomialPrimeCertificate.polynomial_graph_pivots

Sorted pivot variables for a polynomial-graph prime.

Detailed contract

Sorted pivot variables eliminated by a polynomial-graph prime.

(self) -> list[int] | None

noether::commalg::PolynomialPrimeCertificate::polynomial_graph_pivots · Direct Rust declaration

pub fn polynomial_graph_pivots(&self) -> Option<&[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/PolynomialPrimeCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:1036 · validation/unit/commalg/test_polynomial_ideal_facade.py:1043 · validation/unit/commalg/test_polynomial_ideal_facade.py:813 · validation/unit/commalg/test_polynomial_ideal_facade.py:856 · validation/unit/commalg/test_polynomial_ideal_facade.py:900 · validation/unit/commalg/test_polynomial_ideal_facade.py:907

commalg.PolynomialPrimeCertificate.projective_singular_saturation

Saturation proving that the projective singular locus is empty.

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

noether::commalg::PolynomialPrimeCertificate::projective_singular_saturation · Direct Rust declaration

pub fn projective_singular_saturation( &self, ) -> Option<&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/PolynomialPrimeCertificate@1

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

commalg.PolynomialPrimeCertificate.proof_kind

Canonical name of the exact primality proof route.

(self) -> str

noether::commalg::PolynomialPrimeCertificate::proof_kind · Direct Rust declaration

pub const fn proof_kind(&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/PolynomialPrimeCertificate@1

Executable usage: examples/36_affine_normalization.py:22 · validation/unit/commalg/test_affine_normalization_facade.py:128 · validation/unit/commalg/test_affine_normalization_facade.py:162 · validation/unit/commalg/test_affine_normalization_facade.py:216 · validation/unit/commalg/test_affine_normalization_facade.py:31 · validation/unit/commalg/test_affine_normalization_facade.py:60

commalg.PolynomialPrimeCertificate.rational_univariate_representation

Irreducible RUR when the zero-dimensional field route applies.

(self) -> RationalUnivariateRepresentation[C] | None

noether::commalg::PolynomialPrimeCertificate::rational_univariate_representation · Direct Rust declaration

pub fn rational_univariate_representation( &self, ) -> Option<&RationalUnivariateRepresentation<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/PolynomialPrimeCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:112 · validation/unit/commalg/test_polynomial_ideal_facade.py:1142 · validation/unit/commalg/test_polynomial_ideal_facade.py:1169 · validation/unit/commalg/test_polynomial_ideal_facade.py:1174 · validation/unit/commalg/test_polynomial_ideal_facade.py:1198 · validation/unit/commalg/test_polynomial_ideal_facade.py:151

commalg.PolynomialPrimeCertificate.singular_locus_ideal

Affine-cone singular-locus ideal in the projective proof.

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

noether::commalg::PolynomialPrimeCertificate::singular_locus_ideal · Direct Rust declaration

pub fn singular_locus_ideal(&self) -> Option<&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/PolynomialPrimeCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:1061 · validation/unit/commalg/test_polynomial_ideal_facade.py:1112

commalg.PolynomialPrimeCertificate.theorem

Exact theorem certifying the recorded ideal as prime.

Detailed contract

Exact theorem turning the retained evidence into a primality claim.

(self) -> str

noether::commalg::PolynomialPrimeCertificate::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/PolynomialPrimeCertificate@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.PolynomialPrimeCertificate.to_json

Serialize the complete primality evidence.

Detailed contract

Serialize the prime ideal and complete typed proof evidence.

(self) -> str

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

Independently recheck the complete primality evidence.

Detailed contract

Independently recheck the rational polynomial primality evidence. Independently recheck the finite-field polynomial primality evidence.

(self) -> None

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

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