Releases: vm6502q/PyQrackIsing
Fix fully magnetic edge cases
These cases are mostly "academic," since they're trivial limit-point behavior, but distribution calculations and sampling shouldn't fail at the fully ferromagnetic and anti-ferromagnetic limits.
Full Changelog: v9.3.8...v9.3.9
sha1sum results:
0c5cf33d14d97b8c339134914c1f72b5394ec199 pyqrackising-9.3.9-py3-none-macosx_14_0_arm64.whl
e49a8d4b9062abac170c9b6f3ced4ddf88b7d056 pyqrackising-9.3.9-py3-none-macosx_15_0_arm64.whl
3569843f8b2a5f5c78f7be3e012417d371774035 pyqrackising-9.3.9-py3-none-manylinux_2_35_x86_64.whl
854c487e0a0c97ed77060163266b12a5f7c2decc pyqrackising-9.3.9-py3-none-manylinux_2_39_x86_64.whl
243e80c5faf39f5b08db7bb1696ed77fe0592667 pyqrackising-9.3.9-py3-none-win_amd64.whl
5889408e81fcec918d896edec79db3c57c4e7f64 pyqrackising-9.3.9.tar.gz
Fix off-by-one in OTOC normalization
This release fixes an off-by-one error in OTOC normalization. (This form of the code looks like it might be ready to attempt validation, come Monday.)
Full Changelog: v9.3.7...v9.3.8
sha1sum results:
1adff49f97b97edbf533c49a25c38051ccf7b646 pyqrackising-9.3.8-py3-none-macosx_14_0_arm64.whl
fdb682de52ed27c5619bd06e1004e8964816753e pyqrackising-9.3.8-py3-none-macosx_15_0_arm64.whl
1024cf5f734da813d27ba45415c28cc6f65f9f06 pyqrackising-9.3.8-py3-none-manylinux_2_35_x86_64.whl
83b9cd94f2548f26a01756392a06d7d97ae42178 pyqrackising-9.3.8-py3-none-manylinux_2_39_x86_64.whl
f5fbd9ff3e9c494b7a285781704c9150ae5923f6 pyqrackising-9.3.8-py3-none-win_amd64.whl
b6e53d9b62e66721c044402420d42d26cb06f8b5 pyqrackising-9.3.8.tar.gz
θ is Z-axis; φ is X-axis
Pardon, but it's confusing trying to think simultaneously in terms of Pauli measurement bases and Pauli perturbations in the fixed axes of TFIM: in OTOC, θ always corresponds to Z-axis; φ always corresponds to X-axis; Z basis only ever needs θ-based corrections; X basis only ever need φ based corrections; Y axis can effectively mix both.
Full Changelog: v9.3.6...v9.3.7
sha1sum results:
d5896d9cc1b332ed7d6d9705494a81ba6afd1273 pyqrackising-9.3.7-py3-none-macosx_14_0_arm64.whl
a2b8f63f66927dddf262a4c2b1ab24a69086a49b pyqrackising-9.3.7-py3-none-macosx_15_0_arm64.whl
ffe6951ba03e7fa2f08005398726c816ec2d4137 pyqrackising-9.3.7-py3-none-manylinux_2_35_x86_64.whl
fe7a4e276758e0a126768feaca1b21b4d7630f01 pyqrackising-9.3.7-py3-none-manylinux_2_39_x86_64.whl
233fd28dbd8e18d754ea9750e2457e5c78ac097b pyqrackising-9.3.7-py3-none-win_amd64.whl
3f4b875b99df9f4588690063a9dd6826550248bb pyqrackising-9.3.7.tar.gz
Fix OTOC spin-axis geometry
Our spin-axis geometry was totally off, for OTOC:
- Our solver normally states the problem in Z basis.
Jis along Z-axis, whilehis along X-axis, so swap them in X basis.- Y-axis has no direct magnetic interaction (despite precession)
Full Changelog: v9.3.5...v9.3.6
sha1sum sum:
0e9ddb134d158f70d976a6c240704112861e5388 pyqrackising-9.3.6-py3-none-macosx_14_0_arm64.whl
74c3b3b3aae85588d9b588605fbcb65edbc8f275 pyqrackising-9.3.6-py3-none-macosx_15_0_arm64.whl
6105f33076eba1c6d3ac16e66ffc06f1657de420 pyqrackising-9.3.6-py3-none-manylinux_2_35_x86_64.whl
60ba1c3f32051556cdfaf39553ebb1b0be067545 pyqrackising-9.3.6-py3-none-manylinux_2_39_x86_64.whl
b97dbaa4ad3c9ba0fb5624b56d52e65356d76c6f pyqrackising-9.3.6-py3-none-win_amd64.whl
4125e926a1afb34a095c1bd9f1104c5619f6639c pyqrackising-9.3.6.tar.gz
Don't subtract OTOC distribution minimum
In the OTOC functions, after fixing the phase offset by π, it is no longer necessary to adjust by subtracting the minimum of the distribution.
Full Changelog: v9.3.4...v9.3.5
sha1sum results:
5859f3bca902eb38d16c124168f8d131a4943fd4 pyqrackising-9.3.5-py3-none-macosx_14_0_arm64.whl
c9c8e724ef6d7eedabc522b17498e791be7ac39e pyqrackising-9.3.5-py3-none-macosx_15_0_arm64.whl
f567759078b77efdc2068022875c2efb26781919 pyqrackising-9.3.5-py3-none-manylinux_2_35_x86_64.whl
fb25fe0c7ade0b27e2fb9d14c4005829c61cf586 pyqrackising-9.3.5-py3-none-manylinux_2_39_x86_64.whl
4e06a4c3edd4edbb2f7539476a6139e9216bcf80 pyqrackising-9.3.5-py3-none-win_amd64.whl
61c375bd785a17a5ed8ffefb416e42e404b9052e pyqrackising-9.3.5.tar.gz
OTOC phase offset is plus π
The phase offset in OTOC on the reverse leg should be plus π, not reversed sign.
Full Changelog: v9.3.3...v9.3.4
sha1sum results:
7ac52b813e26944f5d5b2306f884efc57c6c46d2 pyqrackising-9.3.4-py3-none-macosx_14_0_arm64.whl
c0419a86eee9b12bcc76c190d7e9c725bb984c64 pyqrackising-9.3.4-py3-none-macosx_15_0_arm64.whl
9738769710bc87ce8180ddc5b92dcf80d114a0e8 pyqrackising-9.3.4-py3-none-manylinux_2_35_x86_64.whl
5f57f3a5dec87eaf4a5122f502f8be769ecf9093 pyqrackising-9.3.4-py3-none-manylinux_2_39_x86_64.whl
ab3280f237e9c2d4901be88c315da705c3079e65 pyqrackising-9.3.4-py3-none-win_amd64.whl
121884d15563e1cf20bdbb1eef1ae72929f70fee pyqrackising-9.3.4.tar.gz
Fix OTOC for >64 bits
Previously, numba JIT cast OTOC sample in integer form to 64-bit types, truncating correct behavior for >64 bits. This release avoids 64-bit truncation where necessary.
Full Changelog: v9.3.2...v9.3.3
sha1sum results:
1d30973eb15822ed0911e8a6378247101fcf7e5a pyqrackising-9.3.3-py3-none-macosx_14_0_arm64.whl
7d06c83064d008bec58eff4975a804d5702b901a pyqrackising-9.3.3-py3-none-macosx_15_0_arm64.whl
933fcad696d09134a8643e90ef7a172e9b4de5f2 pyqrackising-9.3.3-py3-none-manylinux_2_35_x86_64.whl
862237aaeb5be15982698019411fa2b77ce89c11 pyqrackising-9.3.3-py3-none-manylinux_2_39_x86_64.whl
6edad751b2f92061e2d7b88f679d92c88c45f989 pyqrackising-9.3.3-py3-none-win_amd64.whl
a90507a824810926b28bd353de50a76f4dc53f0d pyqrackising-9.3.3.tar.gz
Debug OTOC (2)
We're still "fiddling" with OTOC: Hamming weight was off-by-one.
Full Changelog: v9.3.1...v9.3.2
sha1sum results:
660f0113338751804674b4ed7897b3e4a86ea3a8 pyqrackising-9.3.2-py3-none-macosx_14_0_arm64.whl
82433877dc6d3ec1a1f12145359b732c5b9dcafd pyqrackising-9.3.2-py3-none-macosx_15_0_arm64.whl
efc1e5960a293ba403035b8d51febf535ddecc42 pyqrackising-9.3.2-py3-none-manylinux_2_35_x86_64.whl
d4fd5db7cb8d850c038bd2fb39eb62fad8f006b2 pyqrackising-9.3.2-py3-none-manylinux_2_39_x86_64.whl
dd873892a54e5e5cb7246d4fa811e2dbbdd5f52f pyqrackising-9.3.2-py3-none-win_amd64.whl
Debug OTOC
Without perturbation, OTOC should return 0-Hamming-weight strings, only. Also, perturbation introduces a bit flip, phase flip, or both; measurement basis implies same type, neutral type (no perturbation or cancelling bit and phase flips), or opposite type.
Full Changelog: v9.3.0...v9.3.1
sha1sum results:
eff1e8007b573a5a96f0cd895b386b423ea26fb9 pyqrackising-9.3.1-py3-none-macosx_14_0_arm64.whl
5a9e15477d232eb550983cc2aeed2dddeaf726cc pyqrackising-9.3.1-py3-none-macosx_15_0_arm64.whl
5e31ba29ab2988de8c23dcb36ba8ee90ee6abe5c pyqrackising-9.3.1-py3-none-manylinux_2_35_x86_64.whl
2a61e4b08360f5d7c87e2e2ec9b8ee1048c74e86 pyqrackising-9.3.1-py3-none-manylinux_2_39_x86_64.whl
31e092b6a3841e6a0afe10ae7ae97e4fb190b959 pyqrackising-9.3.1-py3-none-win_amd64.whl
6520c9be6c3f0ab88e88427d4f0a11452a1c8084 pyqrackising-9.3.1.tar.gz
Experimental OTOC API
The OTOC API is experimental and has not been validated. I need to compare it against ideal simulators in tractable small-scale tests, still. However, exactly in order to make testing easier, before we settle on a finalized heuristic, here's "OTOC," as in the recent report from Google Quantum AI in Nature.
Full Changelog: v9.2.5...v9.3.0
sha1sum results:
11d49662b82a556bddaac22e9295c3424239033b pyqrackising-9.3.0-py3-none-macosx_14_0_arm64.whl
470b4813b847c5cd183440e855bbd9ac2132dff6 pyqrackising-9.3.0-py3-none-macosx_15_0_arm64.whl
e7a05cd9fe9aac30cc5f99ade64f4b7f1700fa9a pyqrackising-9.3.0-py3-none-manylinux_2_35_x86_64.whl
28d45461ef8c64decab7affc87c2a840fb7eaee8 pyqrackising-9.3.0-py3-none-manylinux_2_39_x86_64.whl
655a70fda2fd478b36393f2764ffd85a3e5c9808 pyqrackising-9.3.0-py3-none-win_amd64.whl
94935a9b1b2e290efd420be5155f890197c84d5d pyqrackising-9.3.0.tar.gz