33 using namespace gtsam;
46 0., 0., 1.).finished();
51 0., 0., 1.).finished();
61 Matrix Rhat = AtA.llt().matrixL().transpose();
75 xhat = Radapter.transpose().triangularView<
Eigen::Upper>().solve(
b);
88 simpleGFG.
emplace_shared<
JacobianFactor>(2, (
Matrix(2,2)<< -10, 0, 0, -10).finished(), 0, (
Matrix(2,2)<< 10, 0, 0, 10).finished(), (
Vector(2) << 2, -1).finished(), unit2);
89 simpleGFG.
emplace_shared<
JacobianFactor>(2, (
Matrix(2,2)<< -5, 0, 0, -5).finished(), 1, (
Matrix(2,2)<< 5, 0, 0, 5).finished(), (
Vector(2) << 0, 1).finished(), unit2);
90 simpleGFG.
emplace_shared<
JacobianFactor>(0, (
Matrix(2,2)<< -5, 0, 0, -5).finished(), 1, (
Matrix(2,2)<< 5, 0, 0, 5).finished(), (
Vector(2) << -1, 1.5).finished(), unit2);
98 std::map<Key,Vector>
lambda;
99 dummyPreconditioner.build(simpleGFG, keyInfo,
lambda);
113 Vector expectedAp = (
Vector(6) << 100400, -249074.074, -2080, 148148.148, -146480, 37962.963).finished();
117 Vector expectedb = (
Vector(6) << 100.0, -194.444, -20.0, 138.889, -120.0, -55.556).finished();
127 params.linearSolverType = LevenbergMarquardtParams::Iterative;
128 auto pcg = std::make_shared<PCGSolverParameters>(
129 std::make_shared<DummyPreconditionerParameters>());
130 params.iterativeParams = pcg;
147 params.linearSolverType = LevenbergMarquardtParams::Iterative;
148 auto pcg = std::make_shared<PCGSolverParameters>(
149 std::make_shared<BlockJacobiPreconditionerParameters>());
150 params.iterativeParams = pcg;
167 params.linearSolverType = LevenbergMarquardtParams::Iterative;
168 auto pcg = std::make_shared<PCGSolverParameters>(
169 std::make_shared<SubgraphPreconditionerParameters>());
170 params.iterativeParams = pcg;