Documentation

Complexity.Algorithms.WordRAM.MatrixMultiplication.Schonhage.BandExec

Complete native shared-band execution #

Main results #

The two tables and the protected input all precede the output catalogue.

The one-side catalogue end is within the complete allocation.

A coarse uniform bound for one actual shared-band call and its outer loop control.

The sum of the previously proved native component charges fits the generic bound.

theorem Cslib.Algorithms.WordRAM.MatrixMultiplication.Schonhage.BandPreparation.exec {w L m N : ℕ} (hw : 0 < w) (hm : m ≤ L) (x : WordRAM.Data 96) (hL : x.mem 1 = L) (hm' : x.mem 2 = m) (hN : x.mem 3 = N) (matrix : Bool → ℕ → ℕ → ℤ) (hmat : ∀ (side : Bool), ∀ r < N, ∀ k < MatrixMultiplication.Schonhage.D m, x.mem (matrixOffset m N side r k + 4) = WordRAM.Signed.encode (matrix side r k)) (A : ℤ) (hA : 0 ≤ A) (ha : ∀ (side : Bool), ∀ r < N, ∀ k < MatrixMultiplication.Schonhage.D m, |matrix side r k| ≤ A) (hmag : ↑(7 ^ L) * A < 2 ^ (w - 1)) (hfit : WordRAM.Fits (w + 2) (wordBudget L m N)) :

The full fixed native program. The caller supplies only ordinary L,m,N headers and signed matrix words; both tables and every padded/encoded band are computed. Header zero and arbitrary outside memory need not be zero or describe a standalone input list.