pyqrack-cuda 1.52.0__tar.gz → 1.52.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.
- {pyqrack_cuda-1.52.0/pyqrack_cuda.egg-info → pyqrack_cuda-1.52.2}/PKG-INFO +1 -1
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/qrack_ace_backend.py +5 -13
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/setup.py +1 -1
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/LICENSE +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/MANIFEST.in +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/Makefile +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/README.md +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyproject.toml +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/__init__.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/neuron_activation_fn.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/pauli.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/qrack_circuit.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/qrack_neuron.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/qrack_neuron_torch_layer.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/qrack_simulator.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/qrack_stabilizer.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/qrack_system/__init__.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/qrack_system/qrack_system.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/quimb_circuit_type.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/stats/__init__.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/stats/load_quantized_data.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack/stats/quantize_by_range.py +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack_cuda.egg-info/requires.txt +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/pyqrack_cuda.egg-info/top_level.txt +0 -0
- {pyqrack_cuda-1.52.0 → pyqrack_cuda-1.52.2}/setup.cfg +0 -0
@@ -346,15 +346,6 @@ class QrackAceBackend:
|
|
346
346
|
# Force the syndrome non-pathological.
|
347
347
|
self.sim[ancilla_sim].force_m(ancilla, False)
|
348
348
|
|
349
|
-
def _correct_if_like_h(self, th, lq):
|
350
|
-
while th > math.pi:
|
351
|
-
th -= 2 * math.pi
|
352
|
-
while th <= -math.pi:
|
353
|
-
th += 2 * math.pi
|
354
|
-
th = abs(th)
|
355
|
-
if not math.isclose(th, 0):
|
356
|
-
self._correct(lq)
|
357
|
-
|
358
349
|
def u(self, lq, th, ph, lm):
|
359
350
|
hq = self._unpack(lq)
|
360
351
|
if len(hq) < 2:
|
@@ -379,7 +370,7 @@ class QrackAceBackend:
|
|
379
370
|
b = hq[2]
|
380
371
|
self.sim[b[0]].u(b[1], th, ph, lm)
|
381
372
|
self._encode_decode(lq, hq)
|
382
|
-
self.
|
373
|
+
self._correct(lq)
|
383
374
|
else:
|
384
375
|
# Shouldn't produce/destroy superposition
|
385
376
|
for b in hq:
|
@@ -408,7 +399,7 @@ class QrackAceBackend:
|
|
408
399
|
b = hq[2]
|
409
400
|
self.sim[b[0]].r(p, th, b[1])
|
410
401
|
self._encode_decode(lq, hq)
|
411
|
-
self.
|
402
|
+
self._correct(lq)
|
412
403
|
|
413
404
|
def h(self, lq):
|
414
405
|
hq = self._unpack(lq)
|
@@ -583,11 +574,12 @@ class QrackAceBackend:
|
|
583
574
|
self._encode_decode_half(lq1, hq1, False)
|
584
575
|
elif lq1_col == lq2_col:
|
585
576
|
# Both are in the same boundary column.
|
586
|
-
self._encode_decode(lq1, hq1)
|
587
|
-
self._encode_decode(lq2, hq2)
|
588
577
|
b = hq1[0]
|
589
578
|
gate, shadow = self._get_gate(pauli, anti, b[0])
|
590
579
|
gate([b[1]], hq2[0][1])
|
580
|
+
|
581
|
+
shadow(hq1[1], hq2[1])
|
582
|
+
|
591
583
|
b = hq1[2]
|
592
584
|
gate, shadow = self._get_gate(pauli, anti, b[0])
|
593
585
|
gate([b[1]], hq2[2][1])
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|