15 Ion-based quantum computers
So far we have looked at the principles of quantum mechanics and how to transfer these principles to our mathematical description of quantum computing. While there are many different approaches on how to actually build a quantum computer, which are researched at the moment, we will only look at one approach. This approach is based on trapped ions.
We look at single atoms with one electron “orbiting” the nucleus. The quantum state is encoded as the excitation (orbital) of the electron.
In the following we will only use charged atoms, called ions, because they are easier to capture.
15.1 Setup
The setup for our quantum computer looks as follows:
The ions are trapped between two electromagnetic fields.
The state of each ion can be \(\ket{0}\) or \(\ket{1}\). (We ignore higher excitation levels.) In addition, the whole chain of ions is vibrating as a whole. There are different amounts of vibration and depending on the amount, we have vibration states \(\ket{0}\), \(\ket{1}\) and \(\ket{2}\). (Again we ignore higher excitation states.) So our total quantum system is described by: \[ \underset{\text{vibration}}{\mathbb{C}^3} \otimes \underset{\text{ion}_1}{\mathbb{C}^2} \otimes \dots \otimes \underset{\text{ion}_n}{\mathbb{C}^2}. \]
E.g. the vibration is \(\ket{2}\), the first ion is \(\ket{+}\), and the second ion is \(\ket{0}\), then the state is \[ \frac{1}{\sqrt{2}} \ket{200} + \frac{1}{\sqrt{2}} \ket{210}. \]
15.2 Operations
In the previous chapter, we have learned that we need to be able to perform three different operations to build a quantum computer:
- We need to initialize our qubit with \(\ket{0}\). This is also called cooling.
- We need to be able to measure the qubit.
- We need to be able to apply a unitary on the qubit.
15.2.1 Cooling
We first look into cooling our system. For cooling, we use a useful fact: If \(E_i < E_j\) are different possible energy levels, an ion is in the energy level \(E_i\) and then hit by a photon that has the energy \(E_j - E_i\), the ion will go to energy level \(E_j\).
15.2.1.1 Doppler cooling
In our initial setup, we have an ion vibrating back and forth because it has too much energy. We shine a laser on it with slightly less energy than what is need for a transition. When the ion moves towards the photon, the photon has a higher frequency from the point of view of the ion (Doppler effect). This means that the photon has a higher energy and therefore is more likely to be absorbed.
So by shining a laser on the ion, the photons of the laser “push” the ion, when it “swings” towards the laser similar to a pendulum, where the pendulum gets a pushback with just enough energy so it stops. This reduces the vibrations energy down to a certain level.
15.2.1.1.1 Sideband cooling
Using the doppler cooling, we have reduced the vibration energy, but the electrons may still be excited. We now look at another technique called sideband cooling, which will set the energy of the electrons to a specific energy level \(E_0\).
The electron can have any energy level \(E_i\). If this energy level is pretty low, the possibility of a spontaneous emission of a photon, which would reduce the energy to a lower level is also quite low. So an electron with energy level \(E_1\) or \(E_2\) will probably not change to level \(E_0\). If the energy level is big enough (we will call this energy level \(E_{\text{big}}\)), the probability of a spontaneous emission of a photon, which would reduce the energy to a lower level is quite high. So when this spontaneous emission happens, the electron will reach an energy level of ,e.g., \(E_0\), \(E_1\) or \(E_2\).
Our goal is to get the energy level to \(E_0\). We know that the energy level of the electrons with \(E_{\text{big}}\) will come down eventually, so we shine a laser with the energy per photon of \(E_{\text{big}} - E_1\) and \(E_{\text{big}} - E_2\) but not with \(E_{\text{big}} - E_0\). This will “shoot” all the low energy electrons from \(E_1\) and \(E_2\) to a higher lever where they will either fall down to \(E_1\) or \(E_2\) where they will be energized again and the process is repeated, or they fall into \(E_0\) which is our desired energy level.
Using the sideband and the doppler cooling together, we can cool the vibration and electron excitation. This means that all the ions are in the state \(\ket{0}\) and the vibrations energy is also in the state \(\ket{0}\).
15.2.2 Measurements
Next we now look into performing a measurement on an ion-based quantum computer. So far we have defined that the quantum state \(\ket{0}\) is represented by the energy level \(E_0\) and the quantum state \(\ket{1}\) is represented by the energy level \(E_1\).
To perform a measurement, we also use an auxiliary energy level \(E_{\text{aux}} > E_0, E_1\).
We now shine a laser with the energy \(E_{\text{aux}} - E_0\) on the ion. If the state is \(\ket{0}\), the photon gets absorbed and the electron jumps to \(E_\text{aux}\) and from there spontaneously back to \(E_0\). If the state is \(\ket{0}\) the ion lights up. If the state is \(\ket{1}\), no photon get absorbed and light can be detected.
So all in all, we measure an ion by shining a photon onto it and then look whether it lights up.
15.2.3 Unitaries
Finally we look into applying unitaries, also called gates. We first show how to create single qubit gates and then look into creating multi qubit gates.
15.2.3.1 Single qubit gates
We have already discussed in Chapter 14 that single qubit gates can be created using a different Hamiltonian. In the ion-trap, if we don’t do anything, we have some Hamiltonian \(H \approx 0\) (For our purposes we can assume that nothing happens until we apply a laser). If there is a gap of energy \(\Delta E\) between \(E_0\) and \(E_1\) with \(\Delta E = E_1 - E_0\) and we shine a laser with an angular frequency of \(\omega + \varphi\) with \(\varphi\) close to \(\omega\) on it, then the Hamiltonian changes to \[ H_\varphi = C \cdot \begin{pmatrix} 0 & e^{-i\varphi} \\ e^{i\varphi } & 0\end{pmatrix}. \] \(C>0\) denotes a constant here. Applying the laser for time \(t\) will get us the unitary \(U_{\varphi,t}\) with \[ U_{\varphi,t} = e^{-i H_\varphi t} . \]
By choosing the right frequency, we can get all sorts of single qubit gates. \(U_{\pi, \frac{\pi}{2}}\) gives the Pauli-\(X\)-gate, the gate \(U_{\frac{\pi}{2}, \frac{\pi}{2}}\) followed by \(U_{\pi, \frac{\pi}{2}}\) gives the Pauli-\(Z\)-gate and the gates \(U_{\frac{\pi}{2}, \frac{\pi}{4}}\) and \(U_{\pi,\frac{\pi}{2}}\) gives the Hadamard-gate.
Especially the \(H\), \(X\), \(Y\), \(Z\), \(S= \begin{pmatrix} 1 & 0\\ 0 & i\end{pmatrix}\) and \(T=\begin{pmatrix} 1 & 0\\ 0 & e^{i \pi /4} \end{pmatrix}\) gates.
15.2.3.2 Multi qubit gates
After we have successfully constructed a single qubit gate, we look into creating multi qubit gates. We specifically look into two qubit gates, since we can create bigger gates from these.
We remember that the initial state of the \(k\)-th ion is described by some quantum system with basis \(\ket{0}\) and \(\ket{1}\) and the overall vibration is described by another quantum system \(\ket{0}\), \(\ket{1}\) and \(\ket{2}\). So looking at the \(k\)-th ion we have the basis: \[ \ket{00}, \ket{01}, \ket{10}, \ket{11}, \ket{20}, \ket{21}. \]
Consider the energy gap \(\Delta E = E_{20} - E_{11}\). The angular frequency corresponding to that gap is \(\omega = \frac{\Delta E}{\hbar}\). If we shine a laser with frequency \(\omega + \varphi\), where \(\omega\) i the frequency corresponding to \(\Delta E = E_{20} - E_{11}\), onto the ion then the following Hamiltonian is applied:
\[ H_\varphi = \begin{pmatrix} \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & e^{-i \varphi} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & e^{i \varphi} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \end{pmatrix}. \]
With \(\varphi = 0\) and \(t = \pi\), we get a unitary \[ U = e^{-i H_0 \pi} = \begin{pmatrix} 1 & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & 1 & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & 1 & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & -1 & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & -1 & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & 1 \end{pmatrix}. \]
If we only consider the first 4 entries of this unitary, it represents a \(\operatorname{C-Z}\) (controlled \(Z\)) gate. The other entries can be ignored, since we only “use” the first two energy levels.
So all in all we have created a controlled \(Z\) gate by applying a laser to the \(\ket{20},\ket{11}\) gap.
We now apply a laser to the \(\ket{01},\ket{10}\) energy gap. The resulting hamiltonian has the form \[ H = \begin{pmatrix} \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & e^{-i \varphi} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & e^{i \varphi} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \end{pmatrix}. \] with \(\varphi = \frac{3}{2} \pi\) and \(t = \frac{\pi}{2}\), we get the unitary \(\mathsf{SWAPLIKE}\) denoted by \[ \mathsf{SWAPLIKE} = \begin{pmatrix} 1 & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & 1 & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & -1 & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & 1 & \textcolor{gray}{0} & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & 1 & \textcolor{gray}{0} \\ \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & \textcolor{gray}{0} & 1 \end{pmatrix}. \] We call it \(\mathsf{SWAPLIKE}\) because it is almost the \(\mathsf{SWAP}\) gate, except for a minus sign. We can get \(\mathsf{SWAPLIKE}^\dagger\) with \(\varphi = \frac{3}{2} \pi\) and \(t= \frac{3}{2} \pi\)
So we have created the unitaries \(\operatorname{C-Z}\), \(\mathsf{SWAPLIKE}\), \(\mathsf{SWAPLIKE}^\dagger\). From the single qubit setup, we can also retrieve the \(H\) gate.
From these gates, we construct the following circuit, which is equal to \(\operatorname{CNOT}\):
So all in all, we can construct at least the unitaries \(\operatorname{CNOT}\), \(H\), \(X\), \(Y\) and \(Z\) using ion based quantum computers.