如何获取boost::numeric::ublas::matrix<T>的一行的迭代器?

3
我正在处理矩阵乘法,我需要一个能够方便地迭代boost矩阵单行的迭代器。这个能实现吗?
目前,我必须获得一个迭代器并将其推进,这似乎是太多CPU工作/非优化的操作...
boost::numeric::ublas::matrix<T> aMatrix(2048, 4096);
typename boost::numeric::ublas::unbounded_array<T>::iterator it;
it = aMatrix.data().begin();
offset = row * aMatrix.size2();
advance(it, offset);

放弃迭代器,使用类似数组的操作? - Mikhail
1个回答

4

欧瑞卡!矩阵代理...

这句话是关于IT技术中的矩阵代理。
boost::numeric::ublas::matrix_row<boost::numeric::ublas::matrix<T> > aRow(aMatrix, row);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接