本征有效成对列减法

时间:2019-01-17 02:46:33

标签: c++ eigen

我有一个大的Eigen::MatrixXd A和一个std::vector<std::pair<int,int>> c_vec。

c_vec存储了我希望相互减去的两对列。

我想形成一个新的矩阵B,它的列是减去A的每对列的结果。

天真的方法显然是一个简单的循环,就像这样。

Eigen::MatrixXd B = Eigen::MatriXd::Zero(A.rows(), c_vec.size()) ;
int counter = 0 ;
for (const auto&[c1,c2] : c_vec) {
  B.col(counter++) = A.col(c2) - A.col(c1) ;
}

我觉得必须有一种更整洁,更有效的方法来实现这一目标?任何帮助表示赞赏。

0 个答案:

没有答案