Skip to content

linalg · MinimumVectorConfiguration

6 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.MinimumVectorConfiguration

A complete minimum-vector configuration with an exact Gram witness.

class MinimumVectorConfiguration

noether::linalg::MinimumVectorConfiguration · Direct Rust declaration

pub struct MinimumVectorConfiguration { /* 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/MinimumVectorConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:204 · validation/unit/linalg/test_lattice_facade.py:22 · validation/unit/linalg/test_lattice_facade.py:42

linalg.MinimumVectorConfiguration.__eq__

Test mathematical equality with another value.

(self, other: object) -> bool

noether::linalg::MinimumVectorConfiguration · 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/MinimumVectorConfiguration@1

linalg.MinimumVectorConfiguration.configuration

Certified primitive integral lines modulo sign.

(self) -> IntegralLineConfiguration

noether::linalg::MinimumVectorConfiguration::configuration · Direct Rust declaration

pub fn configuration(&self) -> &IntegralLineConfiguration
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/MinimumVectorConfiguration@1

Executable usage: examples/29_integral_line_configurations.py:29 · validation/unit/linalg/test_lattice_facade.py:100 · validation/unit/linalg/test_lattice_facade.py:101 · validation/unit/linalg/test_lattice_facade.py:102 · validation/unit/linalg/test_lattice_facade.py:103 · validation/unit/linalg/test_lattice_facade.py:106

linalg.MinimumVectorConfiguration.gram_matrix

Exact positive-definite Gram witness.

(self) -> Matrix[IntegerRing]

noether::linalg::MinimumVectorConfiguration::gram_matrix · Direct Rust declaration

pub fn gram_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/MinimumVectorConfiguration@1

Executable usage: examples/29_integral_line_configurations.py:28 · validation/unit/linalg/test_lattice_facade.py:33

linalg.MinimumVectorConfiguration.minimum

Exact lattice minimum attained by every stored line.

Detailed contract

Exact minimum attained by every stored line.

(self) -> int

noether::linalg::MinimumVectorConfiguration::minimum · Direct Rust declaration

pub fn minimum(&self) -> &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/MinimumVectorConfiguration@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:41 · validation/unit/linalg/test_lattice_facade.py:42 · validation/unit/linalg/test_lattice_facade.py:43 · validation/unit/linalg/test_lattice_facade.py:44 · validation/unit/linalg/test_lattice_facade.py:45 · validation/unit/linalg/test_lattice_facade.py:46

linalg.MinimumVectorConfiguration.verify

Re-enumerate the minimum shell and verify the certificate.

Detailed contract

Re-enumerate the minimum shell and verify all evidence.

(self) -> None

noether::linalg::MinimumVectorConfiguration::verify · Direct Rust declaration

pub fn verify(&self) -> Result<(), LatticeError>
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/MinimumVectorConfiguration@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