Thomas Alexander's research while affiliated with IBM Research and other places

What is this page?


This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.

It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.

If you're a ResearchGate member, you can follow this page to keep up with this author's work.

If you are this author, and you don't want us to display this page anymore, please let us know.

Publications (7)


A generic magic-state distillation protocol
Encoded input magic states are combined such that higher fidelity magic states are produced with some probability. For a single use of a magic-state distillation protocol, the error of an input magic state ϵ is suppressed like ϵ → ϵd where d is a constant determined by the magic-state distillation protocol. Applying distillation recursively allows us to produce magic states with an arbitrarily high fidelity. By initializing error-suppressed magic states in the first step, where the error is suppressed as ϵ² we obtain a quadratic improvement in the fidelity of the output magic state.
Small codes
We describe how to encode these codes into higher distance codes. (left) The error-detecting code prepared in the main text. We refer to this code as the [[4, 2, 2]] code to distinguish it from the [[4, 1, 2]] code shown to the right of the figure. The [[4, 2, 2]] code has stabilizer generators SX = X1X2X3X4 and SZ = Z1Z2Z3Z4 and logical operators X¯A=X1X2\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\overline{X}}_{A}={X}_{1}{X}_{2}$$\end{document}, Z¯A=Z1Z3\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\overline{Z}}_{A}={Z}_{1}{Z}_{3}$$\end{document}, X¯B=X1X3\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\overline{X}}_{B}={X}_{1}{X}_{3}$$\end{document} and Z¯B=Z1Z2\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\overline{Z}}_{B}={Z}_{1}{Z}_{2}$$\end{document} for logical operators indexed A and B. (right). The [[4, 1, 2]] code is an error detecting code that encodes a single logical qubit. It is closely related to the error detecting code shown (left). It has stabilizer generators SX = X1X2X3X4, STZ=Z1Z2\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${S}_{{\rm{T}}}^{Z}={Z}_{1}{Z}_{2}$$\end{document} and SBZ=Z3Z4\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${S}_{{\rm{B}}}^{Z}={Z}_{3}{Z}_{4}$$\end{document}, and logical operators X¯=X1X2\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overline{X}={X}_{1}{X}_{2}$$\end{document}, Z¯=Z1Z3\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overline{Z}={Z}_{1}{Z}_{3}$$\end{document}.
Injecting an encoded magic state into the surface code
The magic state is initially encoded on a [[4, 1, 2]] code. (left) The standard surface code with physical qubits on the vertices of a square lattice and standard Pauli-X and Pauli-Z type stabilizers marked by lattice faces. Supports for the logical Pauli-X and Pauli-Z operators are shown in green and blue, respectively. (right) We show the initial state that is injected into the surface code. The [[4, 1, 2]] code is shown in red in the bottom-left corner. The remaining qubits of the surface code lattice are prepared in a product state, where blue (green) qubits are prepared in the 0v\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\left|0\right\rangle }_{v}$$\end{document} (+v\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\left|+\right\rangle }_{v}$$\end{document}) state. We show the code deformation stabilizers, i.e. Sdef.=Sinit.∩Sfin.\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${{\mathcal{S}}}_{{\rm{def.}}}={{\mathcal{S}}}_{{\rm{init.}}}\cap {{\mathcal{S}}}_{{\rm{fin.}}}$$\end{document}, shaded on the right lattice.
Injecting an encoded state into the heavy-hex code
The injected state is initially encoded on the [[4, 1, 2]] code. (left) A lattice with qubits on the vertices. We show the support of a single Pauli-Z gauge check and a Pauli-X stabilizer operator. The support of the Pauli-Z gauge check is shown in dark gray. The Pauli-X stabilizer operator is shaded grey towards the top of the lattice. We also show the support of a Pauli-X- and Pauli-Z-type stabilizer in green and blue, respectively. (right) The stabilizer group for Sinit.\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${{\mathcal{S}}}_{{\rm{init.}}}$$\end{document}. The [[4, 1, 2]] code is outlined in red in the bottom-left corner of the lattice. The other qubits are initialized in a product state with blue (green) qubits initialized in the 0\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\left|0\right\rangle $$\end{document} (+\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\left|+\right\rangle $$\end{document}) state. Stabilizer operators Sdef.=Sinit.∩Sfin.\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${{\mathcal{S}}}_{{\rm{def.}}}={{\mathcal{S}}}_{{\rm{init.}}}\cap {{\mathcal{S}}}_{{\rm{fin.}}}$$\end{document} are shaded in the figure.
Injecting an encoded two-qubit state into the color code
The state is initially encoded with the [[4, 2, 2]] code. A qubit is supported on each of the vertices of the lattice. We initialize the system Sinit.\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${{\mathcal{S}}}_{{\rm{init.}}}$$\end{document} such that the [[4, 2, 2]] code, shaded in red, is supported on a weight-four face in the bottom left corner of the lattice. The other qubits are prepared in Bell pairs on the highlighted blue and green edge terms. As such, we shade the faces of Sdef.\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${{\mathcal{S}}}_{{\rm{def.}}}$$\end{document} where both a Pauli-X and Pauli-Z stabilizer is supported. The support of the logical operators on the left and bottom boundaries are highlighted in blue and green, respectively.

