pyqrack-cuda 1.49.8__tar.gz → 1.49.9__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.49.8/pyqrack_cuda.egg-info → pyqrack_cuda-1.49.9}/PKG-INFO +1 -1
  2. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_ace_backend.py +13 -7
  3. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
  4. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/setup.py +1 -1
  5. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/LICENSE +0 -0
  6. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/MANIFEST.in +0 -0
  7. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/Makefile +0 -0
  8. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/README.md +0 -0
  9. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyproject.toml +0 -0
  10. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/__init__.py +0 -0
  11. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/neuron_activation_fn.py +0 -0
  12. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/pauli.py +0 -0
  13. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_circuit.py +0 -0
  14. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_neuron.py +0 -0
  15. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  16. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_simulator.py +0 -0
  17. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_stabilizer.py +0 -0
  18. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_system/__init__.py +0 -0
  19. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_system/qrack_system.py +0 -0
  20. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/quimb_circuit_type.py +0 -0
  21. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/stats/__init__.py +0 -0
  22. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/stats/load_quantized_data.py +0 -0
  23. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/stats/quantize_by_range.py +0 -0
  24. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
  25. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
  26. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
  27. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/requires.txt +0 -0
  28. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/top_level.txt +0 -0
  29. {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.49.8
3
+ Version: 1.49.9
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -212,6 +212,12 @@ class QrackAceBackend:
212
212
  self.sim.mcx([hq[0]], hq[1])
213
213
  self._cx_shadow(hq[0], hq[2])
214
214
 
215
+ def _encode_decode_1qb(self, lq, hq):
216
+ if not self.alternating_codes or not ((lq // self.row_length) & 1):
217
+ self.sim.mcx([hq[0]], hq[1])
218
+ else:
219
+ self.sim.mcx([hq[2]], hq[1])
220
+
215
221
  def _correct(self, lq):
216
222
  if not self._is_init[lq]:
217
223
  return
@@ -342,11 +348,11 @@ class QrackAceBackend:
342
348
  # Produces/destroys superposition
343
349
  if self._is_init[lq]:
344
350
  self._correct_if_like_h(th, lq)
345
- self.sim.mcx([hq[0]], hq[1])
351
+ self._encode_decode_1qb(lq, hq)
346
352
  self.sim.u(hq[0], th, ph, lm)
347
353
  self.sim.u(hq[2], th, ph, lm)
348
354
  if self._is_init[lq]:
349
- self.sim.mcx([hq[0]], hq[1])
355
+ self._encode_decode_1qb(lq, hq)
350
356
  else:
351
357
  self._encode(lq, hq)
352
358
  else:
@@ -374,11 +380,11 @@ class QrackAceBackend:
374
380
  else:
375
381
  # Produces/destroys superposition
376
382
  if self._is_init[lq]:
377
- self.sim.mcx([hq[0]], hq[1])
383
+ self._encode_decode_1qb(lq, hq)
378
384
  self.sim.r(p, th, hq[0])
379
385
  self.sim.r(p, th, hq[2])
380
386
  if self._is_init[lq]:
381
- self.sim.mcx([hq[0]], hq[1])
387
+ self._encode_decode_1qb(lq, hq)
382
388
  else:
383
389
  self._encode(lq, hq)
384
390
 
@@ -388,13 +394,13 @@ class QrackAceBackend:
388
394
  self.sim.h(hq[0])
389
395
  return
390
396
 
391
- self._correct(lq)
392
397
  if self._is_init[lq]:
393
- self.sim.mcx([hq[0]], hq[1])
398
+ self._correct(lq)
399
+ self._encode_decode_1qb(lq, hq)
394
400
  self.sim.h(hq[0])
395
401
  self.sim.h(hq[2])
396
402
  if self._is_init[lq]:
397
- self.sim.mcx([hq[0]], hq[1])
403
+ self._encode_decode_1qb(lq, hq)
398
404
  else:
399
405
  self._encode(lq, hq)
400
406
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.49.8
3
+ Version: 1.49.9
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.49.8"
10
+ VERSION = "1.49.9"
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