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.