Skip to content

topology · EilenbergMacLaneIntegralHomology

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

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

class EilenbergMacLaneIntegralHomology

noether::topology::EilenbergMacLaneIntegralHomology · Direct Rust declaration

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

Executable usage: validation/unit/topology/test_eilenberg_maclane.py:15 · validation/unit/topology/test_eilenberg_maclane.py:46 · validation/unit/topology/test_eilenberg_maclane.py:72

topology.EilenbergMacLaneIntegralHomology.from_json

Deserialize and revalidate a EilenbergMacLaneIntegralHomology from typed JSON.

Detailed contract

Deserialize and replay a complete bounded result.

(cls, value: str) -> EilenbergMacLaneIntegralHomology

noether::topology::EilenbergMacLaneIntegralHomology::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/EilenbergMacLaneIntegralHomology@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.EilenbergMacLaneIntegralHomology.group

Compute group for this EilenbergMacLaneIntegralHomology.

Detailed contract

Homology in one computed degree.

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

noether::topology::EilenbergMacLaneIntegralHomology::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/EilenbergMacLaneIntegralHomology@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.EilenbergMacLaneIntegralHomology.groups

Return the groups recorded by this EilenbergMacLaneIntegralHomology.

Detailed contract

Homology groups indexed by degree 0, ..., max_degree.

(self) -> list[FinitelyGeneratedAbelianGroup]

noether::topology::EilenbergMacLaneIntegralHomology::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/EilenbergMacLaneIntegralHomology@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.EilenbergMacLaneIntegralHomology.max_degree

Return the max degree recorded by this EilenbergMacLaneIntegralHomology.

Detailed contract

Largest degree included, inclusively.

(self) -> int

noether::topology::EilenbergMacLaneIntegralHomology::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/EilenbergMacLaneIntegralHomology@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.EilenbergMacLaneIntegralHomology.space

Return the space recorded by this EilenbergMacLaneIntegralHomology.

Detailed contract

Symbolic source space.

(self) -> EilenbergMacLaneSpace

noether::topology::EilenbergMacLaneIntegralHomology::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/EilenbergMacLaneIntegralHomology@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.EilenbergMacLaneIntegralHomology.strategy

Return the strategy recorded by this EilenbergMacLaneIntegralHomology.

Detailed contract

Exact mathematical route used by this result.

(self) -> Literal['trivial_space', 'classifying_space_kunneth', 'free_abelian_second_delooping']

noether::topology::EilenbergMacLaneIntegralHomology::strategy · Direct Rust declaration

pub fn strategy(&self) -> EilenbergMacLaneHomologyStrategy
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/EilenbergMacLaneIntegralHomology@1

Executable usage: validation/unit/linalg/test_exact_linear_algebra_facade.py:319 · validation/unit/linalg/test_exact_linear_algebra_facade.py:330 · validation/unit/linalg/test_exact_linear_algebra_facade.py:428 · validation/unit/linalg/test_exact_linear_algebra_facade.py:439 · validation/unit/topology/test_eilenberg_maclane.py:112 · validation/unit/topology/test_eilenberg_maclane.py:119

topology.EilenbergMacLaneIntegralHomology.to_json

Serialize this EilenbergMacLaneIntegralHomology to its canonical typed JSON representation.

Detailed contract

Serialize the groups and exact strategy as typed JSON.

(self) -> str

noether::topology::EilenbergMacLaneIntegralHomology::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/EilenbergMacLaneIntegralHomology@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.EilenbergMacLaneIntegralHomology.verify

Replay and verify the mathematical evidence carried by this EilenbergMacLaneIntegralHomology.

Detailed contract

Deterministically replay the exact formula through the recorded bound.

(self) -> None

noether::topology::EilenbergMacLaneIntegralHomology::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/EilenbergMacLaneIntegralHomology@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