)]}'
{
  "commit": "6418b33f21d3541f7a9678b29dacd53fcf58ab4f",
  "tree": "655a0c12f3908299dd76e4a632d8ff8aeedb2b1e",
  "parents": [
    "992ae55e84901508e352bee102e0de86d4e4cf2f"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Dec 04 07:26:33 2015 -0800"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Dec 04 09:51:57 2015 -0800"
  },
  "message": "Fix free parameter block handling in covariance computation\n\nParameter blocks that are not associated with any residual block\nlead to structurally zero columns in the Jacobian. The covariance\ncomputation algorithm was only paying attention to structural\nsparsity caused by constant parameter blocks but not free parameter\nblocks.\n\nThis patch fixes this, by iterating over the residual blocks in\nthe problem and collecting all the parameter blocks in use.\n\nThe tests for ComputeCovarianceSparsity are also extended to include\nthe case where there are constant and free parameter blocks.\n\nThanks to Wannes Van Loock for reporting this.\n\nChange-Id: Ic298a6e93c53f2f95fb69105397a87200738a2b0\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "907f8ad0807dcdcb95568b6c2905db09349edd51",
      "old_mode": 33188,
      "old_path": "internal/ceres/covariance_impl.cc",
      "new_id": "ff65c77f03f4fb8307e91570f16bd17488da1f05",
      "new_mode": 33188,
      "new_path": "internal/ceres/covariance_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "f50cc57682ea571c97eebaef8af2bcd77f876478",
      "old_mode": 33188,
      "old_path": "internal/ceres/covariance_test.cc",
      "new_id": "6b90d6ef681ada2c7e470ae966551a0319339feb",
      "new_mode": 33188,
      "new_path": "internal/ceres/covariance_test.cc"
    }
  ]
}
