Explained: Quantum Error Correction and Logical Qubits

By Antonio Córcoles and Maika Takita

It is a truth universally acknowledged, that a noisy quantum computer in possession of a good algorithm, must be in want of a fault-tolerant quantum error correcting code.
 
Quantum information is fragile. More so than its classical counterpart. Modern methods of error correction in computer science rely heavily on redundancy: by increasing the amount of data in a message in the form of check bits derived from the original data, the presence of errors can be detected (and possibly corrected) by the receiver. Among the many differences between quantum and classical information, two major aspects emerge when considering error correction protocols. First, quantum information cannot be duplicated due to the no-cloning theorem [1]. And second, quantum measurements collapse the information into a basis set of outcomes, thus destroying any superposition or entanglement exploited by quantum algorithms. These two aspects make the application of classical error correction methods to the quantum realm unfeasible. Additionally, whereas errors in classical information have only one form—0 flipping value to 1 or vice versa—there are two types of errors lurking within a quantum computation: bit-flips, |0> becoming |1> or vice versa, and phase-flips, \((|0> + |1>)/ \sqrt{2}\) becoming \((|0> - |1>)/\sqrt{2}\), for example.
 
Despite all this, there exist ways to encode quantum information into larger spaces requiring neither exact replication of the information nor direct query of the data. The field of Quantum Error Correction (QEC) focuses on precisely this, providing the tools for building a reliable, essentially flawless qubit, the so-called logical qubit, by combining many faulty ones. Although there are other ways of protecting quantum information—as, for example, decoherence-free subspaces [2]—those can be thought of as quantum error suppression, rather than correction. We will focus uniquely on QEC in this post.
 
The first QEC codes were formulated independently by Shor [3] and Steane [4]. Further theory of QEC was subsequently developed by Calderbank, Shor, Steane, Knill, Laflamme, and Bennett. Eventually, Gottesman [5] and Calderbank et al. [6] arrived at the very important concept of a stabilizer. Stabilizers are operations we apply to a set of qubits in order to obtain information about the qubits' state without disturbing them.  Formally, a stabilizer group \(S\) is a sub-group of the n-qubit Pauli group \(P^n\) where the identity is excluded \((P = \{X, Y, Z\})\). Thus, we can define a "codeset" as the set of all states stabilized by the stabilizer group that we use to encode the logical qubit states:

$$C={|\psi> : g|\psi> = |\psi> \forall g \in S}$$
 
Consider the arguably simplest possible example, the codeset defined by a single codeword:

$$|\psi> = \frac{1}{\sqrt{2}}(|00> + |11>)$$

This codeword is stabilized by the operators \(XX\) and \(ZZ\), meaning that we can use these operators to learn about its parity (both in the Z- and in the X-basis) without disturbing it, and we can do this as many times as we want. If we were to prepare this codeword and subject it to noise (as done, for example, here [7]), we could identify errors by measuring the stabilizers mentioned above. These measurements yield the "error syndromes." Obviously, the above codespace is too small to host a logical qubit, but the principle is the same. In general, we can consider a logical codespace of \(2^k\) dimensions embedded into a physical space of \(2^n\) dimensions. The physical degrees of freedom offered by the n physical qubits are countered by the constraints imposed by the stabilizers, resulting in a reduced number of degrees of freedom that may serve as logical qubits. In the standard notation, we can define a \([[n,k,d]]\) QEC code as one that uses \(n\) physical qubits to encode \(k\) logical qubits and can correct up to \(floor(d-1)/2\) errors.

As for how this might work in hardware, we initialize a logical qubit, then start querying its constituent physical qubits with all of the stabilizers as fast as we can, receiving a series of 0s and 1s from the stabilizer measurements. 0s represent no error, while 1s represent errors in the code. We keep checking for these errors, either correcting them on the spot or keeping track and correcting them at the end. In order to perform a logical gate, we do so with a set of operations that the stabilizers are blind to. By construction of the stabilizer group and the code, we have extra degrees of freedom available in order to operate the logical qubit without confusing gates for errors.

