pyqrack-cuda 1.54.0__tar.gz → 1.54.2__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.54.0/pyqrack_cuda.egg-info → pyqrack_cuda-1.54.2}/PKG-INFO +1 -1
  2. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/qrack_ace_backend.py +26 -16
  3. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
  4. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/setup.py +1 -1
  5. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/LICENSE +0 -0
  6. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/MANIFEST.in +0 -0
  7. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/Makefile +0 -0
  8. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/README.md +0 -0
  9. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyproject.toml +0 -0
  10. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/__init__.py +0 -0
  11. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/neuron_activation_fn.py +0 -0
  12. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/pauli.py +0 -0
  13. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/qrack_circuit.py +0 -0
  14. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/qrack_neuron.py +0 -0
  15. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  16. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/qrack_simulator.py +0 -0
  17. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/qrack_stabilizer.py +0 -0
  18. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/qrack_system/__init__.py +0 -0
  19. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/qrack_system/qrack_system.py +0 -0
  20. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/quimb_circuit_type.py +0 -0
  21. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/stats/__init__.py +0 -0
  22. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/stats/load_quantized_data.py +0 -0
  23. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack/stats/quantize_by_range.py +0 -0
  24. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
  25. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
  26. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
  27. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack_cuda.egg-info/requires.txt +0 -0
  28. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/pyqrack_cuda.egg-info/top_level.txt +0 -0
  29. {pyqrack_cuda-1.54.0 → pyqrack_cuda-1.54.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.54.0
3
+ Version: 1.54.2
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -268,9 +268,9 @@ class QrackAceBackend:
268
268
 
269
269
  # Suggestion from Elara (the custom OpenAI GPT):
270
270
  # Create phase parity tie before measurement.
271
- self._ccx_shadow(hq[single_bit], hq[other_bits[0]], [ancilla_sim, ancilla])
272
- self.sim[ancilla_sim].mcx([hq[other_bits[1]][1]], ancilla)
273
- self.sim[ancilla_sim].force_m(ancilla, False)
271
+ # self._ccx_shadow(hq[single_bit], hq[other_bits[0]], [ancilla_sim, ancilla])
272
+ # self.sim[ancilla_sim].mcx([hq[other_bits[1]][1]], ancilla)
273
+ # self.sim[ancilla_sim].force_m(ancilla, False)
274
274
 
275
275
  samples = self.sim[ancilla_sim].measure_shots(
276
276
  [hq[other_bits[0]][1], hq[other_bits[1]][1]], shots
@@ -518,6 +518,29 @@ class QrackAceBackend:
518
518
  lq2_row = lq2 // self._row_length
519
519
  lq2_col = lq2 % self._row_length
520
520
 
521
+ hq1 = self._unpack(lq1)
522
+ hq2 = self._unpack(lq2)
523
+
524
+ if lq1_lr and lq2_lr:
525
+ connected = (lq1_col == lq2_col) or ((self.long_range_columns + 1) >= self._row_length)
526
+ c = (lq1_col - 1) % self._row_length
527
+ while not connected and self._is_col_long_range[c]:
528
+ connected = (lq2_col == c)
529
+ c = (c - 1) % self._row_length
530
+ c = (lq1_col + 1) % self._row_length
531
+ while not connected and self._is_col_long_range[c]:
532
+ connected = (lq2_col == c)
533
+ c = (c + 1) % self._row_length
534
+
535
+ b1 = hq1[0]
536
+ b2 = hq2[0]
537
+ gate, shadow = self._get_gate(pauli, anti, b1[0])
538
+ if connected:
539
+ gate([b1[1]], b2[1])
540
+ else:
541
+ shadow(b1, b2)
542
+ return
543
+
521
544
  connected_cols = []
522
545
  c = (lq1_col - 1) % self._row_length
523
546
  while self._is_col_long_range[c] and (
@@ -537,19 +560,6 @@ class QrackAceBackend:
537
560
  if len(connected_cols) < (self._row_length - 1):
538
561
  connected_cols.append(c)
539
562
 
540
- hq1 = self._unpack(lq1)
541
- hq2 = self._unpack(lq2)
542
-
543
- if lq1_lr and lq2_lr:
544
- b1 = hq1[0]
545
- b2 = hq2[0]
546
- gate, shadow = self._get_gate(pauli, anti, b1[0])
547
- if lq2_col in connected_cols:
548
- gate([b1[1]], b2[1])
549
- else:
550
- shadow(b1, b2)
551
- return
552
-
553
563
  self._correct(lq1)
554
564
 
555
565
  if (lq2_col in connected_cols) and (connected_cols.index(lq2_col) < boundary):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.54.0
3
+ Version: 1.54.2
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.54.0"
10
+ VERSION = "1.54.2"
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
File without changes