We develop a general framework for finding approximately-optimal preconditioners for solving linear systems. Leveraging this framework we obtain improved runtimes for fundamental preconditioning and linear system solving problems including the following. We give an algorithm which, given positive definite $\mathbf{K} \in \mathbb{R}^{d \times d}$ with $\mathrm{nnz}(\mathbf{K})$ nonzero entries, computes an $\epsilon$-optimal diagonal preconditioner in time $\widetilde{O}(\mathrm{nnz}(\mathbf{K}) \cdot \mathrm{poly}(\kappa^\star,\epsilon^{-1}))$, where $\kappa^\star$ is the optimal condition number of the rescaled matrix. We give an algorithm which, given $\mathbf{M} \in \mathbb{R}^{d \times d}$ that is either the pseudoinverse of a graph Laplacian matrix or a constant spectral approximation of one, solves linear systems in $\mathbf{M}$ in $\widetilde{O}(d^2)$ time. Our diagonal preconditioning results improve state-of-the-art runtimes of $\Omega(d^{3.5})$ attained by general-purpose semidefinite programming, and our solvers improve state-of-the-art runtimes of $\Omega(d^{\omega})$ where $\omega > 2.3$ is the current matrix multiplication constant. We attain our results via new algorithms for a class of semidefinite programs (SDPs) we call matrix-dictionary approximation SDPs, which we leverage to solve an associated problem we call matrix-dictionary recovery.
翻译:我们开发了一个通用框架,用于寻找近似最优的预处理器,以求解线性系统。利用这一框架,我们在基本预处理和线性系统求解问题上获得了改进的运行时间,包括以下内容:我们提出了一种算法,给定正定矩阵 $\mathbf{K} \in \mathbb{R}^{d \times d}$,其非零元素个数为 $\mathrm{nnz}(\mathbf{K})$,可在时间 $\widetilde{O}(\mathrm{nnz}(\mathbf{K}) \cdot \mathrm{poly}(\kappa^\star,\epsilon^{-1}))$ 内计算出一个 $\epsilon$ 最优的对角预处理器,其中 $\kappa^\star$ 是缩放后矩阵的最优条件数。我们给出了一种算法,给定 $\mathbf{M} \in \mathbb{R}^{d \times d}$,该矩阵要么是图拉普拉斯矩阵的伪逆,要么是其常数谱近似,可在 $\widetilde{O}(d^2)$ 时间内求解 $\mathbf{M}$ 中的线性系统。我们的对角预处理结果改进了通用半定规划达到的最优运行时间 $\Omega(d^{3.5})$,而我们的求解器改进了当前矩阵乘法常数为 $\omega > 2.3$ 时的最优运行时间 $\Omega(d^{\omega})$。我们通过一类称为矩阵字典近似半定规划(SDPs)的新算法来实现这些结果,并利用这些算法解决一个相关的问题——矩阵字典恢复。