Skip to main contentIBM Quantum Documentation
This page is from the dev version of Qiskit SDK. Go to the stable version.
Important

IBM Quantum Platform is moving and this version will be sunset on July 1. To get started on the new platform, read the migration guide.

MCXSynthesis1CleanB95

class qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1CleanB95

GitHub

Bases: HighLevelSynthesisPlugin

Synthesis plugin for a multi-controlled X gate based on the paper by Barenco et al. (1995).

See [1] for details.

This plugin name is :mcx.1_clean_b95 which can be used as the key on an HLSConfig object to use this method with HighLevelSynthesis.

For a multi-controlled X gate with k5k\ge 5 control qubits this synthesis method requires a single additional clean auxiliary qubit. The synthesized circuit consists of k+2k + 2 qubits and at most 16k2416 * k - 24 CX gates.

The plugin supports the following plugin-specific options:

  • num_clean_ancillas: The number of clean auxiliary qubits available.

References

  1. Barenco et. al., Elementary gates for quantum computation, Phys.Rev. A52 3457 (1995), arXiv:quant-ph/9503016

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 or request content on GitHub.