Complex arithmetic interfaces specialized from the shared field-generic implementation.
@[reducible, inline]
noncomputable abbrev
MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Arithmetic.padSource
{n m : ℕ}
:
MatrixInput m → MatrixInput n ⊕ ℂ
Route a padded input position to its original entry or the scalar zero.
Equations
Instances For
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Arithmetic.padSource_eval
{n m : ℕ}
(A B : Matrix (Fin n) (Fin n) ℂ)
:
(fun (x : MatrixInput m) => Sum.elim (matrixInputs A B) id (padSource x)) = matrixInputs (zeroPadMatrix m A) (zeroPadMatrix m B)
@[reducible, inline]
noncomputable abbrev
MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Arithmetic.MatrixAlgorithm.pad
{n m : ℕ}
(h : n ≤ m)
(P : MatrixAlgorithm m)
:
Run a larger matrix algorithm on zero-padded inputs and retain the requested outputs.
Equations
Instances For
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Arithmetic.MatrixAlgorithm.pad_correct
{n m : ℕ}
(h : n ≤ m)
{P : MatrixAlgorithm m}
(hP : P.Correct)
:
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Arithmetic.MatrixAlgorithm.pad_cost_eq
{n m : ℕ}
(h : n ≤ m)
(P : MatrixAlgorithm m)
:
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Foundation.Arithmetic.MatrixAlgorithm.exists_restrict
{n m : ℕ}
(h : n ≤ m)
(P : MatrixAlgorithm m)
(hP : P.Correct)
: