pyqrack-cuda 1.44.24__tar.gz → 1.44.26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/Makefile +1 -1
  2. {pyqrack_cuda-1.44.24/pyqrack_cuda.egg-info → pyqrack_cuda-1.44.26}/PKG-INFO +1 -1
  3. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/qrack_ace_backend.py +16 -19
  4. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
  5. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/setup.py +1 -1
  6. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/LICENSE +0 -0
  7. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/MANIFEST.in +0 -0
  8. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/README.md +0 -0
  9. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyproject.toml +0 -0
  10. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/__init__.py +0 -0
  11. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/neuron_activation_fn.py +0 -0
  12. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/pauli.py +0 -0
  13. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/qrack_circuit.py +0 -0
  14. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/qrack_neuron.py +0 -0
  15. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  16. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/qrack_simulator.py +0 -0
  17. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/qrack_stabilizer.py +0 -0
  18. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/qrack_system/__init__.py +0 -0
  19. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/qrack_system/qrack_system.py +0 -0
  20. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/quimb_circuit_type.py +0 -0
  21. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/stats/__init__.py +0 -0
  22. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/stats/load_quantized_data.py +0 -0
  23. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack/stats/quantize_by_range.py +0 -0
  24. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
  25. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
  26. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
  27. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack_cuda.egg-info/requires.txt +0 -0
  28. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/pyqrack_cuda.egg-info/top_level.txt +0 -0
  29. {pyqrack_cuda-1.44.24 → pyqrack_cuda-1.44.26}/setup.cfg +0 -0
@@ -18,7 +18,7 @@ help:
18
18
  build-deps:
19
19
  ifneq ($(OS),Windows_NT)
20
20
  ifeq ($(QRACK_PRESENT),)
21
- git clone https://github.com/unitaryfund/qrack.git; cd qrack; git checkout ce668dd0177a28b52da4fb66380cd51fafd39a56; cd ..
21
+ git clone https://github.com/unitaryfund/qrack.git; cd qrack; git checkout 065d4575ca82be0398ed726de59899c16500581f; cd ..
22
22
  endif
23
23
  mkdir -p qrack/build
24
24
  ifeq ($(UNAME_S),Linux)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.44.24
3
+ Version: 1.44.26
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -40,7 +40,7 @@ class QrackAceBackend:
40
40
 
41
41
  def __init__(
42
42
  self,
43
- qubit_count=-1,
43
+ qubit_count=1,
44
44
  alternating_codes=True,
45
45
  isTensorNetwork=False,
46
46
  toClone=None,
@@ -145,25 +145,7 @@ class QrackAceBackend:
145
145
  # We can't use true syndrome-based error correction,
146
146
  # because one of the qubits in the code is separated.
147
147
  # However, we can get pretty close!
148
- hq = self._unpack(lq)
149
148
  shots = 1024
150
- samples = self.sim.measure_shots(hq, shots)
151
- syndrome = [0, 0, 0]
152
- for sample in samples:
153
- match sample:
154
- case 1:
155
- syndrome[0] += 1
156
- case 2:
157
- syndrome[1] += 1
158
- case 4:
159
- syndrome[2] += 1
160
- case 6:
161
- syndrome[0] += 1
162
- case 5:
163
- syndrome[1] += 1
164
- case 3:
165
- syndrome[2] += 1
166
-
167
149
  row = lq // self.row_length
168
150
  even_row = not (row & 1)
169
151
  single_bit = 0
@@ -174,6 +156,21 @@ class QrackAceBackend:
174
156
  else:
175
157
  single_bit = 0
176
158
  other_bits = [1, 2]
159
+ hq = self._unpack(lq)
160
+ single_bit_value = self.sim.prob(hq[single_bit])
161
+ samples = self.sim.measure_shots([hq[other_bits[0]], hq[other_bits[1]]], shots)
162
+ syndrome = [0, 0, 0]
163
+ syndrome_indices = [other_bits[1], other_bits[0]] if (single_bit_value >= 0.5) else [other_bits[0], other_bits[1]]
164
+ for sample in samples:
165
+ match sample:
166
+ case 0:
167
+ syndrome[single_bit] += single_bit_value
168
+ case 1:
169
+ syndrome[syndrome_indices[0]] += 1
170
+ case 2:
171
+ syndrome[syndrome_indices[1]] += 1
172
+ case 3:
173
+ syndrome[single_bit] += 1 - single_bit_value
177
174
 
178
175
  max_syndrome = max(syndrome)
179
176
  force_syndrome = True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.44.24
3
+ Version: 1.44.26
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -7,7 +7,7 @@ from setuptools import setup
7
7
  from setuptools.command.build_py import build_py
8
8
 
9
9
 
10
- VERSION = "1.44.24"
10
+ VERSION = "1.44.26"
11
11
 
12
12
  # Read long description from README.
13
13
  README_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'README.md')
File without changes
File without changes
File without changes