C++ 本征非连续子集
C++ Eigen non-contiguous subsets
我对 Eigen::VectorXd
不连续的子集很好奇。例如:
Eigen::VectorXd vec = VectorXd::Random(10);
Eigen::VectorXi idx; idx << 2, 5, 6;
Eigen::Block<Eigen::VectorXd> refVec = vec(idx);
但是编译失败
我发现了一些以前的问题,例如 this one. However, I have seen on bugzilla 这个功能现在应该在 Eigen 中起作用,这似乎是我在上面显示的语法。
任何关于如何在没有 for
循环的情况下访问非连续元素的见解都会有所帮助。
如果您使用 default
分支和 auto:
auto refvec = vec(idx);
如果你真的不能使用开发分支,那么就按照这个doc page。
我对 Eigen::VectorXd
不连续的子集很好奇。例如:
Eigen::VectorXd vec = VectorXd::Random(10);
Eigen::VectorXi idx; idx << 2, 5, 6;
Eigen::Block<Eigen::VectorXd> refVec = vec(idx);
但是编译失败
我发现了一些以前的问题,例如 this one. However, I have seen on bugzilla 这个功能现在应该在 Eigen 中起作用,这似乎是我在上面显示的语法。
任何关于如何在没有 for
循环的情况下访问非连续元素的见解都会有所帮助。
如果您使用 default
分支和 auto:
auto refvec = vec(idx);
如果你真的不能使用开发分支,那么就按照这个doc page。