Skip to content

Repository files navigation

RandBLAS : A header-only C++ library for sketching in randomized linear algebra

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.

Documentation

We have three types of documentation.

  1. Traditional source code comments.
  2. Web documentation, split into a tutorial and an API reference.
  3. Developer notes; one for RandBLAS as a whole and another for our sparse matrix functionality.

Detailed installation instructions are in INSTALL.md.

Continuous integration builds

core thread-sanitizer examples downstream-consumer docs

Copyright and license

RandBLAS is licensed under the BSD 3-Clause License. See LICENSE for information and copyright assertions.

Source code

The source code can be found at the RandBLAS github repository.

Releases

Packages

Used by

Contributors

Languages