+8

Encoding a magic state with beyond break-even fidelity
  • Article
  • Full-text available

January 2024

·

43 Reads

·

3 Citations

Nature

Riddhi S. Gupta

·

Neereja Sundaresan

·

Thomas Alexander

·

[...]

·

Benjamin J. Brown

To run large-scale algorithms on a quantum computer, error-correcting codes must be able to perform a fundamental set of operations, called logic gates, while isolating the encoded information from noise1–8. We can complete a universal set of logic gates by producing special resources called magic states9–11. It is therefore important to produce high-fidelity magic states to conduct algorithms while introducing a minimal amount of noise to the computation. Here we propose and implement a scheme to prepare a magic state on a superconducting qubit array using error correction. We find that our scheme produces better magic states than those that can be prepared using the individual qubits of the device. This demonstrates a fundamental principle of fault-tolerant quantum computing¹², namely, that we can use error correction to improve the quality of logic gates with noisy qubits. Moreover, we show that the yield of magic states can be increased using adaptive circuits, in which the circuit elements are changed depending on the outcome of mid-circuit measurements. This demonstrates an essential capability needed for many error-correction subroutines. We believe that our prototype will be invaluable in the future as it can reduce the number of physical qubits needed to produce high-fidelity magic states in large-scale quantum-computing architectures.

Download
Share

FIG. 3: State infidelity for the error-suppressed (blue) vs. standard (orange) schemes. On the x-axis, a state is reconstructed with either logical or physical tomography. The correction for the initial S Z measurement in Fig. 2(a) is implemented either using real-time feedforward (FF) or postselection (PS). For the Physical data points, the state from physical tomography is projected onto the logical subspace before computing infidelity by fitting to ideal projectors. Errorbars represent 1σ from bootstrapping. For all tomographic methods, the error-suppressed scheme achieves a lower state infidelity compared to the standard scheme. The unencoded magic state prepared directly on two physical qubits gives an average infidelity across 28 qubit pairs as ≈ 6.2 × 10 −2 (green dashed) using 18 repetitions over a 24-hour period with 10 5 shots/circuit. Of these, the best performing pair yields a minimum infidelity of (2.354 ± 0.271) × 10 −2 (red solid). In all cases, the error-suppressed scheme outperforms the best twoqubit unencoded magic state.
FIG. 4: Yield or acceptance rate after post-selection (%) vs. Logical tomography circuits from Fig. 2 (b),(c) for the errorsuppressed scheme with feedforward (blue circles) vs. postselection (blue squares); standard scheme shown for reference (orange squares). Error-bars represent 1σ from bootstrapping. Yield for the error-suppressed scheme (shaded region) increases from 18.16 ± 0.05% to 30.3 ± 1.9% (5.4 ± 1.4% to 7.9±1.7%) for circuits in Fig. 2 (b) (Fig. 2 (c)) where the standard deviation represents variation over logical Pauli directions. The yield for standard scheme is 15.6±1.6% (4.5±1.2% ) for Fig. 2 (b) (Fig. 2 (c)). For reference, the acceptance rate after post-selection for physical tomography experiments (not shown) is measured to be 14.9 ± 0.1% (20.9 ± 0.1%) for the error-suppressed (standard) scheme, where the standard deviation represents variation over 81 physical Pauli directions.
Encoding a magic state with beyond break-even fidelity

May 2023

·

35 Reads

