We introduce a new algorithm and software for solving linear equations in symmetric diagonally dominant matrices with non-positive off-diagonal entries (SDDM matrices), including Laplacian matrices. We use pre-conditioned conjugate gradient (PCG) to solve the system of linear equations. Our preconditioner is a variant of the Approximate Cholesky factorization of Kyng and Sachdeva (FOCS 2016). Our factorization approach is simple: we eliminate matrix rows/columns one at a time and update the remaining matrix using sampling to approximate the outcome of complete Cholesky factorization. Unlike earlier approaches, our sampling always maintains a connectivity in the remaining non-zero structure. Our algorithm comes with a tuning parameter that upper bounds the number of samples made per original entry. We implement our algorithm in Julia, providing two versions, AC and AC2, that respectively use 1 and 2 samples per original entry. We compare their single-threaded performance to that of current state-of-the-art solvers Combinatorial Multigrid (CMG), BoomerAMG-preconditioned Krylov solvers from HyPre and PETSc, Lean Algebraic Multigrid (LAMG), and MATLAB's with Incomplete Cholesky Factorization (ICC). Our evaluation uses a broad class of problems, including all large SDDM matrices from the SuiteSparse collection and diverse programmatically generated instances. Our experiments suggest that our algorithm attains a level of robustness and reliability not seen before in SDDM solvers, while retaining good performance across all instances. Our code and data are public, and we provide a tutorial on how to replicate our tests. We hope that others will adopt this suite of tests as a benchmark, which we refer to as SDDM2023. Our solver code is available at: https://github.com/danspielman/Laplacians.jl/ Our benchmarking data and tutorial are available at: https://rjkyng.github.io/SDDM2023/
翻译:我们引入了新的算法和软件, 用于在对称的直方方程中解决线性方程。 我们采用新的算法和软件, 包括 Laplacian 矩阵( SDDM 矩阵), 以非正向的离子体外矩阵( SDDDM 矩阵) 解决线性方程。 我们使用预设的同质梯梯( PCG ) 来解决线性方程系统。 我们的前提条件是Kyng 和 Sachdeeva 的Apray Cholesky因子化的变方程式。 我们的分解方法很简单: 我们一次性删除矩阵行/ 校际矩阵, 并更新其余的矩阵, 以接近完整的 Cholesky 参数。 我们的SDMDMC 和MDMDR 等离解码, 我们的SDMDMDMDR 和SDMDMDR 等离解算法, 我们的SDMDR和SDMDMDR的S, 我们的SDR的SDMDR 和SDMDR的SDR 和SDR的SDMDR的SDR, 我们的SDMDMDR的SDR 和SDR的SDR) 和SDMDMDMDMDR的SDR 和O 将使用所有SDR 和ODR的S 和ODMDMDMDR的SD的SDMDR 和SDMDR的SDRDR的SDRDR 和SDR的SDR的SDR的SD的SDR的SDR的SDR 和O,我们所有的S的S的SD的SD的SDR的SDR的SDRDMDMDRDRDRDRDRDRDRDR的S和O, 我们的SDRDRDR的SDRDRDR的S的S和ODRDR的SDR的SDR的SDR的S的S的S的SDR和O,我们S的S的S的S</s>