2012-05-21 25 views
0

我正在寻找一种方法来定义在boost :: ublas中给定1xm向量的nxm矩阵。我尝试下面的代码用给定的向量定义boost :: ublas矩阵

boost::numeric::ublas::vector<double> v(100); 
boost::numeric::ublas::matrix<double> m(10, 100); 
std::copy(v.begin(), v.end(), m.begin2()); 

但这只会矢量复制到矩阵的第一行。我想要的是将v复制到行中,因此M的每一行都与v相同。因此,除了循环每行并运行副本10次之外,是否有更好的方法来执行此操作?谢谢。虽然它可能不是最优化,性能明智

m = outer_prod(scalar_vector<double>(10, 1), v); 

回答

0

短循环,你可能不喜欢这样。