Skip to main content
IBM Quantum Platform
This page is from a dev version of Qiskit SDK. This is a new interface that does not exist in the stable version.

MCXSynthesisNDirtyM15

class qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyM15

GitHub

Bases: HighLevelSynthesisPlugin

Synthesis plugin for a multi-controlled X gate using dirty ancillas, following circuit (5) for three controls and Proposition 5 for four or more controls in Maslov (2016).

This plugin name is mcx.n_dirty_m15. For k=3k = 3 control qubits it requires one dirty ancilla and produces 16 T gates and 14 CX gates. For k≥4k \ge 4 it requires ⌈(k−2)/2⌉\lceil(k - 2) / 2\rceil dirty ancillas and produces 8k−88k - 8 T gates and 8k−128k - 12 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.

References

  1. D. Maslov, Advantages of using relative-phase Toffoli gates with an application to multiple control Toffoli optimization, Phys. Rev. A 93, 022311 (2016), arXiv:1508.03273

Methods

run

run(high_level_object, coupling_map=None, target=None, qubits=None, **options)

GitHub

Run synthesis for the given MCX gate.

Was this page helpful?
Report a bug, typo, or request content on GitHub.