---
title: TwoQubitControlledUDecomposer (v2.0)
description: API reference for qiskit.synthesis.TwoQubitControlledUDecomposer in qiskit v2.0
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/2.0/qiskit.synthesis.TwoQubitControlledUDecomposer
---

# TwoQubitControlledUDecomposer

*class* `qiskit.synthesis.TwoQubitControlledUDecomposer(rxx_equivalent_gate, euler_basis='ZXZ')`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.0/qiskit/synthesis/two_qubit/two_qubit_decompose.py#L268-L317)

Bases: [`object`](https://docs.python.org/3/library/functions.html#object)

Decompose two-qubit unitary in terms of a desired $U \sim U_d(\alpha, 0, 0) \sim \text{Ctrl-U}$ gate that is locally equivalent to an [`RXXGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate").

Initialize the KAK decomposition.

**Parameters**

- **rxx\_equivalent\_gate** ([*Type*](/docs/api/qiskit/2.0/circuit_classical#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.Type")*\[*[*Gate*](/docs/api/qiskit/2.0/qiskit.circuit.Gate "qiskit.circuit.Gate")*]*) – Gate that is locally equivalent to an [`RXXGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate"): $U \sim U_d(\alpha, 0, 0) \sim \text{Ctrl-U}$ gate. Valid options are \[[`RZZGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.RZZGate "qiskit.circuit.library.RZZGate"), [`RXXGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate"), [`RYYGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.RYYGate "qiskit.circuit.library.RYYGate"), [`RZXGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.RZXGate "qiskit.circuit.library.RZXGate"), [`CPhaseGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.CPhaseGate "qiskit.circuit.library.CPhaseGate"), [`CRXGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.CRXGate "qiskit.circuit.library.CRXGate"), [`CRYGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.CRYGate "qiskit.circuit.library.CRYGate"), [`CRZGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.CRZGate "qiskit.circuit.library.CRZGate")].
- **euler\_basis** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) – Basis string to be provided to [`OneQubitEulerDecomposer`](/docs/api/qiskit/2.0/qiskit.synthesis.OneQubitEulerDecomposer "qiskit.synthesis.OneQubitEulerDecomposer") for 1Q synthesis. Valid options are \[`'ZXZ'`, `'ZYZ'`, `'XYX'`, `'XZX'`, `'U'`, `'U3'`, `'U321'`, `'U1X'`, `'PSX'`, `'ZSX'`, `'ZSXX'`, `'RR'`].

**Raises**

[**QiskitError**](/docs/api/qiskit/2.0/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – If the gate is not locally equivalent to an [`RXXGate`](/docs/api/qiskit/2.0/qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate").
