如果我有n个长度为m的向量并希望将它们连接起来创建一个mxn矩阵,那么使用Boost uBLAS在C ++中执行此操作的最有效方法是什么?
显然,我可以循环使用它们并为每个矩阵元素分配相应的向量值,但我觉得有一种更好的方法可以做到这一点,我不知道。
答案 0 :(得分:2)
我会尝试将每个向量直接分配到相应的matrix column中,而不是按元素方式迭代整个向量列表。
template<class AE >
BOOST_UBLAS_INLINE matrix_column & operator= (const vector_expression< AE > &ae)
你必须在某个时刻复制每个元素,但这应该比嵌套循环(或Boost.uBlas中的perf错误,如果没有)更快。