Skip to content

topology · EilenbergMacLaneIntegralCohomology

9 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.

topology.EilenbergMacLaneIntegralCohomology

Exact bounded additive integral cohomology of a symbolic K(A,n).

class EilenbergMacLaneIntegralCohomology

noether::topology::EilenbergMacLaneIntegralCohomology · Direct Rust declaration

pub struct EilenbergMacLaneIntegralCohomology { /* private fields */ }
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/EilenbergMacLaneIntegralCohomology@1

Executable usage: validation/unit/topology/test_eilenberg_maclane.py:13 · validation/unit/topology/test_eilenberg_maclane.py:55 · validation/unit/topology/test_eilenberg_maclane.py:75

topology.EilenbergMacLaneIntegralCohomology.from_json

Deserialize and revalidate a EilenbergMacLaneIntegralCohomology from typed JSON.

Detailed contract

Deserialize and replay an additive integral-cohomology result.

(cls, value: str) -> EilenbergMacLaneIntegralCohomology

noether::topology::EilenbergMacLaneIntegralCohomology::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, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/EilenbergMacLaneIntegralCohomology@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

topology.EilenbergMacLaneIntegralCohomology.group

Compute group for this EilenbergMacLaneIntegralCohomology.

Detailed contract

Additive cohomology in one computed degree.

(self, degree: int) -> FinitelyGeneratedAbelianGroup | None

noether::topology::EilenbergMacLaneIntegralCohomology::group · Direct Rust declaration

pub fn group(&self, degree: usize) -> Option<&FinitelyGeneratedAbelianGroup>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/EilenbergMacLaneIntegralCohomology@1

Executable usage: examples/19_permutation_groups.py:13 · examples/19_permutation_groups.py:14 · examples/19_permutation_groups.py:15 · examples/19_permutation_groups.py:16 · examples/19_permutation_groups.py:17 · examples/19_permutation_groups.py:18

topology.EilenbergMacLaneIntegralCohomology.groups

Return the groups recorded by this EilenbergMacLaneIntegralCohomology.

Detailed contract

Additive cohomology groups indexed by degree.

(self) -> list[FinitelyGeneratedAbelianGroup]

noether::topology::EilenbergMacLaneIntegralCohomology::groups · Direct Rust declaration

pub fn groups(&self) -> &[FinitelyGeneratedAbelianGroup]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/EilenbergMacLaneIntegralCohomology@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

topology.EilenbergMacLaneIntegralCohomology.homology

Return the homology recorded by this EilenbergMacLaneIntegralCohomology.

Detailed contract

Exact integral homology retained as universal-coefficient evidence.

(self) -> EilenbergMacLaneIntegralHomology

noether::topology::EilenbergMacLaneIntegralCohomology::homology · Direct Rust declaration

pub fn homology(&self) -> &EilenbergMacLaneIntegralHomology
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/EilenbergMacLaneIntegralCohomology@1

Executable usage: examples/28_steiner_categories.py:3 · examples/35_eilenberg_maclane_spaces.py:12 · examples/35_eilenberg_maclane_spaces.py:13 · examples/35_eilenberg_maclane_spaces.py:14 · examples/35_eilenberg_maclane_spaces.py:21 · validation/unit/homalg/test_chain_complex.py:111

topology.EilenbergMacLaneIntegralCohomology.max_degree

Return the max degree recorded by this EilenbergMacLaneIntegralCohomology.

Detailed contract

Inclusive exact degree bound.

(self) -> int

noether::topology::EilenbergMacLaneIntegralCohomology::max_degree · Direct Rust declaration

pub fn max_degree(&self) -> usize
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/EilenbergMacLaneIntegralCohomology@1

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:130 · validation/unit/homalg/test_finite_group_cohomology.py:152 · validation/unit/homalg/test_finite_group_cohomology.py:153 · validation/unit/homalg/test_finite_group_cohomology.py:173 · validation/unit/topology/test_eilenberg_maclane.py:48 · validation/parity/groups/test_finite_group_cohomology_hap_parity.py:41

topology.EilenbergMacLaneIntegralCohomology.space

Return the space recorded by this EilenbergMacLaneIntegralCohomology.

Detailed contract

Symbolic source space.

(self) -> EilenbergMacLaneSpace

noether::topology::EilenbergMacLaneIntegralCohomology::space · Direct Rust declaration

pub fn space(&self) -> &EilenbergMacLaneSpace
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/EilenbergMacLaneIntegralCohomology@1

Executable usage: examples/03_exact_linear_systems.py:3 · validation/unit/commalg/test_curve_facade.py:116 · validation/unit/commalg/test_curve_facade.py:123 · validation/unit/commalg/test_curve_facade.py:124 · validation/unit/commalg/test_curve_facade.py:126 · validation/unit/commalg/test_curve_facade.py:73

topology.EilenbergMacLaneIntegralCohomology.to_json

Serialize this EilenbergMacLaneIntegralCohomology to its canonical typed JSON representation.

Detailed contract

Serialize the additive groups and retained homology evidence as typed JSON.

(self) -> str

noether::topology::EilenbergMacLaneIntegralCohomology::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, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/EilenbergMacLaneIntegralCohomology@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

topology.EilenbergMacLaneIntegralCohomology.verify

Replay and verify the mathematical evidence carried by this EilenbergMacLaneIntegralCohomology.

Detailed contract

Replay homology and the integral universal coefficient calculation.

(self) -> None

noether::topology::EilenbergMacLaneIntegralCohomology::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, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/EilenbergMacLaneIntegralCohomology@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