Skip to content

linalg · IntegralLineSubgroup

9 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.IntegralLineSubgroup

Verified finite subgroup of an integral-line configuration stabilizer.

class IntegralLineSubgroup

noether::linalg::IntegralLineSubgroup · Direct Rust declaration

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

linalg.IntegralLineSubgroup.configuration

Spanning configuration preserved by the subgroup.

Detailed contract

Configuration preserved by every subgroup element.

(self) -> IntegralLineConfiguration

noether::linalg::IntegralLineSubgroup::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/IntegralLineSubgroup@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.IntegralLineSubgroup.conjugate

Conjugate through a unimodular coordinate transformation.

Detailed contract

Conjugate this matrix subgroup through a unimodular coordinate map.

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

noether::linalg::IntegralLineSubgroup::conjugate · Direct Rust declaration

pub fn conjugate( &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/IntegralLineSubgroup@1

Executable usage: validation/unit/combinatorics/test_partition_composition.py:16 · validation/unit/combinatorics/test_partition_composition.py:17 · validation/unit/numthy/test_number_field_facade.py:57 · validation/corpus/commalg/isogonal-conjugate-distance-identity.py:3 · validation/corpus/numthy/finite-field-isomorphism-f25.py:56

linalg.IntegralLineSubgroup.line_action

Unoriented line action.

Detailed contract

Induced action on unoriented lines.

(self) -> PermutationGroup

noether::linalg::IntegralLineSubgroup::line_action · Direct Rust declaration

pub fn line_action(&self) -> &PermutationGroup
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/IntegralLineSubgroup@1

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

linalg.IntegralLineSubgroup.matrix_generators

Unimodular matrix generators.

(self) -> list[Matrix[IntegerRing]]

noether::linalg::IntegralLineSubgroup::matrix_generators · Direct Rust declaration

pub fn matrix_generators(&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/IntegralLineSubgroup@1

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

linalg.IntegralLineSubgroup.order

Exact subgroup order.

(self) -> int

noether::linalg::IntegralLineSubgroup::order · Direct Rust declaration

pub fn order(&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/IntegralLineSubgroup@1

Executable usage: examples/11_qadic_witt_vectors.py:14 · examples/12_number_field_ideals.py:13 · examples/12_number_field_ideals.py:14 · examples/12_number_field_ideals.py:17 · examples/15_groebner_twisted_cubic.py:18 · examples/19_permutation_groups.py:13

linalg.IntegralLineSubgroup.restrict

Restrict to an invariant spanning subconfiguration.

Detailed contract

Restrict the same matrix group to an invariant spanning subconfiguration.

(self, configuration: IntegralLineConfiguration) -> IntegralLineSubgroup

noether::linalg::IntegralLineSubgroup::restrict · Direct Rust declaration

pub fn restrict( &self, configuration: &IntegralLineConfiguration, ) -> 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/IntegralLineSubgroup@1

Executable usage: validation/unit/commalg/test_local_algebra.py:93 · validation/unit/groups/test_weight_characters.py:48 · validation/unit/numthy/test_padic_local_field_facade.py:100 · validation/unit/numthy/test_padic_ring_facade.py:62 · validation/unit/numthy/test_qadic_ring_facade.py:48

linalg.IntegralLineSubgroup.signed_action

Faithful signed-line action.

Detailed contract

Faithful action on signed line representatives.

(self) -> PermutationGroup

noether::linalg::IntegralLineSubgroup::signed_action · Direct Rust declaration

pub fn signed_action(&self) -> &PermutationGroup
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/IntegralLineSubgroup@1

Executable usage: validation/unit/linalg/test_lattice_facade.py:151 · validation/unit/linalg/test_lattice_facade.py:154

linalg.IntegralLineSubgroup.verify

Recheck every generator action and the exact order.

Detailed contract

Recheck all matrix actions, generated actions, and the exact order.

(self) -> None

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

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