homalg · FiniteGroupCohomologyTruncation¶
12 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.FiniteGroupCohomologyTruncation¶
Exact initial segment of a finite group's mod-p cohomology ring.
noether::homalg::FiniteGroupCohomologyTruncation · 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/FiniteGroupCohomologyTruncation@1 |
Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:126 · validation/unit/homalg/test_finite_group_cohomology.py:127 · validation/unit/homalg/test_finite_group_cohomology.py:17
homalg.FiniteGroupCohomologyTruncation.algebra_truncation¶
Minimal generators and exact relations visible through this bound.
Detailed contract
Extract minimal homogeneous generators and every relation determined through the exact cohomological degree bound. The returned presentation is a truncated algebra invariant. It is not asserted to present the ring in higher degrees.
noether::homalg::FiniteGroupCohomologyTruncation::algebra_truncation · 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/FiniteGroupCohomologyTruncation@1 |
Executable usage: examples/34_finite_group_cohomology.py:15 · validation/unit/homalg/test_finite_group_cohomology.py:148 · validation/unit/homalg/test_finite_group_cohomology.py:168 · validation/unit/homalg/test_finite_group_cohomology.py:181 · validation/unit/homalg/test_finite_group_cohomology.py:196
homalg.FiniteGroupCohomologyTruncation.apply_operation¶
Apply a typed admissible Steenrod word to one basis class.
Detailed contract
Apply one typed admissible Steenrod word to a canonical basis class. Identity, instability, and top-operation formulas are evaluated in every resolution strategy. Genuinely lower operations are evaluated cochain-level on the normalized nerve of the group when this truncation uses the normalized bar resolution. Reduced-resolution lanes fail closed until a checked bar comparison is available.
noether::homalg::FiniteGroupCohomologyTruncation::apply_operation · 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/FiniteGroupCohomologyTruncation@1 |
Executable usage: examples/33_simplicial_cohomology_operations.py:30 · validation/unit/topology/test_simplicial_complex_facade.py:197 · validation/unit/topology/test_simplicial_set_facade.py:192
homalg.FiniteGroupCohomologyTruncation.basis_cocycles¶
Deterministically chosen model cocycles for one basis.
Detailed contract
Deterministic model cocycles representing a cohomology basis. The minimal and bar lanes return cochains in their named resolutions. The stable-elements lane returns coordinates in the canonical basis of the retained Sylow-resolution cohomology.
noether::homalg::FiniteGroupCohomologyTruncation::basis_cocycles · 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/FiniteGroupCohomologyTruncation@1 |
Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:133 · validation/unit/homalg/test_finite_group_cohomology.py:64
homalg.FiniteGroupCohomologyTruncation.basis_cup_product¶
Coordinates of the cup product of two canonical basis classes.
Detailed contract
Coordinates of the cup product of two canonical basis classes. Coordinates use the canonical basis returned by Self::basis_cocycles in degree left_degree + right_degree.
noether::homalg::FiniteGroupCohomologyTruncation::basis_cup_product · 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/FiniteGroupCohomologyTruncation@1 |
Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:134 · validation/unit/homalg/test_finite_group_cohomology.py:142 · validation/unit/homalg/test_finite_group_cohomology.py:143 · validation/unit/homalg/test_finite_group_cohomology.py:241 · validation/unit/homalg/test_finite_group_cohomology.py:245 · validation/unit/homalg/test_finite_group_cohomology.py:262
homalg.FiniteGroupCohomologyTruncation.basis_left_multiplication¶
Matrix of multiplication on the left by one canonical basis class.
Detailed contract
Matrix of multiplication on the left by one canonical basis class. Columns are indexed by the canonical basis in right_degree; rows are indexed by the canonical basis in left_degree + right_degree. This batched operation reuses one resolution lift across all right-hand basis vectors.
noether::homalg::FiniteGroupCohomologyTruncation::basis_left_multiplication · 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/FiniteGroupCohomologyTruncation@1 |
Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:243
homalg.FiniteGroupCohomologyTruncation.dimension¶
Dimension of one mod-p cohomology group.
Detailed contract
Dimension of H^degree(BG; F_p).
noether::homalg::FiniteGroupCohomologyTruncation::dimension · 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/FiniteGroupCohomologyTruncation@1 |
Executable usage: examples/03_exact_linear_systems.py:15 · examples/03_exact_linear_systems.py:16 · examples/15_groebner_twisted_cubic.py:14 · examples/15_groebner_twisted_cubic.py:28 · examples/27_weight_characters.py:25 · examples/34_finite_group_cohomology.py:13
homalg.FiniteGroupCohomologyTruncation.field¶
Exact prime coefficient field.
noether::homalg::FiniteGroupCohomologyTruncation::field · 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/FiniteGroupCohomologyTruncation@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.FiniteGroupCohomologyTruncation.group¶
Supplied concrete permutation group.
noether::homalg::FiniteGroupCohomologyTruncation::group · 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/FiniteGroupCohomologyTruncation@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.FiniteGroupCohomologyTruncation.max_degree¶
Largest cohomological degree computed exactly.
noether::homalg::FiniteGroupCohomologyTruncation::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/FiniteGroupCohomologyTruncation@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.FiniteGroupCohomologyTruncation.resolution_strategy¶
Stable name of the mathematical resolution strategy.
Detailed contract
Mathematical strategy used by this calculation.
noether::homalg::FiniteGroupCohomologyTruncation::resolution_strategy · 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/FiniteGroupCohomologyTruncation@1 |
Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:131 · validation/unit/homalg/test_finite_group_cohomology.py:237 · validation/unit/homalg/test_finite_group_cohomology.py:260 · validation/unit/homalg/test_finite_group_cohomology.py:60
homalg.FiniteGroupCohomologyTruncation.verify¶
Recompute the retained resolution, quotient bases, and evidence.
Detailed contract
Recompute every differential, quotient basis, and retained cocycle.
noether::homalg::FiniteGroupCohomologyTruncation::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/FiniteGroupCohomologyTruncation@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