)]}'
{
  "commit": "a3fb17c8de2e926e2a9dd103a04ca252d2e5155e",
  "tree": "f184296276656bcb7caf7eb2b9be5e1749420329",
  "parents": [
    "ceda487ed8b988e317755883af9441b3799c077a"
  ],
  "author": {
    "name": "Markus Moll",
    "email": "markus.moll@esat.kuleuven.be",
    "time": "Wed Aug 15 15:37:27 2012 +0200"
  },
  "committer": {
    "name": "ceres-solver code review",
    "email": "noreply-gerritcodereview@google.com",
    "time": "Wed Aug 15 12:01:13 2012 -0700"
  },
  "message": "Use elliptical trust region in DoglegStrategy.\n\nIn the Levenberg-Marquardt algorithm, the diagonal of J^T J is used to\nregularize the problem. This corresponds to an elliptical trust region\n|| D step || \u003c\u003d r, where D \u003d sqrt(diag(J^T J)).\n\nThis commit adds the same elliptical trust region to the dogleg\nstrategy. The trust region problem becomes\n\n  min. x^T H x + g^T x\n  s.t. || D x || \u003c\u003d r\n\nBy substituting y \u003d D x, it becomes\n\n  min. y^T D^-1 H D^-1 y + g^T D^-1 y\n  s.t. || y || \u003c\u003d r\n\nwhich is the traditional spherical trust region problem.\nThis commit changes the DoglegStrategy so that the Gauss-Newton point,\nthe gradient, and the Cauchy point are scaled correctly (without\nmodifying the Jacobian directly). Then the dogleg step is computed the\nsame way as before, and finally the step is rescaled to obtain\nx \u003d D^-1 y.\n\nChange-Id: Iea25a9113ecba911b746e269bc6e6fe51cb59003\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a62a7bde2a6a91be1e8c99cce9e53dfc424b733c",
      "old_mode": 33188,
      "old_path": "internal/ceres/dogleg_strategy.cc",
      "new_id": "1687bcdd7d0d9b6588096eaa43e95695dae353ce",
      "new_mode": 33188,
      "new_path": "internal/ceres/dogleg_strategy.cc"
    },
    {
      "type": "modify",
      "old_id": "17eb0759f9dd4cff582d25182cad89afe1a00b0f",
      "old_mode": 33188,
      "old_path": "internal/ceres/dogleg_strategy.h",
      "new_id": "150565509f956078d481bbc97729b8cee9279d81",
      "new_mode": 33188,
      "new_path": "internal/ceres/dogleg_strategy.h"
    }
  ]
}
