Is Nearly-linear the Same in Theory and Practice? A Case Study with a Combinatorial Laplacian Solver
Linear system solving is one of the main workhorses in applied mathematics. Recently, theoretical computer scientists have contributed sophisticated algorithms for solving linear systems with symmetric diagonally dominant matrices (a class to which Laplacian matrices belong) in provably nearly-linear time. These algorithms are highly interesting from a theoretical perspective, but there are no published results on how they perform in practice.
With this paper we address this gap. We provide the first implementation of the combinatorial solver by [Kelner et al., STOC 2013], which is particularly appealing due to its conceptual simplicity. The algorithm exploits that a Laplacian matrix corresponds to a graph; solving Laplacian linear systems amounts to finding an electrical flow in this graph with the help of cycles induced by a spanning tree with the low-stretch property.
The results of our comprehensive experimental study are ambivalent. They confirm a nearly-linear running time, but for reasonable inputs the constant factors make the solver much slower than methods with higher asymptotic complexity. One other aspect predicted by theory is confirmed by our findings: Spanning trees with lower stretch indeed reduce the solver’s running time. Yet, simple spanning tree algorithms perform better in practice than those with a guaranteed low stretch.
Unable to display preview. Download preview PDF.
- 1.Abraham, I., Bartal, Y., Neiman, O.: Nearly tight low stretch spanning trees. In: 49th Annual Symposium on Foundations of Computer Science, pp. 781–790 (2008)Google Scholar
- 2.Abraham, I., Neiman, O.: Using petal-decompositions to build a low stretch spanning tree. In: 44th ACM Symposium on Theory of Computing, pp. 395–406 (2012)Google Scholar
- 6.Briggs, W.L., Henson, V.E., McCormick, S.F.: A multigrid tutorial. SIAM (2000)Google Scholar
- 8.Christiano, P., Kelner, J.A., Madry, A., Spielman, D.A., Teng, S.-H.: Electrical flows, laplacian systems, and faster approximation of maximum flow in undirected graphs. In: Proc. 43rd ACM Symp. on Theory of Computing (STOC), pp. 273–282. ACM (2011)Google Scholar
- 11.Elkin, M., Emek, Y., Spielman, D.A., Teng, S.-H.: Lower-stretch spanning trees. In: Proceedings of the Thirty-Seventh Annual ACM Symposium on Theory of Computing, New York, NY, USA, pp. 494–503. ACM (2005)Google Scholar
- 12.Guennebaud, G., Jacob, B., et al.: Eigen v3 (2010). http://eigen.tuxfamily.org
- 13.Hoske, D.: An experimental study of a nearly-linear time Laplacian solver. Master’s thesis, Karlsruhe Institute of Technology (KIT) (2014)Google Scholar
- 14.Kelner, J.A., Orecchia, L., Sidford, A., Zhu, Z.A.: A simple, combinatorial algorithm for solving SDD systems in nearly-linear time. In: Proceedings of the Forty-Fifth Annual ACM Symposium on Theory of Computing, New York, NY, USA, pp. 911–920 (2013)Google Scholar
- 15.Koutis, I.: Simple parallel and distributed algorithms for spectral graph sparsification. In: Proc. 26th ACM Symp. on Parallelism in Algorithms and Architectures (SPAA), pp. 61–66. ACM (2014)Google Scholar
- 16.Koutis, I., Levin, A., Peng, R.: Improved spectral sparsification and numerical algorithms for SDD matrices. In: Symposium on Theoretical Aspects of Computer Science, vol. 14, pp. 266–277 (2012)Google Scholar
- 17.Lukarski, D.: Paralution - library for iterative sparse methods (2015). http://www.paralution.com (last accessed February 09, 2015)
- 19.Papp, P.A.: Low-Stretch Spanning Trees. Bachelor thesis, Eötvös Loránd University (2014)Google Scholar
- 20.Peng, R., Spielman, D.A.: An efficient parallel solver for SDD linear systems. In: Proceedings of the 46th Annual ACM Symposium on Theory of Computing, STOC 2014, New York, NY, USA, pp. 333–342. ACM (2014)Google Scholar
- 22.Spielman, D.A., Srivastava, N.: Graph sparsification by effective resistances. In: STOC 2008, New York, NY, USA (2008)Google Scholar
- 23.Spielman, D.A., Teng, S.-H.: Nearly-linear time algorithms for graph partitioning, graph sparsification, and solving linear systems. In: STOC 2004, New York, NY, USA, pp. 81–90 (2004)Google Scholar
- 24.Spielman, D.A., Woo, J.: A note on preconditioning by low-stretch spanning trees. CoRR, abs/0903.2816 (2009)Google Scholar
- 25.Staudt, C.L., Sazonovs, A., Meyerhenke, H.: NetworKit: An interactive tool suite for high-performance network analysis. arXiv:1403.3005 (2014)
- 26.Vaidya, P.M.: Solving linear equations with symmetric diagonally dominant matrices by constructing good preconditioners. Technical report, University of Illinois at Urbana-Champaign, Urbana, IL (1990)Google Scholar