如果我有 n 个长度为 m 的 vector 并想连接它们以创建一个 mxn 矩阵,在 C++ 中使用 Boost uBLAS 执行此操作的最有效方法是什么?
显然,我可以循环遍历它们并为每个矩阵元素分配相应的 vector 值,但我觉得有一种我不知道的更好的方法来做到这一点。
最佳答案
与其按元素迭代整个 vector 列表,不如尝试将每个 vector 直接分配到相应的 matrix column 中。 .
template<class AE >
BOOST_UBLAS_INLINE matrix_column & operator= (const vector_expression< AE > &ae)
你必须在某个时候复制每个元素,但这应该比嵌套循环(或者 Boost.uBlas 中的性能错误,如果不是的话)更快。
关于c++ - 使用 uBLAS 在 C++ 中从 vector 创建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6442028/