Engineering a Combinatorial Laplacian Solver: Lessons Learned

被引:6
|
作者
Hoske, Daniel [1 ,2 ]
Lukarski, Dimitar [3 ]
Meyerhenke, Henning [1 ]
Wegner, Michael [1 ]
机构
[1] KIT, Inst Theoret Informat, Fasanengarten 5, D-76131 Karlsruhe, Germany
[2] Google Inc, 1600 Amphitheatre Pkwy, Mountain View, CA 94043 USA
[3] Paralut Labs UG & Co KG, D-76571 Gaggenau, Germany
来源
ALGORITHMS | 2016年 / 9卷 / 04期
关键词
Laplacian linear systems; graph algorithms; low-stretch spanning trees; electrical graph flows; algorithm engineering;
D O I
10.3390/a9040072
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Linear system solving is a main workhorse in applied mathematics. Recently, theoretical computer scientists contributed sophisticated algorithms for solving linear systems with symmetric diagonally-dominant (SDD) matrices in provably nearly-linear time. These algorithms are very interesting from a theoretical perspective, but their practical performance was unclear. Here, we address this gap. We provide the first implementation of the combinatorial solver by Kelner et al. (STOC 2013), which is appealing for implementation due to its conceptual simplicity. The algorithm exploits that a Laplacian matrix (which is SDD) corresponds to a graph; solving symmetric 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 experiments are ambivalent. While they confirm the predicted nearly-linear running time, the constant factors make the solver much slower for reasonable inputs than basic methods with higher asymptotic complexity. We were also not able to use the solver effectively as a smoother or preconditioner. Moreover, while spanning trees with lower stretch indeed reduce the solver's running time, we experience again a discrepancy in practice: in our experiments, simple spanning tree algorithms perform better than those with a guaranteed low stretch. We expect that our results provide insights for future improvements of combinatorial linear solvers.
引用
收藏
页数:19
相关论文
共 50 条
  • [1] Leadership Lessons Learned in Biomedical Engineering
    King, Michael R.
    CELLULAR AND MOLECULAR BIOENGINEERING, 2022, 15 (04) : 301 - 302
  • [2] Simulation and Systems Engineering: Lessons Learned
    Conroy, Michael
    Rabelo, Luis
    SAE Technical Papers, 2019, (March):
  • [3] Leadership Lessons Learned in Biomedical Engineering
    Michael R. King
    Cellular and Molecular Bioengineering, 2022, 15 : 301 - 302
  • [4] Lessons learned in data reverse engineering
    Davis, KH
    EIGHTH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2001, : 323 - 327
  • [5] A software engineering lessons learned repository
    Harrison, W
    27TH ANNUAL NASA GODDARD/IEEE SOFTWARE ENGINEERING WORKSHOP - PROCEEDINGS, 2003, : 139 - 143
  • [6] Is Nearly-linear the Same in Theory and Practice? A Case Study with a Combinatorial Laplacian Solver
    Hoske, Daniel
    Lukarski, Dimitar
    Meyerhenke, Henning
    Wegner, Michael
    EXPERIMENTAL ALGORITHMS, SEA 2015, 2015, 9125 : 205 - 218
  • [7] Inclusion of women to ICT engineering - lessons learned
    Lagesen, Vivian Anette
    Pettersen, Ivar
    Berg, Line
    EUROPEAN JOURNAL OF ENGINEERING EDUCATION, 2022, 47 (03) : 467 - 482
  • [8] Engineering Events in CPS - Experiences and Lessons Learned
    Ollesch, Julius
    Hesenius, Marc
    Gruhn, Volker
    2017 IEEE/ACM 3RD INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING FOR SMART CYBER-PHYSICAL SYSTEMS (SESCPS 2017), 2017, : 3 - 9
  • [9] Software engineering masters programs - Lessons learned
    Jovanovic, V
    MacNeil, P
    Matlen, D
    Modesitt, K
    Shoemaker, D
    15TH CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING, PROCEEDINGS, 2002, : 253 - 255
  • [10] NASA Applications and Lessons Learned in Reliability Engineering
    Safie, Fayssal M.
    Fuller, Raymond P.
    2012 PROCEEDINGS - ANNUAL RELIABILITY AND MAINTAINABILITY SYMPOSIUM (RAMS), 2012,