Is Nearly-linear the Same in Theory and Practice? A Case Study with a Combinatorial Laplacian Solver

  • Daniel Hoske
  • Dimitar Lukarski
  • Henning Meyerhenke
  • Michael Wegner
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9125)


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.


Span Tree Conjugate Gradient Laplacian Matrix Basis Cycle Cycle Selection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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
  3. 3.
    Alon, N., Karp, R.M., Peleg, D., West, D.: A graph-theoretic game and its application to the k-server problem. SIAM Journal on Computing 24, 78–100 (1995)zbMATHMathSciNetCrossRefGoogle Scholar
  4. 4.
    Barabási, A.-L., Albert, R.: Emergence of scaling in random networks. Science 286(5439), 509–512 (1999)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Boman, E., Hendrickson, B., Vavasis, S.: Solving elliptic finite element systems in near-linear time with support preconditioners. SIAM Journal on Numerical Analysis 46(6), 3264–3284 (2008)zbMATHMathSciNetCrossRefGoogle Scholar
  6. 6.
    Briggs, W.L., Henson, V.E., McCormick, S.F.: A multigrid tutorial. SIAM (2000)Google Scholar
  7. 7.
    Browne, S., Dongarra, J., Garner, N., Ho, G., Mucci, P.: A portable programming interface for performance evaluation on modern processors. Int. J. High Perform. Comput. Appl. 14(3), 189–204 (2000)CrossRefGoogle Scholar
  8. 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
  9. 9.
    Demmel, J.W.: Applied Numerical Linear Algebra. Society for Industrial and Applied Mathematics, Philadelphia (1997)zbMATHCrossRefGoogle Scholar
  10. 10.
    Diekmann, R., Frommer, A., Monien, B.: Efficient schemes for nearest neighbor load balancing. Parallel Computing 25(7), 789–812 (1999)MathSciNetCrossRefGoogle Scholar
  11. 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. 12.
    Guennebaud, G., Jacob, B., et al.: Eigen v3 (2010).
  13. 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. 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. 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. 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. 17.
    Lukarski, D.: Paralution - library for iterative sparse methods (2015). (last accessed February 09, 2015)
  18. 18.
    Marquardt, D.: An algorithm for least-squares estimation of nonlinear parameters. Journal of the Society for Industrial and Applied Mathematics 11(2), 431–441 (1963)zbMATHMathSciNetCrossRefGoogle Scholar
  19. 19.
    Papp, P.A.: Low-Stretch Spanning Trees. Bachelor thesis, Eötvös Loránd University (2014)Google Scholar
  20. 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
  21. 21.
    Reif, J.H.: Efficient approximate solution of sparse linear systems. Computers & Mathematics with Applications 36(9), 37–58 (1998)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Spielman, D.A., Srivastava, N.: Graph sparsification by effective resistances. In: STOC 2008, New York, NY, USA (2008)Google Scholar
  23. 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. 24.
    Spielman, D.A., Woo, J.: A note on preconditioning by low-stretch spanning trees. CoRR, abs/0903.2816 (2009)Google Scholar
  25. 25.
    Staudt, C.L., Sazonovs, A., Meyerhenke, H.: NetworKit: An interactive tool suite for high-performance network analysis. arXiv:1403.3005 (2014)
  26. 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

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Daniel Hoske
    • 1
  • Dimitar Lukarski
    • 2
  • Henning Meyerhenke
    • 1
  • Michael Wegner
    • 1
  1. 1.Institute of Theoretical InformaticsKarlsruhe Institute of Technology (KIT)KarlsruheGermany
  2. 2.Paralution Labs UG & Co. KGGaggenauGermany

Personalised recommendations