We study the Matrix Multiplication Verification Problem (MMV) where the goal
is, given three n×n matrices A, B, and C as input, to decide
whether AB=C. A classic randomized algorithm by Freivalds (MFCS, 1979)
solves MMV in O(n2) time, and a longstanding challenge is to
(partially) derandomize it while still running in faster than matrix
multiplication time (i.e., in o(nω) time).
To that end, we give two algorithms for MMV in the case where AB−C is
sparse. Specifically, when AB−C has at most O(nδ) non-zero
entries for a constant 0≤δ<2, we give (1) a deterministic
O(nω−ε)-time algorithm for constant ε=ε(δ)>0, and (2) a randomized O(n2)-time
algorithm using δ/2⋅log2n+O(1) random bits. The former
algorithm is faster than the deterministic algorithm of K\"{u}nnemann (ESA,
2018) when δ≥1.056, and the latter algorithm uses fewer random bits
than the algorithm of Kimbrel and Sinha (IPL, 1993), which runs in the same
time and uses log2n+O(1) random bits (in turn fewer than Freivalds's
algorithm).
We additionally study the complexity of MMV. We first show that all
algorithms in a natural class of deterministic linear algebraic algorithms for
MMV (including ours) require Ω(nω) time. We also show a barrier
to proving a super-quadratic running time lower bound for matrix multiplication
(and hence MMV) under the Strong Exponential Time Hypothesis (SETH). Finally,
we study relationships between natural variants and special cases of MMV (with
respect to deterministic O(n2)-time reductions)