Skip to content

homalg · FiniteCyclicGroupIntegralCohomologyPresentation

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

A periodic-resolution complete presentation of H*(BG; Z) for cyclic G.

class FiniteCyclicGroupIntegralCohomologyPresentation

noether::homalg::FiniteCyclicGroupIntegralCohomologyPresentation · Direct Rust declaration

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

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:11 · validation/unit/homalg/test_finite_group_cohomology.py:72 · validation/unit/homalg/test_finite_group_cohomology.py:73

homalg.FiniteCyclicGroupIntegralCohomologyPresentation.additive_group

Compute additive group for this FiniteCyclicGroupIntegralCohomologyPresentation.

Detailed contract

Additive integral cohomology group in one degree.

(self, degree: int) -> FinitelyGeneratedAbelianGroup

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

pub fn additive_group(&self, degree: usize) -> FinitelyGeneratedAbelianGroup
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/FiniteCyclicGroupIntegralCohomologyPresentation@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.FiniteCyclicGroupIntegralCohomologyPresentation.completion_strategy

Return the completion strategy recorded by this FiniteCyclicGroupIntegralCohomologyPresentation.

Detailed contract

The exact theorem used to promote the presentation.

(self) -> Literal['cyclic_periodic_resolution']

noether::homalg::FiniteCyclicGroupIntegralCohomologyPresentation::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/FiniteCyclicGroupIntegralCohomologyPresentation@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.FiniteCyclicGroupIntegralCohomologyPresentation.generator_degree

Return the generator degree recorded by this FiniteCyclicGroupIntegralCohomologyPresentation.

Detailed contract

Cohomological degree of the generator, absent for the trivial group.

(self) -> int | None

noether::homalg::FiniteCyclicGroupIntegralCohomologyPresentation::generator_degree · Direct Rust declaration

pub fn generator_degree(&self) -> Option<u32>
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/FiniteCyclicGroupIntegralCohomologyPresentation@1

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:76

homalg.FiniteCyclicGroupIntegralCohomologyPresentation.generator_display_name

Return the generator display name recorded by this FiniteCyclicGroupIntegralCohomologyPresentation.

Detailed contract

Reader-facing operation name for the generator.

(self) -> str | None

noether::homalg::FiniteCyclicGroupIntegralCohomologyPresentation::generator_display_name · Direct Rust declaration

pub fn generator_display_name(&self) -> Option<String>
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/FiniteCyclicGroupIntegralCohomologyPresentation@1

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:77

homalg.FiniteCyclicGroupIntegralCohomologyPresentation.generator_id

Return the generator id recorded by this FiniteCyclicGroupIntegralCohomologyPresentation.

Detailed contract

Stable id of the degree-two generator, absent for the trivial group.

(self) -> str | None

noether::homalg::FiniteCyclicGroupIntegralCohomologyPresentation::generator_id · Direct Rust declaration

pub fn generator_id(&self) -> Option<&'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/FiniteCyclicGroupIntegralCohomologyPresentation@1

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:75

homalg.FiniteCyclicGroupIntegralCohomologyPresentation.group

Return the group recorded by this FiniteCyclicGroupIntegralCohomologyPresentation.

Detailed contract

Concrete cyclic permutation group whose classifying space is represented.

(self) -> PermutationGroup

noether::homalg::FiniteCyclicGroupIntegralCohomologyPresentation::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/FiniteCyclicGroupIntegralCohomologyPresentation@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.FiniteCyclicGroupIntegralCohomologyPresentation.order

Return the order recorded by this FiniteCyclicGroupIntegralCohomologyPresentation.

Detailed contract

Exact order of the cyclic group.

(self) -> int

noether::homalg::FiniteCyclicGroupIntegralCohomologyPresentation::order · Direct Rust declaration

pub fn order(&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/FiniteCyclicGroupIntegralCohomologyPresentation@1

Executable usage: examples/11_qadic_witt_vectors.py:14 · examples/12_number_field_ideals.py:13 · examples/12_number_field_ideals.py:14 · examples/12_number_field_ideals.py:17 · examples/15_groebner_twisted_cubic.py:18 · examples/19_permutation_groups.py:13

homalg.FiniteCyclicGroupIntegralCohomologyPresentation.relation_coefficient

Return the relation coefficient recorded by this FiniteCyclicGroupIntegralCohomologyPresentation.

Detailed contract

Coefficient in the sole relation |G| u = 0, absent for the trivial group.

(self) -> int | None

noether::homalg::FiniteCyclicGroupIntegralCohomologyPresentation::relation_coefficient · Direct Rust declaration

pub fn relation_coefficient(&self) -> Option<&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/FiniteCyclicGroupIntegralCohomologyPresentation@1

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:78

homalg.FiniteCyclicGroupIntegralCohomologyPresentation.verify

Replay and verify the mathematical evidence carried by this FiniteCyclicGroupIntegralCohomologyPresentation.

Detailed contract

Recompute cyclicity, order, and the periodic-resolution presentation.

(self) -> None

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