Documentation

HexGramSchmidtMathlib.Basic

Mathlib-side correspondence lemmas for hex-gram-schmidt.

This module converts dense Hex.Matrix rows into the finite-dimensional real vector space used by Mathlib's gramSchmidt, then states the rowwise correspondence between the executable Hex.GramSchmidt basis and Mathlib's orthogonalization process.

View a rational dense row as a vector in Mathlib's standard Euclidean space on Fin m.

Equations
Instances For
    @[simp]
    theorem Hex.GramSchmidtMathlib.rowToEuclidean_apply {m : } (row : Vector m) (j : Fin m) :
    (rowToEuclidean row).ofLp j = row[j]

    Coordinate access commutes with rowToEuclidean: the j-th component of the converted vector is the real cast of the j-th rational entry.

    @[simp]

    rowToEuclidean sends the zero row to the zero vector.

    @[simp]

    rowToEuclidean is additive: it sends a rowwise sum to the sum of converted vectors.

    @[simp]

    rowToEuclidean commutes with subtraction.

    @[simp]

    rowToEuclidean is rational-linear: it sends a rational scalar multiple to the corresponding real scalar multiple of the converted vector.

    Cast an integer dense matrix into the rational matrix space of HexGramSchmidt.

    Equations
    Instances For

      The row family fed to Mathlib's gramSchmidt for a rational matrix.

      Equations
      Instances For

        The row family fed to Mathlib's gramSchmidt for an integer matrix.

        Equations
        Instances For

          Mathlib's real inner product on converted rows agrees with the executable rational dense dot product after casting to .

          A strictly lower executable coefficient agrees, after casting to , with Mathlib's projection coefficient for the corresponding converted rows.

          The rational Gram-Schmidt basis agrees rowwise with Mathlib's real-valued gramSchmidt after coercing coefficients into .

          The integer Gram-Schmidt basis agrees rowwise with Mathlib's real-valued gramSchmidt after coercing coefficients into .