QFASTDecompositionPass output fails QASM conversion (‘_qasm_name’ missing) #350
-
|
The Are there alternative gates I can use with this pass? it takes over 3 hours and likely never compiles. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
Yeah, that will not finish compiling because the circuit you are trying to build is not expressible over U2Gates alone. QFAST uses a parameterized location gate to "optimize" the placement and parameters of gates. The unitary you are synthesizing still needs to be expressible in the gateset you choose. That's why the PauliGate(2) is the default. It is a universal two-qubit gate, which, on its own, is a universal gate set and can express any unitary. Depending on your goal, there are a few ways to solve your problem. Making some assumptions that you want to synthesize the input circuit into some specific gateset, I recommend checking out the QFAST example. It first uses QFAST to synthesize the circuit into PauliGates, then uses QSearch to decompose those into some other gate set, by default CNOTs and U3s. You can take a look at the documentation of QSearch, specifically the layer generator, if you want to change the gate set. If you really want the PauliGate outputs, then I recommend iterating over them (via |
Beta Was this translation helpful? Give feedback.
Yeah, that will not finish compiling because the circuit you are trying to build is not expressible over U2Gates alone. QFAST uses a parameterized location gate to "optimize" the placement and parameters of gates. The unitary you are synthesizing still needs to be expressible in the gateset you choose. That's why the PauliGate(2) is the default. It is a universal two-qubit gate, which, on its own, is a universal gate set and can express any unitary. Depending on your goal, there are a few ways to solve your problem. Making some assumptions that you want to synthesize the input circuit into some specific gateset, I recommend checking out the QFAST example. It first uses QFAST to synthesize…