Releases: unitaryfund/pyqrack
Basic noisy simulation
This adds a simulation layer with support for a very basic noise model: every gate applies single-qubit depolarizing noise on each qubit involved, respectively, based upon a noise parameter that can be set in code or by environment variable (QRACK_GATE_DEPOLARIZATION
), between each single gate.
sha1sums:
bef7d9cbbe5271103729e33deaac402c4f1f0ae2 pyqrack-1.30.0-py3-none-macosx_14_0_arm64.whl
d284dcecf06177a6ec71ef4cda156f8b6a63ff9e pyqrack-1.30.0-py3-none-manylinux_2_31_x86_64.whl
35e265d5113f7316f031aadad52e66bd2561cc3e pyqrack-1.30.0-py3-none-manylinux_2_35_x86_64.whl
c154b8556cfdd9ac5d6320d0c92f02f1e1513727 pyqrack-1.30.0-py3-none-manylinux_2_39_x86_64.whl
aecdb85847e05920fd2ca78794dbaf6a90990ac5 pyqrack-1.30.0-py3-none-win_amd64.whl
02579e313bb42f0be85ff8f7acb90e381f913421 pyqrack-1.30.0.tar.gz
Fix stabilizer RNG on Mac
Stabilizer random number generation was broken on Mac M1/M2, only. This release fixes that issue. (Theoretically, all other wheels in this release are identical to the previous release.)
sha1sum results:
1054c0f9763c787b35c31d34800e35ff30773c7c pyqrack-1.29.14-py3-none-macosx_10_4_universal2.whl
bc2be93be290bfaba12727e2c9a94c9dbdd88a07 pyqrack-1.29.14-py3-none-manylinux_2_31_x86_64.whl
cd9a0fd2c9b9bcc16b2241e80aba217db2a73a30 pyqrack-1.29.14-py3-none-manylinux_2_35_armv7l.whl
f14b286b6140434adfbca1636df44c5f787376aa pyqrack-1.29.14-py3-none-manylinux_2_35_x86_64.whl
47a0d1ed0d5987a68a4a52e889b62866fb3c8254 pyqrack-1.29.14-py3-none-manylinux_2_39_x86_64.whl
ceeca5abc4c0377875d1a722b2f0ea734de2a5f9 pyqrack-1.29.14-py3-none-manylinux_2_40_aarch64.whl
a7a656bc979ebacca88650098592ec80fdbbc10f pyqrack-1.29.14-py3-none-win_amd64.whl
c4c8ba5d046fd5c67e491a60f9334a5c7ac93f35 pyqrack-1.29.14.tar.gz
Fix local module library loading
In yesterday's attempt to remove reliance on pathlib
, I accidentally broke automatic loading from the local module. (It is possible to manually override the path via environment variable, though.) This release fixes automatic loading of the Qrack library from within the module path.
sha1sum results:
a1aac37fec96b9c128b315e78175bedf81c34446 pyqrack-1.29.10-py3-none-macosx_10_4_universal2.whl
df41c565f8b536b6a32009f62892f5f4fc1ecfb6 pyqrack-1.29.10-py3-none-manylinux2014_x86_64.whl
c78e456d5d0ec7065068cfa67aa8a39400c77c50 pyqrack-1.29.10-py3-none-manylinux_2_35_armv7l.whl
c2e36237e0fc417732828270b828dd7b8251939c pyqrack-1.29.10-py3-none-manylinux_2_35_x86_64.whl
7a487c4759d64641f904deb9185e0a2acb8f82ce pyqrack-1.29.10-py3-none-manylinux_2_39_x86_64.whl
6f5f8e85c0d2c2a17916251781790b460de465aa pyqrack-1.29.10-py3-none-manylinux_2_40_aarch64.whl
bfa56c0cfa02fb4d25ef1695b7f07054c9d7de29 pyqrack-1.29.10-py3-none-win_amd64.whl
5cf520b7b543d327ecaa2236354c566f3b8ec1c7 pyqrack-1.29.10.tar.gz
Fix /usr/lib loading
Sorry for the "double-tap" release in a single day (again), but there was a problem with loading Qrack automatically from /usr/lib
. The Ubuntu packages need to be iterated, as well, but this fixes that issue. Noted in the setup metadata, theoretically, if our most modern dependency is ctypes
, then PyQrack theoretically supports all Python versions forward of and including 2.3.
sha1sum results:
7cccc03ecf5e18131c30bd226000d252c8c18327 pyqrack-1.29.9-py3-none-macosx_10_4_universal2.whl
ed6c9b54869a015c1b5a4dd625d21dc1db87c636 pyqrack-1.29.9-py3-none-manylinux2014_x86_64.whl
048c9fa6776bd11944ecefc74cbde0f2d5d9c76c pyqrack-1.29.9-py3-none-manylinux_2_35_armv7l.whl
9d00168b4a8cb5b6dd95163c958db4eeae397534 pyqrack-1.29.9-py3-none-manylinux_2_35_x86_64.whl
892f84d4232a01219810ce9268522a41cd4a3c4e pyqrack-1.29.9-py3-none-manylinux_2_39_x86_64.whl
7a790640d3ae6257aef5ca2a52c96d0f0969a8a9 pyqrack-1.29.9-py3-none-manylinux_2_40_aarch64.whl
5c32d050555e3e91dbef129f68020c499533ffb5 pyqrack-1.29.9-py3-none-win_amd64.whl
95246082ab9a88bc5fd65c7485f4abd9fa086bab pyqrack-1.29.9.tar.gz
Pure language
PyQrack has relied, at times, on either the packaging
or pathlib
module (which might be part of "language standard" by PEP); dependence on both modules has been entirely eliminated. This means that Qrack can have an entirely empty dependency list for installation. (It's untested, but this and future versions of PyQrack theoretically support the entire Python 3.x standard, back to 3.0!)
sha1sum results:
63fc446ab43a3b62e9d3b133b16b2d6d423e6e7a pyqrack-1.29.8-py3-none-macosx_10_4_universal2.whl
086eea9b8f027c111801d3c958487044e9ac2e33 pyqrack-1.29.8-py3-none-manylinux2014_x86_64.whl
c2235f39b3019be768fff07a9e129c54528e4f10 pyqrack-1.29.8-py3-none-manylinux_2_35_armv7l.whl
79f321c65fe2a46a0f43b5ba8e6e3198e42d1740 pyqrack-1.29.8-py3-none-manylinux_2_35_x86_64.whl
33f81d226d5ae2e17da7841017adcd11378cc350 pyqrack-1.29.8-py3-none-manylinux_2_39_x86_64.whl
117af4874db18048bbc3fda82384dc2f6d9b7fd8 pyqrack-1.29.8-py3-none-win_amd64.whl
75c24eafa6e79781d192510b44e3eaa5f2d4fb99 pyqrack-1.29.8.tar.gz
Fixed-point QBDD
We had a false start with yesterday's release: the fixed-point math header was included, but it wasn't actually utilized. This release uses fixed-point math specifically only for quantum binary decision diagram (QBDD) simulation. As it stands, the header does not support Mac or Windows compilers, so these operating systems use floating-point.
sha1sum results:
6a41d5708f3613d816f3fcb81c8a826d5cc6da9f pyqrack-1.29.6-py3-none-macosx_10_4_universal2.whl
0dd116682dc258271856a5985c29c755bdd18db6 pyqrack-1.29.6-py3-none-manylinux2014_x86_64.whl
d095446c3e65d2c2df2c7754a02859f3abc9ea6d pyqrack-1.29.6-py3-none-manylinux_2_35_armv7l.whl
cadef73824afc5765d9cf7bbd346b0a0ffe5dae3 pyqrack-1.29.6-py3-none-manylinux_2_35_x86_64.whl
cdc624c2c6837fa2584d14a2dc6e196580fb5ff7 pyqrack-1.29.6-py3-none-manylinux_2_39_x86_64.whl
2f3544a476e17bad9462f09e07a491583ff70cb8 pyqrack-1.29.6-py3-none-manylinux_2_40_aarch64.whl
e50db10472817a416ba3556a3ae05389d2a83b30 pyqrack-1.29.6-py3-none-win_amd64.whl
bdc39feaf123af91c15fc6d4b597fc2b470cb80d pyqrack-1.29.6.tar.gz
Fixed-point and proper packaging
Fixed-point and OpenCL usage on Mac have been fixed: the official distribution on Mac M1/M2 will not include OpenCL support but will use fixed-point math on CPU. (Build from source, for OpenCL support on macs).
sha1sum results:
e998959bc55b882f8025a04d6fe9b8cd94545ece pyqrack-1.29.5-py3-none-macosx_10_4_universal2.whl
dfc4fa8447d42442e0d3f712b726557d81471324 pyqrack-1.29.5-py3-none-manylinux2014_x86_64.whl
591ea7dd9da788a0267a395c65f99d0bf22720d6 pyqrack-1.29.5-py3-none-manylinux_2_35_armv7l.whl
fcc44ac32765cdcbf1f1d4f994cd410d2a39dab3 pyqrack-1.29.5-py3-none-manylinux_2_35_x86_64.whl
01e5f3827065217d8ae27563705bb22eb5d2bd81 pyqrack-1.29.5-py3-none-manylinux_2_39_x86_64.whl
abf979fead2e97bf445cb0bbabdaaa1090b0cef8 pyqrack-1.29.5-py3-none-manylinux_2_40_aarch64.whl
962619d4178f7e16f71f40b254d569ba914d206e pyqrack-1.29.5-py3-none-win_amd64.whl
45d506ae264345f16d5930ad69ad2d3282dba889 pyqrack-1.29.5.tar.gz
Fix Mac wheels
Mac wheels previously pointed to the wrong location for the *.dylib
file (since automatic packaging via GitHub Actions was instituted). This has been fixed.
sha1sum results:
d8048da9f9802d1360145e8d1ed48918b50f595e pyqrack-1.29.4-py3-none-macosx_10_4_universal2.whl
dc0839ea7659bd1e0d9737b2be4d6bb04adbb76f pyqrack-1.29.4-py3-none-manylinux2014_x86_64.whl
22e8c4d312258be65b52beb87ea3bd097b68bc18 pyqrack-1.29.4-py3-none-manylinux_2_35_x86_64.whl
7b471a14c73dd715eeda0125278b750088e013b0 pyqrack-1.29.4-py3-none-manylinux_2_39_x86_64.whl
5304bf818f0502620b11bc0e8e290cfd903cf4f7 pyqrack-1.29.4-py3-none-win_amd64.whl
70937ec838dc1fceb6ee60f974ec11e38c5b6494 pyqrack-1.29.4.tar.gz
Fix set_reactive_separate() for QTensorNetwork
This release (only) makes set_reactive_separate()
work when the Qrack QTensorNetwork
layer is in use.
sha1sum results:
72f605b28defb9f364449962cc03c7b4350005c3 pyqrack-1.29.3-py3-none-macosx_10_4_universal2.whl
05906961ed5e5a7579716127e81c894487941276 pyqrack-1.29.3-py3-none-manylinux2014_x86_64.whl
0c105063f6bd37c9a9f055626ce1c191a51664b8 pyqrack-1.29.3-py3-none-manylinux_2_35_x86_64.whl
4dd787e95c4fa01b9eb436107b1fe3a43b7154f8 pyqrack-1.29.3-py3-none-manylinux_2_39_x86_64.whl
8d8beec334d3d00992f3d9d1225c8b28f60113c5 pyqrack-1.29.3-py3-none-win_amd64.whl
212851617c73d4c2c7cdf2c4af64b465b87cfc0f pyqrack-1.29.3.tar.gz
Fix QrackCircuit to Qiskit circuit conversion
QrackCircuit internals fell out-of-date in their use of Qiskit API, when converting between quantum circuit formats in each framework. The fix is simple and non-invasive, and it seems to be backwards-compatible to many earlier versions of Qiskit previously supported by PyQrack.
sha1sum results:
3753169a26cd3aa11814d3a9470ae8c218c09597 pyqrack-1.29.2-py3-none-macosx_10_4_universal2.whl
036ec292ac0f31664924287137fa28f129ff77b0 pyqrack-1.29.2-py3-none-manylinux2014_x86_64.whl
b6d171664accd1066f49aa2d66a33f587ab98971 pyqrack-1.29.2-py3-none-manylinux_2_35_x86_64.whl
123f862ecbe5ca2f4d2922279f2f5687853221eb pyqrack-1.29.2-py3-none-manylinux_2_39_x86_64.whl
2f0d2ed6add3a068f5eed8bce45ccd76183a0fce pyqrack-1.29.2-py3-none-win_amd64.whl
4580b82d2cb5ea87d23b68d2c97449c15ebdfc6f pyqrack-1.29.2.tar.gz