RandBLAS facilitates implementation of high-level randomized linear algebra algorithms, like randomized low-rank SVD. It does this by providing basic functionality for sketching with a BLAS-like interface.
Right now RandBLAS' main use is to provide the sketching backend for RandLAPACK. Our goal is for RandBLAS to become a standard like the BLAS, in that hardware vendors might release their own optimized implementations of algorithms which conform to the RandBLAS API.
Please swing by the RandLAPACK Discord server if you have questions about RandBLAS or would like to get involved with RandBLAS' development.
For those who are new to randomized linear algebra, we recommend you check out this 35-minute YouTube video on the subject.
We have three types of documentation.
- Traditional source code comments.
- Web documentation, split into a tutorial and an API reference.
- Developer notes; one for RandBLAS as a whole and another for our sparse matrix functionality.
Detailed installation instructions are in INSTALL.md.
RandBLAS is licensed under the BSD 3-Clause License. See LICENSE for information and copyright assertions.
The source code can be found at the RandBLAS github repository.