Integer-cast layer of the Gram-Schmidt surface for hex-gram-schmidt.
This module defines the rational-valued basis and coeffs of an integer
input matrix (via GramSchmidt.castIntMatrix) and lifts the rational results
of HexGramSchmidt/Basic/Rat.lean to the integer setting: the leading-row,
orthogonality, triangular-decomposition, and prefix-span facts (basis_zero,
basis_orthogonal, basis_decomposition, coeffs_diag, coeffs_upper,
basis_span), together with the behaviour of basis/coeffs under the
integer row operations Matrix.rowAdd and adjacent Matrix.rowSwap used by
the LLL size-reduction and swap steps.
The Gram-Schmidt orthogonal basis for an integer matrix, viewed in
Rat after coefficient divisions.
Equations
Instances For
The Gram-Schmidt coefficient matrix for an integer input matrix.
Equations
Instances For
After swapping adjacent rows km1, k of an integer matrix, the basis row at
the lower index km1 becomes the old basis row k plus its projection
coefficient times the old basis row km1.
After swapping adjacent rows km1, k of an integer matrix (assuming the
swapped pivot is nonzero), the basis row at index k is the explicit two-term
combination of the old basis rows km1, k.
After an adjacent swap of an integer matrix, the coefficient at the lower
row km1 against an earlier column j equals the old coefficient at row k
against j.
Dual of coeffs_rowSwap_adjacent_lower_prev for an integer matrix: after an
adjacent swap, the coefficient at row k against an earlier column j equals
the old coefficient at row km1 against j.
The explicit value of the new pivot coefficient (row k, column km1)
after an adjacent swap of an integer matrix.
Coefficient entries for a row and column both lying before the swapped pair are unaffected by an adjacent swap of an integer matrix.
Coefficient entries for a row after the swapped pair against a column before it are unaffected by an adjacent swap of an integer matrix.
Coefficient entries for a row and column both lying after the swapped pair are unaffected by an adjacent swap of an integer matrix.
Under integer row-add with src < dst, the pivot coefficient in the
destination row increases by the added integer multiple.