38 using namespace gtsam;
 
   70   Rot2 bearing11 = Rot2::fromDegrees(45),
 
   71      bearing21 = Rot2::fromDegrees(90),
 
   72      bearing32 = Rot2::fromDegrees(90);
 
   73   double range11 = 
sqrt(4.0+4.0),
 
   84   soln.insert(
x1, 
Pose2(0.0, 0.0, 0.0));
 
   85   soln.insert(
x2, 
Pose2(2.0, 0.0, 0.0));
 
   86   soln.insert(
x3, 
Pose2(4.0, 0.0, 0.0));
 
   98       0.09, -7.1942452e-18, -1.27897692e-17,
 
   99       -7.1942452e-18,         0.09, 1.27897692e-17,
 
  100       -1.27897692e-17,  1.27897692e-17,         0.01;
 
  103       0.120967742, -0.00129032258, 0.00451612903,
 
  104       -0.00129032258,  0.158387097, 0.0206451613,
 
  105       0.00451612903,  0.0206451613, 0.0177419355;
 
  108       0.160967742, 0.00774193548,  0.00451612903,
 
  109       0.00774193548,   0.351935484, 0.0561290323,
 
  110       0.00451612903,  0.0561290323, 0.0277419355;
 
  113       0.168709677, -0.0477419355,
 
  114       -0.0477419355,   0.163548387;
 
  117       0.293870968, -0.104516129,
 
  118     -0.104516129,  0.391935484;
 
  130     Matrix expected_l2x1x3(8,8);
 
  132         0.293871159514111,  -0.104516127560770,   0.090000180000270,  -0.000000000000000,  -0.020000000000000,   0.151935669757191,  -0.104516127560770,  -0.050967744878460,
 
  133       -0.104516127560770,   0.391935664055174,   0.000000000000000,   0.090000180000270,   0.040000000000000,   0.007741936219615,   0.351935664055174,   0.056129031890193,
 
  134         0.090000180000270,   0.000000000000000,   0.090000180000270,  -0.000000000000000,   0.000000000000000,   0.090000180000270,   0.000000000000000,   0.000000000000000,
 
  135       -0.000000000000000,   0.090000180000270,  -0.000000000000000,   0.090000180000270,   0.000000000000000,  -0.000000000000000,   0.090000180000270,   0.000000000000000,
 
  136       -0.020000000000000,   0.040000000000000,   0.000000000000000,   0.000000000000000,   0.010000000000000,   0.000000000000000,   0.040000000000000,   0.010000000000000,
 
  137         0.151935669757191,   0.007741936219615,   0.090000180000270,  -0.000000000000000,   0.000000000000000,   0.160967924878730,   0.007741936219615,   0.004516127560770,
 
  138       -0.104516127560770,   0.351935664055174,   0.000000000000000,   0.090000180000270,   0.040000000000000,   0.007741936219615,   0.351935664055174,   0.056129031890193,
 
  139       -0.050967744878460,   0.056129031890193,   0.000000000000000,   0.000000000000000,   0.010000000000000,   0.004516127560770,   0.056129031890193,   0.027741936219615;
 
  155     Matrix expected_l2x1(5,5);
 
  157         0.293871159514111,  -0.104516127560770,   0.090000180000270,  -0.000000000000000,  -0.020000000000000,
 
  158       -0.104516127560770,   0.391935664055174,   0.000000000000000,   0.090000180000270,   0.040000000000000,
 
  159         0.090000180000270,   0.000000000000000,   0.090000180000270,  -0.000000000000000,   0.000000000000000,
 
  160       -0.000000000000000,   0.090000180000270,  -0.000000000000000,   0.090000180000270,   0.000000000000000,
 
  161       -0.020000000000000,   0.040000000000000,   0.000000000000000,   0.000000000000000,   0.010000000000000;
 
  203   vals.insert(0, 
Pose2());
 
  204   vals.insert(1, 
Pose2(1,0,0));
 
  205   vals.insert(2, 
Pose2(2,0,0));
 
  206   vals.insert(3, 
Pose2(3,0,0));
 
  208   vals.insert(100, 
Point2(0,1));
 
  209   vals.insert(101, 
Point2(1,1));
 
  213     vals.at<
Pose2>(0).
range(vals.at<
Point2>(100)), noiseModel::Unit::Create(2));
 
  216     vals.at<
Pose2>(0).
range(vals.at<
Point2>(101)), noiseModel::Unit::Create(2));
 
  220     vals.at<
Pose2>(1).
range(vals.at<
Point2>(100)), noiseModel::Unit::Create(2));
 
  223     vals.at<
Pose2>(1).
range(vals.at<
Point2>(101)), noiseModel::Unit::Create(2));
 
  227     vals.at<
Pose2>(2).
range(vals.at<
Point2>(100)), noiseModel::Unit::Create(2));
 
  230     vals.at<
Pose2>(2).
range(vals.at<
Point2>(101)), noiseModel::Unit::Create(2));
 
  234     vals.at<
Pose2>(3).
range(vals.at<
Point2>(100)), noiseModel::Unit::Create(2));
 
  237     vals.at<
Pose2>(3).
range(vals.at<
Point2>(101)), noiseModel::Unit::Create(2));