Skip to content

homalg · FiniteAbelianGroupIntegralCohomologyPresentation

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

Worked example

The complete checked program Certify a complete presentation of the mod-two cohomology of C2 uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Certify a complete presentation of the mod-two cohomology of C2."""

from noether.groups import Permutation, PermutationGroup


def main() -> None:
    transposition = Permutation.from_images([1, 0])
    cyclic_two = PermutationGroup.from_generators(2, [transposition])
    truncation = cyclic_two.modular_cohomology(2, 2)
    truncation.verify()
    assert [truncation.dimension(degree) for degree in range(3)] == [1, 1, 1]

    complete = truncation.algebra_truncation().certify_symonds_universal_bound()
    complete.verify()
    assert complete.completion_strategy == "symonds_universal_bound"
    print(
        f"H^0..2(C2; F2) dimensions="
        f"{[truncation.dimension(degree) for degree in range(3)]}; "
        f"completion={complete.completion_strategy}"
    )


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/34_finite_group_cohomology.py.

homalg.FiniteAbelianGroupIntegralCohomologyPresentation

A family-theorem complete presentation of H*(BG; Z) for finite abelian G.

class FiniteAbelianGroupIntegralCohomologyPresentation

noether::homalg::FiniteAbelianGroupIntegralCohomologyPresentation · Direct Rust declaration

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

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:10 · validation/unit/homalg/test_finite_group_cohomology.py:110 · validation/unit/homalg/test_finite_group_cohomology.py:111

homalg.FiniteAbelianGroupIntegralCohomologyPresentation.additive_group

Compute additive group for this FiniteAbelianGroupIntegralCohomologyPresentation.

Detailed contract

Additive integral cohomology group in one degree.

(self, degree: int) -> FinitelyGeneratedAbelianGroup

noether::homalg::FiniteAbelianGroupIntegralCohomologyPresentation::additive_group · Direct Rust declaration

pub fn additive_group( &self, degree: usize, ) -> Result<FinitelyGeneratedAbelianGroup, EilenbergMacLaneError>
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/FiniteAbelianGroupIntegralCohomologyPresentation@1

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:119 · validation/unit/homalg/test_finite_group_cohomology.py:61 · validation/unit/homalg/test_finite_group_cohomology.py:82 · validation/unit/homalg/test_finite_group_cohomology.py:83 · validation/unit/topology/test_eilenberg_maclane.py:101 · validation/unit/topology/test_eilenberg_maclane.py:114

homalg.FiniteAbelianGroupIntegralCohomologyPresentation.classifying_space_cohomology

Return the classifying space cohomology recorded by this FiniteAbelianGroupIntegralCohomologyPresentation.

Detailed contract

Complete symbolic K(A,1) calculation retained as theorem evidence.

(self) -> EilenbergMacLaneIntegralCohomologyPresentation

noether::homalg::FiniteAbelianGroupIntegralCohomologyPresentation::classifying_space_cohomology · Direct Rust declaration

pub fn classifying_space_cohomology( &self, ) -> &EilenbergMacLaneIntegralCohomologyPresentation
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/FiniteAbelianGroupIntegralCohomologyPresentation@1

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:114 · validation/unit/homalg/test_finite_group_cohomology.py:39

homalg.FiniteAbelianGroupIntegralCohomologyPresentation.completion_strategy

Return the completion strategy recorded by this FiniteAbelianGroupIntegralCohomologyPresentation.

Detailed contract

The exact family theorem used to promote the presentation.

(self) -> Literal['finite_abelian_classifying_space']

noether::homalg::FiniteAbelianGroupIntegralCohomologyPresentation::completion_strategy · Direct Rust declaration

pub fn completion_strategy(&self) -> &'static str
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/FiniteAbelianGroupIntegralCohomologyPresentation@1

Executable usage: examples/34_finite_group_cohomology.py:17 · examples/34_finite_group_cohomology.py:21 · validation/unit/homalg/test_finite_group_cohomology.py:113 · validation/unit/homalg/test_finite_group_cohomology.py:175 · validation/unit/homalg/test_finite_group_cohomology.py:210 · validation/unit/homalg/test_finite_group_cohomology.py:38

homalg.FiniteAbelianGroupIntegralCohomologyPresentation.group

Return the group recorded by this FiniteAbelianGroupIntegralCohomologyPresentation.

Detailed contract

Concrete finite group whose classifying space is represented.

(self) -> PermutationGroup

noether::homalg::FiniteAbelianGroupIntegralCohomologyPresentation::group · Direct Rust declaration

pub fn group(&self) -> &PermutationGroup
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/FiniteAbelianGroupIntegralCohomologyPresentation@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

homalg.FiniteAbelianGroupIntegralCohomologyPresentation.invariant_factors

Return the invariant factors recorded by this FiniteAbelianGroupIntegralCohomologyPresentation.

Detailed contract

Canonical factors d_1 | ... | d_r of the finite abelian group.

(self) -> list[int]

noether::homalg::FiniteAbelianGroupIntegralCohomologyPresentation::invariant_factors · Direct Rust declaration

pub fn invariant_factors(&self) -> &[Integer]
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/FiniteAbelianGroupIntegralCohomologyPresentation@1

Executable usage: examples/04_smith_normal_form.py:15 · examples/04_smith_normal_form.py:17 · validation/unit/homalg/test_finite_group_cohomology.py:112 · validation/unit/homalg/test_finite_group_cohomology.py:37 · validation/unit/infra/test_repr_protocol.py:86 · validation/unit/infra/test_repr_protocol.py:88

homalg.FiniteAbelianGroupIntegralCohomologyPresentation.verify

Replay and verify the mathematical evidence carried by this FiniteAbelianGroupIntegralCohomologyPresentation.

Detailed contract

Recompute the abelian decomposition and complete K(A,1) result.

(self) -> None

noether::homalg::FiniteAbelianGroupIntegralCohomologyPresentation::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/FiniteAbelianGroupIntegralCohomologyPresentation@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