Multiplying eigen sparse matrix with a C array
我有一个特征稀疏矩阵,我想将它与向量相乘。但是,由于整个事物的设计方式,我的向量存储在 STL 向量容器中。所以,我有类似的东西:
1
2 3 4 5 6 |
std::vector<float> values; Eigen::SparseMatrix<float> some_mat; // fill the matrix and vector |
现在有办法做类似的事情:
1
|
some_mat * vec;
|
不将向量复制到特征向量对象中。如果无法绕过复制,将 STL 向量或 C 数组复制到特征 VectorXf 对象的最有效方法是什么?
你可以使用
1
|
VectorXd res = some_mat * VectorXf::Map(vec, size);
|
注意
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268966.html