An Adaptive Solver for Systems of Linear Equations

07/22/2020
by   Conrad Sanderson, et al.
0

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 linear algebra. The solver automatically detects several common properties of a given system (banded, triangular, symmetric positive definite), followed by solving the system via mapping to a set of suitable LAPACK functions best matched to each property. The solver also detects poorly conditioned systems and automatically seeks a solution via singular value decomposition as a fallback. We show that the adaptive solver leads to notable speedups, while also freeing the user from using direct calls to cumbersome LAPACK functions.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/09/2023

The effect of approximate coarsest-level solves on the convergence of multigrid V-cycle methods

The multigrid V-cycle method is a popular method for solving systems of ...
research
09/23/2020

Analytical Inverse For The Symmetric Circulant Tridiagonal Matrix

Finding the inverse of a matrix is an open problem especially when it co...
research
11/20/2018

User-Friendly Sparse Matrices with Hybrid Storage and Template-Based Expression Optimisation

Despite the importance of sparse matrices in numerous fields of science,...
research
08/30/2023

Towards Robust Solvers for Nuclear Fusion Simulations Using JOREK: A Numerical Analysis Perspective

One of the most well-established codes for modeling non-linear Magnetohy...
research
05/09/2018

A User-Friendly Hybrid Sparse Matrix Class in C++

When implementing functionality which requires sparse matrices, there ar...
research
08/08/2022

Statistical Properties of the Probabilistic Numeric Linear Solver BayesCG

We analyse the calibration of BayesCG under the Krylov prior, a probabil...

Please sign up or login with your details

Forgot password? Click here to reset