RandLAPACK provides high-performance randomized algorithms for linear algebra problems such as least squares, (kernel) ridge regression, low-rank approximation, and matrix factorizations. RandLAPACK's API is not yet stable; we're actively working on changing that.
Please swing by our Discord server if you have questions about RandLAPACK or would like to get involved in its development.
RandLAPACK depends on RandBLAS, which we are also developing.
Before starting on RandLAPACK we implemented several high-level RandNLA algorithms in Matlab (MARLA) and Python (PARLA). In the latter library we took an approach where algorithms are objects. An algorithm needs to be instantiated with its tuning parameters and subroutines in order to be used. RandLAPACK currently emphasizes that "algorithms as objects" approach.
Refer to INSTALL.md for directions on how to install RandLAPACK's dependencies,
install RandLAPACK itself, and use RandLAPACK in other projects.