示例#1
0
    /**
      * 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);
    }