---
title: MCXGrayCode (latest version)
description: API reference for qiskit.circuit.library.MCXGrayCode in the latest version of qiskit
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/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.5/qiskit/circuit/library/standard_gates/x.py#L1036-L1111)

Bases: [`MCXGate`](/docs/api/qiskit/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** ([*int*](https://docs.python.org/3/library/functions.html#int) *| None*)
- **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str) *| None*)
- **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int)  *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str) *| None*)

### inverse

`inverse(annotated=False)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.5/qiskit/circuit/library/standard_gates/x.py#L1088-L1103)

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/qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](/docs/api/qiskit/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")
