topology · AdmissibleCohomologyOperation¶
17 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.AdmissibleCohomologyOperation¶
A checked admissible word in the mod-p Steenrod algebra.
noether::topology::AdmissibleCohomologyOperation · 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 |
Executable usage: examples/33_simplicial_cohomology_operations.py:29 · examples/33_simplicial_cohomology_operations.py:6 · validation/unit/topology/test_simplicial_complex_facade.py:17 · validation/unit/topology/test_simplicial_complex_facade.py:195 · validation/unit/topology/test_simplicial_set_facade.py:17 · validation/unit/topology/test_simplicial_set_facade.py:191
topology.AdmissibleCohomologyOperation.bockstein_reduced_power¶
Construct a AdmissibleCohomologyOperation using bockstein reduced power.
Detailed contract
The single operation beta P^power; beta P^0 is normalized to beta.
noether::topology::AdmissibleCohomologyOperation::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 |
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.AdmissibleCohomologyOperation.bocksteins¶
Return the bocksteins recorded by this AdmissibleCohomologyOperation.
Detailed contract
Odd-primary Bockstein exponents, or None at the prime two.
noether::topology::AdmissibleCohomologyOperation::bocksteins · 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 |
Executable usage: validation/unit/topology/test_eilenberg_maclane.py:247 · validation/unit/topology/test_eilenberg_maclane.py:264
topology.AdmissibleCohomologyOperation.degree_shift¶
Return the degree shift recorded by this AdmissibleCohomologyOperation.
Detailed contract
Total cohomological degree shift.
noether::topology::AdmissibleCohomologyOperation::degree_shift · 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 |
topology.AdmissibleCohomologyOperation.display_name¶
Return the display name recorded by this AdmissibleCohomologyOperation.
Detailed contract
Canonical plain-text mathematical notation.
noether::topology::AdmissibleCohomologyOperation::display_name · 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 |
Executable usage: examples/35_eilenberg_maclane_spaces.py:23 · validation/unit/homalg/test_finite_group_cohomology.py:203 · validation/unit/homalg/test_finite_group_cohomology.py:205 · validation/unit/topology/test_eilenberg_maclane.py:160 · validation/unit/topology/test_eilenberg_maclane.py:167 · validation/unit/topology/test_eilenberg_maclane.py:202
topology.AdmissibleCohomologyOperation.excess¶
Return the excess recorded by this AdmissibleCohomologyOperation.
Detailed contract
Classical excess of the admissible word.
noether::topology::AdmissibleCohomologyOperation::excess · 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 |
topology.AdmissibleCohomologyOperation.from_json¶
Deserialize and revalidate a AdmissibleCohomologyOperation from typed JSON.
noether::topology::AdmissibleCohomologyOperation · Python projection
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
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.AdmissibleCohomologyOperation.identity¶
Construct a AdmissibleCohomologyOperation using identity.
Detailed contract
The identity operation at the indicated prime.
noether::topology::AdmissibleCohomologyOperation::identity · 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 |
Executable usage: examples/01_bezout_certificates.py:10 · examples/01_bezout_certificates.py:12 · examples/01_bezout_certificates.py:14 · examples/01_bezout_certificates.py:9 · examples/02_ball_arithmetic.py:3 · examples/distributed/f2_linear_algebra.py:20
topology.AdmissibleCohomologyOperation.is_identity¶
Test whether this AdmissibleCohomologyOperation is identity.
Detailed contract
Whether this is the identity operation.
noether::topology::AdmissibleCohomologyOperation::is_identity · 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 |
Executable usage: examples/26_elliptic_descent_functions.py:39 · validation/unit/groups/test_acceptance_workload.py:103 · validation/unit/numthy/test_elliptic_curve_facade.py:108 · validation/unit/numthy/test_elliptic_curve_facade.py:93 · validation/corpus/groups/hurwitz-degree-nine-generating-triple.py:20
topology.AdmissibleCohomologyOperation.mod_two¶
Construct a AdmissibleCohomologyOperation using mod two.
Detailed contract
Construct an admissible mod-two word Sq^{i_1} ... Sq^{i_r}.
noether::topology::AdmissibleCohomologyOperation::mod_two · 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 |
Executable usage: validation/unit/topology/test_simplicial_complex_facade.py:231 · validation/unit/topology/test_simplicial_complex_facade.py:240
topology.AdmissibleCohomologyOperation.odd_primary¶
Construct a AdmissibleCohomologyOperation using odd primary.
Detailed contract
Construct an admissible odd-primary word. bocksteins has length reduced_powers.len() + 1 and records the exponents e_0, ..., e_r in beta^{e_0} P^{s_1} ... P^{s_r} beta^{e_r}.
noether::topology::AdmissibleCohomologyOperation::odd_primary · 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 |
Executable usage: validation/unit/topology/test_eilenberg_maclane.py:240 · validation/unit/topology/test_eilenberg_maclane.py:241
topology.AdmissibleCohomologyOperation.prime¶
Return the prime recorded by this AdmissibleCohomologyOperation.
Detailed contract
Coefficient characteristic on which this operation is defined.
noether::topology::AdmissibleCohomologyOperation::prime · 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 |
Executable usage: examples/07_integer_factorization.py:12 · examples/12_number_field_ideals.py:16 · examples/12_number_field_ideals.py:19 · examples/18_finite_field_schemes.py:10 · examples/24_homology_and_persistence.py:22 · examples/33_simplicial_cohomology_operations.py:24
topology.AdmissibleCohomologyOperation.reduced_power¶
Construct a AdmissibleCohomologyOperation using reduced power.
Detailed contract
The single operation P^power, with P^0 normalized to identity.
noether::topology::AdmissibleCohomologyOperation::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 |
topology.AdmissibleCohomologyOperation.reduced_powers¶
Return the reduced powers recorded by this AdmissibleCohomologyOperation.
Detailed contract
Odd-primary reduced-power indices, or None at the prime two.
noether::topology::AdmissibleCohomologyOperation::reduced_powers · 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 |
Executable usage: validation/unit/topology/test_eilenberg_maclane.py:248 · validation/unit/topology/test_eilenberg_maclane.py:265
topology.AdmissibleCohomologyOperation.square_sequence¶
Return the square sequence recorded by this AdmissibleCohomologyOperation.
Detailed contract
The mod-two admissible sequence, or None at an odd prime.
noether::topology::AdmissibleCohomologyOperation::square_sequence · 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 |
Executable usage: validation/unit/topology/test_eilenberg_maclane.py:210 · validation/unit/topology/test_eilenberg_maclane.py:224
topology.AdmissibleCohomologyOperation.steenrod_square¶
Construct a AdmissibleCohomologyOperation using steenrod square.
Detailed contract
The single operation Sq^square, with Sq^0 normalized to identity.
noether::topology::AdmissibleCohomologyOperation::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 |
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.AdmissibleCohomologyOperation.to_json¶
Serialize this AdmissibleCohomologyOperation to its canonical typed JSON representation.
noether::topology::AdmissibleCohomologyOperation · Python projection
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, geom-core, m4rst, m4rste |
| GIL | attached / bounded |
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