# XXMinusYYGate#

class qiskit.circuit.library.XXMinusYYGate(theta, beta=0, label='(XX-YY)')[source]#

Bases: Gate

XX-YY interaction gate.

A 2-qubit parameterized XX-YY interaction. Its action is to induce a coherent rotation by some angle between $$|00\rangle$$ and $$|11\rangle$$.

Circuit Symbol:

βββββββββββββββββ
q_0: β€0              β
β  (XX-YY)(ΞΈ,Ξ²) β
q_1: β€1              β
βββββββββββββββββ

Matrix Representation:

\begin{align}\begin{aligned}\newcommand{\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} \cos\left(\th\right) & 0 & 0 & -i\sin\left(\th\right)e^{-i\beta} \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ -i\sin\left(\th\right)e^{i\beta} & 0 & 0 & \cos\left(\th\right) \end{pmatrix}\end{split}\end{aligned}\end{align}

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_1. Instead, if we apply it on (q_1, q_0), the phase is added on q_0. 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              β
βββββββββββββββββ
\begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{XX-YY}(\theta, \beta) q_1, q_0 = RZ_0(\beta) \cdot \exp\left(-i \frac{\theta}{2} \frac{XX-YY}{2}\right) \cdot RZ_0(-\beta) = \begin{pmatrix} \cos\left(\th\right) & 0 & 0 & -i\sin\left(\th\right)e^{i\beta} \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ -i\sin\left(\th\right)e^{-i\beta} & 0 & 0 & \cos\left(\th\right) \end{pmatrix}\end{split}\end{aligned}\end{align}

Create new XX-YY gate.

Parameters:

Attributes

condition_bits#

Get Clbits in condition.

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

name#

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.

Methods

inverse()[source]#

Inverse gate.

power(exponent)[source]#

Raise gate to a power.