c++ - Armadillo - 如何提取行?

标签 c++ armadillo

我正在为矩阵使用 Armadillo C++ 库。

我想将一些行复制到外部数组(我需要将它们复制到 gpu)。 有没有快速的方法来做到这一点?

如果我使用 .rows ,它会给我一个无法访问数据指针的 subview ,因此我必须迭代这些值并将它们一一复制。这非常慢。

还有其他选择吗?

谢谢。

最佳答案

Armadillo 逐列存储数据(为了与 LAPACK 兼容),因此通过 .colptr() 提取列是首选方法。您可以重构您的代码,以便逐列而不是逐行存储数据。实现此目的的一种蛮力方法是转置矩阵。

关于c++ - Armadillo - 如何提取行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21552258/

相关文章:

c++ - 这个类的行为与其父类相同吗?

python - scons -u 和 variantdirs

c++ - 如何使用 string::replace 为 char*

C++:将整数文本文件转换为BMP格式的位图图像文件

c++ - arma::find_unique 如何确定唯一索引?

python - 如何将 Armadillo 矩阵转换为立方体?

C++从可变成员函数存储可变参数包

c++ - 如何将 matlab::data::TypedArray<double> 作为指针传递以在 MATLAB mex 文件中构造 Armadillo 矩阵?

c++ - 错误 : reference to ‘sword’ is ambiguous in armadillo and oracle occi compatibility issue

c++ - 以buffer为参数的类函数,一头雾水