c++使用eigen库,矩阵维度错误

/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32: error: static assertion failed: YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES
#define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);

在用高斯牛顿做迭代优化时,\(H=J^TJ\),

当f(x)是一维时,J通常用vector2d,vector3d,vector6d表示,此时J的唯独是(2,1)(3,1),(6,1)即此时J是雅克比矩阵的转置,此时仍用\(H=J^TJ\),会出现上述错误,应改成\(H=JJ^T\)

你可能感兴趣的:(c++使用eigen库,矩阵维度错误)