O(n^2)-per-thread Gray code search iterations
The original default for MAXCUT Gray code search iterations was conservative, based on the reasoning it should scale with both qubit count and parallelism. Rather than O(n) complexity per thread, we can afford for it scale like O(n^2), and this gives much better results. In the event that thread count grows like qubit count (which is roughly the optimal saturation point for parallelism, anyway), the overall cost is like O(n^3), which is already roughly the largest polynomial exponent in any source or the dominating source of overhead in the MAXCUT solver heuristics.
Full Changelog: v9.5.13...v9.6.0
sha1sum results:
33325c07c4526524b48451770be88e48675ab5e3 pyqrackising-9.6.0-py3-none-macosx_14_0_arm64.whl
e3184ef607b3c65447f3bd49c48d858e6f73765f pyqrackising-9.6.0-py3-none-macosx_15_0_arm64.whl
460d00d66d32e10d1d55c842f64b1fe27b4b858d pyqrackising-9.6.0-py3-none-manylinux_2_35_x86_64.whl
e646a1b5be7ea833c0cbb4fe3644a7153e4c4479 pyqrackising-9.6.0-py3-none-manylinux_2_39_x86_64.whl
229c71e2255074b85b914c6e44fce216ff636adf pyqrackising-9.6.0-py3-none-win_amd64.whl
f51cafdf23f4e4a7d5de168e2ed7ff3c7c6b1e4a pyqrackising-9.6.0.tar.gz