Skylark (Sketching Library)
0.1
|
#include <WZT.hpp>
Public Types | |
typedef hash_transform_t < InputMatrixType, OutputMatrixType, boost::random::uniform_int_distribution, boost::random::exponential_distribution > | transform_t |
typedef WZT_data_t | data_type |
typedef data_type::params_t | params_t |
Public Member Functions | |
WZT_t (int N, int S, double p, base::context_t &context) | |
WZT_t (int N, int S, const params_t ¶ms, base::context_t &context) | |
WZT_t (const boost::property_tree::ptree &pt) | |
template<typename OtherInputMatrixType , typename OtherOutputMatrixType > | |
WZT_t (const WZT_t< OtherInputMatrixType, OtherOutputMatrixType > &other) | |
WZT_t (const data_type &other) | |
void | apply (const typename transform_t::matrix_type &A, typename transform_t::output_matrix_type &sketch_of_A, columnwise_tag dimension) const |
void | apply (const typename transform_t::matrix_type &A, typename transform_t::output_matrix_type &sketch_of_A, rowwise_tag dimension) const |
int | get_N () const |
int | get_S () const |
const sketch_transform_data_t * | get_data () const |
Woodruff-Zhang Transform (data)
Woodruff-Zhang Transform is very similar to the Clarkson-Woodruff Transform: it replaces the +1/-1 diagonal with reciprocal exponentia random enteries. It is sutiable for lp regression with 1 <= p <= 2.
Reference: D. Woodruff and Q. Zhang Subspace Embeddings and L_p Regression Using Exponential Random COLT 2013
TODO current implementation is only one sketch index, when for 1 <= p <= 2 you want more than one.
typedef WZT_data_t skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::data_type |
typedef data_type::params_t skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::params_t |
typedef hash_transform_t< InputMatrixType, OutputMatrixType, boost::random::uniform_int_distribution, boost::random::exponential_distribution > skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::transform_t |
skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::WZT_t | ( | int | N, |
int | S, | ||
double | p, | ||
base::context_t & | context | ||
) | [inline] |
skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::WZT_t | ( | int | N, |
int | S, | ||
const params_t & | params, | ||
base::context_t & | context | ||
) | [inline] |
skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::WZT_t | ( | const boost::property_tree::ptree & | pt | ) | [inline] |
skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::WZT_t | ( | const WZT_t< OtherInputMatrixType, OtherOutputMatrixType > & | other | ) | [inline] |
skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::WZT_t | ( | const data_type & | other | ) | [inline] |
void skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::apply | ( | const typename transform_t::matrix_type & | A, |
typename transform_t::output_matrix_type & | sketch_of_A, | ||
columnwise_tag | dimension | ||
) | const [inline] |
void skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::apply | ( | const typename transform_t::matrix_type & | A, |
typename transform_t::output_matrix_type & | sketch_of_A, | ||
rowwise_tag | dimension | ||
) | const [inline] |
const sketch_transform_data_t* skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::get_data | ( | ) | const [inline, virtual] |
int skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::get_N | ( | ) | const [inline, virtual] |
Get input dimesion.
Implements skylark::sketch::sketch_transform_t< InputMatrixType, OutputMatrixType >.
Definition at line 92 of file WZT.hpp.
References skylark::sketch::sketch_transform_data_t::_N.
int skylark::sketch::WZT_t< InputMatrixType, OutputMatrixType >::get_S | ( | ) | const [inline, virtual] |
Get output dimesion.
Implements skylark::sketch::sketch_transform_t< InputMatrixType, OutputMatrixType >.
Definition at line 93 of file WZT.hpp.
References skylark::sketch::sketch_transform_data_t::_S.