STRUMPACK
Low-rank STRUctured Matrix PACKage for both dense and sparse matrices.
Area: Mathematical libraries
CASS member: FASTMath
Description
STRUMPACK is a software library providing linear algebra routines and linear system solvers for sparse and dense rank-structured linear systems. For dense linear systems, STRUMPACK has support for the Hierarchically Semi-Separable (HSS), Block Low Rank (BLR), Hierachically Off-Diagonal Low Rank (HODLR), Butterfly and Hierarchically Off-Diagonal Butterfly (HODBF) rank-structured matrix formats. In sparse direct solvers based on multifrontal LU factorization, the fill-in in the triangular factors often has low-rank structure. Hence, the sparse linear solve algorithms in STRUMPACK exploit the different dense rank-structured matrix formats to compress the fill-in. This leads to purely algebraic, fast and scalable (both with problem size and compute cores) approximate direct solvers or preconditioners. The sparse solver in STRUMPACK can also be used as an exact direct solver, whiich delivers good performance and distributed memory scalability and provides excellent GPU support in CUDA, HIP and SYCL. STRUMPACK also provides preconditioned GMRES and BiCGStab iterative solvers.
Target audience
The rank-structured matrices appear in many applications, e.g., the Boundary Element Method for discretization of integral equations, structured matrices like Toeplitz and Cauchy, kernel and covariance matrices etc. For the sparse linear systems, these preconditioners are mostly aimed at those systems coome from the discretization of a partial differential equation, but are not limited to any particular type of problem. The various comopressing formats can be useful as strong approximate factorization preconditioners for an iterative solver.