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.
- {pyqrack_cuda-1.49.8/pyqrack_cuda.egg-info → pyqrack_cuda-1.49.9}/PKG-INFO +1 -1
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_ace_backend.py +13 -7
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/setup.py +1 -1
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/LICENSE +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/MANIFEST.in +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/Makefile +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/README.md +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyproject.toml +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/__init__.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/neuron_activation_fn.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/pauli.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_circuit.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_neuron.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_neuron_torch_layer.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_simulator.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_stabilizer.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_system/__init__.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/qrack_system/qrack_system.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/quimb_circuit_type.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/stats/__init__.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/stats/load_quantized_data.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack/stats/quantize_by_range.py +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/requires.txt +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/pyqrack_cuda.egg-info/top_level.txt +0 -0
- {pyqrack_cuda-1.49.8 → pyqrack_cuda-1.49.9}/setup.cfg +0 -0
@@ -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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
403
|
+
self._encode_decode_1qb(lq, hq)
|
398
404
|
else:
|
399
405
|
self._encode(lq, hq)
|
400
406
|
|
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
|