)]}'
{
  "commit": "092b94970a073f8b47179d96160226fc19095898",
  "tree": "00551b74ed96c6700f40862bbced5208bdcec140",
  "parents": [
    "6c45d6b891aac01489b478a021f99081c61792cb"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Sep 05 11:56:29 2014 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon Sep 15 10:21:09 2014 -0700"
  },
  "message": "Add GradientProblem and GradientProblemSolver.\n\nThe line search minimizer in Ceres does not require that the\nproblems that is solving is a sum of squares. Over the past\nyear there have been multiple requests to expose this algorithm\non its own so that it can be used to solve unconstrained\nnon-linear minimization problems on its own.\n\nWith this change, a new optimization problem called\nGradientProblem is introduced which is basically a thin\nwrapper around a user defined functor that evaluates cost\nand gradients (FirstOrderFunction) and an optional LocalParameterization.\n\nCorresponding to it, a GradientProblemSolver and its associated\noptions and summary structs are introduced too.\n\nAn example that uses the new API to find the minimum of Rosenbrock\u0027s\nfunction is also added.\n\nChange-Id: I42bf687540da25de991e9bdb00e321239244e8b4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dbbcb81109fcca25bf5ccc56a72b437d10486cc5",
      "old_mode": 33188,
      "old_path": "examples/CMakeLists.txt",
      "new_id": "e26dc9c14769710bf6bcafd062c68134c403c188",
      "new_mode": 33188,
      "new_path": "examples/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "da4ee6358b403be74b1c5927aa4d21ce0500c376",
      "new_mode": 33188,
      "new_path": "examples/rosenbrock.cc"
    },
    {
      "type": "modify",
      "old_id": "0b3ae0dd875a7783d29b23e599dd04cb977bd619",
      "old_mode": 33188,
      "old_path": "include/ceres/ceres.h",
      "new_id": "7c8981e29945a03fe7441a426fe94a6d7ba3ad1e",
      "new_mode": 33188,
      "new_path": "include/ceres/ceres.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ae3ac4f12085975db9bda9e52cca7ad7fc0935f4",
      "new_mode": 33188,
      "new_path": "include/ceres/gradient_problem.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "484d88ece828bfabb30e4ff862f604b2fcf76d63",
      "new_mode": 33188,
      "new_path": "include/ceres/gradient_problem_solver.h"
    },
    {
      "type": "modify",
      "old_id": "9c49503c1220f9e5488ffe098e3f784458e96f95",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "e4747ea543e624143b37bb2d0d8d8eeec63d1d0e",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8f9a842bd897466a8e2f7658be0134d5aa221a5a",
      "new_mode": 33188,
      "new_path": "internal/ceres/gradient_problem.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "20053de2af6c86a831035986df94f4ab077d9580",
      "new_mode": 33188,
      "new_path": "internal/ceres/gradient_problem_evaluator.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4024f4cc4e67e9007d9168e81018b49f3db6fbc9",
      "new_mode": 33188,
      "new_path": "internal/ceres/gradient_problem_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "496956c87cf71d6af713acd7c03f52205a13a1bd",
      "old_mode": 33188,
      "old_path": "jni/Android.mk",
      "new_id": "a11833fe8860c0d1bbc9eb5b0776aabe0ab2ceb8",
      "new_mode": 33188,
      "new_path": "jni/Android.mk"
    }
  ]
}