Fig. 1. Error propagation within a parity-check circuit

 

As an example, the paper in [8] implements the \([[4,2,2]]\) code, using four physical qubits to encode 2 logical qubits, performing parity checks on those 4 physical qubits to detect errors during the computation. This small code provides a good example of how errors can propagate within the code operations. The code space is comprised of the following four physical states (omitting normalization): \(|0000> + |1111>, |1100> + |0011>, |1010> + |0101>\), and \(|0110> + |1001>,\) corresponding to the logical states \(|0p0g>, |0p1g>, |1p0g>,\) and \(|1p1g>\), respectively, where we have labeled our two logical qubits as ‘p’ and ‘g’. Now imagine we have initialized our data qubits in the state \(|\Psi_i> = |0000>+|1111>\) (corresponding to the \(|0p0g>\) logical state) and we run the circuit shown in Fig. 1. This circuit implements an X-check followed by a Z-check on the data qubits. This means that the two measurements on the syndrome qubit yield the \(XXXX\) and the \(ZZZZ\) observables on the data qubits. Since \(XXXX\) and \(ZZZZ\) are stabilizers of this code, we should obtain the same state for the data qubits at the end of the circuit. Now let’s consider the scenario where the syndrome qubit undergoes a bit-flip error. This can happen anywhere in the circuit but let’s focus on three possible locations, labeled as \(A, B,\) and \(C\). Note that in any of the three cases the error is not picked by the \(X\)-check. Now, since a CNOT gate propagates bit-flip errors from control to target, it is easy to see that the error in A results in the final state \(|\Psi_f> = |1000> + |0111>\) and the error in \(C\) results in the final state \(|\Psi_f> = |0001> + |1110>\). In both of these scenarios the error is detected in the subsequent \(Z\)-check. However, consider the case where the bit-flip error happens at \(B\). In that case, not only does the Z-check yield the outcome 0 in the syndrome qubit, failing to detect that an error happened, but the final data qubits state is \(|\Psi_f> = |0011> + |1100>…\) which corresponds to a logical bit-flip in the second (labeled g) logical qubit! This example highlights a critical aspect of QEC codes called fault tolerance. The [[4,2,2]] code is designed to be fault-tolerant for the ‘p’ (protected) logical qubit and not fault-tolerant for the ‘g’ (gauge) logical qubit.
 
We have seen how QEC codes can detect errors during a computation by querying some property of the data (for example, parity) without directly learning what the data is, which would collapse the quantum information. However, it is fair to ask ourselves to what degree we can use these codes to correct for errors. How good do our physical qubits need to be? What is the physical overhead to pay for a reasonably sized, fault-free quantum computer? These are not trivial questions. Let’s start with the concept of fault tolerance introduced above. What is fault tolerance? Fault tolerance is a property of a circuit whereby it computes the correct result—with very little error—despite individual elements being faulty and unreliable. A fault tolerant circuit therefore is not exactly infallible, but it will take several faults for it to yield the wrong result. Fault tolerance rarely occurs naturally and therefore has to be designed, and while doing that, we need to bear in mind that it is critical for fault tolerant QEC that all the steps involved in the computation (encoding, syndrome extraction, logical operations, decoding…) be fault tolerant. This has an immediate and profound consequence: having a code that encodes information into a logical qubit is not enough, we need fault tolerant circuits as well. QEC doesn't always means fault tolerance and one has to be very careful in this regard when reading the literature.
 
Fault tolerance is a critical component of what goes into the concept of a ‘threshold’. The quantum fault tolerant theorem states that when the probability of failure in a noisy device is low enough (below a certain threshold), we can attain arbitrarily low logical error rates by increasing the size of the encoding. This means that a fault tolerant code severely limits the spread of errors within its circuits as long as such errors happen at a rate lower than a particular quantity called the threshold (*). Once our physical system's noise is below the threshold, we can make our computation arbitrarily better by making the code larger. Thus, the answers to ‘how many qubits do we need for one logical qubit’ and ‘how good do our physical qubits need to be’ is the same simple one: it depends. It depends on the code and it depends on our target logical error rate. But as long as the procedures are fault tolerant, we are on the right path.
 
