XXPlusYYGate#
- class qiskit.circuit.library.XXPlusYYGate(theta, beta=0, label='(XX+YY)')[código fonte]#
Bases:
Gate
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:
\[ \begin{align}\begin{aligned}\newcommand{\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}\end{aligned}\end{align} \]Nota
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 ├ └───────────────┘
\[ \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} 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}\end{aligned}\end{align} \]Create new XX+YY gate.
- Parâmetros:
theta (ParameterExpression | float) – The rotation angle.
beta (ParameterExpression | float) – The phase angle.
label (str | None) – The label of the gate.
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()[código fonte]#
Return inverse XX+YY gate (i.e. with the negative rotation angle and same phase angle).
- power(exponent)[código fonte]#
Raise gate to a power.