# CSWAP¶

pyquil.gates.CSWAP(control, target_1, target_2)[source]

Produces a controlled-SWAP gate. This gate conditionally swaps the state of two qubits:

CSWAP = [[1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 1]]

Parameters: control – The control qubit. target-1 – The first target qubit. target-2 – The second target qubit. The two target states are swapped if the control is in the |1> state.