An Adaptive Solver for Systems of Linear Equations
Conrad Sanderson, Ryan Curtin

TL;DR
This paper introduces an adaptive solver within the Armadillo C++ library that automatically detects matrix properties and selects optimal solving methods, improving speed and usability over traditional LAPACK-based approaches.
Contribution
The paper presents a novel adaptive solver that automatically identifies matrix properties and chooses the most efficient solving method, enhancing performance and user-friendliness.
Findings
Notable speedups achieved with the adaptive solver.
Automatic detection of matrix properties improves solving efficiency.
Fallback to SVD for poorly conditioned systems enhances robustness.
Abstract
Computational implementations for solving systems of linear equations often rely on a one-size-fits-all approach based on LU decomposition of dense matrices stored in column-major format. Such solvers are typically implemented with the aid of the xGESV set of functions available in the low-level LAPACK software, with the aim of reducing development time by taking advantage of well-tested routines. However, this straightforward approach does not take into account various matrix properties which can be exploited to reduce the computational effort and/or to increase numerical stability. Furthermore, direct use of LAPACK functions can be error-prone for non-expert users and results in source code that has little resemblance to originating mathematical expressions. We describe an adaptive solver that we have implemented inside recent versions of the high-level Armadillo C++ library for…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
