Skip to content

commalg · SplitCyclicPullback

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

Worked example

The complete checked program Compute and verify a Bézout certificate over the integers uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Compute and verify a Bézout certificate over the integers."""

from noether import Z


def main() -> None:
    identity = Z.extended_gcd(987_654_321, 123_456_789)
    identity.verify(Z, 987_654_321, 123_456_789)
    assert (
        identity.coefficient_a * 987_654_321 + identity.coefficient_b * 123_456_789 == identity.gcd
    )
    print(identity)


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/01_bezout_certificates.py.

commalg.SplitCyclicPullback

Verified splitting of a line pullback to a cyclic surface.

SplitCyclicPullback(cover: CyclicHypersurfaceCover[FiniteField], coordinate_images: Sequence[Polynomial[FiniteField]])

noether::commalg::SplitCyclicPullback · Direct Rust declaration

pub struct SplitCyclicPullback { /* 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/SplitCyclicPullback@1

Executable usage: validation/unit/commalg/test_surface_facade.py:16 · validation/unit/commalg/test_surface_facade.py:71

commalg.SplitCyclicPullback.branch_root

Return the branch root recorded by this SplitCyclicPullback.

Detailed contract

Deterministic polynomial m-th root of the restricted branch equation.

(self) -> Polynomial[FiniteField]

noether::commalg::SplitCyclicPullback::branch_root · Direct Rust declaration

pub fn branch_root(&self) -> &Polynomial<FiniteField>
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/SplitCyclicPullback@1

commalg.SplitCyclicPullback.component_count

Return the component count recorded by this SplitCyclicPullback.

Detailed contract

Number of distinct components of the split pullback.

(self) -> int

noether::commalg::SplitCyclicPullback::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/SplitCyclicPullback@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.SplitCyclicPullback.cover

Return the cover recorded by this SplitCyclicPullback.

Detailed contract

Cyclic surface carrying the split pullback.

(self) -> CyclicHypersurfaceCover[FiniteField]

noether::commalg::SplitCyclicPullback::cover · Direct Rust declaration

pub fn cover(&self) -> &CyclicHypersurfaceCover<FiniteField>
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/SplitCyclicPullback@1

Executable usage: validation/unit/commalg/test_surface_facade.py:38 · validation/unit/commalg/test_surface_facade.py:40 · validation/unit/commalg/test_surface_facade.py:43 · validation/unit/commalg/test_surface_facade.py:45 · validation/unit/commalg/test_surface_facade.py:61 · validation/unit/commalg/test_surface_facade.py:71

commalg.SplitCyclicPullback.divisor_rank_lower_bound

Compute divisor rank lower bound for this SplitCyclicPullback.

Detailed contract

Exact lower bound furnished by the nondegenerate component pairing.

(self) -> DivisorRankLowerBound

noether::commalg::SplitCyclicPullback::divisor_rank_lower_bound · Direct Rust declaration

pub fn divisor_rank_lower_bound( &self, ) -> Result<DivisorRankLowerBound, FrobeniusError>
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/SplitCyclicPullback@1

Executable usage: validation/unit/commalg/test_surface_facade.py:72

commalg.SplitCyclicPullback.from_json

Deserialize and revalidate a SplitCyclicPullback from typed JSON.

Detailed contract

Restore and exactly reverify a split pullback.

(cls, value: str) -> SplitCyclicPullback

noether::commalg::SplitCyclicPullback::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/SplitCyclicPullback@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.SplitCyclicPullback.intersection_matrix

Compute intersection matrix for this SplitCyclicPullback.

Detailed contract

Intersection pairing of the split components. If a=d/m, distinct components meet in the a zeros of the branch root. Since their sum is the pullback of a line and has intersection one with each component, diagonal entries are 1-(m-1)a.

(self) -> Matrix[IntegerRing]

noether::commalg::SplitCyclicPullback::intersection_matrix · Direct Rust declaration

pub fn intersection_matrix(&self) -> Result<Matrix<IntegerRing>, FrobeniusError>
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/SplitCyclicPullback@1

commalg.SplitCyclicPullback.line_parameterization

Return the line parameterization recorded by this SplitCyclicPullback.

Detailed contract

Affine-linear base coordinates as functions of t.

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

noether::commalg::SplitCyclicPullback::line_parameterization · Direct Rust declaration

pub fn line_parameterization(&self) -> &[Polynomial<FiniteField>]
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/SplitCyclicPullback@1

commalg.SplitCyclicPullback.restricted_branch

Return the restricted branch recorded by this SplitCyclicPullback.

Detailed contract

Exact restriction of the branch equation to the line.

(self) -> Polynomial[FiniteField]

noether::commalg::SplitCyclicPullback::restricted_branch · Direct Rust declaration

pub fn restricted_branch(&self) -> &Polynomial<FiniteField>
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/SplitCyclicPullback@1

commalg.SplitCyclicPullback.to_json

Serialize this SplitCyclicPullback to its canonical typed JSON representation.

Detailed contract

Serialize the parameterization and exact power identity.

(self) -> str

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

Replay and verify the mathematical evidence carried by this SplitCyclicPullback.

Detailed contract

Recompute the substitution and perfect-power certificate.

(self) -> None

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

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