)]}'
{
  "commit": "9123e2f624a218f84835717ab5300f879d77f1f0",
  "tree": "f22fd987812211492a1736824b7cd7bf0c4129c9",
  "parents": [
    "b23fd4e6675fc76761a63bf76e80696a5a69dd35"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue Sep 18 21:49:06 2012 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue Sep 25 11:13:39 2012 -0700"
  },
  "message": "An implementation of Ruhe \u0026 Wedin\u0027s Algorithm II.\n\nA non-linear generalization of Ruhe \u0026 Wedin\u0027s algorithm\nfor separable non-linear least squares problem. It is implemented\nas coordinate descent on an independent subset of the parameter\nblocks at the end of every successful Newton step. The resulting\nalgorithm has much improved convergence at the cost of some\nexecution time.\n\nChange-Id: I8fdc5edbd0ba1e702c9658b98041b2c2ae705402\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6cd8c6ae4826253ebd49ae6a8494c40a0bf53357",
      "old_mode": 33188,
      "old_path": "examples/bundle_adjuster.cc",
      "new_id": "bd405e4b7df8f7aa3b13cee1341e1d8c7a43408c",
      "new_mode": 33188,
      "new_path": "examples/bundle_adjuster.cc"
    },
    {
      "type": "modify",
      "old_id": "95d6ba0a31c3247fc37208699d4f9c2c73fa6712",
      "old_mode": 33188,
      "old_path": "include/ceres/solver.h",
      "new_id": "7922f1c6f16ee1ecc3b060bc9a0e075e02253afe",
      "new_mode": 33188,
      "new_path": "include/ceres/solver.h"
    },
    {
      "type": "modify",
      "old_id": "862b7cfe282ebe1a922c9dec8c1036554f68cb5c",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "e094f6a6badb48a139c915dd47f4acb586fcce50",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6a9b4198ec3787a430fbcc95ecef25f305381c4b",
      "new_mode": 33188,
      "new_path": "internal/ceres/inner_iteration_minimizer.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b7c7461cb806a68375547d56272013120b7b37df",
      "new_mode": 33188,
      "new_path": "internal/ceres/inner_iteration_minimizer.h"
    },
    {
      "type": "modify",
      "old_id": "667d80ae0bae2b43306bc6189b12d44341a3e269",
      "old_mode": 33188,
      "old_path": "internal/ceres/minimizer.h",
      "new_id": "22c10f0117148e18b10e33779e6b9d79ef5b0dc2",
      "new_mode": 33188,
      "new_path": "internal/ceres/minimizer.h"
    },
    {
      "type": "modify",
      "old_id": "dd69cd61d527e4149253f681d7c3aeb2d22b7ba9",
      "old_mode": 33188,
      "old_path": "internal/ceres/parameter_block.h",
      "new_id": "f20805ca873dc80947a1f397151faaa5adf574e5",
      "new_mode": 33188,
      "new_path": "internal/ceres/parameter_block.h"
    },
    {
      "type": "modify",
      "old_id": "9b20dcafa5ce8eba1ad3749db9b5195990991eea",
      "old_mode": 33188,
      "old_path": "internal/ceres/problem_test.cc",
      "new_id": "4afe1b55ae422ff7a35fa0b2d03da20f1a1af0c8",
      "new_mode": 33188,
      "new_path": "internal/ceres/problem_test.cc"
    },
    {
      "type": "modify",
      "old_id": "99f6af9343f72ac667c3d6ea917e74518d06d2bd",
      "old_mode": 33188,
      "old_path": "internal/ceres/program.cc",
      "new_id": "82d76d392337ee94540c4e242a397761495ddcc3",
      "new_mode": 33188,
      "new_path": "internal/ceres/program.cc"
    },
    {
      "type": "modify",
      "old_id": "6c48e7d76439063835c69814cfca5274cfbdcd78",
      "old_mode": 33188,
      "old_path": "internal/ceres/program_evaluator.h",
      "new_id": "1fb44e19ded54058bf6152002809a6266f4f1126",
      "new_mode": 33188,
      "new_path": "internal/ceres/program_evaluator.h"
    },
    {
      "type": "modify",
      "old_id": "c45c1944ba9663b717851fd67785fd92c3b4cebc",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl.cc",
      "new_id": "4f914fa375d2cc29aa09ab03ef6b961ee1d69ead",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "076a3719c820786215d031384195295bc9ef3a74",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl.h",
      "new_id": "eb81696a8564ff6016fd9de6bfd08cd5f3b77162",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl.h"
    },
    {
      "type": "modify",
      "old_id": "a19fca05096140fe0ff171b11e9a472231edbcf8",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl_test.cc",
      "new_id": "e612f8feb002addb130f7dac374b551b031749ad",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "dd49f9e8a5980da1b5af55d4c452ce141b447ef0",
      "old_mode": 33188,
      "old_path": "internal/ceres/trust_region_minimizer.cc",
      "new_id": "b838b1989b455c1e7b4c0152b6bb41966c75e550",
      "new_mode": 33188,
      "new_path": "internal/ceres/trust_region_minimizer.cc"
    }
  ]
}
