Organize the synthesis library of multi-controlled gates #12863
Labels
mod: circuit
Related to the core of the `QuantumCircuit` class or the circuit library
synthesis
type: feature request
New feature or request
Milestone
What should we add?
Currently the synthesis methods of the multi-controlled gates are part of their definition.
We would like to have a single
MCXGate()
class, and an HLS plugin that checks the number of clean or dirty ancillas, and chooses the optimal synthesis method (see #12729).The synthesis library will therefore include a new section Multi-controlled gates synthesis which will include the following functions:
synth_mcx_no_ancillas
- the current definition of theMCXGate
synth_mcx_one_clean_ancilla
- the current definition of theMCXRecursiveGate
synth_mcx_n_dirty_ancillas
- the current definition of theMCVChainGate
synth_mcx_graysynth_no_ancillas
- the current definition of theMCXGrayCode
(and the internalMCU1Gate
). Note that the number of CX gates grows exponentially in the number of qubits.synth_mcp_no_ancillas
- the current definition if theMCPhaseGate
synth_mcp_graysynth_no_ancillas
- the current definition of theMCXGrayCode
(and the internalMCU1Gate
). Only for parametrized gates. Note that the number of CX gates grows exponentially in the number of qubits.synth_mcmt_no_ancillas
- the current definition of theMCMTGate
synth_mcmt_n_clean_ancillas
- the current definition of theMCMTVChainGate
synth_mcrx_no_ancillas
- the current synthesis of the mcrx methodsynth_mcry_no_ancillas
- the current synthesis of the mcrx methodsynth_mcrz_no_ancillas
- the current synthesis of the mcrz methodThe following classes will be deprecated in Qiskit 2.0:
MCMTVChain
MCXGrayCode
MCXRecursive
MCXVChain
The following classes will remain in the circuit library (including synthesis methods with ancillas when applicable):
MCXGate
MCMTGate
MCPhaseGate
Question:
Should we add the gates MCRX, MCRY and MCRZ to the circuit library?
See the discussion in #12048
Tasks
MCMTGate
& plugins #13150PhaseGate
instead ofU1Gate
#12977The text was updated successfully, but these errors were encountered: