Rectangular matrix multiplication algorithms and their asymptotic exponents.
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Arithmetic.rectangular_power_cost_padding_bound
{F : Type u_1}
[Field F]
{a b : ℕ}
(ha : 2 ≤ a)
{k s C : ℝ}
(hk : 0 ≤ k)
(hab : ↑a ^ k ≤ ↑b)
(hs : 0 ≤ s)
(hC : 0 < C)
(hpower : ∀ (t : ℕ), ∃ (P : MatrixAlgorithm F (a ^ t) (b ^ t) (a ^ t)), P.Correct ∧ ↑P.cost ≤ C * (↑a ^ s) ^ t)
:
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Arithmetic.rectangularAdmissibleExponent_of_power_costs
{F : Type u_1}
[Field F]
{a b : ℕ}
(ha : 2 ≤ a)
{k τ : ℝ}
(hk : 0 ≤ k)
(hab : ↑a ^ k ≤ ↑b)
(hτ : 0 ≤ τ)
(hpower :
∀ (ε : ℝ),
0 < ε →
∃ (C : ℝ),
0 < C ∧ ∀ (t : ℕ), ∃ (P : MatrixAlgorithm F (a ^ t) (b ^ t) (a ^ t)), P.Correct ∧ ↑P.cost ≤ C * (↑a ^ (τ + ε)) ^ t)
:
def
MatrixMultiplicationAllFields.MatrixMultiplication.Arithmetic.rectangularBlockCost
(a b R K : ℕ)
:
The recursive cost of rectangular block multiplication with explicit linear overhead.
Equations
- One or more equations did not get rendered due to their size.
- MatrixMultiplicationAllFields.MatrixMultiplication.Arithmetic.rectangularBlockCost a b R K 0 = 1
Instances For
@[simp]
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Arithmetic.rectangularBlockCost_zero
(a b R K : ℕ)
:
@[simp]
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Arithmetic.rectangularBlockCost_succ
(a b R K t : ℕ)
:
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Arithmetic.rectangular_power_programs_of_block_step
{F : Type u_1}
[Field F]
{a b R K : ℕ}
(hscalar : ∃ (P : MatrixAlgorithm F 1 1 1), P.Correct ∧ P.cost ≤ 1)
(hstep :
∀ (m p : ℕ) (P : MatrixAlgorithm F m p m),
P.Correct →
∃ (Q : MatrixAlgorithm F (a * m) (b * p) (a * m)), Q.Correct ∧ Q.cost ≤ R * P.cost + K * (m * p + m ^ 2))
(t : ℕ)
:
∃ (P : MatrixAlgorithm F (a ^ t) (b ^ t) (a ^ t)), P.Correct ∧ P.cost ≤ rectangularBlockCost a b R K t
theorem
MatrixMultiplicationAllFields.MatrixMultiplication.Arithmetic.rectangularAdmissibleExponent_of_block_step
{F : Type u_1}
[Field F]
{a b R K : ℕ}
(ha : 2 ≤ a)
{k τ : ℝ}
(hk : 0 ≤ k)
(hab : ↑a ^ k ≤ ↑b)
(hτ : 0 ≤ τ)
(hR : ↑R ≤ ↑a ^ τ)
(hin : ↑(a * b) ≤ ↑a ^ τ)
(hout : ↑a ^ 2 ≤ ↑a ^ τ)
(hscalar : ∃ (P : MatrixAlgorithm F 1 1 1), P.Correct ∧ P.cost ≤ 1)
(hstep :
∀ (m p : ℕ) (P : MatrixAlgorithm F m p m),
P.Correct →
∃ (Q : MatrixAlgorithm F (a * m) (b * p) (a * m)), Q.Correct ∧ Q.cost ≤ R * P.cost + K * (m * p + m ^ 2))
: