{
  "appeals": 1,
  "budgets": {
    "baseline_limit_s": 600,
    "verification_timeout_s": 600,
    "worker": {
      "max_completion_tokens": 96000,
      "max_turns": 60,
      "max_wall_seconds": 1500.0,
      "prompt_token_budget": 160000
    }
  },
  "issue": "Error occured in tensor_contract\n### Bug Description\n\nWhen attempting to discard the last system in a superoperator, an error occurs if the system sizes are unequal. I think this issue may be caused by an incorrect contraction of dimensions.\n\n### Code to Reproduce the Bug\n\n```shell\nfrom qutip import *\r\nA = qeye([[1], [1, 3]])\r\ntensor_contract(A, (2, 5))\n```\n\n\n### Code Output\n\n```shell\nTraceback (most recent call last):\r\n  File \"from qutip import *.py\", line 4, in <module>\r\n    tensor_contract(A, (2, 5))\r\n  File \"/opt/anaconda3/envs/qutip/lib/python3.12/site-packages/qutip/core/tensor.py\", line 341, in tensor_contract\r\n    qmtx = qtens.reshape((l_mtx_dims, r_mtx_dims))\r\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\nValueError: cannot reshape array of size 9 into shape (1,1)\n```\n\n\n### Expected Behaviour\n\nIt should output a matrix with a shape (1, 1) instead of size 9. \n\n### Your Environment\n\n```shell\nQuTiP Version:      5.0.4\r\nNumpy Version:      2.1.3\r\nScipy Version:      1.14.1\r\nCython Version:     None\r\nMatplotlib Version: 3.9.2\r\nPython Version:     3.12.7\r\nNumber of CPUs:     8\r\nBLAS Info:          Generic\r\nINTEL MKL Ext:      False\r\nPlatform Info:      Darwin (arm64)\n```\n\n\n### Additional Context\n\n_No response_",
  "source": {
    "image": "docker.io/swerebenchv2/qutip-qutip:2561-b2a6fb9",
    "platform": "linux/amd64",
    "python": "python",
    "setup": [
      "python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-qutip__qutip-2561-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL3F1dGlwL3Rlc3RzL2NvcmUvdGVzdF9kaW1lbnNpb25zLnB5IGIvcXV0aXAvdGVzdHMvY29yZS90ZXN0X2RpbWVuc2lvbnMucHkKaW5kZXggOTZiMmVkNGNkLi43MmQ3YWEyNDYgMTAwNjQ0Ci0tLSBhL3F1dGlwL3Rlc3RzL2NvcmUvdGVzdF9kaW1lbnNpb25zLnB5CisrKyBiL3F1dGlwL3Rlc3RzL2NvcmUvdGVzdF9kaW1lbnNpb25zLnB5CkBAIC02LDcgKzYsOCBAQCBpbXBvcnQgcXV0aXAKIGZyb20gcXV0aXAuY29yZS5kaW1lbnNpb25zIGltcG9ydCAoCiAgICAgZmxhdHRlbiwgdW5mbGF0dGVuLCBlbnVtZXJhdGVfZmxhdCwgZGVlcF9yZW1vdmUsIGRlZXBfbWFwLAogICAgIGRpbXNfaWR4c190b190ZW5zb3JfaWR4cywgZGltc190b190ZW5zb3Jfc2hhcGUsIGRpbXNfdG9fdGVuc29yX3Blcm0sCi0gICAgY29sbGFwc2VfZGltc19zdXBlciwgY29sbGFwc2VfZGltc19vcGVyLCBlaW5zdW0sIERpbWVuc2lvbnMKKyAgICBjb2xsYXBzZV9kaW1zX3N1cGVyLCBjb2xsYXBzZV9kaW1zX29wZXIsIGVpbnN1bSwgRGltZW5zaW9ucywKKyAgICB0b190ZW5zb3JfcmVwLCBmcm9tX3RlbnNvcl9yZXAKICkKIAogCkBAIC05Miw2ICs5MywxMCBAQCBfSW5kaWNlcyA9IGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUoJ19JbmRpY2VzJywgWydiYXNlJywgJ3Blcm11dGF0aW9uJywgJ3NoYXBlJ10pCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsyLCAzLCAwLCAxLCA2LCA3LCA0LCA1XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYsIDgsIDIsIDQsIDUsIDcsIDEsIDMpKSwKICAgICAgICAgICAgICAgICAgaWQ9InN1cGVyLW9wZXIiKSwKKyAgICBweXRlc3QucGFyYW0oX0luZGljZXMoW1tbMV0sIFsyLCAzXV0sIFtbNCwgNV0sIFs2XV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbMiwgMCwgMSwgNCwgNSwgM10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICgyLCAzLCAxLCA2LCA0LCA1KSksCisgICAgICAgICAgICAgICAgIGlkPSJzdXBlci1vcGVyLXVuZXZlbiIpLAogICAgIHB5dGVzdC5wYXJhbShfSW5kaWNlcyhbW1syLCA0XSwgWzYsIDhdXSwgWzFdXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgWzIsIDMsIDAsIDEsIDRdLCAoNiwgOCwgMiwgNCwgMSkpLAogICAgICAgICAgICAgICAgICBpZD0ib3BlcmF0b3Ita2V0IiksCkBAIC0xMTQsNiArMTE5LDcwIEBAIGNsYXNzIFRlc3RTdXBlck9wZXJhdG9yRGltc01vZGlmaWNhdGlvbjoKICAgICAgICAgYXNzZXJ0IGRpbXNfdG9fdGVuc29yX3NoYXBlKGluZGljZXMuYmFzZSkgPT0gaW5kaWNlcy5zaGFwZQogCiAKK0BweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiZGltcyIsIFsKKyAgICBweXRlc3QucGFyYW0oW1syLCAzXSwgWzFdXSwgaWQ9ImtldCIpLAorICAgIHB5dGVzdC5wYXJhbShbWzEsIDFdLCBbMiwgM11dLCBpZD0iYnJhIiksCisgICAgcHl0ZXN0LnBhcmFtKFtbMiwgM10sIFs1LCA3XV0sIGlkPSJvcGVyIiksCisgICAgcHl0ZXN0LnBhcmFtKFtbWzJdLCBbM11dLCBbWzVdLCBbN11dXSwgaWQ9InN1cGVyLW9wZXIiKSwKKyAgICBweXRlc3QucGFyYW0oW1tbMl0sIFszXV0sIFsxXV0sIGlkPSJvcGVyLWtldCIpLAorICAgIHB5dGVzdC5wYXJhbShbW1sxLCAxXSwgWzEsIDFdXSwgW1syLCAzXSwgWzUsIDddXV0sIGlkPSJvcGVyLWJyYSIpLAorICAgIHB5dGVzdC5wYXJhbShbW1syXSwgWzMsIDVdXSwgW1s3XSwgWzExXV1dLCBpZD0ic3VwZXItb3Blci11bmV2ZW4iKSwKK10pCitjbGFzcyB0ZXN0X3RvX3RlbnNvcl9yZXA6CisgICAgY2xhc3MgbXlsaXN0KGxpc3QpOgorICAgICAgICBkZWYgYXQoc2VsZiwgaSwgaik6CisgICAgICAgICAgICBvdXQgPSBzZWxmLmNvcHkoKQorICAgICAgICAgICAgb3V0W2ldID0gagorICAgICAgICAgICAgcmV0dXJuIG91dAorCisgICAgZGVmIF9idWlsZF9xb2JqKHNlbGYsIGRpbXMsIGlkeD0tMSk6CisgICAgICAgICIiIgorICAgICAgICBDcmVhdGUgYW4gUW9iaiB3aXRoIGdpdmVuIGRpbXMgd2hpY2ggdmFsdWVzIG9ubHkgaW5jcmVtZW50IGZvciB0aGUKKyAgICAgICAgYGlkeGAgZGltcy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGlzaW5zdGFuY2UoZGltc1swXSwgaW50KToKKyAgICAgICAgICAgIGtldCA9IHF1dGlwLnRlbnNvcihbCisgICAgICAgICAgICAgICAgKAorICAgICAgICAgICAgICAgICAgICBxdXRpcC5Rb2JqKG5wLmFyYW5nZShOKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgaSA9PSBpZHggZWxzZSAocXV0aXAuUW9iaihucC5vbmVzKE4pKSkKKyAgICAgICAgICAgICAgICApIGZvciBpLCBOIGluIGVudW1lcmF0ZShkaW1zKQorICAgICAgICAgICAgXSkKKyAgICAgICAgICAgIGtldC5kaW1zID0gW2tldC5kaW1zWzBdLCBbMV1dCisgICAgICAgICAgICByZXR1cm4ga2V0CisKKyAgICAgICAgbGVmdCA9IHNlbGYuX2J1aWxkX3FvYmooZGltc1swXSwgaWR4KQorICAgICAgICByaWdodCA9IHNlbGYuX2J1aWxkX3FvYmooZGltc1sxXSwgaWR4IC0gbGVuKGZsYXR0ZW4oZGltc1swXSkpKQorICAgICAgICBpZiBsZWZ0Lmlzb3BlciBhbmQgbGVmdC50eXBlICE9ICdzY2FsYXInOgorICAgICAgICAgICAgbGVmdCA9IHF1dGlwLm9wZXJhdG9yX3RvX3ZlY3RvcihsZWZ0KQorICAgICAgICAgICAgbGVmdC5kaW1zID0gW2xlZnQuZGltc1swXSwgWzFdXQorICAgICAgICBpZiByaWdodC5pc29wZXIgYW5kIHJpZ2h0LnR5cGUgIT0gJ3NjYWxhcic6CisgICAgICAgICAgICByaWdodCA9IHF1dGlwLm9wZXJhdG9yX3RvX3ZlY3RvcihyaWdodCkKKyAgICAgICAgICAgIGxlZnQuZGltcyA9IFtsZWZ0LmRpbXNbMF0sIFsxXV0KKyAgICAgICAgcmV0dXJuIGxlZnQgQCByaWdodC5kYWcoKQorCisgICAgZGVmIHRlc3RfdGVuc29yX3NoYXBlKHNlbGYsIGRpbXMpOgorICAgICAgICBxb2JqID0gc2VsZi5fYnVpbGRfcW9iaihkaW1zKQorICAgICAgICBhcnJheSA9IHRvX3RlbnNvcl9yZXAocW9iaikKKyAgICAgICAgYXNzZXJ0IGFycmF5LnNoYXBlID09IHR1cGxlKGZsYXR0ZW4oZGltcykpCisKKyAgICBkZWYgdGVzdF90ZW5zb3JfcmVwKHNlbGYsIGRpbXMpOgorICAgICAgICBOID0gbGVuKGZsYXR0ZW4oZGltcykpCisgICAgICAgIGZvciBpIGluIHJhbmdlKE4pOgorICAgICAgICAgICAgcW9iaiA9IHNlbGYuX2J1aWxkX3FvYmooZGltcywgaSkKKyAgICAgICAgICAgIGFycmF5ID0gdG9fdGVuc29yX3JlcChxb2JqKQorICAgICAgICAgICAgc2xpY2VzID0gbXlsaXN0KFtzbGljZShqKSBmb3IgaiBpbiBhcnJheS5zaGFwZV0pCisgICAgICAgICAgICBhc3NlcnQgYWxsKAorICAgICAgICAgICAgICAgIG5wLmFsbChhcnJheS5fX2dldGl0ZW1fXygqc2xpY2VzLmF0KGksIGopKSA9PSBqKQorICAgICAgICAgICAgICAgIGZvciBqIGluIHJhbmdlKGFycmF5LnNoYXBlW2ldKQorICAgICAgICAgICAgKQorCisgICAgZGVmIGZyb21fdGVuc29yX3JlcChzZWxmLCBkaW1zKToKKyAgICAgICAgcW9iaiA9IHNlbGYuX2J1aWxkX3FvYmooZGltcykKKyAgICAgICAgYXJyYXkgPSB0b190ZW5zb3JfcmVwKHFvYmopCisgICAgICAgIGJhY2sgPSBmcm9tX3RlbnNvcl9yZXAoYXJyYXksIGRpbXMpCisgICAgICAgIGFzc2VydCBxb2JqID09IGJhY2sKKworCiBjbGFzcyBUZXN0VHlwZUZyb21EaW1zOgogICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZShbImJhc2UiLCAiZXhwZWN0ZWQiXSwgWwogICAgICAgICBweXRlc3QucGFyYW0oW1syXSwgWzJdXSwgJ29wZXInKSwKQEAgLTE5Nyw5ICsyNjYsOSBAQCBkZWYgdGVzdF9kaW1zX2NvbXBhcmlzb24oKToKICAgICBweXRlc3QucGFyYW0oImlqLT5qaSIsIFtxdXRpcC5zaWdtYXkoKV0sIHF1dGlwLnNpZ21heSgpLnRyYW5zKCkpLAogICAgIHB5dGVzdC5wYXJhbSgiaWosamkiLCBbcXV0aXAuc2lnbWF6KCksIHF1dGlwLnNpZ21heigpXSwgMiksCiAgICAgcHl0ZXN0LnBhcmFtKCJpamlqIiwgW3F1dGlwLnRlbnNvcihxdXRpcC50aGVybWFsX2RtKDIsMSksIHF1dGlwLnRoZXJtYWxfZG0oMiwxKSldLCAxKSwKLSAgICBweXRlc3QucGFyYW0oImlramwsam0tPmlrbWwiLCBbcXV0aXAudGVuc29yKHF1dGlwLnNpZ21heigpLCBxdXRpcC5zaWdtYXooKSksIAorICAgIHB5dGVzdC5wYXJhbSgiaWtqbCxqbS0+aWttbCIsIFtxdXRpcC50ZW5zb3IocXV0aXAuc2lnbWF6KCksIHF1dGlwLnNpZ21heigpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXV0aXAuc2lnbWF6KCldLCBxdXRpcC50ZW5zb3IocXV0aXAucWV5ZSgyKSwgcXV0aXAuc2lnbWF6KCkpKSwKICAgICBweXRlc3QucGFyYW0oImlqa2wtPmtqaWwiLCBbcXV0aXAudGVuc29yKHF1dGlwLnNpZ21hbSgpLCBxdXRpcC5zaWdtYXooKSldLCBxdXRpcC50ZW5zb3IocXV0aXAuc2lnbWFwKCksIHF1dGlwLnNpZ21heigpKSkKIF0pCiBkZWYgdGVzdF9laW5zdW0oc3Vic2NyaXB0cywgb3BlcmFuZHMsIGV4cGVjdGVkKToKLSAgICBhc3NlcnQgZWluc3VtKHN1YnNjcmlwdHMsICpvcGVyYW5kcykgPT0gZXhwZWN0ZWQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisgICAgYXNzZXJ0IGVpbnN1bShzdWJzY3JpcHRzLCAqb3BlcmFuZHMpID09IGV4cGVjdGVkCg=='\"'\"'))'",
      "git apply /tmp/receipts-qutip__qutip-2561-test.patch"
    ],
    "workdir": "/qutip"
  },
  "spec_paths": [
    "qutip/tests/core/test_dimensions.py"
  ],
  "spec_tests": [
    "qutip/tests/core/test_dimensions.py::TestSuperOperatorDimsModification::test_dims_to_tensor_perm[super-oper-uneven]",
    "qutip/tests/core/test_dimensions.py::TestSuperOperatorDimsModification::test_dims_idxs_to_tensor_idxs[super-oper-uneven]"
  ],
  "suite_scope": "--no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning qutip/tests/core/test_dimensions.py"
}
