@@ -68,9 +68,21 @@ namespace Pennylane::Gates::Constant {
68
68
std::pair<GateOperation, std::string_view>{GateOperation::CRY, " CRY" },
69
69
std::pair<GateOperation, std::string_view>{GateOperation::CRZ, " CRZ" },
70
70
std::pair<GateOperation, std::string_view>{GateOperation::CRot, " CRot" },
71
+ std::pair<GateOperation, std::string_view>{GateOperation::SingleExcitation,
72
+ " SingleExcitation" },
73
+ std::pair<GateOperation, std::string_view>{
74
+ GateOperation::SingleExcitationMinus, " SingleExcitationMinus" },
75
+ std::pair<GateOperation, std::string_view>{
76
+ GateOperation::SingleExcitationPlus, " SingleExcitationPlus" },
71
77
std::pair<GateOperation, std::string_view>{GateOperation::Toffoli,
72
78
" Toffoli" },
73
79
std::pair<GateOperation, std::string_view>{GateOperation::CSWAP, " CSWAP" },
80
+ std::pair<GateOperation, std::string_view>{GateOperation::DoubleExcitation,
81
+ " DoubleExcitation" },
82
+ std::pair<GateOperation, std::string_view>{
83
+ GateOperation::DoubleExcitationMinus, " DoubleExcitationMinus" },
84
+ std::pair<GateOperation, std::string_view>{
85
+ GateOperation::DoubleExcitationPlus, " DoubleExcitationPlus" },
74
86
std::pair<GateOperation, std::string_view>{GateOperation::MultiRZ,
75
87
" MultiRZ" },
76
88
};
@@ -104,8 +116,24 @@ namespace Pennylane::Gates::Constant {
104
116
std::pair<GeneratorOperation, std::string_view>{
105
117
GeneratorOperation::ControlledPhaseShift,
106
118
" GeneratorControlledPhaseShift" },
119
+ std::pair<GeneratorOperation, std::string_view>{
120
+ GeneratorOperation::SingleExcitation, " GeneratorSingleExcitation" },
121
+ std::pair<GeneratorOperation, std::string_view>{
122
+ GeneratorOperation::SingleExcitationMinus,
123
+ " GeneratorSingleExcitationMinus" },
124
+ std::pair<GeneratorOperation, std::string_view>{
125
+ GeneratorOperation::SingleExcitationPlus,
126
+ " GeneratorSingleExcitationPlus" },
107
127
std::pair<GeneratorOperation, std::string_view>{GeneratorOperation::MultiRZ,
108
128
" GeneratorMultiRZ" },
129
+ std::pair<GeneratorOperation, std::string_view>{
130
+ GeneratorOperation::DoubleExcitation, " GeneratorDoubleExcitation" },
131
+ std::pair<GeneratorOperation, std::string_view>{
132
+ GeneratorOperation::DoubleExcitationMinus,
133
+ " GeneratorDoubleExcitationMinus" },
134
+ std::pair<GeneratorOperation, std::string_view>{
135
+ GeneratorOperation::DoubleExcitationPlus,
136
+ " GeneratorDoubleExcitationPlus" },
109
137
};
110
138
/* *
111
139
* @brief Matrix names.
@@ -147,7 +175,13 @@ namespace Pennylane::Gates::Constant {
147
175
std::pair<GateOperation, size_t >{GateOperation::CRY, 2 },
148
176
std::pair<GateOperation, size_t >{GateOperation::CRZ, 2 },
149
177
std::pair<GateOperation, size_t >{GateOperation::CRot, 2 },
178
+ std::pair<GateOperation, size_t >{GateOperation::SingleExcitation, 2 },
179
+ std::pair<GateOperation, size_t >{GateOperation::SingleExcitationMinus, 2 },
180
+ std::pair<GateOperation, size_t >{GateOperation::SingleExcitationPlus, 2 },
150
181
std::pair<GateOperation, size_t >{GateOperation::Toffoli, 3 },
182
+ std::pair<GateOperation, size_t >{GateOperation::DoubleExcitation, 4 },
183
+ std::pair<GateOperation, size_t >{GateOperation::DoubleExcitationMinus, 4 },
184
+ std::pair<GateOperation, size_t >{GateOperation::DoubleExcitationPlus, 4 },
151
185
std::pair<GateOperation, size_t >{GateOperation::CSWAP, 3 },
152
186
};
153
187
@@ -166,8 +200,20 @@ namespace Pennylane::Gates::Constant {
166
200
std::pair<GeneratorOperation, std::size_t >{GeneratorOperation::CRX, 2 },
167
201
std::pair<GeneratorOperation, std::size_t >{GeneratorOperation::CRY, 2 },
168
202
std::pair<GeneratorOperation, std::size_t >{GeneratorOperation::CRZ, 2 },
203
+ std::pair<GeneratorOperation, std::size_t >{
204
+ GeneratorOperation::SingleExcitation, 2 },
205
+ std::pair<GeneratorOperation, std::size_t >{
206
+ GeneratorOperation::SingleExcitationMinus, 2 },
207
+ std::pair<GeneratorOperation, std::size_t >{
208
+ GeneratorOperation::SingleExcitationPlus, 2 },
169
209
std::pair<GeneratorOperation, std::size_t >{
170
210
GeneratorOperation::ControlledPhaseShift, 2 },
211
+ std::pair<GeneratorOperation, std::size_t >{
212
+ GeneratorOperation::DoubleExcitation, 4 },
213
+ std::pair<GeneratorOperation, std::size_t >{
214
+ GeneratorOperation::DoubleExcitationMinus, 4 },
215
+ std::pair<GeneratorOperation, std::size_t >{
216
+ GeneratorOperation::DoubleExcitationPlus, 4 },
171
217
};
172
218
173
219
/* *
@@ -197,8 +243,14 @@ namespace Pennylane::Gates::Constant {
197
243
std::pair<GateOperation, size_t >{GateOperation::CRX, 1 },
198
244
std::pair<GateOperation, size_t >{GateOperation::CRY, 1 },
199
245
std::pair<GateOperation, size_t >{GateOperation::CRZ, 1 },
246
+ std::pair<GateOperation, size_t >{GateOperation::SingleExcitation, 1 },
247
+ std::pair<GateOperation, size_t >{GateOperation::SingleExcitationMinus, 1 },
248
+ std::pair<GateOperation, size_t >{GateOperation::SingleExcitationPlus, 1 },
200
249
std::pair<GateOperation, size_t >{GateOperation::CRot, 3 },
201
250
std::pair<GateOperation, size_t >{GateOperation::Toffoli, 0 },
251
+ std::pair<GateOperation, size_t >{GateOperation::DoubleExcitation, 1 },
252
+ std::pair<GateOperation, size_t >{GateOperation::DoubleExcitationMinus, 1 },
253
+ std::pair<GateOperation, size_t >{GateOperation::DoubleExcitationPlus, 1 },
202
254
std::pair<GateOperation, size_t >{GateOperation::CSWAP, 0 },
203
255
std::pair<GateOperation, size_t >{GateOperation::MultiRZ, 1 },
204
256
};
0 commit comments