Skylark (Sketching Library)  0.1
Public Types | Public Member Functions
skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType > Class Template Reference

#include <CWT.hpp>

Inheritance diagram for skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >:
Inheritance graph
[legend]
Collaboration diagram for skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef hash_transform_t
< InputMatrixType,
OutputMatrixType,
boost::random::uniform_int_distribution,
utility::rademacher_distribution_t
transform_t
typedef CWT_data_t data_type
typedef data_type::params_t params_t

Public Member Functions

 CWT_t (int N, int S, base::context_t &context)
 CWT_t (int N, int S, const params_t &params, base::context_t &context)
 CWT_t (const boost::property_tree::ptree &pt)
template<typename OtherInputMatrixType , typename OtherOutputMatrixType >
 CWT_t (const CWT_t< OtherInputMatrixType, OtherOutputMatrixType > &other)
 CWT_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_tget_data () const

Detailed Description

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
class skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >

Clarkson-Woodruff Transform

Clarkson-Woodruff Transform is essentially the CountSketch sketching originally suggested by Charikar et al. Analysis by Clarkson and Woodruff in STOC 2013 shows that this is sketching scheme can be used to build a subspace embedding. c CWT was additionally analyzed by Meng and Mahoney (STOC'13) and is equivalent to OSNAP with s=1.

Definition at line 23 of file CWT.hpp.


Member Typedef Documentation

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
typedef CWT_data_t skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::data_type

Definition at line 34 of file CWT.hpp.

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
typedef data_type::params_t skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::params_t

Definition at line 35 of file CWT.hpp.

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
typedef hash_transform_t<InputMatrixType, OutputMatrixType, boost::random::uniform_int_distribution, utility::rademacher_distribution_t> skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::transform_t

Definition at line 32 of file CWT.hpp.


Constructor & Destructor Documentation

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::CWT_t ( int  N,
int  S,
base::context_t context 
) [inline]

Definition at line 37 of file CWT.hpp.

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::CWT_t ( int  N,
int  S,
const params_t params,
base::context_t context 
) [inline]

Definition at line 42 of file CWT.hpp.

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::CWT_t ( const boost::property_tree::ptree &  pt) [inline]

Definition at line 48 of file CWT.hpp.

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
template<typename OtherInputMatrixType , typename OtherOutputMatrixType >
skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::CWT_t ( const CWT_t< OtherInputMatrixType, OtherOutputMatrixType > &  other) [inline]

Definition at line 55 of file CWT.hpp.

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::CWT_t ( const data_type other) [inline]

Definition at line 60 of file CWT.hpp.


Member Function Documentation

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
void skylark::sketch::CWT_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]

Apply columnwise the sketching transform that is described by the the transform with output sketch_of_A.

Definition at line 69 of file CWT.hpp.

References skylark::sketch::hash_transform_t< InputMatrixType, OutputMatrixType, IdxDistributionType, ValueDistribution >::apply().

Referenced by main(), and test_main().

Here is the call graph for this function:

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
void skylark::sketch::CWT_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]

Apply rowwise the sketching transform that is described by the the transform with output sketch_of_A.

Definition at line 79 of file CWT.hpp.

References skylark::sketch::hash_transform_t< InputMatrixType, OutputMatrixType, IdxDistributionType, ValueDistribution >::apply().

Here is the call graph for this function:

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
const sketch_transform_data_t* skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::get_data ( ) const [inline, virtual]
template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
int skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::get_N ( ) const [inline, virtual]
template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
int skylark::sketch::CWT_t< InputMatrixType, OutputMatrixType >::get_S ( ) const [inline, virtual]

The documentation for this class was generated from the following file: