)]}'
{
  "commit": "060a850602bcdd228799a4068927b0484445b731",
  "tree": "a666103955ae35f9a3e6214382eb115030907e2f",
  "parents": [
    "c2131dea9cabc74fc3ebbfbdb178915be8ecaae1"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue Jul 15 08:52:35 2014 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Sun Jul 20 07:35:35 2014 -0700"
  },
  "message": "Remove SPARSE_CHOLESKY based covariance estimation.\n\nSparse Cholesky factorization is not rank revealing. Therefore\nthis algorithm cannot reliably tell when the Jacobian matrix is\nrank deficient or so poorly conditioned that the covariance matrix\ncannot be estimated.\n\nMaking things worse, this algorithm works on the normal equations,\nwhich makes the conditioning problem much worse.\n\nThis change, deletes the SPARSE_CHOLESKY algorithm in the covariance\nestimation code. Also to make the naming consistent, it renames\n\nSPARSE_QR -\u003e SUITE_SPARSE_QR\n\nso that it parallels EIGEN_SPARSE_QR.\n\nAlso, since we now have EIGEN_SPARSE_QR, we can default to using\nit when SuiteSparse is not available instead of DENSE_SVD, which\ngenerally speaking should only be used by folks who are dealing\nwith small rank deficient jacobians.\n\nChange-Id: I8b134c7e8a2e86ca374371f185b19f1c3e74349c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "89c837e9a9d11400e60f2cef9f6222c626fe2f95",
      "old_mode": 33188,
      "old_path": "docs/source/solving.rst",
      "new_id": "fc8219ea7a9f78ca3f9846ddc01aceb801f7b8ab",
      "new_mode": 33188,
      "new_path": "docs/source/solving.rst"
    },
    {
      "type": "modify",
      "old_id": "1dcc002b1c403560314f51734e151300d1d70c11",
      "old_mode": 33188,
      "old_path": "docs/source/version_history.rst",
      "new_id": "a52ab30e003a1b0709147bfa58004fa180136338",
      "new_mode": 33188,
      "new_path": "docs/source/version_history.rst"
    },
    {
      "type": "modify",
      "old_id": "245381a2d4b421ea106989191c1383c2526aaa64",
      "old_mode": 33188,
      "old_path": "include/ceres/covariance.h",
      "new_id": "35fde4de05ddba17e3a5b2084fd4d3dcd79589b3",
      "new_mode": 33188,
      "new_path": "include/ceres/covariance.h"
    },
    {
      "type": "modify",
      "old_id": "ba31236a425db7e8d854e65c4d5ddd5b63621f4c",
      "old_mode": 33188,
      "old_path": "include/ceres/types.h",
      "new_id": "5fccd0363d3b5aedf3da29115eccb17d546dd87f",
      "new_mode": 33188,
      "new_path": "include/ceres/types.h"
    },
    {
      "type": "modify",
      "old_id": "437a03db582de321ef493b9714e0ec3bed435444",
      "old_mode": 33188,
      "old_path": "internal/ceres/covariance_impl.cc",
      "new_id": "0fe481d4335a988b5f4e0a63cef1380e78d2028a",
      "new_mode": 33188,
      "new_path": "internal/ceres/covariance_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "ff640b9d6a1a5c009c646a43957c7014b6e45f11",
      "old_mode": 33188,
      "old_path": "internal/ceres/covariance_impl.h",
      "new_id": "135f4a1d62475b03fbecaf07907186120245eb3a",
      "new_mode": 33188,
      "new_path": "internal/ceres/covariance_impl.h"
    },
    {
      "type": "modify",
      "old_id": "6de3fecd42236c2069009b876baa7be4a8dd0529",
      "old_mode": 33188,
      "old_path": "internal/ceres/covariance_test.cc",
      "new_id": "6c506b72d3a214bb367a897bce4c4207d1b81702",
      "new_mode": 33188,
      "new_path": "internal/ceres/covariance_test.cc"
    },
    {
      "type": "modify",
      "old_id": "8eaadc3e1048295a4483b493d8f206b682818aea",
      "old_mode": 33188,
      "old_path": "internal/ceres/types.cc",
      "new_id": "adf109089781ce368bcb0081fdd3883ddecbea5a",
      "new_mode": 33188,
      "new_path": "internal/ceres/types.cc"
    }
  ]
}
