English

Solving Linear Programs in the Current Matrix Multiplication Time

Data Structures and Algorithms 2020-10-21 v3

Abstract

This paper shows how to solve linear programs of the form minAx=b,x0cx\min_{Ax=b,x\geq0} c^\top x with nn variables in time O((nω+n2.5α/2+n2+1/6)log(n/δ))O^*((n^{\omega}+n^{2.5-\alpha/2}+n^{2+1/6}) \log(n/\delta)) where ω\omega is the exponent of matrix multiplication, α\alpha is the dual exponent of matrix multiplication, and δ\delta is the relative accuracy. For the current value of ω2.37\omega\sim2.37 and α0.31\alpha\sim0.31, our algorithm takes O(nωlog(n/δ))O^*(n^{\omega} \log(n/\delta)) time. When ω=2\omega = 2, our algorithm takes O(n2+1/6log(n/δ))O^*(n^{2+1/6} \log(n/\delta)) time. Our algorithm utilizes several new concepts that we believe may be of independent interest: \bullet We define a stochastic central path method. \bullet We show how to maintain a projection matrix WA(AWA)1AW\sqrt{W}A^{\top}(AWA^{\top})^{-1}A\sqrt{W} in sub-quadratic time under 2\ell_{2} multiplicative changes in the diagonal matrix WW.

Keywords

Cite

@article{arxiv.1810.07896,
  title  = {Solving Linear Programs in the Current Matrix Multiplication Time},
  author = {Michael B. Cohen and Yin Tat Lee and Zhao Song},
  journal= {arXiv preprint arXiv:1810.07896},
  year   = {2020}
}

Comments

STOC 2019, JACM 2020