We distill magic states to complete a universal set of fault-tolerant logic gates that is needed for large-scale quantum computing. By encoding better quality input states for our distillation procedure, we can reduce the considerable resource cost of producing magic states. We demonstrate an error-suppressed encoding scheme for a two-qubit input magic state, that we call the CZ state, on an array of superconducting qubits. Using a complete set of projective logical Pauli measurements, that are also tolerant to a single circuit error, we propose a circuit that demonstrates a magic state prepared with infidelity $(1.87 \pm 0.16) \times 10^{-2}$. Additionally, the yield of our scheme increases with the use of adaptive circuit elements that are conditioned in real time on mid-circuit measurement outcomes. We find our results are consistent with variations of the experiment, including where we use only post-selection in place of adaptive circuits, and where we interrogate our output state using quantum state tomography on the data qubits of the code. Remarkably, the error-suppressed preparation experiment demonstrates a fidelity exceeding that of the preparation of the same unencoded magic-state on any single pair of physical qubits on the same device.


OpenQASM 3: A Broader and Deeper Quantum Assembly Language

September 2022

·

37 Reads

·

112 Citations

ACM Transactions on Quantum Computing

Quantum assembly languages are machine-independent languages that traditionally describe quantum computation in the circuit model. Open quantum assembly language (OpenQASM 2) was proposed as an imperative programming language for quantum circuits based on earlier QASM dialects. In principle, any quantum computation could be described using OpenQASM 2, but there is a need to describe a broader set of circuits beyond the language of qubits and gates. By examining interactive use cases, we recognize two different timescales of quantum-classical interactions: real-time classical computations that must be performed within the coherence times of the qubits, and near-time computations with less stringent timing. Since the near-time domain is adequately described by existing programming frameworks, we choose in OpenQASM 3 to focus on the real-time domain, which must be more tightly coupled to the execution of quantum operations. We add support for arbitrary control flow as well as calling external classical functions. In addition, we recognize the need to describe circuits at multiple levels of specificity, and therefore we extend the language to include timing, pulse control, and gate modifiers. These new language features create a multi-level intermediate representation for circuit development and optimization, as well as control sequence implementation for calibration, characterization, and error mitigation.


OpenQASM 3: A broader and deeper quantum assembly language

April 2021

·

327 Reads

Quantum assembly languages are machine-independent languages that traditionally describe quantum computation in the circuit model. Open quantum assembly language (OpenQASM 2) was proposed as an imperative programming language for quantum circuits based on earlier QASM dialects. In principle, any quantum computation could be described using OpenQASM 2, but there is a need to describe a broader set of quantum circuits beyond the language of qubits and gates. By examining interactive use cases, we recognize two different timescales of quantum-classical interactions: real-time classical computations that must be performed within the coherence times of the qubits, and near-time computations with less stringent timing. Since the near-time domain is adequately described by existing programming frameworks, we choose in OpenQASM 3 to focus on the real-time domain, which must be more tightly coupled to the execution of quantum operations. Motivated by the need for real-time classical computation, we add support for arbitrary control flow as well as calling external classical functions. In addition, we recognize the need to describe circuits at multiple levels of specificity, and therefore we extend the language to include timing, pulse control, and gate modifiers. These new language features create a multi-level intermediate representation for circuit development and optimization, as well as control sequence implementation for calibration, characterization, and error mitigation.


Qiskit-Pulse: programming quantum computers through the cloud with pulses

August 2020

·

1,412 Reads

·

183 Citations

Quantum Science and Technology

Quantum Science and Technology

The quantum circuit model is an abstraction that hides the underlying physical implementation of gates and measurements on a quantum computer. For precise control of real quantum hardware, the ability to execute pulse and readout-level instructions is required. To that end, we introduce Qiskit Pulse, a pulse-level programming paradigm implemented as a module within Qiskit-Terra [1]. To demonstrate the capabilities of Qiskit Pulse, we calibrate both un-echoed and echoed variants of the cross-resonance entangling gate with a pair of qubits on an IBM Quantum system accessible through the cloud. We perform Hamiltonian characterization of both single and two-pulse variants of the cross-resonance entangling gate with varying amplitudes on a cloud-based IBM Quantum system. We then transform these calibrated sequences into a high-fidelity CNOT gate by applying pre and post local-rotations to the qubits, achieving average gate fidelities of F = 0.981 and F = 0.979 for the un-echoed and echoed respectively. This is comparable to the standard backend CNOT fidelity of FCX = 0.984. Furthermore, to illustrate how users can access their results at different levels of the readout chain, we build a custom discriminator to investigate qubit readout correlations. Qiskit Pulse allows users to explore advanced control schemes such as optimal control theory, dynamical decoupling, and error mitigation that are not available within the circuit model.


