pennylane-qrack 0.20.1__tar.gz → 0.20.3__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.
Potentially problematic release.
This version of pennylane-qrack might be problematic. Click here for more details.
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/PKG-INFO +1 -1
- pennylane_qrack-0.20.1/pennylane_qrack/QrackDeviceConfig.toml → pennylane_qrack-0.20.3/pennylane_qrack/QrackAceDeviceConfig.toml +6 -6
- pennylane_qrack-0.20.1/pennylane_qrack/QrackAceDeviceConfig.toml → pennylane_qrack-0.20.3/pennylane_qrack/QrackDeviceConfig.toml +6 -6
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack/_version.py +1 -1
- pennylane_qrack-0.20.3/pennylane_qrack/libqrack_device.so +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack/qrack_ace_device.py +5 -14
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack/qrack_device.py +3 -4
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack.egg-info/PKG-INFO +1 -1
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack.egg-info/SOURCES.txt +1 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/CHANGELOG.md +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/CMakeLists.txt +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/LICENSE +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/MANIFEST.in +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/Makefile +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/README.rst +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/catalyst/runtime/include/DataView.hpp +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/catalyst/runtime/include/DynamicLibraryLoader.hpp +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/catalyst/runtime/include/Exception.hpp +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/catalyst/runtime/include/QuantumDevice.hpp +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/catalyst/runtime/include/RuntimeCAPI.h +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/catalyst/runtime/include/Types.h +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack/__init__.py +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack/qrack_device.cpp +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack.egg-info/dependency_links.txt +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack.egg-info/entry_points.txt +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack.egg-info/requires.txt +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack.egg-info/top_level.txt +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/requirements.txt +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/setup.cfg +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/setup.py +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/tests/test_apply.py +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/tests/test_integration.py +0 -0
- {pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/tests/test_units.py +0 -0
|
@@ -82,10 +82,10 @@ Prod = {}
|
|
|
82
82
|
#
|
|
83
83
|
[measurement_processes]
|
|
84
84
|
|
|
85
|
-
ExpectationMP = { conditions = [ "
|
|
86
|
-
VarianceMP = { conditions = [ "
|
|
87
|
-
ProbabilityMP = { conditions = [ "
|
|
88
|
-
StateMP = { conditions = [ "
|
|
85
|
+
ExpectationMP = { conditions = [ "finiteshots" ] }
|
|
86
|
+
VarianceMP = { conditions = [ "finiteshots" ] }
|
|
87
|
+
ProbabilityMP = { conditions = [ "finiteshots" ] }
|
|
88
|
+
StateMP = { conditions = [ "finiteshots" ] }
|
|
89
89
|
SampleMP = { conditions = [ "finiteshots" ] }
|
|
90
90
|
CountsMP = { conditions = [ "finiteshots" ] }
|
|
91
91
|
|
|
@@ -94,13 +94,13 @@ CountsMP = { conditions = [ "finiteshots" ] }
|
|
|
94
94
|
[compilation]
|
|
95
95
|
|
|
96
96
|
# Whether the device is compatible with qjit.
|
|
97
|
-
qjit_compatible =
|
|
97
|
+
qjit_compatible = false
|
|
98
98
|
|
|
99
99
|
# Whether the device requires run time generation of the quantum circuit.
|
|
100
100
|
runtime_code_generation = false
|
|
101
101
|
|
|
102
102
|
# Whether the device supports allocating and releasing qubits during execution.
|
|
103
|
-
dynamic_qubit_management =
|
|
103
|
+
dynamic_qubit_management = false
|
|
104
104
|
|
|
105
105
|
# The methods of handling mid-circuit measurements that the device supports,
|
|
106
106
|
# e.g., "one-shot", "tree-traversal", "device", etc. An empty list indicates
|
|
@@ -91,10 +91,10 @@ Prod = {}
|
|
|
91
91
|
#
|
|
92
92
|
[measurement_processes]
|
|
93
93
|
|
|
94
|
-
ExpectationMP = { conditions = [ "
|
|
95
|
-
VarianceMP = { conditions = [ "
|
|
96
|
-
ProbabilityMP = { conditions = [ "
|
|
97
|
-
StateMP = { conditions = [ "
|
|
94
|
+
ExpectationMP = { conditions = [ "analytic" ] }
|
|
95
|
+
VarianceMP = { conditions = [ "analytic" ] }
|
|
96
|
+
ProbabilityMP = { conditions = [ "analytic" ] }
|
|
97
|
+
StateMP = { conditions = [ "analytic" ] }
|
|
98
98
|
SampleMP = { conditions = [ "finiteshots" ] }
|
|
99
99
|
CountsMP = { conditions = [ "finiteshots" ] }
|
|
100
100
|
|
|
@@ -103,13 +103,13 @@ CountsMP = { conditions = [ "finiteshots" ] }
|
|
|
103
103
|
[compilation]
|
|
104
104
|
|
|
105
105
|
# Whether the device is compatible with qjit.
|
|
106
|
-
qjit_compatible =
|
|
106
|
+
qjit_compatible = true
|
|
107
107
|
|
|
108
108
|
# Whether the device requires run time generation of the quantum circuit.
|
|
109
109
|
runtime_code_generation = false
|
|
110
110
|
|
|
111
111
|
# Whether the device supports allocating and releasing qubits during execution.
|
|
112
|
-
dynamic_qubit_management =
|
|
112
|
+
dynamic_qubit_management = true
|
|
113
113
|
|
|
114
114
|
# The methods of handling mid-circuit measurements that the device supports,
|
|
115
115
|
# e.g., "one-shot", "tree-traversal", "device", etc. An empty list indicates
|
|
Binary file
|
|
@@ -85,11 +85,6 @@ class QrackAceDevice(QubitDevice):
|
|
|
85
85
|
"Identity",
|
|
86
86
|
"C(Identity)",
|
|
87
87
|
"MultiRZ",
|
|
88
|
-
"C(MultiRZ)",
|
|
89
|
-
"CRX",
|
|
90
|
-
"CRY",
|
|
91
|
-
"CRZ",
|
|
92
|
-
"CRot",
|
|
93
88
|
"SWAP",
|
|
94
89
|
"ISWAP",
|
|
95
90
|
"PSWAP",
|
|
@@ -110,20 +105,17 @@ class QrackAceDevice(QubitDevice):
|
|
|
110
105
|
"Hadamard",
|
|
111
106
|
"SX",
|
|
112
107
|
"PhaseShift",
|
|
113
|
-
"C(PhaseShift)",
|
|
114
108
|
"U3",
|
|
115
109
|
"Rot",
|
|
116
|
-
"ControlledPhaseShift",
|
|
117
|
-
"CPhase",
|
|
118
110
|
}
|
|
119
111
|
|
|
120
112
|
config_filepath = pathlib.Path(
|
|
121
|
-
os.path.dirname(sys.modules[__name__].__file__) + "/
|
|
113
|
+
os.path.dirname(sys.modules[__name__].__file__) + "/QrackAceDeviceConfig.toml"
|
|
122
114
|
)
|
|
123
115
|
|
|
124
116
|
# Use "hybrid" stabilizer optimization? (Default is "true"; non-Clifford circuits will fall back to near-Clifford or universal simulation)
|
|
125
117
|
isStabilizerHybrid = False
|
|
126
|
-
# Use "tensor network" optimization? (Default is "
|
|
118
|
+
# Use "tensor network" optimization? (Default is "false"; prevents dynamic qubit de-allocation; might function sub-optimally with "hybrid" stabilizer enabled)
|
|
127
119
|
isTensorNetwork = False
|
|
128
120
|
# Use Schmidt decomposition optimizations? (Default is "true")
|
|
129
121
|
isSchmidtDecompose = True
|
|
@@ -439,10 +431,9 @@ class QrackAceDevice(QubitDevice):
|
|
|
439
431
|
|
|
440
432
|
return self._samples
|
|
441
433
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
)
|
|
445
|
-
self._samples = QubitDevice.states_to_binary(samples, self.num_wires)
|
|
434
|
+
# QubitDevice.states_to_binary() doesn't work for >64qb. (Fix by Elara, the custom OpenAI GPT)
|
|
435
|
+
samples = self._state.measure_shots(list(range(self.num_wires - 1, -1, -1)), self.shots)
|
|
436
|
+
self._samples = np.array([list(format(b, f"0{self.num_wires}b")) for b in samples], dtype=np.int8)
|
|
446
437
|
|
|
447
438
|
return self._samples
|
|
448
439
|
|
|
@@ -718,10 +718,9 @@ class QrackDevice(QubitDevice):
|
|
|
718
718
|
|
|
719
719
|
return self._samples
|
|
720
720
|
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
)
|
|
724
|
-
self._samples = QubitDevice.states_to_binary(samples, self.num_wires)
|
|
721
|
+
# QubitDevice.states_to_binary() doesn't work for >64qb. (Fix by Elara, the custom OpenAI GPT)
|
|
722
|
+
samples = self._state.measure_shots(list(range(self.num_wires - 1, -1, -1)), self.shots)
|
|
723
|
+
self._samples = np.array([list(format(b, f"0{self.num_wires}b")) for b in samples], dtype=np.int8)
|
|
725
724
|
|
|
726
725
|
return self._samples
|
|
727
726
|
|
|
@@ -16,6 +16,7 @@ pennylane_qrack/QrackAceDeviceConfig.toml
|
|
|
16
16
|
pennylane_qrack/QrackDeviceConfig.toml
|
|
17
17
|
pennylane_qrack/__init__.py
|
|
18
18
|
pennylane_qrack/_version.py
|
|
19
|
+
pennylane_qrack/libqrack_device.so
|
|
19
20
|
pennylane_qrack/qrack_ace_device.py
|
|
20
21
|
pennylane_qrack/qrack_device.cpp
|
|
21
22
|
pennylane_qrack/qrack_device.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/catalyst/runtime/include/DynamicLibraryLoader.hpp
RENAMED
|
File without changes
|
|
File without changes
|
{pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/catalyst/runtime/include/QuantumDevice.hpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pennylane_qrack-0.20.1 → pennylane_qrack-0.20.3}/pennylane_qrack.egg-info/dependency_links.txt
RENAMED
|
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
|