RZXGate¶
- class RZXGate(theta)[source]¶
A parameteric 2-qubit \(Z \otimes X\) interaction (rotation about ZX).
This gate is maximally entangling at \(\theta = \pi/2\).
The cross-resonance gate (CR) for superconducting qubits implements a ZX interaction (however other terms are also present in an experiment).
Circuit Symbol:
┌─────────┐ q_0: ┤0 ├ │ Rzx(θ) │ q_1: ┤1 ├ └─────────┘
Matrix Representation:
\[ \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{ZX}(\theta)\ q_0, q_1 = exp(-i \frac{\theta}{2} X{\otimes}Z) = \begin{pmatrix} \cos(\th) & 0 & -i\sin(\th) & 0 \\ 0 & \cos(\th) & 0 & i\sin(\th) \\ -i\sin(\th) & 0 & \cos(\th) & 0 \\ 0 & i\sin(\th) & 0 & \cos(\th) \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 the \(X \otimes Z\) tensor order. Instead, if we apply it on (q_1, q_0), the matrix will be \(Z \otimes X\):
┌─────────┐ q_0: ┤1 ├ │ Rzx(θ) │ q_1: ┤0 ├ └─────────┘
\[ \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{ZX}(\theta)\ q_1, q_0 = exp(-i \frac{\theta}{2} Z{\otimes}X) = \begin{pmatrix} \cos(\th) & -i\sin(\th) & 0 & 0 \\ -i\sin(\th) & \cos(\th) & 0 & 0 \\ 0 & 0 & \cos(\th) & i\sin(\th) \\ 0 & 0 & i\sin(\th) & \cos(\th) \end{pmatrix}\end{split}\end{aligned}\end{align} \]This is a direct sum of RX rotations, so this gate is equivalent to a uniformly controlled (multiplexed) RX gate:
\[\begin{split}R_{ZX}(\theta)\ q_1, q_0 = \begin{pmatrix} RX(\theta) & 0 \\ 0 & RX(-\theta) \end{pmatrix}\end{split}\]Examples:
\[R_{ZX}(\theta = 0) = I\]\[R_{ZX}(\theta = 2\pi) = -I\]\[R_{ZX}(\theta = \pi) = -i Z \otimes X\]\[\begin{split}RZX(\theta = \frac{\pi}{2}) = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 0 & -i & 0 \\ 0 & 1 & 0 & i \\ -i & 0 & 1 & 0 \\ 0 & i & 0 & 1 \end{pmatrix}\end{split}\]Create new RZX gate.
Attributes
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
Return definition in terms of other basic gates.
Return gate label
return instruction params.
Methods
RZXGate.add_decomposition
(decomposition)Add a decomposition of the instruction to the SessionEquivalenceLibrary.
Assemble a QasmQobjInstruction
RZXGate.broadcast_arguments
(qargs, cargs)Validation and handling of the arguments and its relationship.
RZXGate.c_if
(classical, val)Add classical condition on register classical and value val.
RZXGate.control
([num_ctrl_qubits, label, …])Return controlled version of gate.
RZXGate.copy
([name])Copy of the instruction.
Return inverse RZX gate (i.e.
Return True .IFF.
For a composite instruction, reverse the order of sub-gates.
RZXGate.power
(exponent)Creates a unitary gate as gate^exponent.
Return a default OpenQASM string for the instruction.
Creates an instruction with gate repeated n amount of times.
Return a Numpy.array for the gate unitary matrix.