Skip to content

homalg · GradedHomology

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

Worked example

The complete checked program Construct S4 natively and inspect its stabilizer chain consequences uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Construct S4 natively and inspect its stabilizer chain consequences."""

from noether.groups import Permutation, PermutationGroup


def main() -> None:
    group = PermutationGroup.from_generators(
        4,
        [Permutation.from_images([1, 0, 2, 3]), Permutation.from_images([1, 2, 3, 0])],
    )
    assert group.order == 24
    assert group.is_transitive
    assert group.stabilizer(0).order == 6
    random = group.uniform_random_element(seed=2026)
    assert random.element in group
    print(f"|S4|={group.order}; |Stab(0)|={group.stabilizer(0).order}; sample={random.element}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/19_permutation_groups.py.

homalg.GradedHomology

Checked homology groups in deterministic degree order.

class GradedHomology

noether::homalg::GradedHomology · Direct Rust declaration

pub struct GradedHomology<R: Ring> { /* private fields */ }
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, m4rst, m4rste, module-core, resolution-kernel, sparla
GIL attached / bounded
Semantic ID noether/homalg/GradedHomology@1

Executable usage: validation/unit/homalg/test_acceptance_workload.py:19 · validation/unit/homalg/test_acceptance_workload.py:8 · validation/unit/homalg/test_chain_complex.py:15 · validation/unit/homalg/test_chain_complex.py:65 · validation/unit/topology/test_simplicial_complex_facade.py:11 · validation/unit/topology/test_simplicial_complex_facade.py:259

homalg.GradedHomology.coefficient_context

Coefficient ring shared by every group.

Detailed contract

Coefficient context shared by every group.

(self) -> R

noether::homalg::GradedHomology::coefficient_context · Direct Rust declaration

pub fn coefficient_context(&self) -> &R
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, m4rst, m4rste, module-core, resolution-kernel, sparla
GIL attached / bounded
Semantic ID noether/homalg/GradedHomology@1

Executable usage: validation/unit/homalg/test_chain_complex.py:121 · validation/unit/homalg/test_chain_complex.py:66 · validation/unit/infra/test_macaulay2_benchmark_protocol.py:599 · validation/unit/infra/test_macaulay2_benchmark_protocol.py:689 · validation/unit/infra/test_macaulay2_benchmark_protocol.py:877 · validation/bench/groebner_compare.py:151

homalg.GradedHomology.get

Group in one represented degree, or None.

Detailed contract

Group in one degree, if that degree was explicitly present.

(self, degree: int) -> HomologyGroup[R] | None

noether::homalg::GradedHomology::get · Direct Rust declaration

pub fn get(&self, degree: i32) -> Option<&HomologyGroup<R>>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, m4rst, m4rste, module-core, resolution-kernel, sparla
GIL attached / bounded
Semantic ID noether/homalg/GradedHomology@1

Executable usage: examples/distributed/f2_linear_algebra.py:22 · examples/distributed/f2_linear_algebra.py:26 · examples/distributed/f2_linear_algebra.py:27 · validation/unit/commalg/test_groebner_verification_budget.py:36 · validation/unit/commalg/test_groebner_verification_budget.py:39 · validation/unit/commalg/test_groebner_verification_budget.py:41

homalg.GradedHomology.groups

Groups in increasing homological degree.

(self) -> list[HomologyGroup[R]]

noether::homalg::GradedHomology::groups · Direct Rust declaration

pub fn groups(&self) -> &[HomologyGroup<R>]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, m4rst, m4rste, module-core, resolution-kernel, sparla
GIL attached / bounded
Semantic ID noether/homalg/GradedHomology@1

Executable usage: examples/19_permutation_groups.py:5 · examples/20_conjugacy_classes.py:5 · examples/27_weight_characters.py:6 · examples/34_finite_group_cohomology.py:5 · examples/35_eilenberg_maclane_spaces.py:14 · examples/35_eilenberg_maclane_spaces.py:21

homalg.GradedHomology.verify

Recheck ordering, coefficient context, and all group witnesses.

Detailed contract

Recheck ordering, coefficient contexts, and every field-space witness. Recheck ordering, coefficient context, and every integral Smith claim.

(self) -> None

noether::homalg::GradedHomology::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, m4rst, m4rste, module-core, resolution-kernel, sparla
GIL attached / bounded
Semantic ID noether/homalg/GradedHomology@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