Algorithm librla: A library of randomized linear algebra routines
Adrianna Gillman, Zydrunas Gimbutas
Abstract
The library librla is a randomized linear algebra library that is specifically designed for the intermediate-sized matrices (of dimension up to roughly 10,000) that arise in applications such as reduced order modeling, fast direct solvers, least squares solves and, in some settings, data compression. librla is the first software package that is both stable and efficient in several high-level languages: MATLAB, Python and Julia. It also provides increased functionality over existing software. Specifically, it allows the user to choose to create a factorization based on a fixed rank or a desired tolerance. The factorization options include QR, SVD and the interpolative decomposition. Additionally, the factorization can be generated either with access to the matrix or access to a matrix-vector multiplication routine. Numerical results compare the Python implementation with the available PyTorch and SciPy randomized factorizations. Performance of librla in the three languages is comparable.
Create a lesson
Related papers
The Art of Closed-Formula Defaults: Search-Free Code Generation for Tensor Operators
Paolo D'Alberto, Ashish Sirasao
Geometric Function Atlas: certified computing for geometric function theory in Python
Kishan Gurumurthy, Pushparaj Devadiga, Prasanna Devadiga et al.
Gradient Reconstruction in Lattice Boltzmann Methods for Systems of Conservation Laws
Adrian Kummerländer, Fedor Bukreev, Mathias J. Krause
BF16 Component-Product Emulation of FP32 and FP64 GEMM on Intel AMX
Bing Cui, Yu Liu
GRADSOLVE: fast exact gradients for ODE ensembles on GPUs
Alessio Spurio Mancini
Performance Evaluation of Fast Fourier Transforms on Emerging RISC-V Hardware with Vector Extension Support
Daniel Seibel, Kaveh Haghighi Mood, Jayesh Badwaik et al.