In this release, `QrackCircuit` checks, when a gate commutes, whether it had any qubits in common with the other gate. If it does, commutation is deemed "productive," and circuit optimization continues. If commutation only occurs without any qubits in common between commuting gates, and if the gate ultimately fails to commute at the last step, then commutation is deemed "non-productive," and the corresponding qubits are removed from the circuit optimization light cone.
**Full Changelog**:
https://github.com/unitaryfund/qrack/compare/vm6502q.v9.13.9...vm6502q.v9.13.16
https://github.com/unitaryfund/pyqrack/compare/v1.34.8...v1.34.9
sha1sum results:
5c1b92c71ab04bc57956b025c69c1dba996ad29b pyqrack-1.34.9-py3-none-macosx_13_0_x86_64.whl
27ac35928e74544349f713b696e06c7524e1cf3d pyqrack-1.34.9-py3-none-macosx_14_0_arm64.whl
dcdc553f384fd80e5bda0de253442f615a6b7b32 pyqrack-1.34.9-py3-none-macosx_15_0_arm64.whl
8bb33e20163960dc2fc2ddd9a079172fdb9d6de7 pyqrack-1.34.9-py3-none-manylinux_2_31_x86_64.whl
f2c563c3763283e06f34f215da8a878250cf86cc pyqrack-1.34.9-py3-none-manylinux_2_35_x86_64.whl
90180a3fcf28c9ce469ba9a31bb1cb9feaba2751 pyqrack-1.34.9-py3-none-manylinux_2_39_x86_64.whl
7091fed60029cd278f54a2363acb086e37808c5d pyqrack-1.34.9-py3-none-win_amd64.whl
cd82a752ada9ef1fc6cb3a6487e855a70157e1a4 pyqrack-1.34.9.tar.gz
59b08cbcc80c6e9e55a637e599be0fd8ffbbe4ca pyqrack_cpu-1.34.9-py3-none-macosx_13_0_x86_64.whl
14fd2b580cf36e96006b90fa129160ec5c199556 pyqrack_cpu-1.34.9-py3-none-manylinux_2_31_x86_64.whl
c6ef14b381e62d432a2081866f0255b38269cf28 pyqrack_cpu-1.34.9-py3-none-manylinux_2_35_x86_64.whl
959425b6cfdb9a24dbb8c341540b11d095b4a950 pyqrack_cpu-1.34.9-py3-none-manylinux_2_39_x86_64.whl
529ba77da1860b8431768fb7fa6e2be8824ac0fd pyqrack_cpu-1.34.9-py3-none-win_amd64.whl
795deb686e1eea6603fd1dd0c560b783e246db13 pyqrack_cpu-1.34.9.tar.gz
d701d1fac972828a211fb810d3f6cf09b45dd3f5 pyqrack_cuda-1.34.9.tar.gz