Skip to content

category · SteinerCell

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

Worked example

The complete checked program Compose cells, compute polygraphic homology, and inspect the Street model uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Compose cells, compute polygraphic homology, and inspect the Street model."""

from noether.category import AtomId, SteinerCategory


def main() -> None:
    triangle = SteinerCategory.oriental(2)
    first = triangle.atom(AtomId(1, 0))
    second = triangle.atom(AtomId(1, 2))
    long_path = first.compose_at(second, 0)

    assert long_path.top_atoms == [0, 2]
    assert triangle.exact_cell_counts() == [3, 4, 1]
    assert triangle.polygraphic_homology_invariants()[0].free_rank == 1

    categorical = triangle.categorical_homology()
    nerve = categorical.skeleton(2)
    assert nerve.verify()
    assert categorical.component_poset_slice(2).poset.order == 6
    print(
        "2-oriental:",
        f"cells={triangle.exact_cell_counts()}",
        f"Street simplices={nerve.simplex_counts}",
        "stable hPos_0 weight 2 has 6 elements",
    )


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/28_steiner_categories.py.

category.SteinerCell

One exact cell in a Steiner-category context.

class SteinerCell

noether::category::SteinerCell · Direct Rust declaration

pub struct SteinerCell { /* private fields */ }
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

category.SteinerCell.apply_automorphism

Compute apply automorphism for this SteinerCell.

Detailed contract

Transport this cell under a verified atomic automorphism.

(self, automorphism: Permutation) -> SteinerCell

noether::category::SteinerCell::apply_automorphism · Direct Rust declaration

pub fn apply_automorphism( &self, automorphism: &Permutation, ) -> Result<Self, CategoryError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

category.SteinerCell.category

Return the category recorded by this SteinerCell.

Detailed contract

Ambient category context.

(self) -> SteinerCategory

noether::category::SteinerCell::category · Direct Rust declaration

pub fn category(&self) -> &SteinerCategory
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

Executable usage: examples/28_steiner_categories.py:5 · validation/unit/category/test_acceptance_workload.py:10 · validation/unit/category/test_acceptance_workload.py:11 · validation/unit/category/test_acceptance_workload.py:14 · validation/unit/category/test_acceptance_workload.py:15 · validation/unit/category/test_acceptance_workload.py:16

category.SteinerCell.compose_at

Compute compose at for this SteinerCell.

Detailed contract

Compose this cell followed by next along a common dimension-face. Thus first.compose_at(&second, k) is defined precisely when the k-target of first equals the k-source of second. Both cells keep their common ambient dimension in the result.

(self, next: SteinerCell, dimension: int) -> SteinerCell

noether::category::SteinerCell::compose_at · Direct Rust declaration

pub fn compose_at( &self, next: &Self, dimension: usize, ) -> Result<Self, CategoryError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

Executable usage: examples/28_steiner_categories.py:12 · validation/unit/category/test_acceptance_workload.py:13 · validation/unit/category/test_category.py:63 · validation/unit/category/test_category.py:65

category.SteinerCell.dimension

Return the dimension recorded by this SteinerCell.

Detailed contract

Current cell dimension, including identity lifts.

(self) -> int

noether::category::SteinerCell::dimension · Direct Rust declaration

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

Executable usage: examples/03_exact_linear_systems.py:15 · examples/03_exact_linear_systems.py:16 · examples/15_groebner_twisted_cubic.py:14 · examples/15_groebner_twisted_cubic.py:28 · examples/27_weight_characters.py:25 · examples/34_finite_group_cohomology.py:13

category.SteinerCell.identity

Compute identity for this SteinerCell.

Detailed contract

Identity one dimension above this cell.

(self) -> SteinerCell

noether::category::SteinerCell::identity · Direct Rust declaration

pub fn identity(&self) -> Self
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
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

category.SteinerCell.intrinsic_dimension

Return the intrinsic dimension recorded by this SteinerCell.

Detailed contract

Dimension of the underlying nonidentity cell.

(self) -> int

noether::category::SteinerCell::intrinsic_dimension · Direct Rust declaration

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

category.SteinerCell.is_identity

Test whether this SteinerCell is identity.

Detailed contract

Whether this is an iterated identity.

(self) -> bool

noether::category::SteinerCell::is_identity · Direct Rust declaration

pub fn is_identity(&self) -> bool
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
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

category.SteinerCell.negative_supports

Return the negative supports recorded by this SteinerCell.

Detailed contract

Negative atomic supports in degrees 0..=dimension.

(self) -> list[list[int]]

noether::category::SteinerCell::negative_supports · Direct Rust declaration

pub fn negative_supports(&self) -> &[Vec<usize>]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

Executable usage: validation/unit/category/test_category.py:26

category.SteinerCell.positive_supports

Return the positive supports recorded by this SteinerCell.

Detailed contract

Positive atomic supports in degrees 0..=dimension.

(self) -> list[list[int]]

noether::category::SteinerCell::positive_supports · Direct Rust declaration

pub fn positive_supports(&self) -> &[Vec<usize>]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

Executable usage: validation/unit/category/test_category.py:27

category.SteinerCell.source

Return the source recorded by this SteinerCell.

Detailed contract

Immediate globular source.

(self) -> SteinerCell

noether::category::SteinerCell::source · Direct Rust declaration

pub fn source(&self) -> Result<Self, CategoryError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

Executable usage: examples/09_finite_field_isomorphisms.py:11 · examples/09_finite_field_isomorphisms.py:13 · examples/09_finite_field_isomorphisms.py:9 · examples/30_modules_and_resolutions.py:34 · examples/30_modules_and_resolutions.py:37 · validation/unit/category/test_acceptance_workload.py:25

category.SteinerCell.source_at

Compute source at for this SteinerCell.

Detailed contract

Iterated source in dimension dimension.

(self, dimension: int) -> SteinerCell

noether::category::SteinerCell::source_at · Direct Rust declaration

pub fn source_at(&self, dimension: usize) -> Result<Self, CategoryError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

category.SteinerCell.target

Return the target recorded by this SteinerCell.

Detailed contract

Immediate globular target.

(self) -> SteinerCell

noether::category::SteinerCell::target · Direct Rust declaration

pub fn target(&self) -> Result<Self, CategoryError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
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

category.SteinerCell.target_at

Compute target at for this SteinerCell.

Detailed contract

Iterated target in dimension dimension.

(self, dimension: int) -> SteinerCell

noether::category::SteinerCell::target_at · Direct Rust declaration

pub fn target_at(&self, dimension: usize) -> Result<Self, CategoryError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

category.SteinerCell.top_atoms

Return the top atoms recorded by this SteinerCell.

Detailed contract

Top atomic support of the underlying nonidentity cell.

(self) -> list[int]

noether::category::SteinerCell::top_atoms · Direct Rust declaration

pub fn top_atoms(&self) -> &[usize]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether
GIL attached / bounded

Executable usage: examples/28_steiner_categories.py:14 · validation/unit/category/test_acceptance_workload.py:13