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

#include <JLT.hpp>

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

List of all members.

Public Types

typedef dense_transform_t
< InputMatrixType,
OutputMatrixType,
bstrand::normal_distribution > 
transform_t
typedef JLT_data_t data_type
typedef data_type::params_t params_t

Public Member Functions

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

Johnson-Lindenstrauss Transform

The JLT is simply a dense random matrix with i.i.d normal entries.

Definition at line 19 of file JLT.hpp.


Member Typedef Documentation

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
typedef JLT_data_t skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::data_type

Definition at line 29 of file JLT.hpp.

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

Definition at line 30 of file JLT.hpp.

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
typedef dense_transform_t<InputMatrixType, OutputMatrixType, bstrand::normal_distribution > skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::transform_t

Definition at line 27 of file JLT.hpp.


Constructor & Destructor Documentation

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

Definition at line 32 of file JLT.hpp.

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

Definition at line 38 of file JLT.hpp.

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

Definition at line 45 of file JLT.hpp.

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

Copy constructor

Definition at line 55 of file JLT.hpp.

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

Constructor from data

Definition at line 63 of file JLT.hpp.


Member Function Documentation

template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
void skylark::sketch::JLT_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]
template<typename InputMatrixType, typename OutputMatrixType = InputMatrixType>
void skylark::sketch::JLT_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 82 of file JLT.hpp.

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

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