pyqrack-cpu-complex128 2.26.4__tar.gz → 2.26.5__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 (30) hide show
  1. {pyqrack_cpu_complex128-2.26.4/pyqrack_cpu_complex128.egg-info → pyqrack_cpu_complex128-2.26.5}/PKG-INFO +1 -1
  2. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/qrack_ace_backend.py +10 -13
  3. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5/pyqrack_cpu_complex128.egg-info}/PKG-INFO +1 -1
  4. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/setup.py +1 -1
  5. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/LICENSE +0 -0
  6. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/MANIFEST.in +0 -0
  7. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/Makefile +0 -0
  8. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/README.md +0 -0
  9. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyproject.toml +0 -0
  10. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/__init__.py +0 -0
  11. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/neuron_activation_fn.py +0 -0
  12. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/pauli.py +0 -0
  13. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/qrack_circuit.py +0 -0
  14. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/qrack_near_clifford_qec_backend.py +0 -0
  15. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/qrack_neuron.py +0 -0
  16. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  17. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/qrack_simulator.py +0 -0
  18. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/qrack_stabilizer.py +0 -0
  19. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/qrack_system/__init__.py +0 -0
  20. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/qrack_system/qrack_system.py +0 -0
  21. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/quimb_circuit_type.py +0 -0
  22. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/stats/__init__.py +0 -0
  23. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/stats/load_quantized_data.py +0 -0
  24. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack/stats/quantize_by_range.py +0 -0
  25. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack_cpu_complex128.egg-info/SOURCES.txt +0 -0
  26. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack_cpu_complex128.egg-info/dependency_links.txt +0 -0
  27. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack_cpu_complex128.egg-info/not-zip-safe +0 -0
  28. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack_cpu_complex128.egg-info/requires.txt +0 -0
  29. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/pyqrack_cpu_complex128.egg-info/top_level.txt +0 -0
  30. {pyqrack_cpu_complex128-2.26.4 → pyqrack_cpu_complex128-2.26.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cpu-complex128
3
- Version: 2.26.4
3
+ Version: 2.26.5
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -1389,7 +1389,6 @@ class QrackAceBackend:
1389
1389
  sim_id, idx1 = hq1[i]
1390
1390
  gate_fn, shadow_fn = self._get_gate(pauli, anti, sim_id)
1391
1391
  _, idx2 = hq2[i]
1392
- self.sim[sim_id].swap(idx1, idx2)
1393
1392
  gate_fn([idx1], idx2)
1394
1393
  return
1395
1394
 
@@ -1436,6 +1435,10 @@ class QrackAceBackend:
1436
1435
  self.cx(lq1, anc2)
1437
1436
  self._in_gadget_capture = False
1438
1437
 
1438
+ if not self._in_gadget_capture:
1439
+ self._correct(lq1)
1440
+ self._correct(lq2)
1441
+
1439
1442
  # A target replica (q2) that shares a simulator with ANY control
1440
1443
  # replica in qb1 is going to receive a REAL, exact gate from that
1441
1444
  # control at some point in the loop below (the `b1[0] == b2[0]`
@@ -1488,6 +1491,12 @@ class QrackAceBackend:
1488
1491
  shadow_fn(b1, b2)
1489
1492
  shadow_targets.append(b2)
1490
1493
 
1494
+ if not self._in_gadget_capture:
1495
+ if pauli != Pauli.PauliZ:
1496
+ self._correct(lq2, False, pauli != Pauli.PauliX)
1497
+ if pauli != Pauli.PauliX:
1498
+ self._correct(lq2, True)
1499
+
1491
1500
  if anc2 is not None:
1492
1501
  self._in_gadget_capture = True
1493
1502
  # XOR check
@@ -1534,10 +1543,6 @@ class QrackAceBackend:
1534
1543
  lq1_lr = len(hq1) == 1
1535
1544
  lq2_lr = len(hq2) == 1
1536
1545
 
1537
- if not self._in_gadget_capture:
1538
- self._correct(lq1)
1539
- self._correct(lq2)
1540
-
1541
1546
  t2 = [lq2]
1542
1547
  anc1 = None
1543
1548
  if self.is_boundary_repetition_code and (not self._in_gadget_capture) and lq1_lr and (not lq2_lr):
@@ -1605,14 +1610,6 @@ class QrackAceBackend:
1605
1610
  if b:
1606
1611
  self.x(anc1)
1607
1612
 
1608
- if self._in_gadget_capture:
1609
- return
1610
-
1611
- if pauli != Pauli.PauliZ:
1612
- self._correct(lq2, False, pauli != Pauli.PauliX)
1613
- if pauli != Pauli.PauliX:
1614
- self._correct(lq2, True)
1615
-
1616
1613
  def cx(self, lq1, lq2):
1617
1614
  self._cpauli(lq1, lq2, False, Pauli.PauliX)
1618
1615
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cpu-complex128
3
- Version: 2.26.4
3
+ Version: 2.26.5
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 = "2.26.4"
10
+ VERSION = "2.26.5"
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')