::: AQT Quantum Gate Definitions
The available quantum gate set for AQT backends consists of the following gates:
- Rx-gate – rotation around the Bloch sphere’s x-axis
- Ry-gate – rotation around the Bloch sphere’s y-axis
- Rz-gate – rotation around the Bloch sphere’s z-axis
- R-gate – rotation around an arbitrary axis on the Bloch sphere’s equatorial plane
- MS-gate – entangling gate of Mølmer-Sørenson-type
Gate Definitions
All quantum gates are defined in terms of the Pauli matrices,
\[
\begin{eqnarray}
\sigma_x =
\begin{pmatrix}
0 & 1 \\ 1 & 0
\end{pmatrix} ,
&& \sigma_y =
\begin{pmatrix}
0 & -\mathrm{i} \\ \mathrm{i} & 0
\end{pmatrix} ,
&& \sigma_z =
\begin{pmatrix}
1 & 0 \\ 0 & -1
\end{pmatrix} .
\end{eqnarray}
\]
Rx-gate
The Rx-gate on qubit \(j\) with pulse area \(t\) in units of \(\pi\) is defined as
\[
\begin{equation}
U_{\mathrm{R_x}}^j(t) = \exp\left (-\mathrm{i} t \frac{\pi}{2} \sigma_x^j\right) =
\begin{pmatrix}
\cos(t\frac{\pi}{2}) && -\mathrm{i}\sin(t \frac{\pi}{2}) \\ -\mathrm{i}\sin(t \frac{\pi}{2}) && \cos(t \frac{\pi}{2})
\end{pmatrix}
\end{equation}
\]
Examples:
\[
\begin{equation}
U_{\mathrm{R_x}}^j(0.5) \ket{0_j} =\frac{1}{\sqrt{2}}\left (\ket{0_j} – \mathrm{i}\ket{1_j} \right )
\end{equation}
\]
\[
\begin{equation}
U_{\mathrm{R_x}}^j(0.5) \ket{1_j} =\frac{1}{\sqrt{2}}\left ( – \mathrm{i}\ket{0_j} + \ket{1_j} \right )
\end{equation}
\]
The JSON syntax to encode the Rx-gate is:
[["X", t, [j]]]
Ry-gate
The Ry-gate on qubit \(j\) with pulse area \(t\) in units of \(\pi\) is defined as
\[
\begin{equation}
U_{\mathrm{R_y}}^j(t) = \exp\left( -\mathrm{i} t \frac{\pi}{2} \sigma_y^j \right) =
\begin{pmatrix}
\cos(t \frac{\pi}{2}) && -\sin(t \frac{\pi}{2}) \\ \sin(t \frac{\pi}{2}) && \cos(t \frac{\pi}{2})
\end{pmatrix}
\end{equation}
\]
Examples:
\[
\begin{equation}
U_{\mathrm{R_y}}^j(0.5) \ket{0_j} =\frac{1}{\sqrt{2}}\left (\ket{0_j} + \ket{1_j} \right )
\end{equation}
\]
\[
\begin{equation}
U_{\mathrm{R_y}}^j(0.5) \ket{1_j} =\frac{1}{\sqrt{2}}\left ( -\ket{0_j} + \ket{1_j} \right )
\end{equation}
\]
The JSON syntax to encode the Ry-gate is
[["Y", t, [j]]]
Rz-gate
The Rz-gate on qubit \(j\) with pulse area \(t\) in units of \(\pi\) is defined as
\[
\begin{equation}
U_{\mathrm{R_z}}^j(t) = \exp\left( -\mathrm{i} t \frac{\pi}{2} \sigma_z^j \right) =
\begin{pmatrix}
\cos(t \frac{\pi}{2}) -\mathrm{i}\sin(t \frac{\pi}{2}) && 0 \\ 0 && \cos(t \frac{\pi}{2}) +\mathrm{i}\sin(t \frac{\pi}{2})
\end{pmatrix}
\end{equation}
\]
Examples:
\[
\begin{equation}
U_{\mathrm{R_z}}^j(1)\frac{1}{\sqrt{2}}\left( \ket{0_j} + \ket{1_j}\right) = \frac{1}{\sqrt{2}}\left (\ket{0_j} – \ket{1_j} \right )
\end{equation}
\]
\[
\begin{equation}
U_{\mathrm{R_z}}^j(0.5)\frac{1}{\sqrt{2}}\left (\ket{0_j} + \ket{1_j} \right) =\frac{1}{\sqrt{2}}\left (\ket{0_j} +\mathrm{i}\ket{1_j} \right )
\end{equation}
\]
The JSON syntax to encode the Rz-gate is
[["Z", t, [j]]]
R-gate
The R-gate on qubit \(j\) with pulse area \(t\) and mixing angle \(p\), both in units of \(\pi\), is defined as
\[
\begin{equation}
U_{\mathrm{R}}^j(t,p) = \exp\left( -\mathrm{i} t \frac{\pi}{2} \left[\sin(p \pi)\sigma_y^j + \cos(p \pi)\sigma_x^j \right] \right) =
\begin{pmatrix}
\cos(t \frac{\pi}{2}) && -\mathrm{i} e^{-\mathrm{i} p \pi}\sin(t \frac{\pi}{2})\\ -\mathrm{i} e^{\mathrm{i} p \pi}\sin(t \frac{\pi}{2}) && \cos(t \frac{\pi}{2})
\end{pmatrix}
\end{equation}
\]
Examples:
\[
\begin{equation}
U_{\mathrm{R}}^j(0.5, 0) \ket{0_j} = U _{\mathrm{R_x}} ^j(0.5) \ket{0_j} =\frac{1}{\sqrt{2}}\left (\ket{0_j} – \mathrm{i}\ket{1_j} \right )
\end{equation}
\]
\[
\begin{equation}
U_{\mathrm{R}}^j(0.5, 0.5) \ket{0_j} = U _{\mathrm{R_y}} ^j(0.5) \ket{0_j} =\frac{1}{\sqrt{2}}\left (\ket{0_j} + \ket{1_j} \right )
\end{equation}
\]
The JSON syntax to encode the R-gate is
[["R", t, p, [j]]]
MS-gate
The MS-gate on qubits \(j\) and \(k\) with pulse area \(t\) in units of \(\pi\) is defined as
\[
\begin{equation}
\begin{aligned}
U_{\mathrm{MS}}^{j,k} \left (t \right) & = e^{\mathrm{i}t\frac{\pi}{2}}\exp{\left(-\mathrm{i} t \pi {S_x}^2 \right) } = \\ & = \begin{pmatrix}
\cos(t \frac{\pi}{2}) && 0 && 0 && -\mathrm{i}\sin(t \frac{\pi}{2}) \\ 0 && \cos(t \frac{\pi}{2}) && -\mathrm{i}\sin(t \frac{\pi}{2}) && 0 \\ 0 && -\mathrm{i}\sin(t\frac{\pi}{2}) && \cos(t \frac{\pi}{2}) && 0 \\ -\mathrm{i}\sin(t \frac{\pi}{2}) && 0 && 0 && \cos(t \frac{\pi}{2})
\end{pmatrix}
\end{aligned}
\end{equation}
\]
with
\[
\begin{equation}
S_x =\frac{1}{2}\left (\sigma_x^j + \sigma_x^k \right)
\end{equation}
\]
A fully-entangling gate between qubit 0 and qubit 1 therefore is
\[
\begin{equation}
U_{\mathrm{MS}}^{0,1} \left (0.5 \right) = \frac{1}{\sqrt{2}}
\begin{pmatrix}
1 && 0 && 0 && -\mathrm{i} \\ 0 && 1 && -\mathrm{i} && 0 \\ 0 && -\mathrm{i} && 1 && 0 \\ -\mathrm{i} && 0 && 0 && 1
\end{pmatrix}
\end{equation}
\]
Examples:
\[
\begin{equation}
U_{\mathrm{MS}}^{j,k}(0.5) \ket{0_j0_k} =\frac{1}{\sqrt{2}}\left (\ket{0_j0_k} -\mathrm{i} \ket{1_j1_k} \right )
\end{equation}
\]
\[
\begin{equation}
U_{\mathrm{MS}}^{j,k}(0.5) \ket{1_j1_k} =\frac{1}{\sqrt{2}}\left ( -\mathrm{i}\ket{0_j0_k} + \ket{1_j1_k} \right )
\end{equation}
\]
The JSON syntax to encode the MS-gate is
[["MS", t, [j,k]]]
The example for the fully-entangling gate is therefore
[["MS", 0.5, [0,1]]]
As all AQT backends are still under heavy development, please understand that all of the above is subject to change without further notice. We will break your code!
AQT Tutorials
We provide tutorials on how to use the AQT backends either directly using the JSON definition or with SDKs at the following pages: