Skip to content

homalg · FiniteGroupCohomologyAlgebraGenerator

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

Worked example

The complete checked program Decompose a polynomial by a nonstandard positive grading uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Decompose a polynomial by a nonstandard positive grading."""

from noether import Z
from noether.commalg import PolynomialRing, WeightedGrading


def main() -> None:
    ring = PolynomialRing(Z, ["x", "y", "z"], grading=WeightedGrading([1, 2, 3]))
    x, y, z = ring.generators()
    sparse = ring.from_terms([([0, 0, 0], 1), ([2, 0, 0], 1), ([0, 1, 0], 1)])
    polynomial = sparse + z
    assert sparse * (x + y) == (1 + x**2 + y) * (x + y)
    components = polynomial.homogeneous_components()
    assert [degree for degree, _ in components] == [0, 2, 3]
    assert x**2 + y == components[1][1]
    print(f"weighted homogeneous degrees: {[degree for degree, _ in components]}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/14_weighted_polynomials.py.

homalg.FiniteGroupCohomologyAlgebraGenerator

One minimal homogeneous generator chosen from a canonical cohomology basis.

class FiniteGroupCohomologyAlgebraGenerator

noether::homalg::FiniteGroupCohomologyAlgebraGenerator · Direct Rust declaration

pub struct FiniteGroupCohomologyAlgebraGenerator { /* private fields */ }
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

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:12 · validation/unit/homalg/test_finite_group_cohomology.py:155

homalg.FiniteGroupCohomologyAlgebraGenerator.basis_index

Zero-based index in the canonical basis of this degree.

(self) -> int

noether::homalg::FiniteGroupCohomologyAlgebraGenerator::basis_index · Direct Rust declaration

pub const fn basis_index(&self) -> usize
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

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:159

homalg.FiniteGroupCohomologyAlgebraGenerator.degree

Cohomological degree.

(self) -> int

noether::homalg::FiniteGroupCohomologyAlgebraGenerator::degree · Direct Rust declaration

pub const fn degree(&self) -> usize
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

Executable usage: examples/14_weighted_polynomials.py:16 · examples/14_weighted_polynomials.py:18 · examples/15_groebner_twisted_cubic.py:15 · examples/15_groebner_twisted_cubic.py:28 · examples/31_local_fields_and_precision.py:37 · examples/33_simplicial_cohomology_operations.py:26

homalg.FiniteGroupCohomologyAlgebraGenerator.display_name

Mathematical display name, operation-adapted when certified.

Detailed contract

Mathematical display name, using a cohomology operation when the retained witness supplies one.

(self) -> str

noether::homalg::FiniteGroupCohomologyAlgebraGenerator::display_name · Direct Rust declaration

pub fn display_name(&self) -> &str
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

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

homalg.FiniteGroupCohomologyAlgebraGenerator.name

Stable presentation-generator name.

Detailed contract

Stable name used by the associated graded-commutative presentation.

(self) -> str

noether::homalg::FiniteGroupCohomologyAlgebraGenerator::name · Direct Rust declaration

pub fn name(&self) -> &str
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

Executable usage: examples/12_number_field_ideals.py:12 · validation/unit/commalg/test_polynomial_facade.py:345 · validation/unit/commalg/test_polynomial_facade.py:44 · validation/unit/commalg/test_polynomial_facade.py:61 · validation/unit/commalg/test_polynomial_facade.py:65 · validation/unit/commalg/test_polynomial_facade.py:72

homalg.FiniteGroupCohomologyAlgebraGenerator.operation

Typed operation naming this class modulo decomposables, if available.

(self) -> AdmissibleCohomologyOperation | None

noether::homalg::FiniteGroupCohomologyAlgebraGenerator · Python projection

Python projection convenience over this Rust mathematical type
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

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

homalg.FiniteGroupCohomologyAlgebraGenerator.operation_coefficient

Scalar multiplying the operation image in the retained witness.

(self) -> FiniteFieldElement | None

noether::homalg::FiniteGroupCohomologyAlgebraGenerator · Python projection

Python projection convenience over this Rust mathematical type
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

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:207

homalg.FiniteGroupCohomologyAlgebraGenerator.operation_decomposable_correction

Decomposable correction making the operation identity exact.

(self) -> Vector[FiniteField] | None

noether::homalg::FiniteGroupCohomologyAlgebraGenerator · Python projection

Python projection convenience over this Rust mathematical type
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

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:208

homalg.FiniteGroupCohomologyAlgebraGenerator.operation_source_generator_index

Earlier generator to which operation applies.

(self) -> int | None

noether::homalg::FiniteGroupCohomologyAlgebraGenerator · Python projection

Python projection convenience over this Rust mathematical type
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

Executable usage: validation/unit/homalg/test_finite_group_cohomology.py:206