Skip to content

homalg · ResolutionCompleteness

7 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.ResolutionCompleteness

Exact completeness or homological truncation of a free resolution.

class ResolutionCompleteness

noether::homalg::ResolutionCompleteness · Direct Rust declaration

pub enum ResolutionCompleteness { Complete, ThroughHomologicalDegree { degree: 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
Semantic ID noether/homalg/ResolutionCompleteness@1

Executable usage: validation/unit/homalg/test_module_facade.py:40 · validation/unit/homalg/test_module_facade.py:820 · validation/unit/homalg/test_module_facade.py:834 · validation/unit/homalg/test_module_facade.py:846 · validation/unit/homalg/test_module_facade.py:871 · validation/unit/infra/test_macaulay2_benchmark_protocol.py:505

homalg.ResolutionCompleteness.complete

Construct a ResolutionCompleteness using complete.

(cls) -> ResolutionCompleteness

noether::homalg::ResolutionCompleteness · 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
Semantic ID noether/homalg/ResolutionCompleteness@1

Executable usage: examples/34_finite_group_cohomology.py:15 · examples/34_finite_group_cohomology.py:16 · examples/34_finite_group_cohomology.py:17 · examples/34_finite_group_cohomology.py:21 · examples/34_finite_group_cohomology.py:3 · examples/37_complete_intersection_theory.py:3

homalg.ResolutionCompleteness.from_json

Deserialize and revalidate a ResolutionCompleteness from typed JSON.

Detailed contract

Deserialize an exact completeness claim.

(cls, value: str) -> ResolutionCompleteness

noether::homalg::ResolutionCompleteness::from_json · Direct Rust declaration

pub fn from_json(value: &str) -> Result<Self, NoetherError>
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/ResolutionCompleteness@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

homalg.ResolutionCompleteness.kind

Return the kind recorded by this ResolutionCompleteness.

Detailed contract

Stable completeness kind.

(self) -> Literal['complete', 'through_homological_degree']

noether::homalg::ResolutionCompleteness::kind · Direct Rust declaration

pub const fn kind(&self) -> &'static 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
Semantic ID noether/homalg/ResolutionCompleteness@1

Executable usage: validation/unit/combinatorics/test_poset.py:95 · validation/unit/commalg/test_curve_facade.py:137 · validation/unit/commalg/test_curve_facade.py:43 · validation/unit/commalg/test_curve_facade.py:44 · validation/unit/commalg/test_curve_facade.py:45 · validation/unit/commalg/test_curve_facade.py:80

homalg.ResolutionCompleteness.through

Construct a ResolutionCompleteness using through.

(cls, degree: int) -> ResolutionCompleteness

noether::homalg::ResolutionCompleteness · 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
Semantic ID noether/homalg/ResolutionCompleteness@1

Executable usage: validation/unit/category/test_acceptance_workload.py:3 · validation/unit/combin/test_acceptance_workload.py:3 · validation/unit/combinatorics/test_kashiwara_crystal.py:3 · validation/unit/commalg/test_polynomial_homomorphism.py:3 · validation/unit/groups/test_conjugacy.py:3 · validation/unit/homalg/test_module_facade.py:871

homalg.ResolutionCompleteness.through_homological_degree

Return the through homological degree recorded by this ResolutionCompleteness.

Detailed contract

Greatest requested degree for a truncated result.

(self) -> int | None

noether::homalg::ResolutionCompleteness::through_homological_degree · Direct Rust declaration

pub const fn through_homological_degree(&self) -> Option<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
Semantic ID noether/homalg/ResolutionCompleteness@1

Executable usage: validation/unit/homalg/test_module_facade.py:422 · validation/unit/homalg/test_module_facade.py:423 · validation/unit/homalg/test_module_facade.py:813 · validation/unit/homalg/test_module_facade.py:869 · validation/unit/homalg/test_module_facade.py:870 · validation/unit/infra/test_macaulay2_benchmark_protocol.py:424

homalg.ResolutionCompleteness.to_json

Serialize this ResolutionCompleteness to its canonical typed JSON representation.

Detailed contract

Serialize the exact completeness claim as typed JSON.

(self) -> str

noether::homalg::ResolutionCompleteness::to_json · Direct Rust declaration

pub fn to_json(&self) -> Result<String, NoetherError>
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/ResolutionCompleteness@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