About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
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.