Eigen3/C++:使用 Vector3d 平铺 MatrixXd



'Eigen3/C++'中构造MatrixXd的最优雅的方式是什么 从重复Vector3d.也就是说,给定一个行向量

     Eigen::Vector3d  V(v00, v01, v02);

目标是找到一个操作op以便

     Eigen::MatrixXd  M = op(V, N);

提供一个矩阵M,该矩阵由等于 VN 行组成,即

    /  v00  v01  v02  
    |  v00  v01  v02  |
M = |      ...        |
    |                 | 
      v00  v01  v02  /

类似于tilenumpy中可以实现的目标。

矢量和密集表达式可以复制

V.rowwise().replicate(N).transpose() // or
V.transpose().colwise().replicate(N) // or
V.transpose().replicate(N,1) // or ...

其中也有相应的版本,当 N 和/或方向在编译时已知时......

相关内容

  • 没有找到相关文章

最新更新