{
  "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": "NumpyGenericOperator lincomb apply_inverse infinite recursion in 0.5.x\nThe following raises `RecursionError` on 0.5.x.\r\n```python\r\nimport numpy as np\r\nfrom pymor.operators.numpy import NumpyMatrixOperator, NumpyGenericOperator\r\n\r\nn = 2\r\nI1 = NumpyMatrixOperator(np.eye(n))\r\nI2 = NumpyGenericOperator(lambda x: x, dim_source=n, dim_range=n)\r\nv = I1.source.from_numpy(np.ones(n))\r\n\r\n(I1 + I2).apply_inverse(v)\r\n```\r\n\r\nOn master, `jacobian` method raises `NotImplementedError`.\r\n\r\nShould the recursion error be fixed in 0.5.x?",
  "source": {
    "image": "docker.io/swerebenchv2/pymor-pymor:810-9a70dc7",
    "platform": "linux/amd64",
    "python": "python",
    "setup": [
      "python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-pymor__pymor-810-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL3NyYy9weW1vcnRlc3RzL29wZXJhdG9ycy5weSBiL3NyYy9weW1vcnRlc3RzL29wZXJhdG9ycy5weQppbmRleCAwODVkYzMyYWMuLjI1NzRiZjhlMiAxMDA2NDQKLS0tIGEvc3JjL3B5bW9ydGVzdHMvb3BlcmF0b3JzLnB5CisrKyBiL3NyYy9weW1vcnRlc3RzL29wZXJhdG9ycy5weQpAQCAtNywxMiArNywxNiBAQCBpbXBvcnQgcHl0ZXN0CiAKIGZyb20gcHltb3IuYWxnb3JpdGhtcy5iYXNpYyBpbXBvcnQgYWxtb3N0X2VxdWFsCiBmcm9tIHB5bW9yLmFsZ29yaXRobXMucHJvamVjdGlvbiBpbXBvcnQgcHJvamVjdAorZnJvbSBweW1vci5hbGdvcml0aG1zLnRvX21hdHJpeCBpbXBvcnQgdG9fbWF0cml4CiBmcm9tIHB5bW9yLmNvcmUuZXhjZXB0aW9ucyBpbXBvcnQgSW52ZXJzaW9uRXJyb3IsIExpbkFsZ0Vycm9yCi1mcm9tIHB5bW9yLm9wZXJhdG9ycy5jb25zdHJ1Y3Rpb25zIGltcG9ydCBTZWxlY3Rpb25PcGVyYXRvciwgSW52ZXJzZU9wZXJhdG9yLCBJbnZlcnNlQWRqb2ludE9wZXJhdG9yLCBMaW5jb21iT3BlcmF0b3IKLWZyb20gcHltb3Iub3BlcmF0b3JzLm51bXB5IGltcG9ydCBOdW1weU1hdHJpeE9wZXJhdG9yCitmcm9tIHB5bW9yLm9wZXJhdG9ycy5ibG9jayBpbXBvcnQgQmxvY2tEaWFnb25hbE9wZXJhdG9yCitmcm9tIHB5bW9yLm9wZXJhdG9ycy5jb25zdHJ1Y3Rpb25zIGltcG9ydCAoU2VsZWN0aW9uT3BlcmF0b3IsIEludmVyc2VPcGVyYXRvciwgSW52ZXJzZUFkam9pbnRPcGVyYXRvciwgSWRlbnRpdHlPcGVyYXRvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5jb21iT3BlcmF0b3IpCitmcm9tIHB5bW9yLm9wZXJhdG9ycy5udW1weSBpbXBvcnQgTnVtcHlHZW5lcmljT3BlcmF0b3IsIE51bXB5TWF0cml4T3BlcmF0b3IKIGZyb20gcHltb3IucGFyYW1ldGVycy5iYXNlIGltcG9ydCBQYXJhbWV0ZXJUeXBlCiBmcm9tIHB5bW9yLnBhcmFtZXRlcnMuZnVuY3Rpb25hbHMgaW1wb3J0IEdlbmVyaWNQYXJhbWV0ZXJGdW5jdGlvbmFsLCBFeHByZXNzaW9uUGFyYW1ldGVyRnVuY3Rpb25hbAotZnJvbSBweW1vci52ZWN0b3JhcnJheXMubnVtcHkgaW1wb3J0IE51bXB5VmVjdG9yQXJyYXkKK2Zyb20gcHltb3IudmVjdG9yYXJyYXlzLmJsb2NrIGltcG9ydCBCbG9ja1ZlY3RvclNwYWNlCitmcm9tIHB5bW9yLnZlY3RvcmFycmF5cy5udW1weSBpbXBvcnQgTnVtcHlWZWN0b3JTcGFjZQogZnJvbSBweW1vcnRlc3RzLmFsZ29yaXRobXMuc3R1ZmYgaW1wb3J0IE1vbm9tT3BlcmF0b3IKIGZyb20gcHltb3J0ZXN0cy5maXh0dXJlcy5vcGVyYXRvciBpbXBvcnQgKG9wZXJhdG9yLCBvcGVyYXRvcl93aXRoX2FycmF5cywgb3BlcmF0b3Jfd2l0aF9hcnJheXNfYW5kX3Byb2R1Y3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlja2xhYmxlX29wZXJhdG9yKQpAQCAtODgsNiArOTIsNTggQEAgZGVmIHRlc3RfbGluY29tYl9hZGpvaW50KCk6CiAgICAgYXNzZXJ0IG5wLmFsbChhbG1vc3RfZXF1YWwoViwgVlZWKSkKIAogCitkZWYgdGVzdF9pZGVudGl0eV9saW5jb21iKCk6CisgICAgc3BhY2UgPSBOdW1weVZlY3RvclNwYWNlKDEwKQorICAgIGlkZW50aXR5ID0gSWRlbnRpdHlPcGVyYXRvcihzcGFjZSkKKyAgICBvbmVzID0gc3BhY2UuZnJvbV9udW1weShucC5vbmVzKDEwKSkKKyAgICBpZGlkID0gKGlkZW50aXR5ICsgaWRlbnRpdHkpCisgICAgYXNzZXJ0IGFsbW9zdF9lcXVhbChvbmVzICogMiwgaWRpZC5hcHBseShvbmVzKSkKKyAgICBhc3NlcnQgYWxtb3N0X2VxdWFsKG9uZXMgKiAyLCBpZGlkLmFwcGx5X2Fkam9pbnQob25lcykpCisgICAgYXNzZXJ0IGFsbW9zdF9lcXVhbChvbmVzICogMC41LCBpZGlkLmFwcGx5X2ludmVyc2Uob25lcykpCisgICAgYXNzZXJ0IGFsbW9zdF9lcXVhbChvbmVzICogMC41LCBpZGlkLmFwcGx5X2ludmVyc2VfYWRqb2ludChvbmVzKSkKKworCitkZWYgdGVzdF9pZGVudGl0eV9udW1weV9saW5jb21iKCk6CisgICAgbiA9IDIKKyAgICBzcGFjZSA9IE51bXB5VmVjdG9yU3BhY2UobikKKyAgICBpZGVudGl0eSA9IElkZW50aXR5T3BlcmF0b3Ioc3BhY2UpCisgICAgbnVtcHlfb3BlcmF0b3IgPSBOdW1weU1hdHJpeE9wZXJhdG9yKG5wLm9uZXMoKG4sIG4pKSkKKyAgICBmb3IgYWxwaGEgaW4gWy0xLCAwLCAxXToKKyAgICAgICAgZm9yIGJldGEgaW4gWy0xLCAwLCAxXToKKyAgICAgICAgICAgIGlkb3AgPSBhbHBoYSAqIGlkZW50aXR5ICsgYmV0YSAqIG51bXB5X29wZXJhdG9yCisgICAgICAgICAgICBtYXQxID0gYWxwaGEgKiBucC5leWUobikgKyBiZXRhICogbnAub25lcygobiwgbikpCisgICAgICAgICAgICBtYXQyID0gdG9fbWF0cml4KGlkb3AuYXNzZW1ibGUoKSwgZm9ybWF0PSdkZW5zZScpCisgICAgICAgICAgICBhc3NlcnQgbnAuYXJyYXlfZXF1YWwobWF0MSwgbWF0MikKKworCitkZWYgdGVzdF9ibG9ja19pZGVudGl0eV9saW5jb21iKCk6CisgICAgc3BhY2UgPSBOdW1weVZlY3RvclNwYWNlKDEwKQorICAgIHNwYWNlMiA9IEJsb2NrVmVjdG9yU3BhY2UoW3NwYWNlLCBzcGFjZV0pCisgICAgaWRlbnRpdHkgPSBCbG9ja0RpYWdvbmFsT3BlcmF0b3IoW0lkZW50aXR5T3BlcmF0b3Ioc3BhY2UpLCBJZGVudGl0eU9wZXJhdG9yKHNwYWNlKV0pCisgICAgaWRlbnRpdHkyID0gSWRlbnRpdHlPcGVyYXRvcihzcGFjZTIpCisgICAgb25lcyA9IHNwYWNlLmZyb21fbnVtcHkobnAub25lcygxMCkpCisgICAgb25lczIgPSBzcGFjZTIubWFrZV9hcnJheShbb25lcywgb25lc10pCisgICAgaWRpZCA9IGlkZW50aXR5ICsgaWRlbnRpdHkyCisgICAgYXNzZXJ0IGFsbW9zdF9lcXVhbChvbmVzMiAqIDIsIGlkaWQuYXBwbHkob25lczIpKQorICAgIGFzc2VydCBhbG1vc3RfZXF1YWwob25lczIgKiAyLCBpZGlkLmFwcGx5X2Fkam9pbnQob25lczIpKQorICAgIGFzc2VydCBhbG1vc3RfZXF1YWwob25lczIgKiAwLjUsIGlkaWQuYXBwbHlfaW52ZXJzZShvbmVzMikpCisgICAgYXNzZXJ0IGFsbW9zdF9lcXVhbChvbmVzMiAqIDAuNSwgaWRpZC5hcHBseV9pbnZlcnNlX2Fkam9pbnQob25lczIpKQorCisKK2RlZiB0ZXN0X251bXB5X2dlbmVyaWNfb3BlcmF0b3JfbGluY29tYigpOgorICAgIG4gPSAyCisgICAgSTEgPSBOdW1weU1hdHJpeE9wZXJhdG9yKG5wLmV5ZShuKSkKKyAgICBJMiA9IE51bXB5R2VuZXJpY09wZXJhdG9yKGxhbWJkYSB4OiB4LCBkaW1fc291cmNlPW4sIGRpbV9yYW5nZT1uKQorICAgIHYgPSBJMS5zb3VyY2UuZnJvbV9udW1weShucC5vbmVzKG4pKQorCisgICAgdHJ5OgorICAgICAgICAoSTEgKyBJMikuYXBwbHlfaW52ZXJzZSh2KQorICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yOiAgIyBOdW1weUdlbmVyaWNPcGVyYXRvci5qYWNvYmlhbgorICAgICAgICBwYXNzCisgICAgZWxzZToKKyAgICAgICAgYXNzZXJ0IEZhbHNlCisKKwogZGVmIHRlc3RfcGlja2xlKG9wZXJhdG9yKToKICAgICBhc3NlcnRfcGlja2xhYmxlKG9wZXJhdG9yKQogCg=='\"'\"'))'",
      "git apply /tmp/receipts-pymor__pymor-810-test.patch"
    ],
    "workdir": "/pymor"
  },
  "spec_paths": [
    "src/pymortests/operators.py"
  ],
  "spec_tests": [
    "src/pymortests/operators.py::test_numpy_generic_operator_lincomb"
  ],
  "suite_scope": "--no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning src/pymortests/operators.py"
}