Qiskit Pulse: Programming Quantum Computers Through the Cloud with Pulses

April 2020

·

235 Reads

The quantum circuit model is an abstraction that hides the underlying physical implementation of gates and measurements on a quantum computer. For precise control of real quantum hardware, the ability to execute pulse and readout-level instructions is required. To that end, we introduce Qiskit Pulse, a pulse-level programming paradigm implemented as a module within Qiskit-Terra \cite{Qiskit}. To demonstrate the capabilities of Qiskit Pulse, we calibrate both un-echoed and echoed variants of the cross-resonance entangling gate with a pair of qubits on an IBM Quantum system accessible through the cloud. We perform Hamiltonian characterization of both single and two-pulse variants of the cross-resonance entangling gate with varying amplitudes on a cloud-based IBM Quantum system. We then transform these calibrated sequences into a high-fidelity CNOT gate by applying pre and post local-rotations to the qubits, achieving average gate fidelities of $F=0.981$ and $F=0.979$ for the un-echoed and echoed respectively. This is comparable to the standard backend CNOT fidelity of $F_{CX}=0.984$. Furthermore, to illustrate how users can access their results at different levels of the readout chain, we build a custom discriminator to investigate qubit readout correlations. Qiskit Pulse allows users to explore advanced control schemes such as optimal control theory, dynamical decoupling, and error mitigation that are not available within the circuit model.


Figure 2: Experiment flow between commands and the memory and register. Here the memory contains 4 slots and the register 3 slots. The first measurement is stored in the first register slot. Then an unconditional gate is performed on the qubit. The second measurement is stored in both the memory (first slot) and register (second slot). A boolean function operating on the first two bits of the register writes the result to the third register bit. This register bit is then used to conditionally run a gate command. The next measurement writes only to the memory.
Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments

September 2018

·

624 Reads

As interest in quantum computing grows, there is a pressing need for standardized API's so that algorithm designers, circuit designers, and physicists can be provided a common reference frame for designing, executing, and optimizing experiments. There is also a need for a language specification that goes beyond gates and allows users to specify the time dynamics of a quantum experiment and recover the time dynamics of the output. In this document we provide a specification for a common interface to backends (simulators and experiments) and a standarized data structure (Qobj --- quantum object) for sending experiments to those backends via Qiskit. We also introduce OpenPulse, a language for specifying pulse level control (i.e. control of the continuous time dynamics) of a general quantum device independent of the specific hardware implementation.

Citations (3)


... This information can therefore be used to undo the effect, which is the role played by the gates conditioned on the measurement outcomes. The inclusion of this operation allows the code to include a test of feedforward capabilities, which are required to some degree to achieve fault-tolerance, such as in the preparation of magic states [26]. ...

Reference:

Enhanced repetition codes for the cross-platform comparison of progress towards fault-tolerance
Encoding a magic state with beyond break-even fidelity

Nature

... However, it is the Eagle family that is currently the workhorse of the IBM Quantum fleet in the near-term. This is the reason for the focus on these in Point 3. Furthermore, to run [[2, 0, 2]] codes we require devices that support OpenQASM 3 and dynamic circuits [32]. At the time of taking results, only one such device was in service: Page 10 of 18 AUTHOR SUBMITTED MANUSCRIPT -JPhysA-119924.R1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 ibm sherbrooke. ...

OpenQASM 3: A Broader and Deeper Quantum Assembly Language
  • Citing Article
  • September 2022

ACM Transactions on Quantum Computing

... Our contributions in this paper are thus twofold: To formulate the concept of basis cycling and introduce its applications; and to present a novel Toffoli gate decomposition using a basis-cycled qutrit. We exploit Qiskit Pulse [40] to implement qutrit gates on IBM Quantum computers. The automated gate calibration program is written within the Qiskit Experiments framework [41] and is made publicly available, allowing anyone with necessary access to appropriate interfaces to construct highprecision qutrit gates that can be used for any purpose. ...

Qiskit-Pulse: programming quantum computers through the cloud with pulses
Quantum Science and Technology

Quantum Science and Technology