)]}'
{
  "commit": "b5b394c7388c80b7aebe91a255111c15b5013ce8",
  "tree": "2d6b22024a6b7336c531c28e0c8a8f68bb793cb7",
  "parents": [
    "04325145c94008014afde7fc802f85d6b4919106"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon Jun 12 15:17:58 2017 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Wed Jun 21 23:17:54 2017 -0700"
  },
  "message": "Add InnerProductComputer\n\nAdd a class that given a block sparse matrix m will compute\nthe product m\u0027*m efficiently.\n\nThis code is refactoring and cleanup of the code in\nCompressedRowSparseMatrix devoted to computing the inner product.\n\nIn that class, the code is mistakenly said to be computing\nthe outer product. It is also devoted to computing the inner\nproduct of a CompressedRowSparseMatrix with itself.\n\nThis code works with BlockSparseMatrix objects instead, which\nare simpler to deal with as they are better structured to handle\nblock sparse matrices.\n\nChange-Id: I920fee1a396bb0fcae9e6f7e46a308c7391d21aa\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8a56ca01ddad3026172d0a06f0f10d8eac7a94af",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "052e7a0a5252549870dde6a9da78a0ecc91303f7",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "052bd5acd2e6fec858420ee227a4ecdaae0bc712",
      "new_mode": 33188,
      "new_path": "internal/ceres/inner_product_computer.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d206707d3b550d2a70d9bcc6a5f7f8fe3a3b339c",
      "new_mode": 33188,
      "new_path": "internal/ceres/inner_product_computer.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a4c81bcdc8bb9ba1ed0371df5d8385ad5aa0d6d2",
      "new_mode": 33188,
      "new_path": "internal/ceres/inner_product_computer_test.cc"
    },
    {
      "type": "modify",
      "old_id": "20b484d4650e3ae2b026731b4eec81c951e0b308",
      "old_mode": 33188,
      "old_path": "jni/Android.mk",
      "new_id": "551cd45b07e5118100cdd6b35c335a7bfd4c9270",
      "new_mode": 33188,
      "new_path": "jni/Android.mk"
    }
  ]
}
