Documentation

Complexity.Algorithms.WordRAM.MatrixMultiplication.Schonhage.BandInput

Actual initialized header and signed-matrix inputs #

Main definitions #

Main results #

Original matrix entries, zero extended to natural indices. Right-side r denotes a column of Y. This is only the mathematical memory specification; the program loads the concrete row-major input words, after its actual bounds guard.

Instances For

    The input prefix consists of the native length header, three scalar words and both original matrices, with no powers, tables or precomputed outputs.

    theorem Cslib.Algorithms.WordRAM.MatrixMultiplication.Schonhage.BandPreparation.input_fits {w L m N : ℕ} (hw : 0 < w) (hm : m ≤ L) (X : Matrix (Fin N) (Fin (MatrixMultiplication.Schonhage.D m)) ℤ) (Y : Matrix (Fin (MatrixMultiplication.Schonhage.D m)) (Fin N) ℤ) (A : ℤ) (hA : 0 ≤ A) (hX : ∀ (i : Fin N) (k : Fin (MatrixMultiplication.Schonhage.D m)), |X i k| ≤ A) (hY : ∀ (k : Fin (MatrixMultiplication.Schonhage.D m)) (j : Fin N), |Y k j| ≤ A) (hmag : ↑(7 ^ L) * A < 2 ^ (w - 1)) (hfit : WordRAM.Fits (w + 2) (wordBudget L m N)) :
    WordRAM.InputFits (w + 2) (input L m N X Y)

    The sign/magnitude input encoding uses at most w+1 bits; the actual native program uses w+2 bits for its signed arithmetic kernels. Every input word is covered.

    theorem Cslib.Algorithms.WordRAM.MatrixMultiplication.Schonhage.BandPreparation.exec_input {w L m N : ℕ} (hw : 0 < w) (hm : m ≤ L) (X : Matrix (Fin N) (Fin (MatrixMultiplication.Schonhage.D m)) ℤ) (Y : Matrix (Fin (MatrixMultiplication.Schonhage.D m)) (Fin N) ℤ) (A : ℤ) (hA : 0 ≤ A) (hX : ∀ (i : Fin N) (k : Fin (MatrixMultiplication.Schonhage.D m)), |X i k| ≤ A) (hY : ∀ (k : Fin (MatrixMultiplication.Schonhage.D m)) (j : Fin N), |Y k j| ≤ A) (hmag : ↑(7 ^ L) * A < 2 ^ (w - 1)) (hfit : WordRAM.Fits (w + 2) (wordBudget L m N)) :

    Complete actual State.init execution, with both encoded catalogues, computed tables, preserved input and outside frame, bounded final state and the complete charged time bound.