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