)]}'
{
  "commit": "17dccef91b026e30e5eb62a35d03a419be500e25",
  "tree": "f3bb526c67edb5348e2ea40584e2bb76d3cbb22d",
  "parents": [
    "03d64141ae437f7b686ca3501b744cdc4d403858"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue Sep 14 08:17:21 2021 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Wed Sep 15 06:21:02 2021 -0700"
  },
  "message": "Add NumericDiffFirstOrderFunction\n\nThis has been a long requested feature so that users can minimize\nfunctions using numeric differentiation.\n\nAs part of this, I have also redone rosenbrock.cc, which now has three\nvariants.\n\nrosenbrock.cc now uses automatic differentiation.\nrosenbrock_numeric_diff.cc uses numeric differentiation.\nrosenbrock_analytic_diff.cc uses analytic derivatives.\n\nThis is analogus to how the helloworld example code is structured.\n\nThe tutorial for GradientProblemSolver has also been updated to reflect\nthis.\n\nhttps://github.com/ceres-solver/ceres-solver/issues/691\n\nChange-Id: Ib0fb9e35127fe4c8299d4793bea3558722c70dd7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3fef6b64e3cd51fc296933a14bfe24ddc35bb2ca",
      "old_mode": 33188,
      "old_path": "docs/source/gradient_tutorial.rst",
      "new_id": "aea407adacdc2b44d4555fb702c649c79dabe3e9",
      "new_mode": 33188,
      "new_path": "docs/source/gradient_tutorial.rst"
    },
    {
      "type": "modify",
      "old_id": "7f9b117d1bcea36e5dbffc52f355abc8ba2eab86",
      "old_mode": 33188,
      "old_path": "examples/CMakeLists.txt",
      "new_id": "a43c8aabfbe1a5be8ca87aef74639257b10271b2",
      "new_mode": 33188,
      "new_path": "examples/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "1b9aef619fd3fc847806aa2bc4dd04c3c98b2266",
      "old_mode": 33188,
      "old_path": "examples/rosenbrock.cc",
      "new_id": "82434577bed2db56e4ee6e5586e38245bbe62150",
      "new_mode": 33188,
      "new_path": "examples/rosenbrock.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b133f5a3f7b4174d253eb487d8e86786339b391f",
      "new_mode": 33188,
      "new_path": "examples/rosenbrock_analytic_diff.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f2f6e8a74ae0e3739aa43c65251bc4d69e7bf229",
      "new_mode": 33188,
      "new_path": "examples/rosenbrock_numeric_diff.cc"
    },
    {
      "type": "modify",
      "old_id": "d249351694c34df5cb78ca30c4c5dc41b1e7912b",
      "old_mode": 33188,
      "old_path": "include/ceres/ceres.h",
      "new_id": "86a84abcb53dc022a0291e3abba9fc66b2b74b3d",
      "new_mode": 33188,
      "new_path": "include/ceres/ceres.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "86638354940dff07103e8d6a9708d3485cad1741",
      "new_mode": 33188,
      "new_path": "include/ceres/numeric_diff_first_order_function.h"
    },
    {
      "type": "modify",
      "old_id": "80f8bdcc51532b73db0e3d5907e4ea19b7c5fd15",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "18f6090578d95da5ef58beacf10a78c2258aa3c8",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "7db78359703164484f04c3911669336453bfdf98",
      "old_mode": 33188,
      "old_path": "internal/ceres/autodiff_first_order_function_test.cc",
      "new_id": "4870a45adb7305a5d1c4ed1284835e8ab7ff15db",
      "new_mode": 33188,
      "new_path": "internal/ceres/autodiff_first_order_function_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1926caf9880bff532439247c675d51e41008ea7f",
      "new_mode": 33188,
      "new_path": "internal/ceres/numeric_diff_first_order_function_test.cc"
    }
  ]
}