With all these considerations, what goes into choosing a code? A lot of it has to do with the underlying hardware and the prevailing physical error sources. As a nice example, consider the surface code (SC) [9]. This is a very attractive code from an experimental point of view because it requires only nearest-neighbor connectivity and is relatively lenient to physical error rates, with a threshold of almost 1%. Our team started exploring this code as our experimental systems became capable enough to access some small demonstrations. However, it soon became apparent that even the low connectivity required might be too much for the level of crosstalk in our systems [10]. These findings motivated a slight turn of direction toward less-connected codes, and our theory team came up with a heavy-hexagonal (HH) code [11] that retained or improved the essence of the advantages of the SC: very low connectivity required and a not too low of a threshold(**) (albeit a bit lower than that of the SC). The HH code provides a higher degree of protection against crosstalk than the SC simply by virtue of its topological design. It also shows how theory and experiment in QEC (and in quantum information in general) typically go hand-in-hand and propel each other forward. Finally, it also explains why many of the backends offered by IBM Quantum are built with a HH topology!
 
What lies ahead for logical qubits? With a number of small codes demonstrated in a variety of physical platforms in recent years, the next big step is to experimentally demonstrate fault tolerant QEC. Following that, both theory and experiment will share the onus of advancing QEC, by building bigger and better systems and developing codes that can perform more efficiently and with lower overhead (the biggest part of which will be devoted to resources needed to implement logical gates, of which we have said little in this post) at a given level of noise. Quantum computing technologies have shown spectacular progress in the last decade, but the real exciting journey towards truly powerful quantum computers is just starting now.
 
 

 
(*) Note that whereas the existence of a threshold guarantees fault tolerance, the opposite is not true and there are fault tolerant codes that lack a threshold but have a pseudothreshold. A pseudothreshold is the physical error rate below which the logical error rate is lower than the physical error rate of the system for that particular logical qubit size only. The key difference is that trying to lower the logical error rate further by enlarging the logical qubit results in a different (lower) pseudothreshold.
 
(**) The HH code has a threshold for only one type of quantum error, but pseudothresholds exist on both types.
 
References:
 
[1] Wootters et al., Nature 299, 5886 (1982)
[2] Palma et al., Proc. Royal Society of London A, 452:567–584, (1996)
[3] Shor, Phys. Rev. A, 52 (1995) R2493-R2496
[4] Steane, Phys. Rev. Lett., 77 (1996) 793-767
[5] Gottesman, Phys. Rev. A, 54 (1996) 1862-1868
[6] Calderbank et al. Phys. Rev. Lett., 78 (1997) 405
[7] Corcoles et al., Nat. Commun. 6, 6979 (2015).
[8] Takita et al. Phys. Rev. Lett., 119 (2017) 180501
[9] Bravyi and Kitaev, arXiv:quant-ph/9811052 (1998)
[10] Takita et al. Phys. Rev. Lett., 117 (2016) 210505
[11] Chamberland et al. Phys. Rev. X, 10 (2020) 011022
 





How to Measure Errors on IBM Quantum Systems with Randomized Benchmarking


David McKay, Seth Merkel, Doug McClure, Neereja Sundaresan and Isaac Lauer
 
A non-trivial issue when building a quantum computer is trying to answer a simple question: “how well does it work?” As with regular computers, measuring a quantum computer’s performance boils down to running a set of problems where we know the expected outputs. 
 
