cirq.ISWAP

cirq.ISWAP = cirq.ISWAP

Rotates the |01⟩-vs-|10⟩ subspace of two qubits around its Bloch X-axis.

When exponent=1, swaps the two qubits and phases |01⟩ and |10⟩ by i. More
generally, this gate’s matrix is defined as follows:
ISWAP**t ≡ exp(+i π t (X⊗X + Y⊗Y) / 4)

which is given by the matrix:

[[1, 0, 0, 0],
 [0, c, i·s, 0],
 [0, i·s, c, 0],
 [0, 0, 0, 1]]

where:

c = cos(π·t/2)
s = sin(π·t/2)
cirq.ISWAP, the swap gate that applies -i to the |01> and |10> states,
is an instance of this gate at exponent=1.