topology · SimplicialSetCohomologyRing¶
14 accepted declarations. Python and Rust forms, contracts, evidence, failure boundaries, and checked usages are kept together below.
Worked example¶
The complete checked program Compute the mod-two cohomology ring of RP2 and its Steenrod square uses this API directly.
# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Compute the mod-two cohomology ring of RP2 and its Steenrod square."""
from noether.numthy import FiniteField
from noether.topology import AdmissibleCohomologyOperation, SimplicialComplex
def main() -> None:
projective_plane = SimplicialComplex(
[
[0, 1, 2],
[0, 1, 4],
[0, 2, 3],
[0, 3, 5],
[0, 4, 5],
[1, 2, 5],
[1, 3, 4],
[1, 3, 5],
[2, 3, 4],
[2, 4, 5],
]
)
cohomology = projective_plane.cohomology_ring(FiniteField.prime(2))
cohomology.verify()
assert [basis.degree for basis in cohomology.basis] == [0, 1, 2]
assert cohomology.product(1, 1)[0].basis == 2
square = AdmissibleCohomologyOperation.steenrod_square(1)
image = cohomology.apply_operation(square, 1)
assert image[0].basis == 2 and int(image[0].coefficient) == 1
print(f"H*(RP2; F2) degrees={[basis.degree for basis in cohomology.basis]}; Sq^1(h)=h^2")
if __name__ == "__main__":
main()
Run it with .venv/bin/python examples/33_simplicial_cohomology_operations.py.
topology.SimplicialSetCohomologyRing¶
Complete normalized cohomology algebra of a finite simplicial set.
noether::topology::SimplicialSetCohomologyRing · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
Executable usage: validation/unit/topology/test_simplicial_set_facade.py:161 · validation/unit/topology/test_simplicial_set_facade.py:166 · validation/unit/topology/test_simplicial_set_facade.py:21
topology.SimplicialSetCohomologyRing.apply_operation¶
Compute apply operation for this SimplicialSetCohomologyRing.
Detailed contract
Apply one typed admissible Steenrod word to a canonical basis class. The rightmost operation acts first, and every intermediate cocycle is reduced into the canonical normalized cohomology basis.
noether::topology::SimplicialSetCohomologyRing::apply_operation · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@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
topology.SimplicialSetCohomologyRing.basis¶
Return the basis recorded by this SimplicialSetCohomologyRing.
Detailed contract
Canonical basis, ordered first by degree and then by quotient pivot.
noether::topology::SimplicialSetCohomologyRing::basis · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
Executable usage: examples/26_elliptic_descent_functions.py:28 · examples/30_modules_and_resolutions.py:27 · examples/30_modules_and_resolutions.py:28 · examples/30_modules_and_resolutions.py:29 · examples/33_simplicial_cohomology_operations.py:26 · examples/33_simplicial_cohomology_operations.py:27
topology.SimplicialSetCohomologyRing.bockstein_reduced_power¶
Compute bockstein reduced power for this SimplicialSetCohomologyRing.
Detailed contract
Odd-primary operation beta P^power on one canonical cohomology-basis class.
noether::topology::SimplicialSetCohomologyRing::bockstein_reduced_power · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
Executable usage: validation/unit/infra/test_discovery.py:141 · validation/unit/infra/test_discovery.py:149 · validation/unit/topology/test_simplicial_set_facade.py:186 · validation/unit/topology/test_simplicial_set_facade.py:190 · validation/unit/topology/test_simplicial_set_facade.py:191
topology.SimplicialSetCohomologyRing.field¶
Return the field recorded by this SimplicialSetCohomologyRing.
Detailed contract
Exact coefficient field.
noether::topology::SimplicialSetCohomologyRing::field · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@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
topology.SimplicialSetCohomologyRing.from_json¶
Deserialize and revalidate a SimplicialSetCohomologyRing from typed JSON.
Detailed contract
Deserialize and exactly revalidate a simplicial-set cohomology ring.
noether::topology::SimplicialSetCohomologyRing::from_json · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
Executable usage: validation/unit/category/test_category.py:14 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106 · validation/unit/combin/test_graph_facade.py:25 · validation/unit/combinatorics/test_kashiwara_crystal.py:32
topology.SimplicialSetCohomologyRing.presentation¶
Return the presentation recorded by this SimplicialSetCohomologyRing.
Detailed contract
Complete connected quotient presentation, when H^0 is the coefficient field.
noether::topology::SimplicialSetCohomologyRing::presentation · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@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
topology.SimplicialSetCohomologyRing.product¶
Compute product for this SimplicialSetCohomologyRing.
Detailed contract
Return a basis product in either order, applying its Koszul sign.
noether::topology::SimplicialSetCohomologyRing::product · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
Executable usage: examples/33_simplicial_cohomology_operations.py:27 · validation/unit/combin/test_acceptance_workload.py:41 · validation/unit/combin/test_acceptance_workload.py:43 · validation/unit/combin/test_acceptance_workload.py:44 · validation/unit/combin/test_acceptance_workload.py:45 · validation/unit/commalg/test_polynomial_facade.py:234
topology.SimplicialSetCohomologyRing.products¶
Return the products recorded by this SimplicialSetCohomologyRing.
Detailed contract
Ordered basis products with left <= right.
noether::topology::SimplicialSetCohomologyRing::products · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
Executable usage: validation/bench/macaulay2_derived.py:6 · validation/corpus/linalg/cubic-discriminant-matrix-factorization.py:54
topology.SimplicialSetCohomologyRing.simplicial_set¶
Return the simplicial set recorded by this SimplicialSetCohomologyRing.
Detailed contract
Source simplicial set in its fixed normalized bases.
noether::topology::SimplicialSetCohomologyRing::simplicial_set · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
topology.SimplicialSetCohomologyRing.steenrod_reduced_power¶
Compute steenrod reduced power for this SimplicialSetCohomologyRing.
Detailed contract
Odd-primary Steenrod reduced power P^power of one canonical cohomology-basis class.
noether::topology::SimplicialSetCohomologyRing::steenrod_reduced_power · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
Executable usage: validation/unit/infra/test_discovery.py:140 · validation/unit/infra/test_discovery.py:148 · validation/unit/topology/test_simplicial_set_facade.py:185 · validation/unit/topology/test_simplicial_set_facade.py:189
topology.SimplicialSetCohomologyRing.steenrod_square¶
Compute steenrod square for this SimplicialSetCohomologyRing.
Detailed contract
Steenrod square of one canonical cohomology-basis class.
noether::topology::SimplicialSetCohomologyRing::steenrod_square · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
Executable usage: examples/33_simplicial_cohomology_operations.py:29 · validation/unit/infra/test_discovery.py:139 · validation/unit/infra/test_discovery.py:147 · validation/unit/topology/test_simplicial_complex_facade.py:171 · validation/unit/topology/test_simplicial_complex_facade.py:192 · validation/unit/topology/test_simplicial_complex_facade.py:193
topology.SimplicialSetCohomologyRing.to_json¶
Serialize this SimplicialSetCohomologyRing to its canonical typed JSON representation.
Detailed contract
Serialize the source, field, cocycles, products, and presentation.
noether::topology::SimplicialSetCohomologyRing::to_json · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@1 |
Executable usage: validation/unit/category/test_category.py:14 · validation/unit/category/test_category.py:15 · validation/unit/combin/test_acceptance_workload.py:30 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106
topology.SimplicialSetCohomologyRing.verify¶
Replay and verify the mathematical evidence carried by this SimplicialSetCohomologyRing.
Detailed contract
Recompute and compare every canonical cocycle, product, and presentation.
noether::topology::SimplicialSetCohomologyRing::verify · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
| Semantic ID | noether/topology/SimplicialSetCohomologyRing@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