Sparse Sign Sketching¶
-
template<Number T, DataLocation L = Host>
class SparseSignSketch¶ Sparse Sign matrix is defined as
\[ \mathbf{S} = \sqrt{\frac{n}{d}} [\vec{s}_1 \quad \vec{s}_2 \quad ... \quad \vec{s}_n\]d
i.i.d. random signs and placing them ind
uniformly random coordinates. They have similar performance to the Gaussian embedding, but only requiresO(dn)
space in memory and can be appliedO(dn)
time to a vector. While the main disadvantage is that it uses sparse arithmetic.- Template Parameters:
T – Data type of the sketching matrix.
L – Location of the data.
Public Functions
-
SparseSignSketch() = default¶
Creates a new sketching operator.
-
inline SparseSignSketch(const SparseSignSketchOptions &options)¶
Creates a new sketching operator according to
options
.- Parameters:
options – [in] sketching parameters
-
virtual ~SparseSignSketch() = default¶
Destructor.
-
inline void set_params(const SparseSignSketchOptions &options)¶
Sets the parameter of the sketching.
- Parameters:
options – [in] sketching parameters
-
struct SparseSignSketchOptions¶
Options for the SRTTSketch.