homalg · FiniteGroupCohomologyAlgebraTruncation¶
8 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.FiniteGroupCohomologyAlgebraTruncation¶
Minimal generators and all relations visible in an exact cohomology range.
noether::homalg::FiniteGroupCohomologyAlgebraTruncation · Direct Rust declaration
| 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/FiniteGroupCohomologyAlgebraTruncation@1 |
Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:13 · validation/unit/homalg/test_finite_group_cohomology.py:150 · validation/unit/homalg/test_finite_group_cohomology.py:151
homalg.FiniteGroupCohomologyAlgebraTruncation.certify_symonds_parameter_criterion¶
Promote using exact elementary-abelian restriction evidence and Symonds's parameter criterion.
Detailed contract
Promote using exact elementary-abelian restriction evidence and Symonds's parameter criterion.
Certify this quotient as the complete cohomology ring using Symonds’s parameter criterion. Candidate parameters are selected deterministically from the minimal algebra generators. Parameterhood in the actual group cohomology is proved by exact restriction to every maximal elementary abelian p-subgroup of a Sylow subgroup. The operation then proves that the current algebra approximation is finite over those parameters and checks Symonds’s stopping inequality. It fails closed if the retained exact range or resolution model cannot supply all of that evidence.
noether::homalg::FiniteGroupCohomologyAlgebraTruncation::certify_symonds_parameter_criterion · Direct Rust declaration
| 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/FiniteGroupCohomologyAlgebraTruncation@1 |
Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:197
homalg.FiniteGroupCohomologyAlgebraTruncation.certify_symonds_universal_bound¶
Promote to a complete presentation using Symonds's universal bounds.
Detailed contract
Certify this quotient as the complete cohomology ring using Symonds’s universal generator and relation bounds. For a finite group G, generators occur in degrees at most |G|-1 and relations in degrees at most 2(|G|-1). This operation fails closed unless the retained exact range reaches the latter bound.
noether::homalg::FiniteGroupCohomologyAlgebraTruncation::certify_symonds_universal_bound · Direct Rust declaration
| 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/FiniteGroupCohomologyAlgebraTruncation@1 |
Executable usage: examples/34_finite_group_cohomology.py:15 · validation/unit/homalg/test_finite_group_cohomology.py:169 · validation/unit/homalg/test_finite_group_cohomology.py:183
homalg.FiniteGroupCohomologyAlgebraTruncation.cohomology¶
Source exact cohomology truncation.
noether::homalg::FiniteGroupCohomologyAlgebraTruncation::cohomology · Direct Rust declaration
| 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/FiniteGroupCohomologyAlgebraTruncation@1 |
Executable usage: examples/33_simplicial_cohomology_operations.py:24 · examples/33_simplicial_cohomology_operations.py:25 · examples/33_simplicial_cohomology_operations.py:26 · examples/33_simplicial_cohomology_operations.py:27 · examples/33_simplicial_cohomology_operations.py:3 · examples/33_simplicial_cohomology_operations.py:30
homalg.FiniteGroupCohomologyAlgebraTruncation.generators¶
Deterministic minimal homogeneous generators.
Detailed contract
Deterministic minimal homogeneous generator family.
noether::homalg::FiniteGroupCohomologyAlgebraTruncation::generators · Direct Rust declaration
| 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/FiniteGroupCohomologyAlgebraTruncation@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.FiniteGroupCohomologyAlgebraTruncation.max_degree¶
Largest degree in which the presentation is exact.
Detailed contract
Largest degree in which the generators and relation ideal are exact.
noether::homalg::FiniteGroupCohomologyAlgebraTruncation::max_degree · Direct Rust declaration
| 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/FiniteGroupCohomologyAlgebraTruncation@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
homalg.FiniteGroupCohomologyAlgebraTruncation.presentation¶
Quotient presentation exact through max_degree only.
Detailed contract
Graded-commutative quotient whose relation ideal is exact through the retained degree bound.
noether::homalg::FiniteGroupCohomologyAlgebraTruncation::presentation · Direct Rust declaration
| 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/FiniteGroupCohomologyAlgebraTruncation@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.FiniteGroupCohomologyAlgebraTruncation.verify¶
Recompute generator selection and relation extraction.
Detailed contract
Recompute generator selection and every relation from the retained cohomology multiplication table.
noether::homalg::FiniteGroupCohomologyAlgebraTruncation::verify · Direct Rust declaration
| 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/FiniteGroupCohomologyAlgebraTruncation@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