pyqrack-cuda 1.44.25__tar.gz → 1.44.27__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.25/pyqrack_cuda.egg-info → pyqrack_cuda-1.44.27}/PKG-INFO +1 -1
  2. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/qrack_ace_backend.py +8 -4
  3. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
  4. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/setup.py +1 -1
  5. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/LICENSE +0 -0
  6. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/MANIFEST.in +0 -0
  7. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/Makefile +0 -0
  8. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/README.md +0 -0
  9. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyproject.toml +0 -0
  10. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/__init__.py +0 -0
  11. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/neuron_activation_fn.py +0 -0
  12. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/pauli.py +0 -0
  13. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/qrack_circuit.py +0 -0
  14. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/qrack_neuron.py +0 -0
  15. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  16. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/qrack_simulator.py +0 -0
  17. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/qrack_stabilizer.py +0 -0
  18. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/qrack_system/__init__.py +0 -0
  19. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/qrack_system/qrack_system.py +0 -0
  20. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/quimb_circuit_type.py +0 -0
  21. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/stats/__init__.py +0 -0
  22. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/stats/load_quantized_data.py +0 -0
  23. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack/stats/quantize_by_range.py +0 -0
  24. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
  25. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
  26. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
  27. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack_cuda.egg-info/requires.txt +0 -0
  28. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/pyqrack_cuda.egg-info/top_level.txt +0 -0
  29. {pyqrack_cuda-1.44.25 → pyqrack_cuda-1.44.27}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.44.25
3
+ Version: 1.44.27
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -116,14 +116,16 @@ class QrackAceBackend:
116
116
  even_row = not (row & 1)
117
117
  if ((not self.alternating_codes) and reverse) or (even_row == reverse):
118
118
  if self._is_init[lq]:
119
+ # Encode shadow-first
119
120
  self._cx_shadow(hq[0], hq[1])
120
121
  self.sim.mcx([hq[1]], hq[2])
121
122
  else:
122
123
  self.sim.mcx([hq[2]], hq[1])
123
124
  else:
124
- self.sim.mcx([hq[0]], hq[1])
125
125
  if self._is_init[lq]:
126
- self._cx_shadow(hq[1], hq[2])
126
+ # Encode shadow-first
127
+ self._cx_shadow(hq[0], hq[2])
128
+ self.sim.mcx([hq[0]], hq[1])
127
129
  self._is_init[lq] = True
128
130
 
129
131
  def _decode(self, hq, reverse=False):
@@ -133,11 +135,13 @@ class QrackAceBackend:
133
135
  row = lq // self.row_length
134
136
  even_row = not (row & 1)
135
137
  if ((not self.alternating_codes) and reverse) or (even_row == reverse):
138
+ # Decode entangled-first
136
139
  self.sim.mcx([hq[1]], hq[2])
137
140
  self._cx_shadow(hq[0], hq[1])
138
141
  else:
139
- self._cx_shadow(hq[1], hq[2])
142
+ # Decode entangled-first
140
143
  self.sim.mcx([hq[0]], hq[1])
144
+ self._cx_shadow(hq[0], hq[2])
141
145
 
142
146
  def _correct(self, lq):
143
147
  if not self._is_init[lq]:
@@ -160,7 +164,7 @@ class QrackAceBackend:
160
164
  single_bit_value = self.sim.prob(hq[single_bit])
161
165
  samples = self.sim.measure_shots([hq[other_bits[0]], hq[other_bits[1]]], shots)
162
166
  syndrome = [0, 0, 0]
163
- syndrome_indices = [other_bits[1], other_bits[0]] if single_bit_value else [other_bits[0], other_bits[1]]
167
+ syndrome_indices = [other_bits[1], other_bits[0]] if (single_bit_value >= 0.5) else [other_bits[0], other_bits[1]]
164
168
  for sample in samples:
165
169
  match sample:
166
170
  case 0:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.44.25
3
+ Version: 1.44.27
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.25"
10
+ VERSION = "1.44.27"
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
File without changes