Skip to content

topology · EilenbergMacLaneCohomologyOperation

4 accepted declarations. Python and Rust forms, contracts, evidence, failure boundaries, and checked usages are kept together below.

Worked example

The complete checked program Build and verify an isomorphism between two presentations of F_25 uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Build and verify an isomorphism between two presentations of F_25."""

from noether.numthy import FiniteField


def main() -> None:
    source = FiniteField.extension(5, 2)
    target = FiniteField.with_modulus(5, [2, 0, 1])
    isomorphism = source.isomorphism_to(target)
    isomorphism.verify()
    value = source.element_from_coefficients([3, 2])
    assert isomorphism.apply_inverse(isomorphism(value)) == value
    print(f"a maps to {isomorphism.generator_image}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/09_finite_field_isomorphisms.py.

topology.EilenbergMacLaneCohomologyOperation

One named primary operation on a modular cohomology generator.

class EilenbergMacLaneCohomologyOperation

noether::topology::EilenbergMacLaneCohomologyOperation · Direct Rust declaration

pub struct EilenbergMacLaneCohomologyOperation { /* private fields */ }
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded

topology.EilenbergMacLaneCohomologyOperation.operation

Return the operation recorded by this EilenbergMacLaneCohomologyOperation.

Detailed contract

Typed admissible primary operation.

(self) -> AdmissibleCohomologyOperation

noether::topology::EilenbergMacLaneCohomologyOperation::operation · Direct Rust declaration

pub fn operation(&self) -> &AdmissibleCohomologyOperation
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/commalg/test_acceptance_workload.py:70 · validation/unit/commalg/test_scheme_facade.py:179 · validation/unit/groups/test_conjugacy.py:61 · validation/unit/groups/test_conjugacy.py:67 · validation/unit/homalg/test_exterior_algebra.py:36 · validation/unit/homalg/test_exterior_algebra.py:45

topology.EilenbergMacLaneCohomologyOperation.source_generator

Return the source generator recorded by this EilenbergMacLaneCohomologyOperation.

Detailed contract

Zero-based source generator index.

(self) -> int

noether::topology::EilenbergMacLaneCohomologyOperation::source_generator · Direct Rust declaration

pub fn source_generator(&self) -> usize
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded

topology.EilenbergMacLaneCohomologyOperation.target

Return the target recorded by this EilenbergMacLaneCohomologyOperation.

Detailed contract

Canonical target normal form in the recorded presentation.

(self) -> GradedCommutativePolynomial

noether::topology::EilenbergMacLaneCohomologyOperation::target · Direct Rust declaration

pub fn target(&self) -> &GradedCommutativePolynomial
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/09_finite_field_isomorphisms.py:10 · examples/09_finite_field_isomorphisms.py:11 · examples/30_modules_and_resolutions.py:33 · examples/30_modules_and_resolutions.py:38 · examples/31_local_fields_and_precision.py:27 · examples/36_affine_normalization.py:16