Skylark (Sketching Library)
0.1
|
#include <JLT.hpp>
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 ¶ms, 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_t * | get_data () const |
Johnson-Lindenstrauss Transform
The JLT is simply a dense random matrix with i.i.d normal entries.
typedef JLT_data_t skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::data_type |
typedef data_type::params_t skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::params_t |
typedef dense_transform_t<InputMatrixType, OutputMatrixType, bstrand::normal_distribution > skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::transform_t |
skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::JLT_t | ( | int | N, |
int | S, | ||
base::context_t & | context | ||
) | [inline] |
skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::JLT_t | ( | int | N, |
int | S, | ||
const params_t & | params, | ||
base::context_t & | context | ||
) | [inline] |
skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::JLT_t | ( | const boost::property_tree::ptree & | pt | ) | [inline] |
skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::JLT_t | ( | const JLT_t< OtherInputMatrixType, OtherOutputMatrixType > & | other | ) | [inline] |
skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::JLT_t | ( | const data_type & | other | ) | [inline] |
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] |
Apply columnwise the sketching transform that is described by the the transform with output sketch_of_A.
Definition at line 72 of file JLT.hpp.
Referenced by skylark::algorithms::accelerated_regression_solver_t< regression_problem_t< elem::DistMatrix< ValueType, VD, elem::STAR >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, lsrn_tag< PrecondTag > >::accelerated_regression_solver_t(), main(), and test_main().
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] |
const sketch_transform_data_t* skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::get_data | ( | ) | const [inline, virtual] |
int skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::get_N | ( | ) | const [inline, virtual] |
Get input dimesion.
Implements skylark::sketch::sketch_transform_t< InputMatrixType, OutputMatrixType >.
Definition at line 88 of file JLT.hpp.
References skylark::sketch::sketch_transform_data_t::_N.
int skylark::sketch::JLT_t< InputMatrixType, OutputMatrixType >::get_S | ( | ) | const [inline, virtual] |
Get output dimesion.
Implements skylark::sketch::sketch_transform_t< InputMatrixType, OutputMatrixType >.
Definition at line 89 of file JLT.hpp.
References skylark::sketch::sketch_transform_data_t::_S.