But the task doesn’t end there. Which problems should we run? How many? What does a wrong output mean about the likelihood of a wrong output in the future? These are complicated questions even for regular computers. However, in the quantum realm, the situation is even more difficult due to the complexities of superposition, entanglement and measurement. For example, due to the no-cloning theorem, we can’t determine the output of a quantum circuit from a single experimental instance; the experiment needs to be repeated exponentially more times as the number of qubits increases. Therefore, a number of quantum benchmarking strategies use the concept of random circuits–random programs of a similar type that, after enough trials, give an average “sense” of how well our devices work based on statistical measures.
 
These benchmarks operate at two scales: the qubit level and the overall device level. At the device level, there are several benchmarks, for example, the quantum volume [1, 2, 3, 5] (proposed by IBM) and the cross entropy [4]. These measures give a single number that is useful for getting a sense of overall device performance and improvements. However, these measures are not very predictive, i.e., users can’t use those numbers to predict the results of their own algorithms. That’s where the other scale of benchmarking comes in. Benchmarks at the qubit level tell us about one- and two-qubit gate performance; a gate is the fundamental operation the occurs in a quantum circuit to evolve the quantum state. Generally, one-qubit gates create superposition states of individual qubits and two-qubit gates generate entanglement. As quantum computers increase in complexity, new benchmarks will get added to this list to investigate operations such as reset, mid-circuit measurement and feed-forward which are all elements required for fault-tolerance. 
 
If you’ve used an IBM system in Qiskit, you can view the gate errors by looking at the “properties” of a physical backend. By assigning an error number to each gate, we can then use these errors in simulators [5] to estimate the outputs of our circuits with noise. 
 
What are these errors and how are they measured? It is important to understand that these errors are averaged over all possible input states for a specific combination of gates. For example, the error of a gate on qubit 0 should be independent of the gates we run on qubit 2, but in practice there are small crosstalk effects. It would be exponentially expensive in time to measure the errors for all these scenarios, so instead only a subset are measured and reported. In general, we try to measure errors on IBM Quantum devices when all the neighboring qubits are idle. To tell which gate errors are measured together, one can look at the “date measured” value of the error. Errors with identical date/times were measured simultaneously. In short, the gate errors are estimates for the errors that will occur in any particular algorithm, but they aren’t perfect. 
 




Figure 1: Schematic of Randomized Benchmarking. Here we have decided to run circuits with {l0=1,l1=3,l2=6} Cliffords. We also show what a typical interleaved RB circuit would look like. Each “C” gate is a Clifford gate that needs to be transpiled to the device.
 
To measure these errors, we use a specific random circuit program known as randomized benchmarking [7, 8]. Randomized benchmarking (RB for short) is a program that selects random gates from a certain class of gates – the Clifford group – and the last gate inverts the operation of all the previous gates. A special property of the Clifford group means that the inversion gate is efficient to calculate. Therefore, every RB sequence of gates should return the qubit(s) back to its initial state. The basic premise of RB is shown in Figure 1 for a subset of 2 qubits. First, we decide we are going to run circuits with different numbers of Clifford gates {li} on a subset of n qubits. Then, we make a circuit with l0 random Clifford gates and the inversion. Next, we make a second circuit by adding l1-l0 more gates and recalculating the inversion gate for the new sequence, and so on. We run all the circuits in this set and measure the population in the |0> state of each qubit (the ground state); due to the properties of RB we can plot the population of any of the qubit |0> states and get the same answer. Next, we repeat this experiment and average the results.  With enough averaging, the qubit |0> state population decays as Aα^l+B where the average error per Clifford gate is given as ϵ_c = ((2^n - 1)/2^n)(1-α)  where n is the number of qubits in the Clifford gate group that we used for RB (if we are measuring one-qubit error n=1, if we are measuring two-qubit error n=2). For IBM Quantum systems the typical Clifford length is a few thousand one-qubit Cliffords, and a few hundred two-qubit Cliffords. A big benefit of this method is that errors in the preparation of the state and the readout of the state are mostly contained in the coefficients A and B, which are not used for measuring error. 
 
