Skip to content

Clifford+RZ

Compare
Choose a tag to compare
@WrathfulSpatula WrathfulSpatula released this 14 Jun 21:34
· 1572 commits to main since this release

QStabilizerHybrid has been fundamentally improved, particularly for the gate set "Clifford+RZ" (or "Clifford+T"). The entire unitary portion of circuit simulation, before measurement, now has a polynomial-complexity simulation algorithm, in space and time requirements. If measuring across the full width of the simulator, or sampling, measurement (alone) scales exponentially in space requirements proportional to (less than or up to) the number of non-Clifford RZ (or T) gates, and exponentially in time requirements proportional to base logical qubit count in the simulator instance.

No special considerations are necessary to engage this simulation mode: simply restrict your gate set to Clifford+RZ, when using any simulator that properly includes the QStabilizerHybrid layer, such as the default optimal simulator stack.

(UPDATE: Actually, it turns out that the default optimal stack, with QUnit, will apparently work for Clifford+T, but not Clifford+RZ. For Clifford+RZ, use QStabilizerHybrid without QUnit.)

File SHA-1 sums:

88c6981d435fcfd23bbebc494fad3907fcd70ade Qrack-8.12.0-Darwin_x86-64.sh
2d5a83e09bad8a1e38a4730689d1676b2f357934 Qrack-8.12.0-Emscripten.sh
8d91cab5ac4022b11bd0a56c842bc3b623422cd6 Qrack-8.12.0-Linux_arm64.sh
d3c77e6264ce4b7920f882c14dd2c5d25a26e210 Qrack-8.12.0-Linux_armv7.sh
9cee706e5028820bbceb5a2d2c5ed607f19ee438 Qrack-8.12.0-Linux_Ubuntu_20.04_LTS_x86-64.sh
1102a4d3eb05580cf51b89108623ea7838a4c9a5 Qrack-8.12.0-Linux_Ubuntu_22.04_LTS_x86-64.sh
0b0feb57021d23946d3f164c076fbc6c7ad38617 Qrack-8.12.0-win32.exe
915e35c23a782f25e96c5c5b5db8eaf4e46ff5f0 Qrack-8.12.0-win64.exe

2825c4f57a781299979f6ed1a292e748d5408b02 Qrack-8.12.0-WSL_Ubuntu_22.04_LTS_RTX_3080.sh
7aa9ed38fe2fd2a7465dc26c5116bdd64574d3e9 qrack_linux_arm64_benchmarks
90d6a2ca22f1f9188c58f13379c0787f1cd7a53d qrack_linux_armv7_benchmarks
1489ded9c97751e33681775714387624e9a84a2b qrack_mac_x86-64_benchmarks
ccb0e4e24d1af18c6a72305de7d5323698153a84 qrack_Ubuntu_20.04_LTS_benchmarks
e25295a0101bc48f5119ffe7cd316e0ae2e7746d qrack_Ubuntu_22.04_LTS_benchmarks
089bd1bc39192b061e07252f1c30a740c71adac0 qrack_windows_x86-64_benchmarks.exe
47ba50978d7bb14bef5982eb70cdee4d8f4b5a77 qrack_windows_x86_benchmarks.exe
448c8dbfcd9a0dc7b53c9f85510c0abee3dce32b qrack_WSL_Ubuntu_22.04_LTS_benchmarks

What's Changed

  • QStabilizerHybrid has been fundamentally improved, particularly for the gate set "Clifford+RZ" or "Clifford+T" (see above for more information or below for the full changelog).
  • unitaryhack - Extend QCircuit to QInterface #988 by @stevescia in #991
  • Stabilizer debug by @WrathfulSpatula in #992

New Contributors

Full Changelog: vm6502q.v8.11.8...vm6502q.v8.12.0