Added product_v and dot_product functions for distributed_matrix