Skip to content

combin · BeatPoint

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

Worked example

The complete checked program Construct S4 natively and inspect its stabilizer chain consequences uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Construct S4 natively and inspect its stabilizer chain consequences."""

from noether.groups import Permutation, PermutationGroup


def main() -> None:
    group = PermutationGroup.from_generators(
        4,
        [Permutation.from_images([1, 0, 2, 3]), Permutation.from_images([1, 2, 3, 0])],
    )
    assert group.order == 24
    assert group.is_transitive
    assert group.stabilizer(0).order == 6
    random = group.uniform_random_element(seed=2026)
    assert random.element in group
    print(f"|S4|={group.order}; |Stab(0)|={group.stabilizer(0).order}; sample={random.element}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/19_permutation_groups.py.

combin.BeatPoint

One checked up- or down-beat-point certificate.

class BeatPoint

noether::combin::BeatPoint · Direct Rust declaration

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

Executable usage: validation/unit/combinatorics/test_poset.py:9 · validation/unit/combinatorics/test_poset.py:94

combin.BeatPoint.element

Element which can be deleted.

Detailed contract

The element which may be deleted.

(self) -> VertexId

noether::combin::BeatPoint::element · Direct Rust declaration

pub fn element(&self) -> VertexId
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, graph-core, perm-core
GIL attached / bounded

Executable usage: examples/19_permutation_groups.py:17 · examples/19_permutation_groups.py:18 · examples/30_modules_and_resolutions.py:3 · examples/38_exact_linear_systems.py:52 · examples/38_exact_linear_systems.py:56 · examples/38_exact_linear_systems.py:58

combin.BeatPoint.kind

"down" for a greatest strict predecessor, otherwise "up".

Detailed contract

Whether the certificate comes from the strict lower or upper set.

(self) -> BeatPointKind

noether::combin::BeatPoint::kind · Direct Rust declaration

pub fn kind(&self) -> BeatPointKind
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, graph-core, perm-core
GIL attached / bounded

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

combin.BeatPoint.witness

Neighbor certifying the beat-point condition.

Detailed contract

The greatest strict predecessor or least strict successor.

(self) -> VertexId

noether::combin::BeatPoint::witness · Direct Rust declaration

pub fn witness(&self) -> VertexId
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, graph-core, perm-core
GIL attached / bounded

Executable usage: examples/38_exact_linear_systems.py:58 · examples/38_exact_linear_systems.py:59 · examples/38_exact_linear_systems.py:60 · validation/unit/combinatorics/test_poset.py:95 · validation/unit/homalg/test_exact_submodules.py:153 · validation/unit/homalg/test_exact_submodules.py:154