Skylark (Sketching Library)  0.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
skylark::sketch::dense_transform_data_t< ValueDistribution > Struct Template Reference

#include <dense_transform_data.hpp>

Inheritance diagram for skylark::sketch::dense_transform_data_t< ValueDistribution >:
Inheritance graph
[legend]
Collaboration diagram for skylark::sketch::dense_transform_data_t< ValueDistribution >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef sketch_transform_data_t base_t
typedef ValueDistribution< double > value_distribution_type
typedef double value_type

Public Member Functions

 dense_transform_data_t (int N, int S, double scale, base::context_t &context)
virtual boost::property_tree::ptree to_ptree () const
 dense_transform_data_t (const dense_transform_data_t &other)
void realize_matrix_view (elem::Matrix< value_type > &A) const
void realize_matrix_view (elem::Matrix< value_type > &A, int i, int j, int height, int width) const
void realize_matrix_view (elem::Matrix< value_type > &A, int i, int j, int height, int width, int col_stride, int row_stride) const
template<elem::Distribution ColDist, elem::Distribution RowDist>
void realize_matrix_view (elem::DistMatrix< value_type, ColDist, RowDist > &A) const
template<elem::Distribution ColDist, elem::Distribution RowDist>
void realize_matrix_view (elem::DistMatrix< value_type, ColDist, RowDist > &A, int i, int j, int height, int width) const

Protected Member Functions

 dense_transform_data_t (int N, int S, double scale, const base::context_t &context, std::string type)
base::context_t build ()

Protected Attributes

double scale
value_distribution_type distribution
skylark::utility::random_samples_array_t
< value_distribution_type
random_samples

Detailed Description

template<template< typename > class ValueDistribution>
struct skylark::sketch::dense_transform_data_t< ValueDistribution >

This is the base data class for dense transforms. Essentially, it holds the input and sketched matrix sizes and the array of samples to be lazily computed.

Definition at line 23 of file dense_transform_data.hpp.


Member Typedef Documentation

template<template< typename > class ValueDistribution>
typedef sketch_transform_data_t skylark::sketch::dense_transform_data_t< ValueDistribution >::base_t

Reimplemented in skylark::sketch::CT_data_t, and skylark::sketch::JLT_data_t.

Definition at line 24 of file dense_transform_data.hpp.

template<template< typename > class ValueDistribution>
typedef ValueDistribution<double> skylark::sketch::dense_transform_data_t< ValueDistribution >::value_distribution_type

Reimplemented in skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, ColDist, elem::STAR >, elem::DistMatrix< ValueType, elem::CIRC, elem::CIRC >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, ColDist, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, ValueDistribution >, skylark::sketch::dense_transform_t< InputType< ValueType >, elem::Matrix< ValueType >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType >, elem::DistMatrix< ValueType, elem::CIRC, elem::CIRC >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, elem::STAR, RowDist >, elem::DistMatrix< ValueType, elem::CIRC, elem::CIRC >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, elem::STAR, RowDist >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, ColDist, elem::STAR >, elem::DistMatrix< ValueType, ColDist, elem::STAR >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, ColDist, elem::STAR >, elem::Matrix< ValueType >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType >, elem::Matrix< ValueType >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, elem::STAR, RowDist >, elem::DistMatrix< ValueType, elem::STAR, RowDist >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, elem::STAR, RowDist >, elem::Matrix< ValueType >, ValueDistribution >, and skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType >, elem::DistMatrix< ValueType >, ValueDistribution >.

Definition at line 28 of file dense_transform_data.hpp.

template<template< typename > class ValueDistribution>
typedef double skylark::sketch::dense_transform_data_t< ValueDistribution >::value_type

Reimplemented in skylark::sketch::dense_transform_t< InputType< ValueType >, elem::Matrix< ValueType >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, ColDist, elem::STAR >, elem::DistMatrix< ValueType, elem::CIRC, elem::CIRC >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, ColDist, elem::STAR >, elem::Matrix< ValueType >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, ColDist, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType >, elem::DistMatrix< ValueType, elem::CIRC, elem::CIRC >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType >, elem::Matrix< ValueType >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, elem::STAR, RowDist >, elem::DistMatrix< ValueType, elem::CIRC, elem::CIRC >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, elem::STAR, RowDist >, elem::Matrix< ValueType >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, elem::STAR, RowDist >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, ColDist, elem::STAR >, elem::DistMatrix< ValueType, ColDist, elem::STAR >, ValueDistribution >, skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType >, elem::DistMatrix< ValueType >, ValueDistribution >, and skylark::sketch::dense_transform_t< elem::DistMatrix< ValueType, elem::STAR, RowDist >, elem::DistMatrix< ValueType, elem::STAR, RowDist >, ValueDistribution >.

