pyqrack-cuda 1.46.2__tar.gz → 1.46.3__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.46.2/pyqrack_cuda.egg-info → pyqrack_cuda-1.46.3}/PKG-INFO +1 -1
  2. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/qrack_ace_backend.py +16 -13
  3. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
  4. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/setup.py +1 -1
  5. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/LICENSE +0 -0
  6. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/MANIFEST.in +0 -0
  7. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/Makefile +0 -0
  8. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/README.md +0 -0
  9. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyproject.toml +0 -0
  10. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/__init__.py +0 -0
  11. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/neuron_activation_fn.py +0 -0
  12. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/pauli.py +0 -0
  13. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/qrack_circuit.py +0 -0
  14. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/qrack_neuron.py +0 -0
  15. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  16. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/qrack_simulator.py +0 -0
  17. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/qrack_stabilizer.py +0 -0
  18. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/qrack_system/__init__.py +0 -0
  19. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/qrack_system/qrack_system.py +0 -0
  20. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/quimb_circuit_type.py +0 -0
  21. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/stats/__init__.py +0 -0
  22. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/stats/load_quantized_data.py +0 -0
  23. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack/stats/quantize_by_range.py +0 -0
  24. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
  25. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
  26. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
  27. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack_cuda.egg-info/requires.txt +0 -0
  28. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/pyqrack_cuda.egg-info/top_level.txt +0 -0
  29. {pyqrack_cuda-1.46.2 → pyqrack_cuda-1.46.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.46.2
3
+ Version: 1.46.3
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -515,19 +515,22 @@ class QrackAceBackend:
515
515
  # Randomize the order of measurement to amortize error.
516
516
  # However, locality of collapse matters:
517
517
  # always measure across rows, and by consecutive rows.
518
- lqubits = list(range(self.sim.num_qubits() // 3))
519
- row = rand.randint(0, self.col_length - 1)
520
- index = row * self.row_length
521
- lqubits = lqubits[index:] + lqubits[:index]
522
- col = rand.randint(0, self.row_length - 1)
523
- if random.randint(0, 1):
524
- lqubits.reverse()
525
- for lq in lqubits:
526
- lq_row = i // self.row_length
527
- lq_col = (i + col) % self.row_length
528
- lq = lq_row * self.row_length + lq_col
529
- if self.m(lq):
530
- result |= 1 << lq
518
+ row_offset = rand.randint(0, self.col_length - 1)
519
+ row_reverse = bool(random.randint(0, 1))
520
+ row_alternate = bool(random.randint(0, 1))
521
+ for row in range(self.col_length):
522
+ r = row
523
+ if row_alternate:
524
+ half_row = row >> 1
525
+ r = (self.col_length // 2) + (half_row if row & 1 else -half_row)
526
+ lq_row = (((self.col_length - r) if row_reverse else r) + row_offset) % self.col_length
527
+ col_offset = rand.randint(0, self.row_length - 1)
528
+ col_reverse = self.alternating_codes and (r & 1)
529
+ for c in range(self.row_length):
530
+ lq_col = (((self.row_length - (c + 1)) if col_reverse else c) + col_offset) % self.row_length
531
+ lq = lq_row * self.row_length + lq_col
532
+ if self.m(lq):
533
+ result |= 1 << lq
531
534
 
532
535
  return result
533
536
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.46.2
3
+ Version: 1.46.3
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.46.2"
10
+ VERSION = "1.46.3"
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