---
title: MCXSynthesis1CleanKG24 (v2.4)
description: API reference for qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1CleanKG24 in qiskit v2.4
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/2.4/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1CleanKG24
---

# MCXSynthesis1CleanKG24

*class* `qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1CleanKG24`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.4/qiskit/transpiler/passes/synthesis/hls_plugins.py#L1299-L1338)

Bases: [`HighLevelSynthesisPlugin`](/docs/api/qiskit/2.4/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")

Synthesis plugin for a multi-controlled X gate based on the paper by Khattar and Gidney (2024).

See \[1] for details.

The plugin name is :`mcx.1_clean_kg24` which can be used as the key on an [`HLSConfig`](/docs/api/qiskit/2.4/qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.HLSConfig") object to use this method with [`HighLevelSynthesis`](/docs/api/qiskit/2.4/qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.HighLevelSynthesis").

For a multi-controlled X gate with $k\ge 3$ control qubits this synthesis method requires $1$ additional clean ancillary qubit. The synthesized circuit consists of $k + 2$ qubits and at most $6 * k - 6$ CX gates.

The plugin supports the following plugin-specific options:

- num\_clean\_ancillas: The number of clean ancillary qubits available.

**References**

1\. Khattar and Gidney, Rise of conditionally clean ancillae for optimizing quantum circuits [arXiv:2407.17966](https://arxiv.org/abs/2407.17966)

## Methods

### run

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

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.4/qiskit/transpiler/passes/synthesis/hls_plugins.py#L1321-L1338)

Run synthesis for the given MCX gate.
