Skip to content

homalg · FiniteAbelianGroupCohomologyPresentation

10 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.FiniteAbelianGroupCohomologyPresentation

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

class FiniteAbelianGroupCohomologyPresentation

noether::homalg::FiniteAbelianGroupCohomologyPresentation · Direct Rust declaration

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

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:35 · validation/unit/homalg/test_finite_group_cohomology.py:36 · validation/unit/homalg/test_finite_group_cohomology.py:9

homalg.FiniteAbelianGroupCohomologyPresentation.classifying_space_cohomology

Return the classifying space cohomology recorded by this FiniteAbelianGroupCohomologyPresentation.

Detailed contract

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

(self) -> EilenbergMacLaneModularCohomology

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

pub fn classifying_space_cohomology(&self) -> &EilenbergMacLaneModularCohomology
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/FiniteAbelianGroupCohomologyPresentation@1

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

homalg.FiniteAbelianGroupCohomologyPresentation.completion_strategy

Return the completion strategy recorded by this FiniteAbelianGroupCohomologyPresentation.

(self) -> Literal['finite_abelian_classifying_space']

noether::homalg::FiniteAbelianGroupCohomologyPresentation · Python projection

Python projection convenience over this Rust mathematical type
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/FiniteAbelianGroupCohomologyPresentation@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.FiniteAbelianGroupCohomologyPresentation.field

Return the field recorded by this FiniteAbelianGroupCohomologyPresentation.

Detailed contract

Exact coefficient prime field.

(self) -> FiniteField

noether::homalg::FiniteAbelianGroupCohomologyPresentation::field · Direct Rust declaration

pub fn field(&self) -> &FiniteField
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/FiniteAbelianGroupCohomologyPresentation@1

Executable usage: examples/08_finite_field_extensions.py:10 · examples/08_finite_field_extensions.py:11 · examples/08_finite_field_extensions.py:12 · examples/08_finite_field_extensions.py:13 · examples/08_finite_field_extensions.py:14 · examples/08_finite_field_extensions.py:3

homalg.FiniteAbelianGroupCohomologyPresentation.generators

Return the generators recorded by this FiniteAbelianGroupCohomologyPresentation.

Detailed contract

Stable generator metadata.

(self) -> list[EilenbergMacLaneCohomologyGenerator]

noether::homalg::FiniteAbelianGroupCohomologyPresentation::generators · Direct Rust declaration

pub fn generators(&self) -> &[EilenbergMacLaneCohomologyGenerator]
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/FiniteAbelianGroupCohomologyPresentation@1

Executable usage: examples/14_weighted_polynomials.py:11 · examples/15_groebner_twisted_cubic.py:11 · examples/15_groebner_twisted_cubic.py:19 · examples/17_weighted_power_series.py:15 · examples/18_finite_field_schemes.py:12 · examples/30_modules_and_resolutions.py:20

homalg.FiniteAbelianGroupCohomologyPresentation.group

Return the group recorded by this FiniteAbelianGroupCohomologyPresentation.

Detailed contract

Concrete finite group whose classifying space is represented.

(self) -> PermutationGroup

noether::homalg::FiniteAbelianGroupCohomologyPresentation::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/FiniteAbelianGroupCohomologyPresentation@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.FiniteAbelianGroupCohomologyPresentation.invariant_factors

Return the invariant factors recorded by this FiniteAbelianGroupCohomologyPresentation.

Detailed contract

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

(self) -> list[int]

noether::homalg::FiniteAbelianGroupCohomologyPresentation::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/FiniteAbelianGroupCohomologyPresentation@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.FiniteAbelianGroupCohomologyPresentation.operations

Return the operations recorded by this FiniteAbelianGroupCohomologyPresentation.

Detailed contract

Primary operations on presentation generators.

(self) -> list[EilenbergMacLaneCohomologyOperation]

noether::homalg::FiniteAbelianGroupCohomologyPresentation::operations · Direct Rust declaration

pub fn operations(&self) -> &[EilenbergMacLaneCohomologyOperation]
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/FiniteAbelianGroupCohomologyPresentation@1

Executable usage: validation/unit/infra/test_corpus_acceptance.py:106 · validation/unit/infra/test_corpus_acceptance.py:107 · validation/unit/infra/test_corpus_acceptance.py:108 · validation/unit/infra/test_corpus_acceptance.py:92 · validation/unit/infra/test_discovery.py:248 · validation/unit/infra/test_discovery.py:293

homalg.FiniteAbelianGroupCohomologyPresentation.presentation

Return the presentation recorded by this FiniteAbelianGroupCohomologyPresentation.

Detailed contract

Complete graded-commutative quotient presentation.

(self) -> GradedCommutativePresentation

noether::homalg::FiniteAbelianGroupCohomologyPresentation::presentation · Direct Rust declaration

pub fn presentation(&self) -> &GradedCommutativePresentation
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/FiniteAbelianGroupCohomologyPresentation@1

Executable usage: examples/34_finite_group_cohomology.py:3 · validation/unit/category/test_category.py:70 · validation/unit/category/test_category.py:71 · validation/unit/category/test_category.py:72 · validation/unit/commalg/test_graded_commutative_facade.py:24 · validation/unit/commalg/test_graded_commutative_facade.py:25

homalg.FiniteAbelianGroupCohomologyPresentation.verify

Replay and verify the mathematical evidence carried by this FiniteAbelianGroupCohomologyPresentation.

Detailed contract

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

(self) -> None

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