Now there are a few important points. For one we want to know the error per gate, not per Clifford. The Cliffords are certain particular gate operations, but they must be expressed to the native gates of the device with a transpiler. When the Clifford is transpiled it may require several types of gates, and in the case of two-qubit Cliffords there will be a mix of one- and two-qubit gates. To measure single-qubit gate errors we take the average number of single-qubit gates per Clifford gate n_1C and divide the error to get the error per gate ϵ_1G = ϵ_1C/n_1c. To measure the two-qubit gate errors we take the average number of two-qubit gates per Clifford n_2C  and divide the error to get the error per gate  ϵ_2G = ϵ_2C/n_2c . In this case the error is an upper bound because we are neglecting the contribution to the Clifford error from the single qubit gates. The red curve in Fig 2 is an example of standard two-qubit RB.
 
If we want a gate error that is not an upper bound, there is a protocol to use RB to measure the error of a specific gate directly – interleaved RB [9]. A schematic is given in Fig 1 and the blue curve in Fig 2 is an example. In interleaved RB (IRB) we run an extra circuit with the specific gate interleaved between the random Clifford gates as shown in the schematic of Fig 1. The gate error is then given by ϵ_G = ((2^n - 1)/2^n)(1-α_IRB/α_RB)) , i.e. the gate fidelity estimate is proportional to the ratio of the decays from the two curves. We don’t use this method for reporting IBM Quantum backend errors, as it requires twice as much data and the systematic errors can be large [10] since we are taking ratios. Subtle double exponential decays can lead to unphysical error rates. In the example plot shown in Fig 2 the error from interleaved RB is 2.3e-3 and from the procedure used on IBM Quantum systems the error is 3e-3, which are reasonably close. However, there are times when the reference curve error is much higher and, in those cases, the systematic errors mean that IRB must be taken with caution. 
 



Figure 2: Example of RB (red) and Interleaved RB (blue). From https://arxiv.org/abs/2011.07050, see details therein.
 
In conclusion, RB is a quick and effective way to measure gate errors on large devices. It allows us to report a complete set of gate errors, which can be used to monitor the health of devices, improvements, and as an input into simulations to give rough predictions for algorithmic performance. However, it’s important to understand the limitations of any benchmarking scheme; we’ve highlighted a few for RB (in particular the caution required for using IRB) and furthermore there is a deep body of literature on the more subtle issues surrounding RB (see, for examples, refs. [11, 12,13, 14]). We hope this blog post gives some insight into how operation gate errors are measured on IBM Quantum systems with randomized benchmarking and what these errors represent.  
 
References
 
