-
Notifications
You must be signed in to change notification settings - Fork 42
/
Copy pathlightning_qubit.toml
116 lines (100 loc) · 5.99 KB
/
lightning_qubit.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
schema = 2
[operators.gates.native]
CNOT = { properties = [ "invertible", "differentiable" ] }
ControlledPhaseShift = { properties = [ "invertible", "differentiable" ] }
CRot = { properties = [ "invertible" ] }
CRX = { properties = [ "invertible", "differentiable" ] }
CRY = { properties = [ "invertible", "differentiable" ] }
CRZ = { properties = [ "invertible", "differentiable" ] }
CSWAP = { properties = [ "invertible", "differentiable" ] }
CY = { properties = [ "invertible", "differentiable" ] }
CZ = { properties = [ "invertible", "differentiable" ] }
DoubleExcitationMinus = { properties = [ "invertible", "controllable", "differentiable" ] }
DoubleExcitationPlus = { properties = [ "invertible", "controllable", "differentiable" ] }
DoubleExcitation = { properties = [ "invertible", "controllable", "differentiable" ] }
GlobalPhase = { properties = [ "invertible", "controllable", "differentiable" ] }
Hadamard = { properties = [ "invertible", "controllable", "differentiable" ] }
Identity = { properties = [ "invertible", "differentiable" ] }
IsingXX = { properties = [ "invertible", "controllable", "differentiable" ] }
IsingXY = { properties = [ "invertible", "controllable", "differentiable" ] }
IsingYY = { properties = [ "invertible", "controllable", "differentiable" ] }
IsingZZ = { properties = [ "invertible", "controllable", "differentiable" ] }
MultiRZ = { properties = [ "invertible", "controllable", "differentiable" ] }
PauliX = { properties = [ "invertible", "controllable", "differentiable" ] }
PauliY = { properties = [ "invertible", "controllable", "differentiable" ] }
PauliZ = { properties = [ "invertible", "controllable", "differentiable" ] }
PhaseShift = { properties = [ "invertible", "controllable", "differentiable" ] }
QubitUnitary = { properties = [ "invertible", "controllable", ] }
Rot = { properties = [ "invertible", "controllable", ] }
RX = { properties = [ "invertible", "controllable", "differentiable" ] }
RY = { properties = [ "invertible", "controllable", "differentiable" ] }
RZ = { properties = [ "invertible", "controllable", "differentiable" ] }
SingleExcitationMinus = { properties = [ "invertible", "controllable", "differentiable" ] }
SingleExcitationPlus = { properties = [ "invertible", "controllable", "differentiable" ] }
SingleExcitation = { properties = [ "invertible", "controllable", "differentiable" ] }
S = { properties = [ "invertible", "controllable", "differentiable" ] }
SWAP = { properties = [ "invertible", "controllable", "differentiable" ] }
Toffoli = { properties = [ "invertible", "differentiable" ] }
T = { properties = [ "invertible", "controllable", "differentiable" ] }
[operators.gates.decomp]
# Operators that should be decomposed according to the algorithm used
# by PennyLane's device API.
# Optional, since gates not listed in this list will typically be decomposed by
# default, but can be useful to express a deviation from this device's regular
# strategy in PennyLane.
MultiControlledX = {}
# Gates which should be translated to QubitUnitary
[operators.gates.matrix]
BlockEncode = {properties = [ "controllable" ]}
DiagonalQubitUnitary = {}
ECR = {}
ISWAP = {}
OrbitalRotation = {}
PSWAP = {}
QubitCarry = {}
QubitSum = {}
SISWAP = {}
SQISW = {}
SX = {}
# Observables supported by the device
[operators.observables]
Identity = { properties = [ "differentiable" ] }
PauliX = { properties = [ "differentiable" ] }
PauliY = { properties = [ "differentiable" ] }
PauliZ = { properties = [ "differentiable" ] }
Hadamard = { properties = [ "differentiable" ] }
Hermitian = { properties = [ "differentiable" ] }
Hamiltonian = { properties = [ "differentiable" ] }
SparseHamiltonian = { properties = [ "differentiable" ] }
Projector = { properties = [ "differentiable" ] }
Sum = { properties = [ "differentiable" ] }
SProd = { properties = [ "differentiable" ] }
Prod = { properties = [ "differentiable" ] }
Exp = { properties = [ "differentiable" ] }
LinearCombination = { properties = [ "differentiable" ] }
[measurement_processes]
Expval = {}
Var = {}
Probs = {}
State = { condition = [ "analytic" ] }
Sample = { condition = [ "finiteshots" ] }
Counts = { condition = [ "finiteshots" ] }
[compilation]
# If the device is compatible with qjit
qjit_compatible = true
# If the device requires run time generation of the quantum circuit.
runtime_code_generation = false
# If the device supports mid circuit measurements natively
mid_circuit_measurement = true
# This field is currently unchecked but it is reserved for the purpose of
# determining if the device supports dynamic qubit allocation/deallocation.
dynamic_qubit_management = false
# whether the device can support non-commuting measurements together
# in a single execution
non_commuting_observables = true
# Whether the device supports (arbitrary) initial state preparation.
initial_state_prep = true
[options]
mcmc = "_mcmc"
num_burnin = "_num_burnin"
kernel_name = "_kernel_name"