---
title: MCXGrayCode (v2.1)
description: API reference for qiskit.circuit.library.MCXGrayCode in qiskit v2.1
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/2.1/qiskit.circuit.library.MCXGrayCode
---

# MCXGrayCode

*class* `qiskit.circuit.library.MCXGrayCode(num_ctrl_qubits=None, label=None, ctrl_state=None, *, _base_label=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.1/qiskit/circuit/library/standard_gates/x.py#L1048-L1123)

Bases: [`MCXGate`](/docs/api/qiskit/2.1/qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate")

Implement the multi-controlled X gate using the Gray code.

This delegates the implementation to the MCU1 gate, since $X = H \cdot U1(\pi) \cdot H$.

Create new MCX gate.

## Methods

**Parameters**

- **num\_ctrl\_qubits** (*Optional\[*[*int*](https://docs.python.org/3/library/functions.html#int)*]*) –
- **label** (*Optional\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str)*]*) –
- **ctrl\_state** (*Optional\[Union\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str)*,* [*int*](https://docs.python.org/3/library/functions.html#int)*]]*) –

### inverse

`inverse(annotated=False)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.1/qiskit/circuit/library/standard_gates/x.py#L1100-L1115)

Invert this gate. The MCX is its own inverse.

**Parameters**

**annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](/docs/api/qiskit/2.1/qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](/docs/api/qiskit/2.1/qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse.

**Returns**

inverse gate (self-inverse).

**Return type**

[MCXGrayCode](#qiskit.circuit.library.MCXGrayCode "qiskit.circuit.library.MCXGrayCode")