1.      Cross, Andrew W., et al. “Validating Quantum Computers Using Randomized Model Circuits.” ArXiv.org, 11 Oct. 2019, arxiv.org/abs/1811.12926.
2.      Mandelbaum, Ryan F. “What Is Quantum Volume, Anyway?” Qiskit Medium, 20 Aug. 2020, medium.com/qiskit/what-is-quantum-volume-anyway-a4dff801c36f.
3.      Jurcevic, Petar, et al. “Demonstration of Quantum Volume 64 on a Superconducting Quantum Computing System.” ArXiv.org, 4 Sept. 2020, arxiv.org/abs/2008.08571.
4.      Arute, Frank, et al. “Quantum Supremacy Using a Programmable Superconducting Processor.” Nature, vol. 574, no. 7779, 2019, pp. 505–510., doi:10.1038/s41586-019-1666-5
5.     “Quantum Volume.” Qiskit 0.23.1 Documentation, qiskit.org/documentation/tutorials/noise/5_quantum_volume.html.
6.      “Building Noise Models.” Qiskit 0.23.1 Documentation, qiskit.org/documentation/tutorials/simulators/3_building_noise_models.html.
7.      “Randomized Benchmarking.” Qiskit Textbook, 8 Dec. 2020, qiskit.org/textbook/ch-quantum-hardware/randomized-benchmarking.html.
8.     Magesan, E., Gambetta, J. M. & Emerson, J. Characterizing quantum gates via randomized benchmarking. Phys. Rev. A85, 042311 (2012).
9.     Magesan, E. et al. Efficient Measurement of Quantum Gate Error by Interleaved Randomized Benchmarking. Phys. Rev. Lett. 109, 080505 (2012).
10.  Epstein, Jeffrey M., et al. “Investigating the Limits of Randomized Benchmarking Protocols.” ArXiv.org, 13 Aug. 2013, arxiv.org/abs/1308.2928.
11.  Proctor, Timothy, et al. “What Randomized Benchmarking Actually Measures.” Physical Review Letters, American Physical Society, 28 Sept. 2017, link.aps.org/doi/10.1103/PhysRevLett.119.130502.
12.  Wallman, Joel J. “Randomized Benchmarking with Gate-Dependent Noise.” Quantum, Verein Zur Förderung Des Open Access Publizierens in Den Quantenwissenschaften, 29 Jan. 2018, quantum-journal.org/papers/q-2018-01-29-47/.
13.  Merkel, Seth T., et al. “Randomized Benchmarking as Convolution: Fourier Analysis of Gate Dependent Errors.” ArXiv.org, 14 Aug. 2019, arxiv.org/abs/1804.05951.
Helsen, Jonas, et al. “A General Framework for Randomized Benchmarking.” ArXiv.org, 15 Oct. 2020, arxiv.org/abs/2010.07

The Nitrogen Vacancy (NV) Center in Diamond: a qubit and a sensor

By Pratiti Deb, Ph.D. candidate at the University of Chicago and IBM Quantum Education Intern

When my family and friends asked me what I do in the lab during the first year of my PhD, I had the singular pleasure of telling them that I shine lasers and apply microwaves to diamonds to study quantum mechanics at the atomic scale. But what do all those cool and (quite literally) shiny, words mean? You probably know this already, but if you don’t, quantum computers are made of qubits, the quantum version of the classical computer's bits. Bits on your phone, or the computer you may be reading this blog on, consist of a small voltage that either is or isn't transmitted through a transistor to encode one and zero, respectively. The quantum version of this instead uses qubits, which encode these ones and zeros in quantum states. Because of the quantum properties of superposition and entanglement, quantum computers can handle and process this information in richer ways.  

There isn’t just one physical quantum system that has been deemed suitable to create qubits, though. IBM studies superconducting qubits, while other groups study atoms, trapped ions, photons and even a very exotic class of particles called anyons. In my PhD at the University of Chicago (and at many research groups across the world), we look at spin qubits comprised of defects in solids. Specifically, we study the nitrogen vacancy center in diamonds.

 

An optics table with lenses and mirrors directing photoluminescence from a semiconductor defect to a photon detector in Professor David Awschalom's lab at The University of Chicago, where I work.
[Source: Chicago Tribune.]

Diamonds are made from atomic lattices where each carbon atom links up to four other carbon atoms. Diamond is a very unique material, being incredibly hard, transparent to light at infrared through ultraviolet frequencies, thermally conductive, yet nonetheless, a semiconductor. In most modern electronic devices, semiconductor defects are generally considered to be undesirable. However, in diamond, it turns out that these defects are useful as qubits. 


Structure of the NV center in the diamond lattice.
[Source: Heremans F.J. et al, IEEE, 2016.]
 
A nitrogen vacancy center in a diamond occurs when one carbon atom is missing, and next to this empty lattice site sits a nitrogen atom. Much like an atom in a vacuum binds electrons to it, defect centers, like the nitrogen vacancy center, trap electrons. The spin of these trapped electrons form the basis of our qubit. Spin is a quantum property of particles, albeit a rather mysterious one. Imagine spinning a top, and that the top creates a magnetic field from this motion and also has some angular momentum. Subatomic particles or combinations of particles have a property that has a similar effect as this spinning top on the particle’s magnetic environment which defines its intrinsic angular momentum, though our classical analogies and intuition often fail us at the quantum mechanical scale. For our purposes, think of spin as the quantity that encodes the zero or one of our qubit, where a spin of 0 represents the zero qubit state and a spin of +1 (or -1) represents the one qubit state.

