You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

# XXPlusYYGate

class XXPlusYYGate(theta, beta=0, label='{XX+YY}')

GitHub

XX+YY interaction gate.

A 2-qubit parameterized XX+YY interaction, also known as an XY gate. Its action is to induce a coherent rotation by some angle between $|01\rangle$ and $|10\rangle$.

Circuit Symbol:

     ┌───────────────┐
q_0: ┤0              ├
│  {XX+YY}(θ,β) │
q_1: ┤1              ├
└───────────────┘

Matrix Representation:

$\providecommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{XX+YY}(\theta, \beta)\ q_0, q_1 = RZ_0(-\beta) \cdot \exp\left(-i \frac{\theta}{2} \frac{XX+YY}{2}\right) \cdot RZ_0(\beta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos\left(\th\right) & -i\sin\left(\th\right)e^{-i\beta} & 0 \\ 0 & -i\sin\left(\th\right)e^{i\beta} & \cos\left(\th\right) & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}\end{split}$
Note

In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q_0, q_1) which results in adding the (optional) phase defined by $beta$ on q_0. Instead, if we apply it on (q_1, q_0), the phase is added on q_1. If $beta$ is set to its default value of $0$, the gate is equivalent in big and little endian.

     ┌───────────────┐
q_0: ┤1              ├
│  {XX+YY}(θ,β) │
q_1: ┤0              ├
└───────────────┘
$\providecommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{XX+YY}(\theta, \beta)\ q_0, q_1 = RZ_1(-\beta) \cdot \exp\left(-i \frac{\theta}{2} \frac{XX+YY}{2}\right) \cdot RZ_1(\beta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos\left(\th\right) & -i\sin\left(\th\right)e^{i\beta} & 0 \\ 0 & -i\sin\left(\th\right)e^{-i\beta} & \cos\left(\th\right) & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}\end{split}$

Create new XX+YY gate.

Parameters

## Methods Defined Here

### inverse

XXPlusYYGate.inverse()

Return inverse XX+YY gate (i.e. with the negative rotation angle and same phase angle).

### power

XXPlusYYGate.power(exponent)

Raise gate to a power.

## Attributes

### condition_bits

Get Clbits in condition.

Return type

List[Clbit]

### decompositions

Get the decompositions of the instruction from the SessionEquivalenceLibrary.

### definition

Return definition in terms of other basic gates.

### duration

Get the duration.

### label

Return instruction label

Return type

str

Return the name.

### num_clbits

Return the number of clbits.

### num_qubits

Return the number of qubits.

### params

return instruction params.

### unit

Get the time unit of duration.