Fast direct solvers for large dense linear systems using low-rank and butterfly hierarchical compression

Area: Mathematical libraries

CASS member: FASTMath

Description

ButterflyPACK is a library for rapidly solving large-scale dense linear systems that exhibit off-diagonal rank deficiency. It uses low-rank or butterfly formats within Hierarchical matrix (H-matrix), Hierarchically Off-Diagonal Low-Rank (HODLR) and other hierarchically nested frameworks to compress, factor and solve these systems in quasi-linear time. ButterflyPACK also provides preconditioned iterative solvers. It supports Fortran 2003, C, C++ and Python interfaces, features hybrid MPI/OpenMP parallelism, and can be called from STRUMPACK to solve both dense and sparse linear systems.

Target audience

ButterflyPACK is aimed at scientists and engineers who need to solve large dense linear systems, especially those from boundary element and other integral equation methods for electromagnetic, acoustic, plasma, static and fluid problems. It also helps developers of sparse direct solvers and preconditioners for finite-difference and finite-element methods, whose factorization produces dense blocks that can be compressed. Other applications include kernel and covariance matrices, such as those in kernel ridge regression and Gaussian process.

License: BSD-3-Clause-LBNL

Additional resources