Confocal map of a typical diamond sample (the spots are NV centers themselves).
[Source: Robledo L. et al, PRL 2010.]
 
How do we manipulate the spin in this qubit? That is, how do we set our qubit to zero, to one, or to a superposition of the two? This is where the lasers and microwaves come in. Our team loves working with these defects because we have many control knobs that we can turn to change their quantum properties. We shine a green laser on the NV center to initialize its spin to the zero state. We also use a technique called confocal microscopy to focus the beam on the defect in our piece of diamond. We then use signal generators, switches, and amplifiers to apply microwaves to this 0 spin state to drive it into the +1 state. The diamond chip with the NV centers embedded in it is connected to a circuit board which has channels to deliver the microwaves to the defects, as is the signal generator which generates the microwaves. The photoluminescence emitted from the diamond sample passes through a different set of lenses and mirrors and hits a photon detector, and from the photoluminescence intensity, we can infer the spin state of the defect. 
 
Another special thing about the nitrogen vacancy center is that we can operate it at room temperature. We usually work with qubits at very very low temperatures, in complicated cooling devices called dilution refrigerators. For the NV center, we don’t need this complication. This leads to the potential for using the NV center as a quantum sensor. Quantum information is lost easily to the environment, and the warmer the environment, the more lattice vibrations, and the more easily this information is lost. This phenomenon is called decoherence, and this is why most quantum computers require very cold (millikelvin!) temperatures. However, the rigid diamond lattice protects the spin of the NV center from thermal decoherence processes, allowing room temperature operation. 
 
Since NV centers work at room temperature, people have used them extensively to study the real-world environment, sensing different external perturbations, especially magnetic fields. An external magnetic field causes the energy levels of the NV center’s spin to change. By observing this evolution, the local magnetic field can then be inferred with nanometer-scale resolution. Researchers have studied the magnetic environment of a wide range of systems, from bacteria to magnetic thin films. This is similar to how an MRI machine takes pictures of our brain, but the NV centers form magnetic sensors that are much smaller and more sensitive than the MRI machine. Think of all the things we could study at resolutions higher than ever before!
 
NV centers are also used in quantum computing and quantum communication. For instance, a few years ago, a group of scientists at Delft University of Technology entangled two NV centers more than a kilometer apart to do a loophole-free test of one of the most fundamental tests of quantum mechanics: Bell’s theorem. This test also paved the way for implementing a secure quantum communication protocol known as quantum key distribution. Sometimes people like to talk about the quantum research community as racing to find the perfect qubit, but as we can tell from our story of NV centers, different qubits can serve different purposes. So, while the superconducting qubits at IBM are being scaled up to be more and more sophisticated efficient computing devices, NV-center sensors can push the frontiers to sensing smaller and smaller magnetic fields. Attempting the same experiments with different physical systems poses different sets of advantages and disadvantages. As graduate students in the field, we will often read a paper about a different qubit and try to puzzle out: “could my qubit do this better? If not, is it somehow useful to the advancement of this technology?” Different quantum systems with different abilities can also be linked together, through quantum transduction, a way of converting quantum signals so that systems at different energy scales can communicate. To have an entire technological future based on quantum information, we will have quantum computers, quantum sensors and quantum communication networks acting together.
 
My introduction to the world of quantum information was through NV centers, these defects embedded in tiny diamond chips in the lab, and I am excited to see where they end up featuring in the exciting field of quantum information.



P.S. We are excited to share this first glimpse into the world of quantum information outside of superconducting circuits. We plan to continue branching out and discussing other platforms in the future, so to keep track of what we have covered so far, please refer to our "State of Play" Chart, which we will update over time.