Skip to content

topology · SimplicialSimpleHomotopyZigzag

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

A verified zigzag of elementary simplicial expansions and collapses.

class SimplicialSimpleHomotopyZigzag

noether::topology::SimplicialSimpleHomotopyZigzag · Direct Rust declaration

pub struct SimplicialSimpleHomotopyZigzag { /* 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
Semantic ID noether/topology/SimplicialSimpleHomotopyZigzag@1

Executable usage: validation/unit/topology/test_simplicial_complex_facade.py:126 · validation/unit/topology/test_simplicial_complex_facade.py:130 · validation/unit/topology/test_simplicial_complex_facade.py:25

topology.SimplicialSimpleHomotopyZigzag.from_json

Deserialize and revalidate a SimplicialSimpleHomotopyZigzag from typed JSON.

Detailed contract

Deserialize and exactly replay every move.

(cls, value: str) -> SimplicialSimpleHomotopyZigzag

noether::topology::SimplicialSimpleHomotopyZigzag::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, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/SimplicialSimpleHomotopyZigzag@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

topology.SimplicialSimpleHomotopyZigzag.moves

Return the moves recorded by this SimplicialSimpleHomotopyZigzag.

Detailed contract

Ordered elementary expansions and collapses.

(self) -> list[SimplicialSimpleHomotopyMove]

noether::topology::SimplicialSimpleHomotopyZigzag::moves · Direct Rust declaration

pub fn moves(&self) -> &[SimplicialSimpleHomotopyMove]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/SimplicialSimpleHomotopyZigzag@1

Executable usage: validation/unit/topology/test_simplicial_complex_facade.py:128 · validation/unit/topology/test_simplicial_set_facade.py:121

topology.SimplicialSimpleHomotopyZigzag.source

Return the source recorded by this SimplicialSimpleHomotopyZigzag.

Detailed contract

Initial complex.

(self) -> SimplicialComplex

noether::topology::SimplicialSimpleHomotopyZigzag::source · Direct Rust declaration

pub fn source(&self) -> &SimplicialComplex
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/SimplicialSimpleHomotopyZigzag@1

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

topology.SimplicialSimpleHomotopyZigzag.target

Return the target recorded by this SimplicialSimpleHomotopyZigzag.

Detailed contract

Endpoint reconstructed by exact replay.

(self) -> SimplicialComplex

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

pub fn target(&self) -> &SimplicialComplex
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/SimplicialSimpleHomotopyZigzag@1

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

topology.SimplicialSimpleHomotopyZigzag.to_json

Serialize this SimplicialSimpleHomotopyZigzag to its canonical typed JSON representation.

Detailed contract

Serialize the source and replayable moves; the target is derived.

(self) -> str

noether::topology::SimplicialSimpleHomotopyZigzag::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, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/SimplicialSimpleHomotopyZigzag@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

topology.SimplicialSimpleHomotopyZigzag.verify

Replay and verify the mathematical evidence carried by this SimplicialSimpleHomotopyZigzag.

Detailed contract

Recheck every elementary move and reconstruct the endpoint.

(self) -> None

noether::topology::SimplicialSimpleHomotopyZigzag::verify · Direct Rust declaration

pub fn verify(&self) -> Result<(), TopologyError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, geom-core, m4rst, m4rste
GIL attached / bounded
Semantic ID noether/topology/SimplicialSimpleHomotopyZigzag@1

Executable usage: examples/01_bezout_certificates.py:10 · examples/01_bezout_certificates.py:3 · examples/03_exact_linear_systems.py:13 · examples/03_exact_linear_systems.py:3 · examples/04_smith_normal_form.py:12 · examples/06_shortest_lattice_vectors.py:12