如何将 svd.MatrixV() 中的最后一列转换为 3 x 3 矩阵?
How can I convert the last column in svd.MatrixV() to 3 by 3 matrix?
我使用以下方法获得了奇异值分解的 V 矩阵中的第 9 列:
svd.matrixV().array().col(8)
该列由 9 个元素组成。
3.6 -0.0148 -1.922 -4.177 0.0135 -0.00389 -2.29 -0.98 0.21
Eigen 中有没有可以将 svd.MatrixV() 的 9 元素列转换为 3 x 3 矩阵的方法?
您可以使用 Eigen::Map
as follows:
Eigen::Map<Eigen::MatrixXf> col_map {svd.matrixV().array().col(8).data(), 3, 3};
然后可以将此地图分配给新矩阵
Eigen::MatrixXf col_mat {col_map};
我使用以下方法获得了奇异值分解的 V 矩阵中的第 9 列:
svd.matrixV().array().col(8)
该列由 9 个元素组成。
3.6 -0.0148 -1.922 -4.177 0.0135 -0.00389 -2.29 -0.98 0.21
Eigen 中有没有可以将 svd.MatrixV() 的 9 元素列转换为 3 x 3 矩阵的方法?
您可以使用 Eigen::Map
as follows:
Eigen::Map<Eigen::MatrixXf> col_map {svd.matrixV().array().col(8).data(), 3, 3};
然后可以将此地图分配给新矩阵
Eigen::MatrixXf col_mat {col_map};