structure
Hex.Matrix.Winograd
{R : Type u}
{n m k : Nat}
[Lean.Grind.Ring R]
(A₁₁ A₁₂ A₂₁ A₂₂ : Matrix R n m)
(B₁₁ B₁₂ B₂₁ B₂₂ : Matrix R m k)
:
Type u
The Winograd seven-product schedule over eight blocks of a 2×2 product.
The eight base blocks are the structure parameters; the fifteen operand and
result sums S₁…S₄, T₁…T₄, U₁…U₇ and the seven products P₁…P₇ are fields,
each pinned to the schedule by a defining equation. A consumer (the mulStrassen
correctness proof) instantiates the fields with its recursively-computed
intermediates and discharges the equations, then reads off the four output-block
identities c11, c12, c21, c22.
- S₁ : Matrix R n m
S₁ = A₂₁ + A₂₂. - S₂ : Matrix R n m
- S₃ : Matrix R n m
S₃ = A₁₁ − A₂₁. - S₄ : Matrix R n m
- T₁ : Matrix R m k
T₁ = B₁₂ − B₁₁. - T₂ : Matrix R m k
- T₃ : Matrix R m k
T₃ = B₂₂ − B₁₂. - T₄ : Matrix R m k
- P₁ : Matrix R n k
P₁ = A₁₁ · B₁₁. - P₂ : Matrix R n k
P₂ = A₁₂ · B₂₁. - P₃ : Matrix R n k
- P₄ : Matrix R n k
- P₅ : Matrix R n k
- P₆ : Matrix R n k
- P₇ : Matrix R n k
- U₁ : Matrix R n k
- U₂ : Matrix R n k
- U₃ : Matrix R n k
- U₄ : Matrix R n k
- U₅ : Matrix R n k
- U₆ : Matrix R n k
- U₇ : Matrix R n k