Skip to content

linalg · IntegralLineConfiguration

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

Worked example

The complete checked program Certify symmetries, realizations, and completions of integral lines uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Certify symmetries, realizations, and completions of integral lines."""

from noether.linalg import IntegralLineConfiguration


def main() -> None:
    axes = IntegralLineConfiguration(2, [[1, 0], [0, 1]])
    symmetries = axes.automorphism_group()
    symmetries.verify()
    assert symmetries.order == 8

    a2_lines = IntegralLineConfiguration(2, [[1, 0], [0, 1], [1, -1]])
    realization = a2_lines.realize_minimum(max_iterations=20)
    realization.verify()
    assert realization.status == "realized"
    assert realization.realization is not None

    completion = axes.complete_minimum(max_iterations=20)
    completion.verify()
    assert completion.status == "completed"
    assert completion.realization is not None

    print(
        "integral lines:",
        f"axis symmetry order={symmetries.order}",
        f"A2 Gram matrix={realization.realization.gram_matrix}",
        f"axis completion={completion.realization.configuration.vectors}",
    )


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/29_integral_line_configurations.py.

linalg.IntegralLineConfiguration

A checked finite set of primitive integral lines in Z^N.

IntegralLineConfiguration(ambient_rank: int, vectors: Iterable[Iterable[int]])

noether::linalg::IntegralLineConfiguration · Direct Rust declaration

pub struct IntegralLineConfiguration { /* private fields */ }
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: examples/29_integral_line_configurations.py:14 · examples/29_integral_line_configurations.py:5 · examples/29_integral_line_configurations.py:9 · validation/unit/infra/test_discovery.py:117 · validation/unit/infra/test_discovery.py:118 · validation/unit/infra/test_public_api_index.py:182

linalg.IntegralLineConfiguration.__eq__

Test mathematical equality with another value.

(self, other: object) -> bool

noether::linalg::IntegralLineConfiguration · 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, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

linalg.IntegralLineConfiguration.ambient_rank

Ambient lattice rank.

Detailed contract

Ambient lattice rank N.

(self) -> int

noether::linalg::IntegralLineConfiguration::ambient_rank · Direct Rust declaration

pub fn ambient_rank(&self) -> usize
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/bench/macaulay2_presented_modules.py:745

linalg.IntegralLineConfiguration.automorphism_group

Exact finite integral stabilizer of a spanning configuration.

Detailed contract

Compute the exact finite integral stabilizer of a spanning configuration.

(self) -> IntegralLineAutomorphismGroup

noether::linalg::IntegralLineConfiguration::automorphism_group · Direct Rust declaration

pub fn automorphism_group( &self, ) -> Result<IntegralLineAutomorphismGroup, LineConfigurationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL released
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: examples/21_graph_symmetry.py:16 · examples/21_graph_symmetry.py:18 · examples/29_integral_line_configurations.py:10 · validation/unit/category/test_category.py:55 · validation/unit/combin/test_acceptance_workload.py:31 · validation/unit/combin/test_graph_facade.py:91

linalg.IntegralLineConfiguration.barycenter_form

Exact barycenter form sum_v v v^t.

Detailed contract

Exact barycenter form sum_v v v^t.

(self) -> Matrix[IntegerRing]

noether::linalg::IntegralLineConfiguration::barycenter_form · Direct Rust declaration

pub fn barycenter_form(&self) -> Matrix<IntegerRing>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:103

linalg.IntegralLineConfiguration.complete_minimum

Complete to a minimum shell without increasing the perfection rank.

Detailed contract

Complete these equal-length lines to a realizable minimum shell without increasing their perfection rank. Separating vectors whose rank-one forms lie in the seed span are either forced shorter, which yields exact negative evidence, or forced to the same length and admitted to the working shell. Only vectors that would increase the seed’s perfection rank are constrained to be longer. This is the fixed-rank completion variant used by Voronoi coface gluing.

(self, *, max_iterations: int=50) -> MinimumCompletion

noether::linalg::IntegralLineConfiguration::complete_minimum · Direct Rust declaration

pub fn complete_minimum( &self, max_iterations: usize, ) -> Result<MinimumCompletion, LineConfigurationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL released
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: examples/29_integral_line_configurations.py:20 · validation/unit/linalg/test_lattice_facade.py:123 · validation/unit/linalg/test_lattice_facade.py:130 · validation/unit/linalg/test_lattice_facade.py:138 · validation/unit/linalg/test_lattice_facade.py:64

linalg.IntegralLineConfiguration.equivalence_to

Find a verified equivalence, optionally reusing the target stabilizer.

Detailed contract

Find a verified unimodular equivalence to another spanning configuration.

(self, target: IntegralLineConfiguration, *, target_automorphisms: IntegralLineAutomorphismGroup | None=None) -> IntegralLineEquivalence | None

noether::linalg::IntegralLineConfiguration::equivalence_to · Direct Rust declaration

pub fn equivalence_to( &self, target: &Self, ) -> Result<Option<IntegralLineEquivalence>, LineConfigurationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL released
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/infra/test_discovery.py:118 · validation/unit/linalg/test_lattice_facade.py:175 · validation/unit/linalg/test_lattice_facade.py:184 · validation/unit/linalg/test_lattice_facade.py:189 · validation/unit/linalg/test_lattice_facade.py:196

linalg.IntegralLineConfiguration.induced_permutation

Permutation induced on the unoriented lines by a preserving matrix.

Detailed contract

Permutation induced on unoriented lines by a preserving unimodular matrix.

(self, transformation: Matrix[IntegerRing]) -> Permutation

noether::linalg::IntegralLineConfiguration::induced_permutation · Direct Rust declaration

pub fn induced_permutation( &self, transformation: &Matrix<IntegerRing>, ) -> Result<Permutation, LineConfigurationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:166

linalg.IntegralLineConfiguration.induced_signed_permutation

Faithful permutation induced on both signs of every line.

Detailed contract

Faithful permutation induced on both signed representatives of each line.

(self, transformation: Matrix[IntegerRing]) -> Permutation

noether::linalg::IntegralLineConfiguration::induced_signed_permutation · Direct Rust declaration

pub fn induced_signed_permutation( &self, transformation: &Matrix<IntegerRing>, ) -> Result<Permutation, LineConfigurationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:156

linalg.IntegralLineConfiguration.is_rank_one_independent

Whether the rank-one forms are linearly independent.

(self) -> bool

noether::linalg::IntegralLineConfiguration::is_rank_one_independent · Direct Rust declaration

pub fn is_rank_one_independent(&self) -> bool
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:102

linalg.IntegralLineConfiguration.is_spanning

Whether the lines span the ambient rational vector space.

(self) -> bool

noether::linalg::IntegralLineConfiguration::is_spanning · Direct Rust declaration

pub fn is_spanning(&self) -> bool
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:100

linalg.IntegralLineConfiguration.line_count

Number of unoriented lines.

Detailed contract

Number of unoriented integral lines.

(self) -> int

noether::linalg::IntegralLineConfiguration::line_count · Direct Rust declaration

pub fn line_count(&self) -> usize
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:180 · validation/unit/linalg/test_lattice_facade.py:98

linalg.IntegralLineConfiguration.orientation_sign

Orientation character on the exact rank-one span.

Detailed contract

Orientation character of a preserving matrix on the rank-one span. This computes the determinant of the exact induced rational action. It therefore remains correct for non-simplicial configurations, where the sign of the full ray permutation need not be the orientation character.

(self, transformation: Matrix[IntegerRing]) -> int

noether::linalg::IntegralLineConfiguration::orientation_sign · Direct Rust declaration

pub fn orientation_sign( &self, transformation: &Matrix<IntegerRing>, ) -> Result<i8, LineConfigurationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:167

linalg.IntegralLineConfiguration.perfection_rank

Dimension of the span of the rank-one forms v v^t.

Detailed contract

Dimension of the span of the forms v v^t.

(self) -> int

noether::linalg::IntegralLineConfiguration::perfection_rank · Direct Rust declaration

pub fn perfection_rank(&self) -> usize
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:101 · validation/unit/linalg/test_lattice_facade.py:45

linalg.IntegralLineConfiguration.rank_one_matrix

Matrix of upper-triangular coordinates of the rank-one forms.

Detailed contract

Matrix whose rows are the upper-triangular coordinates of v v^t.

(self) -> Matrix[IntegerRing]

noether::linalg::IntegralLineConfiguration::rank_one_matrix · Direct Rust declaration

pub fn rank_one_matrix(&self) -> Matrix<IntegerRing>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

linalg.IntegralLineConfiguration.realize_minimum

Certify realization, nonrealizability, or an inconclusive diagnostic.

Detailed contract

Run the exact cutting-plane playbook for realizing these lines as the complete minimum shell of a positive-definite integral lattice. A work limit produces an explicit inconclusive diagnostic. It is never interpreted as mathematical nonrealizability.

(self, *, max_iterations: int=50) -> MinimumRealization

noether::linalg::IntegralLineConfiguration::realize_minimum · Direct Rust declaration

pub fn realize_minimum( &self, max_iterations: usize, ) -> Result<MinimumRealization, LineConfigurationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL released
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: examples/29_integral_line_configurations.py:15 · validation/unit/linalg/test_lattice_facade.py:201 · validation/unit/linalg/test_lattice_facade.py:208 · validation/unit/linalg/test_lattice_facade.py:214 · validation/unit/linalg/test_lattice_facade.py:62

linalg.IntegralLineConfiguration.span_rank

Rank of the integral vectors over the rationals.

Detailed contract

Rank of the integral vectors over Q.

(self) -> int

noether::linalg::IntegralLineConfiguration::span_rank · Direct Rust declaration

pub fn span_rank(&self) -> usize
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:99

linalg.IntegralLineConfiguration.transform

Apply a checked unimodular matrix to all vector representatives.

Detailed contract

Apply a checked unimodular matrix to every column vector.

(self, transformation: Matrix[IntegerRing]) -> IntegralLineConfiguration

noether::linalg::IntegralLineConfiguration::transform · Direct Rust declaration

pub fn transform( &self, transformation: &Matrix<IntegerRing>, ) -> Result<Self, LineConfigurationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:106 · validation/unit/linalg/test_lattice_facade.py:157 · validation/unit/linalg/test_lattice_facade.py:173 · validation/unit/linalg/test_lattice_facade.py:179 · validation/unit/topology/test_simplicial_complex_facade.py:249 · validation/corpus/numthy/finite-field-cyclic-dft.py:13

linalg.IntegralLineConfiguration.vectors

Canonically signed, sorted primitive vector representatives.

Detailed contract

Canonically signed and sorted primitive vector representatives.

(self) -> tuple[tuple[int, ...], ...]

noether::linalg::IntegralLineConfiguration::vectors · Direct Rust declaration

pub fn vectors(&self) -> &[Vec<Integer>]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, m4rst, m4rst-distributed, m4rste, mzs, pwvla, spar-core, sparla, sparb, lattice-enum
GIL attached / bounded
Semantic ID noether/linalg/IntegralLineConfiguration@1

Executable usage: examples/06_shortest_lattice_vectors.py:15 · examples/06_shortest_lattice_vectors.py:3 · examples/29_integral_line_configurations.py:29 · validation/unit/linalg/test_lattice_facade.py:110 · validation/unit/linalg/test_lattice_facade.py:112 · validation/unit/linalg/test_lattice_facade.py:116