Definition at line 30 of file dense_transform_data.hpp.


Constructor & Destructor Documentation

template<template< typename > class ValueDistribution>
skylark::sketch::dense_transform_data_t< ValueDistribution >::dense_transform_data_t ( int  N,
int  S,
double  scale,
base::context_t context 
) [inline]

Regular constructor

Definition at line 35 of file dense_transform_data.hpp.

template<template< typename > class ValueDistribution>
skylark::sketch::dense_transform_data_t< ValueDistribution >::dense_transform_data_t ( const dense_transform_data_t< ValueDistribution > &  other) [inline]

Definition at line 54 of file dense_transform_data.hpp.

template<template< typename > class ValueDistribution>
skylark::sketch::dense_transform_data_t< ValueDistribution >::dense_transform_data_t ( int  N,
int  S,
double  scale,
const base::context_t context,
std::string  type 
) [inline, protected]

Definition at line 147 of file dense_transform_data.hpp.


Member Function Documentation

template<template< typename > class ValueDistribution>
base::context_t skylark::sketch::dense_transform_data_t< ValueDistribution >::build ( ) [inline, protected]

random samples should only be drawn here, return context after random samples have been extracted.

Reimplemented from skylark::sketch::sketch_transform_data_t.

Definition at line 155 of file dense_transform_data.hpp.

Referenced by skylark::sketch::dense_transform_data_t< bstrand::cauchy_distribution >::dense_transform_data_t().

template<template< typename > class ValueDistribution>
void skylark::sketch::dense_transform_data_t< ValueDistribution >::realize_matrix_view ( elem::Matrix< value_type > &  A) const [inline]
template<template< typename > class ValueDistribution>
void skylark::sketch::dense_transform_data_t< ValueDistribution >::realize_matrix_view ( elem::Matrix< value_type > &  A,
int  i,
int  j,
int  height,
int  width 
) const [inline]

Definition at line 66 of file dense_transform_data.hpp.

template<template< typename > class ValueDistribution>
void skylark::sketch::dense_transform_data_t< ValueDistribution >::realize_matrix_view ( elem::Matrix< value_type > &  A,
int  i,
int  j,
int  height,
int  width,
int  col_stride,
int  row_stride 
) const [inline]

Definition at line 72 of file dense_transform_data.hpp.

template<template< typename > class ValueDistribution>
template<elem::Distribution ColDist, elem::Distribution RowDist>
void skylark::sketch::dense_transform_data_t< ValueDistribution >::realize_matrix_view ( elem::DistMatrix< value_type, ColDist, RowDist > &  A) const [inline]

Definition at line 96 of file dense_transform_data.hpp.

template<template< typename > class ValueDistribution>
template<elem::Distribution ColDist, elem::Distribution RowDist>
void skylark::sketch::dense_transform_data_t< ValueDistribution >::realize_matrix_view ( elem::DistMatrix< value_type, ColDist, RowDist > &  A,
int  i,
int  j,
int  height,
int  width 
) const [inline]

Definition at line 105 of file dense_transform_data.hpp.

template<template< typename > class ValueDistribution>
virtual boost::property_tree::ptree skylark::sketch::dense_transform_data_t< ValueDistribution >::to_ptree ( ) const [inline, virtual]

Serializes a sketch to a property_tree

Implements skylark::sketch::sketch_transform_data_t.

Reimplemented in skylark::sketch::CT_data_t, and skylark::sketch::JLT_data_t.

Definition at line 45 of file dense_transform_data.hpp.


Member Data Documentation

template<template< typename > class ValueDistribution>
value_distribution_type skylark::sketch::dense_transform_data_t< ValueDistribution >::distribution [protected]

Distribution for samples

Definition at line 162 of file dense_transform_data.hpp.

Referenced by skylark::sketch::dense_transform_data_t< bstrand::cauchy_distribution >::build().

template<template< typename > class ValueDistribution>
skylark::utility::random_samples_array_t<value_distribution_type> skylark::sketch::dense_transform_data_t< ValueDistribution >::random_samples [protected]
template<template< typename > class ValueDistribution>
double skylark::sketch::dense_transform_data_t< ValueDistribution >::scale [protected]

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