Documentation

LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.Polynomial.ComplexPolynomialDegenerationComposition

Polynomial tensor restrictions and exact coefficient extraction.

theorem MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.restrict_scalar_mul {K : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [CommSemiring K] [Fintype X] [Fintype Y] [Fintype Z] (A : X' → X → K) (B : Y' → Y → K) (C : Z' → Z → K) (P : Tensor K X Y Z) (s : K) :
(restrict A B C fun (x : X) (y : Y) (z : Z) => s * P x y z) = fun (x' : X') (y' : Y') (z' : Z') => s * restrict A B C P x' y' z'
theorem MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.cyclic_restrict {K : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [CommSemiring K] [Fintype X] [Fintype Y] [Fintype Z] (A : X' → X → K) (B : Y' → Y → K) (C : Z' → Z → K) (P : Tensor K X Y Z) :
(restrict A B C P).cyclic = restrict B C A P.cyclic
structure MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] (T : Tensor F X Y Z) (U : Tensor F X' Y' Z') (k Lx Ly Lz : ℕ) :
Type (max (max (max (max (max (max u_1 u_2) u_3) u_4) u_5) u_6) u_7)

Polynomial coordinate maps certifying a restriction degeneration with controlled degrees.

Instances For
    def MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.cyclic {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) :

    Cyclically permute the legs of a certified polynomial restriction degeneration.

    Equations
    • L.cyclic = { leftMap := L.middleMap, middleMap := L.rightMap, rightMap := L.leftMap, left_degree := ⋯, middle_degree := ⋯, right_degree := ⋯, vanishes := ⋯, leading := ⋯ }
    Instances For
      noncomputable def MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.basePolynomial {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) :
      Tensor (Polynomial F) X' Y' Z'

      Apply the degeneration's polynomial coordinate maps to the original tensor.

      Equations
      Instances For
        noncomputable def MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.compositionPolynomial {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz r d D : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) (W : T.PolynomialApproximation r d D) :
        Tensor (Polynomial F) X' Y' Z'

        Compose a restriction degeneration with an approximation after expanding its polynomial variable.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.normalizedComposition {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz r d D : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) (W : T.PolynomialApproximation r d D) :
          Tensor (Polynomial F) X' Y' Z'

          Compose the degeneration with the normalized approximation after expanding its variable.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.compositionPolynomial_eq {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz r d D : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) (W : T.PolynomialApproximation r d D) (x' : X') (y' : Y') (z' : Z') :
            L.compositionPolynomial W x' y' z' = Polynomial.X ^ (d * (k + 1)) * L.normalizedComposition W x' y' z'
            theorem MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.normalizedComposition_coeff {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz r d D : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) (W : T.PolynomialApproximation r d D) (j : ℕ) (hj : j ≤ k) (x' : X') (y' : Y') (z' : Z') :
            (L.normalizedComposition W x' y' z').coeff j = (L.basePolynomial x' y' z').coeff j
            theorem MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.compositionPolynomial_rank {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz r d D : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) (W : T.PolynomialApproximation r d D) :
            theorem MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.compositionPolynomial_degree {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz r d D : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) (W : T.PolynomialApproximation r d D) (x' : X') (y' : Y') (z' : Z') :
            (L.compositionPolynomial W x' y' z').degree ≤ ↑D * (↑k + 1) + ↑Lx + ↑Ly + ↑Lz
            noncomputable def MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.compose {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz r d D : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) (W : T.PolynomialApproximation r d D) :
            U.PolynomialApproximation r (d * (k + 1) + k) (D * (k + 1) + Lx + Ly + Lz)

            Construct the composed polynomial approximation with explicit rank and degree bounds.

            Equations
            Instances For
              @[simp]
              theorem MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Tensor.PolynomialRestrictionDegeneration.compose_polynomial {F : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} {X' : Type u_5} {Y' : Type u_6} {Z' : Type u_7} [Field F] [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor F X Y Z} {U : Tensor F X' Y' Z'} {k Lx Ly Lz r d D : ℕ} (L : T.PolynomialRestrictionDegeneration U k Lx Ly Lz) (W : T.PolynomialApproximation r d D) :
              (L.compose W).polynomial = restrict L.leftMap L.middleMap L.rightMap fun (x : X) (y : Y) (z : Z) => (Polynomial.expand F (k + 1)) (W.polynomial x y z)