MCXSynthesisNDirtyI15
class qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15
Bases: HighLevelSynthesisPlugin
Synthesis plugin for a multi-controlled X gate based on the paper by Iten et al. (2016).
See [1] for details.
This plugin name is :mcx.n_dirty_i15
which can be used as the key on an HLSConfig
object to use this method with HighLevelSynthesis
.
For a multi-controlled X gate with control qubits this synthesis method requires additional dirty auxiliary qubits. The synthesized circuit consists of qubits and at most CX gates.
The plugin supports the following plugin-specific options:
- num_clean_ancillas: The number of clean auxiliary qubits available.
- num_dirty_ancillas: The number of dirty auxiliary qubits available.
- relative_phase: When set to
True
, the method applies the optimized multi-controlled X gate up to a relative phase, in a way that, by lemma 8 of [1], the relative phases of theaction part
cancel out with the phases of thereset part
. - action_only: when set to
True
, the method applies only theaction part
of lemma 8 of [1].
References
- Iten et. al., Quantum Circuits for Isometries, Phys. Rev. A 93, 032318 (2016), arXiv:1501.06911
Methods
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Run synthesis for the given MCX gate.
Was this page helpful?
Report a bug or request content on GitHub.