Eigen仅允许A矩阵中的动态列数的薄SVD

时间:2018-05-15 12:18:08

标签: c++ eigen eigen3

我正在使用特征库计算矩阵的SVD。

Eigen::Matrix<double, Eigen::Dynamic, 6> A(points*2, 6);
Eigen::Matrix<double, Eigen::Dynamic, 1> b(points*2);
// fill the matrices
// ...
Eigen::Matrix<double, 6, 1> hVec;
hVec = A.bdcSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(b);

然而,以下断言引发:

  

SVDBase:只有当矩阵具有动态列数时,才能使用细U和V.

在这种情况下,禁止编译时已知参数的原因是什么?我在SVD问题背后的数学中没有看到什么?或者它是Eigen的限制/错误?

当然,我可以将矩阵转换为具有运行时列数的列,但这样就不允许通过指定编译时常量来实现可能的优化。

0 个答案:

没有答案