pyqrack-cuda 1.45.1__tar.gz → 1.45.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.45.1/pyqrack_cuda.egg-info → pyqrack_cuda-1.45.2}/PKG-INFO +1 -1
  2. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/qrack_ace_backend.py +8 -5
  3. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
  4. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/setup.py +1 -1
  5. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/LICENSE +0 -0
  6. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/MANIFEST.in +0 -0
  7. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/Makefile +0 -0
  8. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/README.md +0 -0
  9. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyproject.toml +0 -0
  10. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/__init__.py +0 -0
  11. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/neuron_activation_fn.py +0 -0
  12. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/pauli.py +0 -0
  13. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/qrack_circuit.py +0 -0
  14. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/qrack_neuron.py +0 -0
  15. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  16. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/qrack_simulator.py +0 -0
  17. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/qrack_stabilizer.py +0 -0
  18. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/qrack_system/__init__.py +0 -0
  19. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/qrack_system/qrack_system.py +0 -0
  20. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/quimb_circuit_type.py +0 -0
  21. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/stats/__init__.py +0 -0
  22. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/stats/load_quantized_data.py +0 -0
  23. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack/stats/quantize_by_range.py +0 -0
  24. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
  25. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
  26. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
  27. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack_cuda.egg-info/requires.txt +0 -0
  28. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/pyqrack_cuda.egg-info/top_level.txt +0 -0
  29. {pyqrack_cuda-1.45.1 → pyqrack_cuda-1.45.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.45.1
3
+ Version: 1.45.2
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -437,7 +437,7 @@ class QrackAceBackend:
437
437
  syndrome += self.sim.m(hq[q])
438
438
  # The two separable parts of the code are correlated,
439
439
  # but not non-locally, via entanglement.
440
- # Prefer to collapse the analytical part toward agreement.
440
+ # Prefer to collapse the third toward agreement.
441
441
  if syndrome == 0:
442
442
  self.sim.force_m(hq[single_bit], False)
443
443
  elif syndrome == 2:
@@ -453,7 +453,8 @@ class QrackAceBackend:
453
453
  # Whenever a nonzero syndrome occurs (so the code has an error),
454
454
  # we insert the more-probable results and collapse towards it.
455
455
  # Randomize the order of post-selection to amortize error.
456
- lqubits = random.shuffle(list(range(self.sim.num_qubits() // 3)))
456
+ lqubits = list(range(self.sim.num_qubits() // 3))
457
+ random.shuffle(lqubits)
457
458
  for lq in lqubits:
458
459
  if self.m(lq):
459
460
  result |= 1 << lq
@@ -463,12 +464,14 @@ class QrackAceBackend:
463
464
  def measure_shots(self, q, s, high_accuracy=True):
464
465
  if high_accuracy:
465
466
  samples = []
467
+ _q = q.copy()
466
468
  for _ in range(s):
467
469
  clone = self.sim.clone()
468
470
  sample = 0
469
- for i in range(len(q)):
470
- if clone.m(q[i]):
471
- sample |= 1 << i
471
+ random.shuffle(_q)
472
+ for b in _q:
473
+ if clone.m(b):
474
+ sample |= 1 << q.index(b)
472
475
  samples.append(sample)
473
476
 
474
477
  return samples
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.45.1
3
+ Version: 1.45.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.45.1"
10
+ VERSION = "1.45.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