特征矩阵ros / cols无法正常工作

时间:2017-11-16 16:36:19

标签: c++ eigen ceres-solver

我无法编译:

$response = array(
    'recordsTotal' => count($data),
    'data' => $data,
);
echo json_encode($response);

这两个错误(每个大约1000行)最终得出的结论是Eigen::Map<Eigen::Matrix<const T, EA::ColsAtCompileTime, 1>> x(vec); auto result = a_ * x - b_; // a(60r,1200c) * x(1200r,1c) - b(60r,1c) *运算符不会超载&#34; (他们的名词,不是我的。)

-属于此类:a_

typedef Eigen::Map<Eigen::Matrix<double, ROWS, COLS>> EA;属于此类:b_

typedef Eigen::Map<Eigen::Matrix<double, ROWS, 1>> EB;是Ceres Solver Jet类型。错误似乎表明列/行不匹配而不是类型问题。但我可能错了;输出完全过于冗长。我是否误解了行和列如何与特征矩阵运算符一起工作?

更新:我遵循了&#34;致命错误&#34;建议:

T

2 个答案:

答案 0 :(得分:1)

你需要告诉Eigen如何通过Eigen:: ScalarBinaryOpTraits混合你的标量类型。用解决方案查看类似的问题:

答案 1 :(得分:0)

再看一下这个例子: https://groups.google.com/d/msg/ceres-solver/7ZH21XX6HWU/Z3E-k2fbAwAJ

我意识到我把const置于错误的位置。它应该是Map<const...而不是<const T