This PR introduces the namespace RandBLAS::ramm. There are two functions of interest in this namespace:
ramm_general_left
ramm_general_right
These correspond to applying a sketching operator to the left or right of a general matrix. Each of these functions has three signatures that differ in the type of the sketching operator. One signature uses an abstract SKOP (for documentation purposes), one uses DenseSkOp<T, RNG>, and one uses SparseSkOp<T, RNG>.
This PR doesn't change the function names lskges, lskge3, rskges, rskge3. However, it does change the unit tests to use the ramm_general_left and ramm_general_right API. So right now the [l/r]skge[3/s] API is only used in the ramm_general_left and ramm_general_right functions.
This PR introduces the namespace
RandBLAS::ramm
. There are two functions of interest in this namespace:ramm_general_left
ramm_general_right
These correspond to applying a sketching operator to the left or right of a general matrix. Each of these functions has three signatures that differ in the type of the sketching operator. One signature uses an abstract
SKOP
(for documentation purposes), one usesDenseSkOp<T, RNG>
, and one usesSparseSkOp<T, RNG>
.The names of these functions aren't final. I've created a place to discuss naming conventions here: https://github.com/BallisticLA/RandBLAS/discussions/47.
This PR doesn't change the function names
lskges, lskge3, rskges, rskge3
. However, it does change the unit tests to use theramm_general_left
andramm_general_right
API. So right now the[l/r]skge[3/s]
API is only used in theramm_general_left
andramm_general_right
functions.