pyqrack-cuda 1.48.3__tar.gz → 1.49.0__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.48.3/pyqrack_cuda.egg-info → pyqrack_cuda-1.49.0}/PKG-INFO +1 -1
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/qrack_ace_backend.py +50 -2
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/qrack_simulator.py +40 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/setup.py +1 -1
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/LICENSE +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/MANIFEST.in +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/Makefile +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/README.md +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyproject.toml +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/__init__.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/neuron_activation_fn.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/pauli.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/qrack_circuit.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/qrack_neuron.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/qrack_neuron_torch_layer.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/qrack_stabilizer.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/qrack_system/__init__.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/qrack_system/qrack_system.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/quimb_circuit_type.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/stats/__init__.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/stats/load_quantized_data.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack/stats/quantize_by_range.py +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack_cuda.egg-info/requires.txt +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/pyqrack_cuda.egg-info/top_level.txt +0 -0
- {pyqrack_cuda-1.48.3 → pyqrack_cuda-1.49.0}/setup.cfg +0 -0
@@ -65,9 +65,11 @@ class QrackAceBackend:
|
|
65
65
|
|
66
66
|
col_seq = [True] * long_range_columns + [False]
|
67
67
|
len_col_seq = len(col_seq)
|
68
|
-
self._is_col_long_range = (
|
68
|
+
self._is_col_long_range = (
|
69
|
+
col_seq * ((self.row_length + len_col_seq - 1) // len_col_seq)
|
70
|
+
)[: self.row_length]
|
69
71
|
if long_range_columns < self.row_length:
|
70
|
-
|
72
|
+
self._is_col_long_range[-1] = False
|
71
73
|
self._hardware_offset = []
|
72
74
|
tot_qubits = 0
|
73
75
|
for _ in range(self.col_length):
|
@@ -1016,3 +1018,49 @@ class QrackAceBackend:
|
|
1016
1018
|
del self._sim
|
1017
1019
|
|
1018
1020
|
return _data
|
1021
|
+
|
1022
|
+
def get_qiskit_basis_gates():
|
1023
|
+
return [
|
1024
|
+
"id",
|
1025
|
+
"u",
|
1026
|
+
"u1",
|
1027
|
+
"u2",
|
1028
|
+
"u3",
|
1029
|
+
"r",
|
1030
|
+
"rx",
|
1031
|
+
"ry",
|
1032
|
+
"rz",
|
1033
|
+
"h",
|
1034
|
+
"x",
|
1035
|
+
"y",
|
1036
|
+
"z",
|
1037
|
+
"s",
|
1038
|
+
"sdg",
|
1039
|
+
"sx",
|
1040
|
+
"sxdg",
|
1041
|
+
"p",
|
1042
|
+
"t",
|
1043
|
+
"tdg",
|
1044
|
+
"cx",
|
1045
|
+
"cy",
|
1046
|
+
"cz",
|
1047
|
+
"swap",
|
1048
|
+
"iswap",
|
1049
|
+
"reset",
|
1050
|
+
"measure",
|
1051
|
+
]
|
1052
|
+
|
1053
|
+
# Provided by Elara (custom OpenAI GPT)
|
1054
|
+
def generate_logical_coupling_map(self):
|
1055
|
+
coupling_map = []
|
1056
|
+
for y in range(self._col_length):
|
1057
|
+
for x in range(self._row_length):
|
1058
|
+
q = y * self._row_length + x
|
1059
|
+
# Define neighbors with orbifolding
|
1060
|
+
neighbors = []
|
1061
|
+
neighbors.append((x + 1) % self._row_length + y * self._row_length)
|
1062
|
+
neighbors.append(x + ((y + 1) % self._col_length) * self._row_length)
|
1063
|
+
for nq in neighbors:
|
1064
|
+
coupling_map.append([q, nq])
|
1065
|
+
|
1066
|
+
return coupling_map
|
@@ -4374,3 +4374,43 @@ class QrackSimulator:
|
|
4374
4374
|
del self._sim
|
4375
4375
|
|
4376
4376
|
return _data
|
4377
|
+
|
4378
|
+
def get_qiskit_basis_gates():
|
4379
|
+
return [
|
4380
|
+
"id",
|
4381
|
+
"u",
|
4382
|
+
"u1",
|
4383
|
+
"u2",
|
4384
|
+
"u3",
|
4385
|
+
"r",
|
4386
|
+
"rx",
|
4387
|
+
"ry",
|
4388
|
+
"rz",
|
4389
|
+
"h",
|
4390
|
+
"x",
|
4391
|
+
"y",
|
4392
|
+
"z",
|
4393
|
+
"s",
|
4394
|
+
"sdg",
|
4395
|
+
"sx",
|
4396
|
+
"sxdg",
|
4397
|
+
"p",
|
4398
|
+
"t",
|
4399
|
+
"tdg",
|
4400
|
+
"cu",
|
4401
|
+
"cu1",
|
4402
|
+
"cu3",
|
4403
|
+
"cx",
|
4404
|
+
"cy",
|
4405
|
+
"cz",
|
4406
|
+
"ch",
|
4407
|
+
"cp",
|
4408
|
+
"csx",
|
4409
|
+
"ccx",
|
4410
|
+
"ccz",
|
4411
|
+
"swap",
|
4412
|
+
"iswap",
|
4413
|
+
"cswap",
|
4414
|
+
"reset",
|
4415
|
+
"measure",
|
4416
|
+
]
|
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
|