Gaussian Sketching¶
-
template<Number T, DataLocation L = Host>
class GaussianSketch¶ Gaussian Embedding is a random matrix \( \Gamma \in \mathbb{R}^{n \times s}\) where each entry is i.i.d. random variable from the Gaussian distribution \( \mathcal{N}(0, s^{-1})\). This sketching operator has the strongest theoretical support among all sketching methods, but it requires
O(ns)
space in memory to be stored and can be applied to a vector inO(ns)
operations. It can be applied in both sides of the matrix and can be used on accelerators.- Template Parameters:
T – Data type of the sketching matrix.
L – Location of the data.
Public Functions
-
GaussianSketch() = default¶
Creates a new sketching operator.
-
inline GaussianSketch(const GaussianSketchOptions &options)¶
Creates a new sketching operator according to
options
.- Parameters:
options – [in] sketching parameters
-
virtual ~GaussianSketch() = default¶
Destructor.
-
inline void set_params(const GaussianSketchOptions &options)¶
Sets the parameter of the sketching.
- Parameters:
options – [in] sketching parameters
-
struct GaussianSketchOptions¶
Options for the GaussianSketch.