{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# This cell is added by sphinx-gallery\n# It can be customized to whatever you like\n%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Trapped ion quantum computers {#trapped_ions}\n=============================\n\n::: {.meta}\n:property=\\\"og:description\\\": Learn all about trapped ion quantum\ncomputers, developed by companies such as IonQ and Honeywell.\n:property=\\\"og:image\\\":\n\n:::\n\n::: {.related}\ntutorial\\_pasqal Quantum computation with neutral atoms\ntutorial\\_sc\\_qubits Quantum computing with superconducting qubits\ntutorial\\_photonics Photonic quantum computers\n:::\n\n*Author: Alvaro Ballon --- Posted: 10 November 2021. Last updated: 26\nAugust 2022.*\n\nThe race for quantum advantage is on! A host of competitors are using\ndifferent technologies to build a useful quantum computer. Some common\napproaches are \\*\\*trapped ions,\n`superconducting qubits `{.interpreted-text\nrole=\"doc\"}, and\n`photonics `{.interpreted-text role=\"doc\"},\namong others. Discussing whether there is a superior framework leads to\na neverending debate. All of them pose complex technological challenges,\nwhich we can only solve through innovation, inventiveness, hard work,\nand a bit of luck. It is difficult to predict whether these problems are\nsolvable in a given timeframe. More often than not, our predictions have\nbeen wrong. Forecasting the winner of this race is not easy at all!\n\nHere, we introduce **trapped ion quantum computers**. It is the\npreferred technology that research groups use at several universities\naround the world, and at research companies like\n[Honeywell](https://www.honeywell.com/us/en/company/quantum) and\n[IonQ](https://ionq.com/). In particular, Honeywell has achieved a\n`quantum volume `{.interpreted-text role=\"doc\"}\nof 128, the largest in the market! As the name suggests, the qubits are\nions trapped by electric fields and manipulated with lasers. Trapped\nions have relatively long coherence times, which means that the qubits\nare long-lived. Moreover, they can easily interact with their\nneighbours. Scalability is a challenge, but, as we will see, there are\ninnovative ways to get around them.\n\nAfter reading this demo, you will learn how trapped ion quantum\ncomputers prepare, evolve, and measure quantum states. In particular,\nyou will gain knowledge on how single and multi-qubit gates are\nimplemented and how we can simulate them using PennyLane. You will also\nidentify the features that make trapped ion quantum computers an\nappropriate physical implementation, and where the technical challenges\nlie, in terms of **DiVincenzo\\'s criteria** (see box below). Finally,\nyou will become familiar with the concepts required to understand recent\narticles on the topic and read future papers to keep up-to-date with the\nmost recent developments.\n\n::: {.container .alert .alert-block .alert-info}\n**Di Vincenzo\\'s criteria**: In the year 2000, David DiVincenzo proposed\na wishlist for the experimental characteristics of a quantum computer.\nDiVincenzo\\'s criteria have since become the main guideline for\nphysicists and engineers building quantum computers:\n\n1\\. **Well-characterized and scalable qubits**. Many of the quantum\nsystems that we find in nature are not qubits, so we must find a way to\nmake them behave as such. Moreover, we need to put many of these systems\ntogether.\n\n2\\. **Qubit initialization**. We must be able to prepare the same state\nrepeatedly within an acceptable margin of error.\n\n3\\. **Long coherence times**. Qubits will lose their quantum properties\nafter interacting with their environment for a while. We would like them\nto last long enough so that we can perform quantum operations.\n\n4\\. **Universal set of gates**. We need to perform arbitrary operations\non the qubits. To do this, we require both single-qubit gates and\ntwo-qubit gates.\n\n5\\. **Measurement of individual qubits**. To read the result of a\nquantum algorithm, we must accurately measure the final state of a\npre-chosen set of qubits.\n:::\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How to trap an ion\n==================\n\nWhy do we use ions, i.e., charged atoms, as qubits? The main reason is\nthat they can be contained (that is, trapped) in one precise location\nusing electric fields. It is possible to contain neutral atoms using\noptical tweezers, but our focus is on ions, which can be contained using\nan electromagnetic trap. Ion traps are rather old technology: their\nhistory goes back to 1953 when Wolfgang Paul proposed his now-called\nPaul trap. For this invention, Paul and Dehmelt were awarded the 1989\nPhysics Nobel Prize, since it is used to make highly precise atomic\nclocks. Current trapped ion quantum computers extensively use the Paul\ntrap, but Paul won the prize six years before such an application was\nproposed!\n\nIt is not easy to create electric fields that contain the ion in a tiny\nregion of space. The ideal configuration of an electric field ---also\nknown as a *potential*--- would look like this:\n\n![..](../demonstrations/trapped_ions/confining.png){.align-center\nwidth=\"70.0%\"}\n\nConfining potential\n\nThe potential should be interpreted as a wall that the ion must climb\nover to escape from a physical region. Positively charged ions will\nalways roll down from regions of high potential to low potential. So if\nwe can achieve an electric potential like the above, the ion should\nremain trapped in the pit. However, using the laws of electrostatics, we\ncan show that it is impossible to create a confining potential with only\nstatic electric fields. Instead, they produce saddle-shaped potentials:\n\n![..](../demonstrations/trapped_ions/saddle_potential.png){.align-center\nwidth=\"70.0%\"}\n\nSaddle-shaped potential allowed by electrostatics\n\nThis potential is problematic since the ion is contained in one\ndirection but could escape in the perpendicular direction. Therefore,\nthe solution is to use time-dependent electric fields to allow the\npotential wall to move. What would happen, for example, if we rotated\nthe potential plotted above? We can imagine that if the saddle potential\nrotates at a specific frequency, the wall will catch the ion as it tries\nto escape in the downhill direction. Explicitly, the electric potential\nthat we generate is given by\n\n$$\\Phi = \\frac{1}{2}\\left(u_x x^2 + u_y y^2 + u_z z^2\\right) + \\frac{1}{2}\\left(v_x x^2 + v_y y^2 + v_z z^2\\right)\\cos(\\omega t+\\phi).$$\n\nThe parameters $u_i$, $v_i$, and $\\phi$ need to be adjusted to the\ncharge and mass of the ion and to the potential\\'s angular frequency\n$\\omega$. We have to tune these parameters very carefully, since the ion\ncould escape if we do not apply the right forces at the right time. It\ntakes a lot of care, but this technique is so old that it is almost\nperfect by now. Here is what the rotating potential would look like:\n\n![..](../demonstrations/trapped_ions/Rotating.gif){.align-center\nwidth=\"70.0%\"}\n\nA rotating potential with the correct frequency and magnitude can\ncontain an ion\n\nWe want to make a quantum computer, so having one qubit cannot be\nenough. We would like as many as we can possibly afford! The good news\nis that we have the technology to trap many ions and put them close\ntogether in a one-dimensional array, called an ion chain. Why do we need\nthis particular configuration? To manipulate the qubits, we need the\nsystem of ions to absorb photons. However, shooting a photon at an ion\ncan cause relative motion between ions. The proximity between qubits\nwill cause unwanted interactions, which could modify their state.\nHappily, there is a solution to this issue: we place the ions in a\nsufficiently spaced one-dimensional array and **cool them all down to\nthe point where their motion in space is quantized**. In this scenario,\nphotons that would bring the ion to their excited states will not cause\nany relative motion. Instead, all ions will recoil together. This\nphenomenon is called the **Mossbauer effect**. We will see later that by\ncarefully tuning the laser frequency, we can control both the\nexcitations of the ions and the motion of the ion chain. This\nuser-controlled motion is precisely what we need to perform quantum\noperations with two qubits.\n\nTrapped ions as robust qubits\n=============================\n\nNow that we know how to trap ions, we would like to use them as qubits.\nWould any ion out there work well as a qubit? In fact, only a select few\nisotopes will do the trick. The reason is that our qubit basis states\nare the ground and excited states of an electron in the atom, and we\nneed to be able to transition between them using laser light. Therefore,\nwe would like the atom to have an excited state that is long-lived, and\nalso one that we may manipulate using frequencies that lasers can\nproduce. Thanks to semiconductor laser technology, we have a wide range\nof frequencies that we can use in the visible and infrared ranges, so\ngetting the desired frequency is not too much of a problem. The best\nions for our purposes are single-charged ions in Group II of the\nperiodic table, such as Calcium-40, Beryllium-9, and Barium-138,\ncommonly used in university laboratories. The rare earth Ytterbium-171\nis used by IonQ and Honeywell. These elements have two *valence\nelectrons*, but their ionized version only has one. The valence electron\nis not so tightly bound to the atom, so it is the one whose state we use\nto represent a qubit.\n\n::: {.container .alert .alert-block .alert-info}\n**Atomic Physics Primer:** Atoms consist of a positively charged nucleus\nand negative electrons around them. The electrons inhabit energy levels,\nwhich have a population limit. As the levels fill up, the electrons\noccupy higher and higher energy levels. But as long as there is space,\nelectrons can change energy levels, with a preference for the lower\nones. This can happen spontaneously or due to external influences.\n\nWhen the lower energy levels are not occupied, the higher energy levels\nare unstable: electrons will prefer to minimize their energy and jump to\na lower level on their own. What happens when an electron jumps from a\nhigh energy level to a lower one? Conservation of energy tells us that\nthe energy must go somewhere. Indeed, a photon with an energy equal to\nthe energy lost by the electron is emitted. This energy is proportional\nto the frequency (colour) of the photon.\n\nConversely, we can use laser light to induce the opposite process. When\nan electron is in a stable or ground state, we can use lasers with their\nfrequency set roughly to the difference in energy levels, or energy gap,\nbetween the ground state and an excited state . If a photon hits an\nelectron, it will go to that higher energy state. When the light\nstimulus is removed, the excited electrons will return to stable states.\nThe time it takes them to do so depends on the particular excited state\nthey are in since, sometimes, the laws of physics will make it harder\nfor electrons to jump back on their own.\n\n![..](../demonstrations/trapped_ions/atomic.png){.align-center\nwidth=\"60.0%\"}\n\nPhotons with an energy equal to the atomic gap drive excitations\n:::\n\nHaving chosen the ions that will act as our qubits, we need to prepare\nthem in a stable fiducial state, known as the **ground state** and\ndenoted by $\\left\\lvert g \\right\\rangle$. The preparation is done by a\nprocedure called **optical pumping**. To understand how it works, let us\ntake Calcium-40 as an example. In this case, the electron has two stable\nstates with the same energy, but different direction of rotation. We\ndenote these by $\\left\\lvert g_1 \\right\\rangle$ and\n$\\left\\lvert g_2\\right\\rangle$. We do not know which stable state the\nelectron is in, and we would like to ensure that the electron is in the\n$\\left\\lvert g_1\\right\\rangle$ state. This will be our chosen fiducial\nstate, so $\\left\\lvert g\\right\\rangle = \\left\\lvert g_1\\right\\rangle$.\nHowever, quantum mechanics forbids a direct transition between these two\nstable states. To get from one state to the other, the electron would\nhave to change its rotation without giving out any energy, which is\nimpossible! But we can take a detour: we use circularly polarized laser\nlight of a particular wavelength (397nm for Calcium-40) to excite\n$\\left\\lvert g_2\\right\\rangle$ into a short-lived excited state\n$\\left\\lvert \\textrm{aux}\\right\\rangle$. This light does not stimulate\nany other transitions in the ion so that an electron in the ground state\n$\\left\\lvert g_1\\right\\rangle$ will remain there. Quantum mechanics\ntells us that, in a matter of nanoseconds, the excited electron decays\nto our desired ground state $\\left\\lvert g \\right\\rangle$ with\nprobability 1/3, but returns to $\\left\\lvert g_2 \\right\\rangle$\notherwise. For this reason, we need to repeat the procedure many times,\ngradually \\\"pumping\\\" the electrons in all (or the vast majority of) our\nions to the ground state.\n\n![..](../demonstrations/trapped_ions/pumping.png){.align-center\nwidth=\"60.0%\"}\n\nOptical pumping to prepare the ground state\n\nWhat about the other basis qubit state? It will be a long-lived excited\nstate, denoted by $\\left\\lvert e \\right\\rangle$. For the Calcium-40 ion,\nthis state is a *metastable state:* a state that has a sufficiently long\nlifetime since quantum mechanics restricts, but does not entirely\nforbid, transitions to a lower energy level. For example, the metastable\nstate of Calcium-40 has a half-life of about 1 second. While apparently\nshort, most quantum operations can be performed on a timescale of micro\nto milliseconds. The energy difference between the ground and excited\nstate corresponds to a laser frequency of 729nm, achievable with an\ninfrared laser. Therefore, we call this an **optical qubit**. An\nalternative is to use an ion, such as Calcium-43, that has a *hyperfine\nstructure*, which means that the ground and excited states are separated\nby a very small energy gap. In this case, the higher energy state has a\nvirtually infinite lifespan, since it is only slightly different from\nthe stable ground state. We can use a procedure similar to optical\npumping to transition between these two states, so while coherence times\nare longer for these **hyperfine qubits**, gate implementation is more\ncomplicated and needs a lot of precision.\n\n![..](../demonstrations/trapped_ions/hyperfine.png){.align-center\nwidth=\"60.0%\"}\n\nOptical vs. hyperfine qubits\n\nWe have now learned how trapped ions make for very stable qubits that\nallow us to implement many quantum operations without decohering too\nsoon. We have also learned how to prepare these qubits in a stable\nground state. Does this mean that we have already satisfied DiVincezo\\'s\nfirst, second, and third criteria? We have definitely fulfilled the\nsecond one since optical pumping is a very robust method. However, we\nhave mainly been focusing on a single qubit and, since we have not\ndiscussed scalability yet, we have not fully satisfied the first\ncriterion. Introducing more ions will pose additional challenges to\nmeeting the third criterion. For now, let us focus on how to satisfy\ncriteria 4 and 5, and we will come back to these issues once we discuss\nwhat happens when we deal with multiple ions.\n\nNon-demolition measurements\n===========================\n\nLet us now discuss the last step in a quantum computation: measuring the\nqubits. Since it takes quite a bit of work to trap an ion, it would be\nideal if we could measure the state of our qubits without it escaping\nfrom the trap. We definitely do not want to trap ions again after\nperforming one measurement. Moreover, we want measurements that can be\nrepeated on the same ions and yield consistent results. These are called\n**non-demolition measurements**, and they are easy enough to carry out\nfor trapped ions.\n\nThe measurement method uses a similar principle to that of optical\npumping. Once again, and continuing with the Calcium-40 example, we make\nuse of the auxiliary state. This time, we shine a laser light wavelength\nof 397 nm that drives the transition from $\\left\\lvert g \\right\\rangle$\nto the auxiliary state $\\left\\lvert \\textrm{aux} \\right\\rangle$. The\ntransition is short-lived; it will quickly go back to\n$\\left\\lvert g \\right\\rangle$, emitting a photon of the same wavelength.\nThe state $\\left\\lvert e \\right\\rangle$ is not affected. Therefore, we\nwill measure $\\left\\lvert g \\right\\rangle$ if we see the ion glowing: it\ncontinuously emits light at a wavelength of 397 nm. Conversely, if the\nion is dark, we will have measured the result corresponding to state\n$\\left\\lvert e\\right\\rangle$. To see the photons emitted by the ions, we\nneed to collect the photons using a lens and a photomultiplier, a device\nthat transforms weak light signals into electric currents.\n\n![..](../demonstrations/trapped_ions/measurement.png){.align-center\nwidth=\"60.0%\"}\n\nNon-demolition measurement of ion states\n\nHave we fully satisfied the fifth criterion? Via a careful experimental\narrangement, we can detect the emission of photons of each atom\nindividually, so we are on the right track. But in reality, there is\nalso some uncertainty in the measurement. In many quantum computing\nalgorithms, we only measure the state of a pre-chosen set of ions called\nthe **ancilla**. If these ions emit light, they can accidentally excite\nother ions on the chain, causing decoherence. A way to avoid this source\nof uncertainty is to use two species of ions: one for the ancilla and\none for the qubits that are not measured, or **logical qubits**. In this\ncase, the ions emitted by the ancilla ions would not excite the logical\nqubits. However, using two different species of ions causes extra\ntrouble when we want to implement arbitrary qubit operations.\n\nRabi oscillations to manipulate single qubits\n=============================================\n\nHow do we make single-qubit quantum gates? Namely, is there a way to put\nthe electron in a superposition of the ground and excited states? Since\nwe aim to change the energy state of an electron, we have no choice but\nto continue using lasers to shoot photons at it, tuning the frequency to\nthe energy gap. To understand how we would achieve a superposition by\ninteracting with the ion using light, let us look at a mathematical\noperator called the *Hamiltonian*. In physics, the Hamiltonian describes\nthe motion and external forces around an object we want to study. One of\nthe main difficulties encountered in quantum mechanics is determining\nthe correct Hamiltonian for a system. In our case, this work has already\nbeen done by quantum optics experts. After many simplifications\ninvolving some approximations, we find that the Hamiltonian that\ndescribes an electron in an ion resonant to the laser light is given by\nthe operator\n\n$$\\hat{H}=\\frac{\\hbar\\Omega}{2}\\left(S_+ e^{i\\varphi}+S_{-}e^{-i\\varphi}\\right).$$\n\nHere, $\\Omega$ is the **Rabi frequency**. It is defined by\n$\\Omega=\\mu_m B/2\\hbar$, where $B$ is the applied magnetic field due to\nthe laser, and $\\mu_m$ is the magnetic moment of the ion. The phase\n$\\varphi$ measures the initial displacement of the light wave at the\natom\\'s position. The matrices $S_+$ and $S_-$ are\n\n$$\\begin{aligned}\nS_+=\\left( \\begin{array}{cc} 0 & 0 \\\\ 1 & 0\\end{array}\\right), \\qquad S_-=\\left( \\begin{array}{cc} 0 & 1 \\\\ 0 & 0\\end{array}\\right).\n\\end{aligned}$$\n\nHamiltonians in physics are helpful because they tell us how systems\nchange with time in the presence of external interactions. In quantum\nmechanics, Hamiltonians are represented by matrices, and the evolution\nof a system is calculated using Schr\u00f6dinger\\'s equation. When the\nHamiltonian does not depend on time, a qubit starting in state\n$\\left\\lvert g \\right\\rangle$ will evolve into the following\ntime-dependent state:\n\n$$\\left\\lvert \\psi(t)\\right\\rangle = \\exp(-i \\hat{H} t/\\hbar)\\left\\lvert g \\right\\rangle,$$\n\nwhere $\\exp$ denotes the matrix exponential and $t$ is the duration of\nthe interaction, which is controlled using *pulses*, i.e., short bursts\nof light. We do not need to elaborate on how matrix exponentials are\ncalculated, since we can implement them using the scipy library in\nPython. Let us see how our basis states $\\left\\lvert g \\right\\rangle$\nand $\\left\\lvert e \\right\\rangle$ ($\\left\\lvert 0 \\right\\rangle$ and\n$\\left\\lvert 1 \\right\\rangle$ in PennyLane) evolve under the action of\nthis Hamiltonian. First, we write a function that returns the matrix\nexponential $\\exp(-i \\hat{H} t/\\hbar)$ as a function of $\\varphi$ and\nthe duration $t$ of the pulse, with $\\Omega$ set to 100 kHz.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import pennylane as qml\nfrom pennylane import numpy as np\nfrom scipy.linalg import expm\n\nOmega = 100\nS_plus = np.array([[0, 0], [1, 0]])\nS_minus = np.array([[0, 1], [0, 0]])\n\n\ndef evolution(phi, t):\n Ham = Omega / 2 * (S_plus * np.exp(1j * phi) + S_minus * np.exp(-1j * phi))\n return expm(-1j * Ham * t)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With this operator implemented, we can determine the sequences of pulses\nthat produce common gates. For example, there is a combination of pulses\nwith different phases and durations that yield the Hadamard gate:\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"dev = qml.device(\"default.qubit\", wires=1)\n\n\n@qml.qnode(dev)\ndef ion_hadamard(state):\n\n if state == 1:\n qml.PauliX(wires=0)\n \n \"\"\"We use a series of seemingly arbitrary pulses that will give the Hadamard gate.\n Why this is the case will become clear later\"\"\"\n\n qml.QubitUnitary(evolution(0, -np.pi / 2 / Omega), wires=0)\n qml.QubitUnitary(evolution(np.pi / 2, np.pi / 2 / Omega), wires=0)\n qml.QubitUnitary(evolution(0, np.pi / 2 / Omega), wires=0)\n qml.QubitUnitary(evolution(np.pi / 2, np.pi / 2 / Omega), wires=0)\n qml.QubitUnitary(evolution(0, np.pi / 2 / Omega), wires=0)\n\n return qml.state()\n\n#For comparison, we use the Hadamard built into PennyLane\n@qml.qnode(dev)\ndef hadamard(state):\n\n if state == 1:\n qml.PauliX(wires=0)\n\n qml.Hadamard(wires=0)\n\n return qml.state()\n\n#We confirm that the values given by both functions are the same up to numerical error\nprint(np.isclose(1j * ion_hadamard(0), hadamard(0)))\nprint(np.isclose(1j * ion_hadamard(1), hadamard(1)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that the desired gate was obtained up to a global phase factor. A\nsimilar exercise can be done for the $T$ gate:\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"@qml.qnode(dev)\ndef ion_Tgate(state):\n\n if state == 1:\n qml.PauliX(wires=0)\n\n qml.QubitUnitary(evolution(0, -np.pi / 2 / Omega), wires=0)\n qml.QubitUnitary(evolution(np.pi / 2, np.pi / 4 / Omega), wires=0)\n qml.QubitUnitary(evolution(0, np.pi / 2 / Omega), wires=0)\n\n return qml.state()\n\n\n@qml.qnode(dev)\ndef tgate(state):\n\n if state == 1:\n qml.PauliX(wires=0)\n\n qml.T(wires=0)\n\n return qml.state()\n\n\nprint(np.isclose(np.exp(1j * np.pi / 8) * ion_Tgate(0), tgate(0)))\nprint(np.isclose(np.exp(1j * np.pi / 8) * ion_Tgate(1), tgate(1)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This PennyLane code shows that we can obtain a Hadamard gate and a $T$\ngate using consecutive pulses with different times and phases. Namely,\nto get a Hadamard gate, we need five pulses, all of them with duration\n$t=\\frac{\\pi}{2\\Omega}$, where the second and the fourth pulse have a\nphase of $\\pi/2$. The Hadamard and $T$ gates together can be used to\nimplement any operation on a single qubit, to an arbitrary degree of\napproximation. We see that timing and dephasing our laser pulses\nprovides a versatile way to manipulate single qubits.\n\nTo get a better idea about how the duration of the pulses affects the\nstate that we generate, let us plot the probability of obtaining the\nstate $\\left\\lvert e \\right\\rangle$ against the duration of the pulse\nfor a fixed phase of $\\varphi = 0$.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n\n\n@qml.qnode(dev)\ndef evolution_prob(t):\n\n qml.QubitUnitary(evolution(0, t / Omega), wires=0)\n\n return qml.probs(wires=0)\n\n\nt = np.linspace(0, 4 * np.pi, 101)\ns = [evolution_prob(i)[1].numpy() for i in t]\n\nfig1, ax1 = plt.subplots(figsize=(9, 6))\n\nax1.plot(t, s, color=\"#9D2EC5\")\n\nax1.set(\n xlabel=\"time (in units of 1/\u03a9)\", \n ylabel=\"Probability\", \n title=\"Probability of measuring the excited state\"\n)\nax1.grid()\n\nplt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that the probability of obtaining the excited state changes with\nthe duration of the pulse, reaching a maximum at a time $t=\\pi/\\Omega$,\nand then vanishing at $t=2\\pi/\\Omega$. This pattern keeps repeating\nitself and is known as a **Rabi oscillation**.\n\nIn fact, we can solve the Schr\u00f6dinger equation explicitly (feel free to\ndo this if you want to practice solving differential equations!). If we\ndo this, we can deduce that the ground state\n$\\left\\lvert g \\right\\rangle$ evolves to\n\n$$\\left\\lvert \\psi_0(t) \\right\\rangle = \\cos\\left(\\frac{\\Omega t}{2}\\right)\\left\\lvert g \\right\\rangle -i\\sin\\left(\\frac{\\Omega t}{2}\\right) e^{i\\varphi}\\left\\lvert e \\right\\rangle .$$\n\nWe observe that we can obtain an arbitrary superposition of qubits by\nadjusting the duration of the interaction and the phase. This means that\nwe can produce any single-qubit gate! To be more precise, let us see\nwhat would happen if the initial state was\n$\\left\\lvert e \\right\\rangle$. As before, we can show that the evolution\nis given by\n\n$$\\left\\lvert \\psi_1(t) \\right\\rangle = -i\\sin\\left(\\frac{\\Omega t}{2}\\right)e^{-i\\varphi}\\left\\lvert g \\right\\rangle +\\cos\\left(\\frac{\\Omega t}{2}\\right)\\left\\lvert e \\right\\rangle .$$\n\nTherefore, the unitary induced by a laser pulse of amplitude $B$,\nduration $t$, and phase $\\varphi$ on an ion with magnetic moment $\\mu_m$\nis\n\n$$\\begin{aligned}\nU(\\Omega,\\varphi,t)=\\left( \\begin{array}{cc} \\cos\\left(\\frac{\\Omega t}{2}\\right) & -i\\sin\\left(\\frac{\\Omega t}{2}\\right)e^{-i\\varphi} \\\\ -i\\sin\\left(\\frac{\\Omega t}{2}\\right)e^{i\\varphi} & \\cos\\left(\\frac{\\Omega t}{2}\\right)\\end{array}\\right),\n\\end{aligned}$$\n\nwhich has the form of a general rotation. Since we can generate\narbitrary X and Y rotations using $\\varphi=0$ and $\\varphi=\\pi/2$, Rabi\noscillations allow us to build a universal set of single-qubit gates.\n\nAchieving the required superpositions of quantum states requires precise\ncontrol of the timing and phase of the pulse. This feat is not easy, but\nit is not the most challenging step towards creating a trapped-ion\nquantum computer. For typical Rabi frequencies of $\\Omega=100$ kHz, the\nsingle-qubit gates can be implemented in a few milliseconds with high\naccuracy. Thus, we can implement quantum algorithms involving many gates\neven for the seemingly short lifespans of optical qubits. As a\nconsequence, we have now satisfied the single-qubit gate requirement of\ncriterion 4. The rest of this criterion is not theoretically difficult\nto implement. However, it can be experimentally challenging.\n\nThe ion chain as a harmonic oscillator\n======================================\n\nTo fully address the fourth criterion, we need to create gates on two\nqubits. How can we achieve this? It turns out that placing ions in a\nchain is ideal for multiple-qubit gate implementations. When cooled\ndown, the entire ion chain acts as a **quantum harmonic oscillator**,\nmeaning that it can vibrate with energies that are multiples of\nPlanck\\'s constant $\\hbar$ times a fundamental frequency $\\omega$:\n\n$$E=n\\hbar\\omega.$$\n\nWhen the chain is oscillating with energy $E=n\\hbar\\omega$, we denote\nthe harmonic oscillator state, also known as **phonon state** or\n**motional state**, by $\\left\\lvert n\\right\\rangle$. The harmonic\noscillator can absorb and emit energy in multiples of $\\hbar\\omega$, in\npackets of energy known as **phonons**. When we shine laser light on a\nparticular atom of the ion chain, the entire chain could absorb the\nenergy of the photons and start oscillating. However, we have seen that\nthis does not happen when the atoms are cooled down and the light\nfrequency matches the energy gap. Instead, the atom changes energy\nlevel, and we can manipulate a single qubit. But what happens when the\nfrequency is away from this value? In most cases, it does nothing, but\nit will excite both the atom and the harmonic oscillator in some special\ncircumstances. We can use the harmonic oscillator states as auxiliary\nstates that will allow us to build two-qubit gates.\n\nLet us introduce some notation that will help us understand exactly how\nthe two-qubit gates are implemented. When an ion is in the ground state\n$\\left\\lvert g \\right\\rangle$ and the chain is in the state\n$\\left\\lvert n \\right\\rangle$, we will write the state as\n$\\left\\lvert g \\right\\rangle \\left\\lvert n \\right\\rangle$, and similarly\nwhen the ion is in the excited state $\\left\\lvert e \\right\\rangle$. If\nwe are studying two ions at the same time, then we will write the states\nin the form\n$\\left\\lvert g \\right\\rangle\\left\\lvert g \\right\\rangle\\left\\lvert n \\right\\rangle$,\nwhere the last $\\left\\lvert n \\right\\rangle$ always represents the state\nof the oscillating ion chain. Suppose that the ion\\'s energy gap value\nis $\\Delta$, and we shine light of frequency $\\omega_b=\\omega+\\Delta$ on\na particular ion. If it is in the ground state, it will absorb an energy\n$\\Delta$, and the ion chain will absorb the rest. Therefore, this light\nfrequency induces the following **blue sideband** transition:\n\n$$\\left\\lvert g \\right\\rangle \\left\\lvert n \\right\\rangle \\rightarrow \\left\\lvert e \\right\\rangle \\left\\lvert n+1\\right\\rangle.$$\n\nBy using the frequency $\\omega_r=\\Delta-\\omega$, we can instead excite\nthe ion and de-excite the ion chain, also known as a **red sideband**\ntransition:\n\n$$\\left\\lvert g \\right\\rangle \\left\\lvert n \\right\\rangle \\rightarrow \\left\\lvert e \\right\\rangle \\left\\lvert n-1\\right\\rangle.$$\n\nCrucially, this frequency will do nothing if the ion chain is in the\nstate of zero energy. If the light frequency is exactly $\\Delta$, the\nion chain does not absorb any phonons, but the ion does become excited.\nWe will call this a **carrier** transition.\n\n![..](../demonstrations/trapped_ions/sidebands.png){.align-center\nwidth=\"60.0%\"}\n\nEffects of the sideband and carrier frequencies on an ion chain\n\nSince the oscillations of the ion chain are quantum states, we may\nwonder whether we can also create superpositions of motional states. For\nboth the red and blue sideband frequencies, the Hamiltonian turns out to\nbe similar to the one we saw above, but with a different Rabi frequency\n$\\tilde{\\Omega}$. Following the same prescription as with single ions,\nwe can tune the duration and phase of the pulses to form superpositions\nof phonon states. For example, for a blue sideband pulse of duration\n$t=\\pi/2\\tilde{\\Omega}$ and phase $\\varphi=\\pi/2$, a system of two ions\nin both the motional and electronic ground state evolves as\n\n$$\\left\\lvert g\\right\\rangle \\left\\lvert g\\right\\rangle \\left\\lvert n\\right\\rangle \\rightarrow \\frac{1}{\\sqrt{2}}\\left(\\left\\lvert g\\right\\rangle \\left\\lvert g\\right\\rangle \\left\\lvert n\\right\\rangle + \\left\\lvert e\\right\\rangle \\left\\lvert g\\right\\rangle \\left\\lvert n+1\\right\\rangle\\right)$$\n\nwhen the pulse is incident on the first ion. Similarly, other choices of\nduration and phase allow for arbitrary superpositions between phonon\nstates. This freedom to act on the motional states gives us the\nnecessary tools to implement two-qubit gates. We will see two examples\nand use one of them to build a CNOT gate which, as is well-known, allows\nfor universal computations when combined with single-qubit gates.\n\n::: {.note}\n::: {.title}\nNote\n:::\n\nThe results above are relatively simple to understand, but they are not\nexact. In particular, to guarantee that the sideband frequencies will\nhave the effects we described on the ion chain, the separation between\nions must be large enough, in a range known as the Lamb-Dicke regime. If\nwe do not operate under this condition, stronger interactions will come\ninto play, and we will not be able to act on individual ions with the\nlaser beams.\n:::\n\nEntangling ions with multi-qubit gates\n======================================\n\n::: {.container .alert .alert-block .alert-info}\n**Maximally entangled states:** When all outcomes have the same\nprobability in an entangled state, such as in the two-ion state\n\n$$\\left\\lvert \\psi \\right\\rangle = \\frac{1}{\\sqrt{2}}\\left(\\left\\lvert e \\right\\rangle \\left\\lvert g \\right\\rangle +\n\\left\\lvert g \\right\\rangle \\left\\lvert e \\right\\rangle\\right),$$\n\nwe say that it is **maximally entangled**. To be able to do arbitrary\ncomputations and for quantum advantage to be possible, we need two-qubit\ngates that, combined with single qubit gates, produce maximally\nentangled states. The CNOT gate is an example of this, and we will learn\nabout others below.\n:::\n\nThe **Cirac-Zoller** gate can completely entangle ions. It is also the\nsimplest way to illustrate how we can use the states of the harmonic\noscillator as an aid to create two-qubit gates. For a chain with zero\nmotional energy, we saw above that applying a blue sideband pulse of\nduration $t=\\pi/2\\tilde{\\Omega}$ and phase $\\varphi=\\pi/2$ to the first\nion gives us the state\n\n$$\\left\\lvert \\psi \\right\\rangle = \\frac{1}{\\sqrt{2}}\\left(\\left\\lvert g\\right\\rangle \\left\\lvert g\\right\\rangle \\left\\lvert 0\\right\\rangle + \\left\\lvert e\\right\\rangle \\left\\lvert g\\right\\rangle \\left\\lvert 1\\right\\rangle\\right).$$\n\nWe can then use a similar idea to keep creating superpositions until we\nend up in a maximally entangled state. The steps to implement the\nCirac-Zoller gate are shown on the diagram:\n\n![..](../demonstrations/trapped_ions/CZgate.png){.align-center\nwidth=\"85.0%\"}\n\nImplementation of the Cirac-Zoller gate using phonon states\n\nWe see that the consecutive application of a blue sideband, a carrier\nfrequency, and a red sideband, with different durations, gives us a\nmaximally entangled state. It is important to note that, in the last\nstep, the part of the superposition that has no chain motion is\nunaffected by the red sideband. This property allows the creation of\nentanglement in electronic states by using the phonon states.\n\nHowever, the implementation of the Cirac-Zoller gate in real life is\nplagued by problems. First, the ion chain needs to be completely cooled\ndown to the ground motional state, which can never be achieved. Second,\nthe gate is too slow. Surely, if we use hyperfine qubits, we can take as\nlong as we want to implement the gates. The problem comes from the\nharmonic oscillator states. Since ion chains are large and less isolated\nfrom the environment, phonon states are rather short-lived due to\ndecoherence.\n\nFor actual applications, we use a more ingenious gate, known as the\n**M\u00f8lmer-S\u00f8rensen** gate. It has the advantage that the ions do not need\nto be perfectly cooled to the motional ground state for it to work. It\nrelies on simultaneously shining two lasers at different frequencies\n$\\omega_{\\pm}$ on the two target ions, which are slightly detuned from\nthe atomic energy gap $\\Delta$:\n\n$$\\omega_{\\pm}=\\Delta \\pm \\delta$$\n\nThe net effect of this interaction with laser light is to excite\n$\\left\\lvert g \\right\\rangle \\left\\lvert g \\right\\rangle \\left\\lvert n \\right\\rangle \\rightarrow \\left\\lvert e \\right\\rangle \\left\\lvert e \\right\\rangle\\left\\lvert n \\right\\rangle$,\nand it can do so through any of the four paths shown below:\n\n![..](../demonstrations/trapped_ions/molmer_sorensen.png){.align-center\nwidth=\"60.0%\"}\n\nM\u00f8lmer-S\u00f8rensen gate implemented with two simultaneous laser pulses\n\nUsing a quantum mechanical technique known as perturbation theory, we\ncan deduce that there is also a Rabi frequency $\\Omega_{MS}$ associated\nwith this evolution. Therefore, adjusting the time and the phase of the\nlasers can lead to a superposition of\n$\\left\\lvert g \\right\\rangle \\left\\lvert g \\right\\rangle \\left\\lvert n \\right\\rangle$\nand\n$\\left\\lvert e \\right\\rangle \\left\\lvert e \\right\\rangle\\left\\lvert n \\right\\rangle$.\nFor example, we can obtain the state\n$\\frac{1}{\\sqrt{2}}\\left(\\left\\lvert g \\right\\rangle \\left\\lvert g \\right\\rangle\\left\\lvert n \\right\\rangle +\\left\\lvert e \\right\\rangle \\left\\lvert e \\right\\rangle\\left\\lvert n \\right\\rangle\\right)$\nwhich, in the two-ion subsystem, corresponds to the maximally entangled\nstate\n$\\frac{1}{\\sqrt{2}}\\left(\\left\\lvert g \\right\\rangle \\left\\lvert g \\right\\rangle +\\left\\lvert e \\right\\rangle \\left\\lvert e \\right\\rangle\\right)$.\nUsing Schr\u00f6dinger\\'s equation allows us to derive how the qubits evolve\nwhen we apply the M\u00f8lmer-S\u00f8rensen protocol for a time $t$. The\nHamiltonian is more involved, so we will not do this. We simply state\nthe result (for zero phase) and implement it via a Python function\n\n$$\\begin{aligned}\nU_{MS}(t) =\\left( \\begin{array}{cccc}\n\\cos(\\frac{\\Omega_{MS}t}{2}) & 0 & 0 & -i\\sin(\\frac{\\Omega_{MS} t}{2})\\\\\n0 & \\cos(\\frac{\\Omega_{MS} t}{2}) & -i\\sin(\\frac{\\Omega_{MS} t}{2}) & 0 \\\\\n0 & -i\\sin(\\frac{\\Omega_{MS} t}{2}) & \\cos(\\frac{\\Omega_{MS} t}{2}) & 0 \\\\\n-i\\sin(\\frac{\\Omega_{MS} t}{2}) & 0 & 0 & \\cos(\\frac{\\Omega_{MS} t}{2})\n\\end{array}\n\\right)\n\\end{aligned}$$\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"Omega = 100\n\n\ndef Molmer_Sorensen(t):\n ms = np.array(\n [\n [np.cos(Omega * t / 2), 0, 0, -1j * np.sin(Omega * t / 2)],\n [0, np.cos(Omega * t / 2), -1j * np.sin(Omega * t / 2), 0],\n [0, -1j * np.sin(Omega * t / 2), np.cos(Omega * t / 2), 0],\n [-1j * np.sin(Omega * t / 2), 0, 0, np.cos(Omega * t / 2)],\n ]\n )\n return ms"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Since the CNOT gate is commonly used in quantum algorithms, let us\ndetermine how to obtain it from the M\u00f8lmer-S\u00f8rensen gate. It is possible\nto do so by using a combination of single-qubit rotations and the\nM\u00f8lmer-S\u00f8rensen gate applied for a period of $t=\\pi/2\\Omega_{MS}$.\nExplicitly, we do this using the following circuit:\n\n![..](../demonstrations/trapped_ions/CNOTgate.png){.align-center\nwidth=\"100.0%\"}\n\nCircuit for the CNOT gate using rotations and an MS gate\n\nwhere $RX$ and $RY$ are the usual rotations around the X and Y axes, and\n$MS(t)$ denotes the M\u00f8lmer-S\u00f8rensen gate applied for a time\n$t/\\Omega_{MS}$. Let us verify that this is indeed the case by building\nthe circuit in PennyLane:\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"dev2 = qml.device(\"default.qubit\",wires=2)\n\n@qml.qnode(dev2)\ndef ion_cnot(basis_state):\n \n #Prepare the two-qubit basis states from the input\n qml.templates.BasisStatePreparation(basis_state, wires=range(2))\n \n #Implements the circuit shown above\n qml.RY(np.pi/2, wires=0)\n qml.QubitUnitary(Molmer_Sorensen(np.pi/2/Omega),wires=[0,1])\n qml.RX(-np.pi/2, wires=0)\n qml.RX(-np.pi/2, wires=1)\n qml.RY(-np.pi/2, wires=0)\n \n return qml.state()\n\n#Compare with built-in CNOT\n@qml.qnode(dev2)\ndef cnot_gate(basis_state):\n \n qml.templates.BasisStatePreparation(basis_state, wires=range(2))\n\n qml.CNOT(wires=[0,1])\n \n return qml.state()\n\n#Check that they are the same up to numerical error and global phase \nprint(np.isclose(np.exp(-1j*np.pi/4)*ion_cnot([0,0]),cnot_gate([0,0]))) \nprint(np.isclose(np.exp(-1j*np.pi/4)*ion_cnot([0,1]),cnot_gate([0,1]))) \nprint(np.isclose(np.exp(-1j*np.pi/4)*ion_cnot([1,0]),cnot_gate([1,0]))) \nprint(np.isclose(np.exp(-1j*np.pi/4)*ion_cnot([1,1]),cnot_gate([1,1])))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is indeed the CNOT gate, up to a global phase. At sufficiently low\ntemperatures, the Rabi frequency $\\Omega_{MS}$ does not depend on the\ninitial harmonic oscillator state, so this method can be used reliably\neven when we fail to cool down the ion chain completely. This property\nalso makes this gate more robust to the decoherence of the chain.\n\nThe problem with too many ions\n==============================\n\nWe have learned that the trapped ion paradigm allows us to prepare and\nmeasure individual qubits, and that we can implement single and\nmulti-qubit gates with high accuracy. What\\'s not to like? As in every\nphysical realization of quantum computers, trapped ions come with\nadvantages and disadvantages. The main problem shared by all physical\nimplementations of quantum computers is scalability. The root of the\nproblem and the technological challenges involved depend on our\nparticular framework.\n\nTo understand why scalability is a problem for trapped ions, let us\nconsider a long ion chain. As discussed in the previous section, to\nimplement multi-qubit gates, we need to lean on the harmonic oscillator\nstates of the ion chains. These turn out to be a blessing and a curse\nsimultaneously. Quantum computing with trapped ions would not be\npossible without motional states. However, if we put more ions in the\nchain, the values of the frequencies needed to excite it become too\nclose together. As a consequence, unless we are extremely careful with\nour laser frequencies, we may end up in the wrong quantum state. We do\nnot have infinite precision, so when the number of ions becomes close to\n100, our current gate technology becomes practically unusable.\n\nIs there a way to make the frequency values more spread out? One way is\nto reduce the Rabi frequency of the M\u00f8lmer-S\u00f8rensen gate, which we\ncontrol by changing the strength of the laser light. Disappointingly,\nnot only does this strategy make it harder to control the ion, but it\nalso increases the time needed to apply the M\u00f8lmer-S\u00f8rensen gate. As\nalready mentioned in the previous section, time is of the essence when\napplying multi-qubit gates since the motional states of the chain are\nextremely sensitive to decoherence. We cannot afford to have even slower\ngates.\n\nWhich of the DiVincenzo criteria do trapped ions quantum computers still\nfail to meet? Criterion 1 is only met partially: we do have robust\nqubits, but there seems to be a hard technological limit for\nscalability. Criterion 3 also becomes an issue when the ion chain is too\nlong since coherence times for motional states become shorter. The\ntwo-qubit requirement of criterion 4 is related to this decoherence\nproblem since multi-qubit gates can take too long to implement\naccurately in a long ion chain. Criterion 2, as already discussed, does\nnot present too much of a problem thanks to optical pumping technology.\nHowever, problems remain for criterion 5. As we already saw, we can use\ntwo different species of ions to obtain good measurements. But, in\ngeneral, it is challenging to implement consecutive good-quality\ntwo-qubit gates between different ion species; strategies like the\nM\u00f8lmer-S\u00f8rensen gate will not work and need modification.\n\nThe state of the art\n====================\n\nOf course, no matter how insurmountable these challenges seem to be,\nphysicists will not give up. Many ingenious ways to address these\ntechnical complications have already been proposed. Not surprisingly, it\nis one of the hottest research topics in quantum computing, and papers\nwith newer technologies have probably been published since this tutorial\nwas written.\n\nThe main issue discussed above is that a long ion chain is noisy and\nmakes qubits challenging to manipulate. In 2002, Kielpinski and\ncollaborators[^1] came up with an intelligent solution: if size is a\nproblem, let us make the chain shorter! Of course, we would still like\nto be able to manipulate thousands of qubits. To achieve this, we could\nbuild a segmented trap, also known as a **QCCD** (Quantum Charge-Coupled\nDevice) **architecture**. The idea is to make our traps mobile. We could\nmove ions from one place to another whenever we need to apply a\nmulti-qubit gate and move them far away when we need to manipulate them\nindividually. Thus, the chain that we interact with when we need to\nentangle qubits is not long. This method makes the motional states less\nprone to decoherence. The phonon frequencies are also sufficiently\nspread apart so that the gates can be implemented.\n\n![..](../demonstrations/trapped_ions/qccd.png){.align-center\nwidth=\"60.0%\"}\n\nExample of a proposed QCCD architecture, as in[^2]\n\nQCCD architectures sound like a straightforward solution, but seeing as\nwe do not have large quantum computers yet, there must be some nuances.\nIn practice, moving ions around a trap is not easy at all. The\ncontaining potential must be changed in a highly accurate manner to\ntransport the ions without losing them. Such technology has not been\nperfected yet. While it has been possible to manipulate ions and make\nthem interact, the traps we need for a good quantum computer are\nsomewhat involved. We want multiple segments in the trap that allow for\narbitrary ions to be brought together to run quantum algorithms without\nany limitations. In April 2021, Honeywell reported building a\nmulti-segment QCCD architecture with six qubits and two interaction\nzones[^3]. However, it is unclear how this proposed technology would\nscale to higher orders of magnitude.\n\nAnother path towards a solution would be to simply accept the short\ncoherence times of the ion chains, and try to make the two-qubit gates\nfaster. Such an approach is being followed by the startup IonQ. In\nJanuary 2021, they showed that it is possible to speed up the\nM\u00f8lmer-S\u00f8rensen gate by one order of magnitude by changing the shape of\nthe laser pulse[^4]. Such a speedup might not be enough as the ion chain\ngrows. However, a combination of approaches involving QCCDs and faster\ngates may yield the solution to the scalability problem in the future.\n\n::: {.note}\n::: {.title}\nNote\n:::\n\nThere is another proposed solution to apply two-qubit gates efficiently,\nwhich involves connecting the ions with photons. Using polarization\nstate measurements, we can also entangle electronic states[^5]. This\ntechnology is still in the early stages of development.\n:::\n\nImplementing multi-qubit gates is not the only problem for trapped-ion\nquantum computers. There is still much to do to improve the precision of\nmeasurements, for example. Most of the photons emitted by ions during a\nmeasurement are lost, so it would be good to find ways to direct more of\nthem to the detector. One can do this using a waveguide architecture\ninside the trap. Similarly, as the number of ions grows, the number of\nlaser beams we need does as well[^6]. Again, waveguides can also be used\nto direct the photons to target ions. Combined with a better QCCD\narchitecture, this optical integration would well-equip us to run\nquantum computing algorithms with trapped ions.\n\nConcluding Remarks\n==================\n\nIon trapping is currently one of the most widespread physical\nimplementations of quantum computers, both in academia and in industry.\nTheir popularity comes as no surprise, since the physical principles\nthat make the paradigm work are simple enough, and the necessary\ntechnology is already well-developed. Granted, there are challenging\ntechnical difficulties to scale these quantum computers further.\nHowever, viable solutions have been proposed, and many institutions\naround the world are working non-stop to make them a reality. Moreover,\nwhat could be considered simple prototypes of such technologies have\nalready proven extremely powerful. The big unknown is whether such\ndevices can scale as much as we would like them to. It would be unwise\nto give up only because the challenge is imposing. After all, personal\ncomputers were the fruit of hard work and inventiveness, and very few\npeople were able to predict that they would scale as much as they have.\nNow you possess a high-level knowledge of how trapped ion computers\nwork! Make sure to read any new papers that come out to keep updated on\nnew developments. Will the trapped ion framework emerge victorious in\nthis race to obtain a useful quantum computer? Only time will tell!\n\nReferences\n==========\n\nAbout the author\n================\n\n[^1]: D. Kielpinski, C. Monroe, and D. Wineland. (2002) \\\"Architecture\n for a large-scale ion-trap quantum computer\\\", [Nature 417, 709--711\n (2002).](https://www.nature.com/articles/nature00784).\n\n[^2]: J. Amini, H. Uys, J. Wesenberg, et al. (2010) \\\"Toward scalable\n ion traps for quantum information processing\\\", [New J. Phys 12\n 033031](https://iopscience.iop.org/article/10.1088/1367-2630/12/3/033031/meta).\n ([arXiv](https://arxiv.org/abs/0909.2464))\n\n[^3]: J. Pino, J. Dreiling, J, C, Figgatt, et al. (2021) \\\"Demonstration\n of the trapped-ion quantum CCD computer architecture\\\". [Nature 592,\n 209--213](https://www.nature.com/articles/s41586-021-03318-4).\n ([arXiv](https://arxiv.org/abs/2003.01293))\n\n[^4]: R. Blumel, N. Grzesiak, N. Nguyen, et al. (2021) \\\"Efficient\n Stabilized Two-Qubit Gates on a Trapped-Ion Quantum Computer\\\"\n [Phys. Rev. Lett. 126,\n 220503](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.126.220503).\n ([arXiv](https://arxiv.org/abs/2101.07887))\n\n[^5]: C. Monroe, R. Ruassendorf, A Ruthven, et al. (2019) \\\"Large scale\n modular quantum computer architecture with atomic memory and\n photonic interconnects\\\", [Phys. Rev. A 89\n 022317](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.89.022317).\n ([arXiv](https://arxiv.org/abs/1208.0391))\n\n[^6]: R. Niffenegger, J. Stuart, C.Sorace-Agaskar, et al. (2020)\n \\\"Integrated multi-wavelength control of an ion qubit\\\" [Nature\n volume 586,\n pages538--542](https://www.nature.com/articles/s41586-020-2811-x).\n ([arXiv](https://arxiv.org/abs/2001.05052))\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.15"
}
},
"nbformat": 4,
"nbformat_minor": 0
}