/** * Apply the sketching transform on A and write to sketch_of_A. * Implementation rowwise. */ void apply_impl_vdist(const matrix_type& A, output_matrix_type& sketch_of_A, skylark::sketch::rowwise_tag tag) const { // Naive implementation: tranpose and uses the columnwise implementation // Can we do better? matrix_type A_t(A.Grid()); El::Transpose(A, A_t); output_matrix_type sketch_of_A_t(sketch_of_A.Width(), sketch_of_A.Height(), sketch_of_A.Grid()); apply_impl_vdist(A_t, sketch_of_A_t, skylark::sketch::rowwise_tag()); El::Transpose(sketch_of_A_t, sketch_of_A); }