# Patent

## Title
Toffoli gate distillation from Toffoli magic states

## Abstract

A top-down distillation process for preparing low-error rate Toffoli gates utilizes Toffoli magic states as inputs to the distillation process. Multiple Toffoli magic states are used to distill a low-error rate Toffoli gate via one round of distillation. Lattice surgery operations are performed to distill the low-error rate Toffoli gate from the multiple Toffoli magic states. Each round of lattice surgery operations acts on a check qubit associated with the low error rate Toffoli gate being distilled. Errors introduced during the distillation (if non-trivial) will be manifest in the check qubit. Thus, the check qubit is measured subsequent to performing the lattice surgery operations to verify that the distilled Toffoli gate is very likely to be provide a correct result.

## Background
BACKGROUND
Quantum computing utilizes the laws of quantum physics to process information. Quantum physics is a theory that describes the behavior of reality at the fundamental level. It is currently the only physical theory that is capable of consistently predicting the behavior of microscopic quantum objects like photons, molecules, atoms, and electrons.
A quantum computer is a device that utilizes quantum mechanics to allow one to write, store, process and read out information encoded in quantum states, e.g. the states of quantum objects. A quantum object is a physical object that behaves according to the laws of quantum physics. The state of a physical object is a description of the object at a given time.
In quantum mechanics, the state of a two-level quantum system, or simply, a qubit, is a list of two complex numbers whose squares sum up to one. Each of the two numbers is called an amplitude, or quasi-probability. The square of an amplitude gives a potentially negative probability. Hence, each of the two numbers correspond to the square root that event zero and event one will happen, respectively. A fundamental and counterintuitive difference between a probabilistic bit (e.g. a traditional zero or one bit) and the qubit is that a probabilistic bit represents a lack of information about a two-level classical system, while a qubit contains maximal information about a two-level quantum system.
Quantum computers are based on such quantum bits (qubits), which may experience the phenomena of “superposition” and “entanglement.” Superposition allows a quantum system to be in multiple states at the same time. For example, whereas a classical computer is based on bits that are either zero or one, a qubit may be both zero and one at the same time, with different probabilities assigned to zero and one. Entanglement is a strong correlation between quantum particles, such that the quantum particles are inextricably linked in unison even if separated by great distances.
A quantum algorithm is a reversible transformation acting on qubits in a desired and controlled way, followed by a measurement on one or multiple qubits. For example, if a system has two qubits, a transformation may modify four numbers; with three qubits this becomes eight numbers, and so on. As such, a quantum algorithm acts on a list of numbers exponentially large as dictated by the number of qubits. To implement a transform, the transform may be decomposed into small operations acting on a single qubit, or a set of qubits, as an example. Such small operations may be called quantum gates and the arrangement of the gates to implement a transformation may form a quantum circuit.
There are different types of qubits that may be used in quantum computers, each having different advantages and disadvantages. For example, some quantum computers may include qubits built from superconductors, trapped ions, semiconductors, photonics, etc. Each may experience different levels of interference, errors and decoherence. Also, some may be more useful for generating particular types of quantum circuits or quantum algorithms, while others may be more useful for generating other types of quantum circuits or quantum algorithms. Also, costs, run-times, error rates, error rates, availability, etc. may vary across quantum computing technologies.
For some types of quantum computations, such as fault tolerant computation of large scale quantum algorithms, overhead costs for performing such quantum computations may be high. For example for types of quantum gates that are not naturally fault tolerant, the quantum gates may be encoded in error correcting code. However this may add to the overhead number of qubits required to implement the large scale quantum algorithms. Also, performing successive quantum gates, measurement of quantum circuits, etc. may introduce probabilities of errors in the quantum circuits and/or measured results of the quantum circuits.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A illustrates a system comprising a nano-mechanical linear resonator and an asymmetrically-threaded superconducting quantum interference device (ATS) that is configured to implement hybrid acoustic-electrical qubits, according to some embodiments.
FIG. 1B illustrates a modelling of a storage mode (a) and a dump mode (b) of a hybrid acoustic-electrical qubit, wherein for large energy decay rates (Kb) that are significantly larger than a two-phonon coupling rate (g2) the dump mode can be adiabatically eliminated, such that the hybrid acoustic-electrical qubit can be modeled as having a single phonon decay rate (K1) and being driven by a two phonon drive having a two-phonon decay rate (K2), according to some embodiments.
FIG. 2 illustrates a Foster network representing a one dimensional phononic-crystal-defect resonator (PCDR), according to some embodiments.
FIG. 3 illustrates a system comprising a plurality of nano-mechanical linear resonators and an asymmetrically-threaded superconducting quantum interference device (ATS) that is configured to provide multi-mode stabilization to hybrid acoustic-electrical qubits implemented via the plurality of nano-mechanical linear resonators, according to some embodiments.
FIG. 4 illustrates a system comprising a plurality of nano-mechanical linear resonators and an asymmetrically-threaded superconducting quantum interference device (ATS) that is configured to provide multi-mode stabilization to hybrid acoustic-electrical qubits implemented via the plurality of nano-mechanical linear resonators, wherein a microwave filter suppresses correlated decay processes, according to some embodiments.
FIG. 5 illustrates a process of stabilizing a nano-mechanical resonator using an asymmetrically-threaded superconducting quantum interference device (ATS), according to some embodiments.
FIG. 6 illustrates a process of stabilizing multiple nano-mechanical resonators using a multiplexed ATS, according to some embodiments.
FIG. 7 illustrates a data error occurring when measuring input errors for a set of qubits, wherein the data error causes multiple distinct syndromes, according to some embodiments.
FIG. 8 illustrates a measurement of logical Z for a repetition code and a corresponding circuit for measuring the logical Z for the repetition code, according to some embodiments.
FIG. 9 illustrates a circuit for preparing Q=SHS, wherein the CNOT gate is a single physical CNOT and Y is applied if the measurement outcome is −1, according to some embodiments.
FIG. 10 illustrates a circuit for preparing S, wherein the CNOT gate is a single physical CNOT and Z is applied if the measurement outcome is −1, according to some embodiments.
FIG. 11A illustrates a circuit for implementing a logical Toffoli gate using Toffoli magic state injection, wherein X and Z basis are measured, according to some embodiments.
FIG. 11B illustrates a table of Clifford error corrections to be applied based on the Z and X measurement basis of the circuit shown in FIG. 11A, according to some embodiments.
FIG. 12 illustrates a circuit for implementing a logical CZ gate using transversal CNOT gates and S gates, according to some embodiments.
FIG. 13 illustrates a circuit for preparing the computational basis state |ψ1, according to some embodiments.
FIG. 14 illustrates a circuit for implementing a first step of a Toffoli magic state preparation using a controlled gA gate, wherein error correction (EC) is performed for one or more rounds using a STOP algorithm, according to some embodiments.
FIG. 15 illustrates circuits for implementing a second step of the Toffoli magic state preparation, wherein the measurement of gA is repeated a number of times corresponding to a code distance (d) minus one divided by two, wherein a round of repetition code stabilizer measurements are performed between rounds of measuring gA, and wherein the protocol is aborted and started anew if any of the error detection measurements or gA measurements are non-trivial, according to some embodiments.
FIG. 16 illustrates growing the computational basis state of |ψ1, from a first code distance (d1) to a second code distance (d2), according to some embodiments.
FIG. 17 illustrates a circuit for measuring gA for a computational basis state |ψ1 with a code distance of three, according to some embodiments.
FIG. 18 illustrates an alternative circuit for measuring gA for a computational basis state |ψ1 using a flag qubit, according to some embodiments.
FIG. 19A illustrates an implementation of the gA measurement for a distance 5 repetition code prepared using a GHZ state, according to some embodiments.
FIG. 19B illustrates a circuit equivalent for implementing the gA measurement shown in FIG. 19A, according to some embodiments.
FIG. 20A illustrates high-level steps of a protocol for implementing a STOP algorithm, according to some embodiments.
FIG. 20B illustrates high-level steps for determining a parameter (ndiff) used in the STOP algorithm, according to some embodiments.
FIG. 21 illustrates high-level steps of a protocol for growing a repetition code from a first code distance to a second code distance using a STOP algorithm, according to some embodiments.
FIG. 22 illustrates high-level steps of a protocol for implementing a logical Toffoli gate using a bottom-up approach with Toffoli magic state injection, according to some embodiments.
FIG. 23 illustrates high-level steps for distilling a low-error rate logical Toffoli gate using multiple ones of the Toffoli magic states prepared using a bottom-up approach as described in FIG. 22, according to some embodiments.
FIG. 24 illustrates a layout of multiple bottom up Toffoli magic states that are used to distill low-error rate logical Toffoli gates, according to some embodiments.
FIG. 25 illustrates a gadget for injection of CCZ gates using a |CCZ magic state and a gadget for generalized CCZ injection for a unitary, according to some embodiments.
FIG. 26 illustrates a circuit for implementing distillation of two low-error rate logical Toffoli gates (CCZ gates) from eight magic state inputs, according to some embodiments.
FIG. 27 illustrates a Litinski diagram for performing lattice surgery realization of a distillation of eight Toffoli magic states to yield two low-error rate logical Toffoli gates, according to some embodiments.
FIG. 28 illustrates a process for distilling low-error rate logical Toffoli gates from a plurality of noisy Toffoli magic states, according to some embodiments.
FIG. 29A illustrates a process of distilling two low-error rate logical Toffoli gates from eight noisy Toffoli magic states, according to some embodiments.
FIG. 29B illustrates a process of distilling a low-error rate logical Toffoli gate from two noisy Toffoli magic states, according to some embodiments.
FIG. 30 illustrates an example method of performing lattice surgery to distill a low-error rate logical Toffoli gate from a plurality of noisy Toffoli magic states, according to some embodiments.
FIG. 31 illustrates a circuit for performing measurements of a readout qubit for a set of error correction gates in parallel with performing a next round of error correction gates, according to some embodiments.
FIG. 32 illustrates a more detailed circuit for performing measurements of a readout qubit for a set of error correction gates in parallel with performing a next round of error correction gates, according to some embodiments.
FIG. 33 illustrates the more detailed circuit for performing measurements of a readout qubit for a set of error correction gates in parallel with performing a next round of error correction gates, wherein the circuit includes a deflation of the ancilla qubit prior to a swap to the readout qubit and wherein the measurement comprises a parity measurement of the readout qubit, according to some embodiments.
FIG. 34 is a process flow diagram illustrating using a switch operator to excite a readout qubit such that a subsequent round of error correction gates can be applied in parallel with performing measurements of the readout qubit, according to some embodiments.
FIG. 35 is a process flow diagram illustrating a process for using deflation to perform measurements of a qubit, according to some embodiments.
FIG. 36A is a process flow diagram illustrating a process for deflating a cat qubit and measuring a “b” mode of the deflated cat qubit to determine information about a first mode of the deflated cat qubit, according to some embodiments.
FIG. 36B is a process flow diagram illustrating another process for deflating a cat qubit and measuring a “b” mode of the deflated cat qubit to determine information about a first mode of the deflated cat qubit, according to some embodiments.
FIG. 37 is a process flow diagram illustrating a process for evolving a cat qubit via three wave or higher mixing Hamiltonian and performing a homodyne, heterodyne, or photo detection of the evolved cat qubit to measure a measured property of another bosonic mode of the cat qubit, according to some embodiments.
FIG. 38 is a process flow diagram illustrating a process of utilizing a shifted Fock basis to simulate a cat qubit with (|α|2>>1), according to some embodiments.
FIG. 39 is a block diagram illustrating an example computing device that may be used in at least some embodiments.



While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to. When used in the claims, the term “or” is used as an inclusive or and not as an exclusive or. For example, the phrase “at least one of x, y, or z” means any one of x, y, and z, as well as any combination thereof.
DETAILED DESCRIPTION
The present disclosure relates to methods and apparatus for implementing a universal gate set for quantum algorithms that are fault-tolerant and that efficiently use resources.
In many circumstances, the overhead cost of performing universal fault-tolerant quantum computation for quantum algorithms may be high. To perform such fault-tolerant quantum computations, magic state distillation is often used. For example, magic state distillation may be used for simulating non-Clifford gates in a fault tolerant way. However, since magic state distillation circuits are not fault-tolerant, the Clifford operations must be encoded in a large distance code in order to have comparable failure rates with the magic states being distilled.
In order to perform quantum computations, universal fault-tolerant quantum computers may be required to be built with the capability of implementing all gates from a universal gate set with low logical error rates. Further, the overhead cost for achieving such low error rates may need to be low. Transversal gates are a natural way to implement such fault-tolerant gates. However, as is known from the Eastin-Knill theorem, given any stabilizer code, there will always be at least one gate in a universal gate set that cannot be implemented using transversal operations at the logical level.
In order to deal with this issue, several fault-tolerant methods for implementing gates in a universal gate set have been explored. However, magic state distillation remains a leading candidate in the implementation of a universal fault-tolerant quantum computer. However, the costs of performing magic state distillation remains high. One of the reasons for the high costs of magic state distillation is that the Clifford circuits used to distill the magic states are often not fault-tolerant. Consequently, the Clifford gates are encoded in some error correcting code (often the surface code) to ensure that these gates have negligible error rates compared to the magic states being injected.
In some embodiments, efficiently implementing a universal gate set may involve multiple layers of a quantum computer/quantum algorithm. For example at a lowest layer, building blocks of a quantum computer may include nano-mechanical resonators that are controlled using an asymmetrically-threaded superconducting quantum interference device (asymmetrically-threaded SQUID or ATS). The nano-mechanical resonators may be configured to resonate at one or more frequencies and may be coupled to the ATS, wherein the ATS controls the phononic modes. Also the ATS may be coupled to a bandpass filter and then an open transmission line that enables photons from the ATS to be adsorbed by the environment. At a next level, error correction may be implemented for the quantum computer comprising nano-mechanical resonators and an ATS. For example error corrected codes may be built that utilize the ATS and phononic modes of the nano-mechanical resonators to detect and/or correct errors. At yet another level, gates may be implemented for the quantum computer using the error corrected codes as inputs or outputs to the gates. Also, qubits of the gates may be error corrected. At yet a higher level logical gates may be built that utilize one or more of the physical gates. Note that while several of the protocols described herein, such as the STOP algorithm, bottom-up approach to preparing Toffoli gates, the top-down distillation of Toffoli gates, measurement techniques, and/or shifted Fock basis simulations are described in terms of a system that utilizes nano-mechanical resonators that implement hybrid acoustic-electrical qubits, in some embodiments other hardware types may be used, such as those that implement electromagnetic qubits.
Asymmetrically Threaded Superconducting Quantum Interference Device (ATS)-Phononic Hybrid System
In some embodiments, a circuit for use in a quantum computer may comprise nano-mechanical linear resonators and an asymmetrically threaded superconducting quantum interference device (SQUID, ATS). The nano-mechanical resonators and ATS may implement qubits that are hybrid acoustic-electrical qubits, for example as opposed to electromagnetic qubits. In some embodiments, both the nano-mechanical resonators and ATS may be situated on a same component and may provide for easily extending a system to include additional components with additional nano-mechanical resonators that implement additional hybrid acoustic-electrical qubits. This may also enable scaling of a number of qubits needed for a quantum computer by including more or fewer components. Such an approach may allow for simpler extension and scaling than a system wherein components that implement qubits are integrated into a single chip, and newly designed chips are required to extend or scale the system to have more or fewer qubits. As used herein, the terms “mechanical”. “acoustic”, “phononic”, etc. may be used to describe mechanical circuits as opposed to electromagnetic circuits.
In some embodiments, more phononic resonators (e.g. nano-mechanical resonators) may be connected to a same control circuit, such as an ATS, than is possible for electromagnetic resonators. This is due, at least in part, to the smaller size of the phononic resonators as compared to electromagnetic resonators. However, in such systems cross-talk between the phononic resonators coupled to the same control circuit must be addressed in order to avoid errors. Multiplexed control of phononic resonators using a common control circuit, such as an ATS, is further discussed in detail below.
In some embodiments, a structure of a chip comprising phononic resonators may take the form of a planar circuit with metal components that form superconducting circuits, such as the ATS. The ATS may be physically connected via wire leads to very small (e.g. micron-sized or nano-sized) suspended mechanical devices, such a linear nano-mechanical resonator. The suspended mechanical devices may be located on a same chip with the ATS circuit or may by located on a separate chip that has been heterogeneously integrated via a flip chip, or similar component, with a bottom chip comprising the ATS and/or additional suspended mechanical devices, e.g. other mechanical resonators.
In some embodiments, electrical connections to the ATS may be laid on top of a piezoelectric material that has been etched into a pattern to form the nano-mechanical resonators. In some embodiments, different variables, such as piezoelectric coefficient, density, etc. may affect how strongly coupled the ATS is to the mechanical resonators. This coupling may be expressed in terms of a phonon coupling rate in the Hamiltonian for the system.
When coupling a nano-structure, such as a nano-mechanical resonator, to an electrical circuit, very small capacitors are required since the nano-structure components, e.g. nano-mechanical resonators, are also very small. Typically in an electrical circuit, such as an ATS circuit, there are other capacitances. Since the capacitor for the nano-structure is very small, these other capacitances in the circuit may lower the signal voltage and thus dilute a signal directed to one of the nano-components, such as a nano-mechanical resonator. However, to deal with this issue, a high-impedance inductor may be coupled in the control circuit between the ATS and the nano-mechanical resonator. The high-impedance inductor may have a very low parasitic capacitance, thus electrical fields directed at the nano-mechanical resonators may act on the nano-mechanical resonators with only minimal dilution due to capacitance of the inductor (e.g. parasitic capacitance). Also, the high impedance inductor may suppress loss mechanisms.
In some embodiments, the non-linear coupling of the nano-mechanical resonators may be given by g2ä2{umlaut over (b)}2b†+h.c., where g2 is a coupling rate between a storage mode (a) and a dump mode (b). In some embodiments, the non-linearity may be implemented using an asymmetrically threaded SQUID (superconducting quantum interference device), also referred to herein as an “ATS.” The ATS may comprise a superconducting quantum interference device (SQUID) that has been split approximately in the middle by a linear inductor. In its most general form, the ATS potential is given by the following equation:

U({circumflex over (φ)})=1⁄2EL,b{circumflex over (φ)}2−2Ej cos(φΣ)cos({circumflex over (φ)}+φΔ)+2ΔEj sin(φΣ)sin({circumflex over (φ)}+φΔ)

In the above equation, {circumflex over (φ)} is the phase difference across the ATS, φΣ:=(φext,1+φext,2)/2, φΔ:=(φext,1−φext,2)/2, and φext,1(φext,2) is the magnetic flux threading the left (right) loop, in units of the reduced magnetic flux quantum Φ02=h/2E. Here EL,b=Φ02/Lb; Ej=(Ej,1+Ej,2)/2; and




  
    Δ
    ⁢
    
      
    
    ⁢
    
      E
      j
    
  
  =
  
    
      (
      
        
          E
          
            j
            ,
            1
          
        
        -
        
          E
          
            j
            ,
            2
          
        
      
      )
    
    2
  




is the junction asymmetry. This ATS potential can be further simplified by tuning φΣ and φΔ with two separate flux lines. For example, FIG. 1A illustrates ATS 102 included in control circuit 100, wherein ATS 102 includes separate flux lines 108 and 110. Note that FIG. 1A includes ATS 102 in control circuit 100 and also an enlarged depiction of ATS 102 adjacent to control circuit 102 that shows ATS 102 in more detail. The flux lines may be set such that:





  
    φ
    Σ
  
  =
  
    
      
        π
        2
      
      +
      
        
          
            ε
            p
          
          ⁡
          
            (
            t
            )
          
        
        ⁢
        
          
        
        ⁢
        and
        ⁢
        
          
        
        ⁢
        
          φ
          Δ
        
      
    
    =
    
      π
      2
    
  




In the above equations, εp(t)=εp,0 cos(ωpt) is a small alternating current (AC) component added on top of the direct current (DC) basis. At this bias point, and assuming that |εp(t)|<<1 then the equation above for U({circumflex over (φ)}) can be reduced to:

U(φ)=1⁄2EL,b{circumflex over (φ)}2−2Ejεp(t)sin({circumflex over (φ)})+2ΔEj cos({circumflex over (φ)}).

Using the control circuit 100 shown in FIG. 1A, quantum information may be stored in a state of a linear mechanical resonator. For example quantum information may be stored in storage mode 106. The stored quantum information may also be autonomously error corrected by way of artificially induced two-phonon driving and two-phonon decay controlled by the ATS. These two phonon processes are induced through the non-linear interaction g2 â2{circumflex over (b)}†+h.c. between the storage mode a and an ancillary mode b, called the dump, such as dump mode 104 shown in FIG. 1A. The dump mode is designed to have a large energy decay rate Kd so that it rapidly and irreversibly “dumps” the photons it contains into the environment. If Kd is much larger (e.g.  ̃10× or more) than the coupling rate g2, then the dump mode can be adiabatically eliminated from the Hamiltonian, for example as shown in FIG. 1B. For example, as shown on the right side of FIG. 1B, the emission of phonon pairs via g2 â2{circumflex over (b)}† can be accurately modeled as a dissipative process described by a dissipator  ̃D[a2]. Additionally, if the dump mode is linearly driven as ε*be−ωdt+h.c. this provides the required energy to stimulate the reverse process g*2(a+2)b, which in the adiabatic elimination, as shown in FIG. 1B, can be modeled as an effective two-phonon drive. Altogether, the dynamics can be accurately modeled through the equation:




  
    
      dρ
      dt
    
    =
    
      
        K
        2
      
      ⁢
      
        D
        ⁡
        
          [
          
            
              a
              2
            
            -
            
              α
              2
            
          
          ]
        
      
    
  
  ,
  
    
      where
      ⁢
      
        
      
      ⁢
      α
    
    =
    
      
        
          ε
          /
          
            g
            2
          
        
        ⁢
        
          
        
        ⁢
        and
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        
          k
          2
        
      
      =
      
        4
        ⁢
        
          
            g
            2
            2
          
          /
          
            K
            d
          
        
      
    
  




The steady states of the dynamics of the system shown in FIG. 1B are the coherent states |α>, |−α>, or any arbitrary superposition of the two. This protected subspace can be used to encode a qubit through the following definition of a logical basis: |0L=|α, |1L=|−α. Qubits encoded in this way are effectively protected from X errors (e.g. bit flips) because the bit-flip rate decays exponentially with the code distance |α2|, as long as K2|α|2>>K1, wherein K1 is the ordinary (e.g. single-photon) decay rate of the storage mode. Since |α|2 ̃1, this condition is generally equivalent to K2/K1>>1. However, Z errors (e.g. phase flips) may not be protected by this code.
As discussed above, an ATS is formed by splitting a SQUID with a linear inductor. The magnetic flux threading of each of the two resulting loops of the ATS can be controlled via two nearby on-chip flux lines, such as flux lines 108 and 110 shown in FIG. 1A. These flux lines can be tuned to appropriate values and can send radio frequency (rf) signals at appropriate frequencies for a desired non-linear interaction to be resonantly activated in the nano-mechanical resonator. The dump mode 104, may further be strongly coupled to a dump line of characteristic impedance Z0, which induces a large energy decay rate as required.
In some embodiments, the nano-mechanical storage resonator (e.g. storage 106) may be a piezoelectric nano-mechanical resonator that supports resonances in the GHz range. These resonances may be coupled to superconducting circuits of the control circuit 100 via small superconducting electrodes (e.g. terminals) that either directly touch or closely approach the vibrating piezoelectric region of the nano-mechanical resonators. The values of the nonlinear coupling rate g2, the two-phonon dissipation rate k2, and the ratio K2/K1 can be calculated as follows:
First, compute the admittance Ym(Ω) seen at the terminals of the nano-mechanical resonator using a finite element model solver. Next, find an equivalent circuit using a Foster synthesis algorithm (further discussed below). Then, diagonalize the combined circuit and compute the zero-point phase fluctuations φa,zp and φb,zp. Furthermore, compute the dissipation rates kb and k1 of the eigenmodes. Next compute




  
    
      g
      2
    
    =
    
      
        (
        
          
            E
            j
          
          h
        
        )
      
      ⁢
      
        ε
        0
      
      ⁢
      
        φ
        
          a
          ,
          zp
        
        2
      
      ⁢
      
        
          φ
          
            b
            ,
            zp
          
          2
        
        /
        2.
      
      ⁢
      
        
      
      ⁢
      Also
    
  
  ,
  
    
      compute
      ⁢
      
        
      
      ⁢
      
        k
        2
      
    
    =
    
      4
      ⁢
      
        
          g
          2
          2
        
        /
        
          
            k
            d
          
          .
        
      
    
  




In some embodiments, a nano-mechanical element, such as the nano-mechanical resonator that implements storage mode 106 and dump mode 104 may be represented as an equivalent circuit that accurately captures its linear response. This can be done using Foster synthesis if the admittance Ym(ω) seen from the terminals of the mechanical resonator is known. For example, the admittance may be computed using finite element modeling. In some embodiments, a Foster network may be used to accurately represent a one-dimensional (e.g. linear) phononic-crystal-defect resonator (PCDR), which may be a type of nano-mechanical resonator used in some embodiments. In some embodiments, the dump resonator may be modeled as having a fixed impedance, such as 1 kilo ohms.
For example FIG. 2 illustrates a version of control circuit 100 that has been represented using a Foster network (e.g. equivalent circuit 200). In its simplest form, equivalent circuit 200 may be represented as ‘a DC capacitance’ in series with an LC block (e.g. L represents and inductor and C represents a capacitor for the LC block), wherein an additional resistor is inserted to include the effects of the loss in the resonator. For example, Foster network 210 is modeled to include capacitor 204, inductor 206, and resistor 208. The linear part of the dump resonator (including the inductor that splits the ATS) can also be represented as an LC block, such as LC block 212. In this representation the dump resonator (e.g. 212) and the storage resonator (e.g. 210) are represented as two linear circuits with a linear coupling and can therefore be diagnolized by a simple transformation of coordinates. For example, FIG. 2 illustrates a diagnolized circuit representation 214. The resulting “storage-like” (â) and “dump-like” ({circumflex over (b)}) eigenmodes both contribute to the total phase drop across the ATS. For example, {circumflex over (φ)}=φa(â+â†)+φb({circumflex over (b)}+{circumflex over (b)}†). These modes therefore mix the via the ATS potential, which may be redefined as U({circumflex over (φ)})→U({circumflex over (φ)})−EL,b{circumflex over (φ)}2/2 because the inductor has already been absorbed into the linear network. The zero-point phase fluctuations of each mode are given by:




  
    φ
    
      k
      ,
      j
    
  
  =
  
    
      
        h
        
          2
          ⁢
          
            ω
            k
          
        
      
    
    ⁢
    
      
        (
        
          
            C
            
              
                -
                1
              
              /
              2
            
          
          ⁢
          U
        
        )
      
      jk
    
  




In the above equation C is the Maxwell capacitance matrix of the circuit. U is the orthogonal matrix that diagnolizes C−1/2L−1C−1/2, where L−1 is the inverse inductance matrix. The index k∈{a, b} labels the mode and j labels the node in question. Note that in some instances as described herein the notation of j may be omitted because it is clear from context, e.g. the node of interest is the one right above the ATS.
The way in which the ATS mixes the modes is explicit given the third-order term in the Taylor series expansion of the sin({circumflex over (φ)}) contains terms of the form â2{circumflex over (b)}†+h.c., which is the required coupling. This is a reason for using the ATS as opposed to an ordinary junction, which has a potential  ̃cos({circumflex over (φ)}).
For analysis the pump and drive frequencies may be set to ωp=2ωa−ωb and ωd=ωb. This brings the terms g2â2{circumflex over (b)}†+h.c. into resonance allows the other terms in the rotating wave approximation (RWA) to be dropped. The coupling is given by g2=∈0 Ejφa2φb/2h. Additionally, a linear drive ∈*d{circumflex over (b)}+h.c. at frequency ωd=ωb is added to supply the required energy for the two-photon drive.
Multi-Mode Stabilization ATS Multiplexing
In some embodiments, the scheme as described above may be extended to be used in a multi-mode setting, in which N>1 storage resonators are simultaneously coupled to a single dump+ATS. This may allow for the cat subspaces of each of the storage modes to be stabilized individually. For example, a dissipator of the form ΣnD[an2−α2]. However, in order to avoid simultaneous or coherent loss of phonons from different modes (which fails to stabilize the desired subspaces), an incoherent dissipator is required. This can be achieved if the stabilization pumps and the drives for the different modes are purposefully detuned as follows:

H=Σm(∈*m(d)(t)b†+h.c.)+Σm,i,j(g*ij(m)(t)aiajb†+h.c.),

where

∈*m(d)(t)=∈*m(d)eiΔmteiΔmt and g*ij(m)(t)=g*2ei(2ωm−ωi+Δm)t 

In the above equation ωm(p)=2ωm−Ωb+Δm and ωm(d)=ωb−Δm are the pump and drive frequencies for mode m. By detuning the pumps, the pump operators of different modes can rotate with respect to each other. If the rotation rate is larger than k2 then the coherences of the form ai2ρ(aj†)2 in the Lindbladian vanish in a time averaged sense. The drive de-tunings allow the pumps and drives to remain synchronized even though the pumps have been detuned relative to one another.
In some embodiments, the modes a1 and a2 may be simultaneously stabilized using a multiplexed ATS, wherein the pumps have been detuned. Simulations may be performed to determine the detuning parameters using the simulated master equation, as an example:




  
    ρ
    .
  
  =
  
    
      -
      
        i
        ⁡
        
          [
          
            
              
                
                  Δ
                  2
                
                ⁢
                
                  a
                  1
                  †
                
                ⁢
                
                  a
                  1
                
              
              +
              
                (
                
                  
                    
                      ε
                      2
                    
                    ⁢
                    
                      e
                      
                        i
                        ⁢
                        
                          
                        
                        ⁢
                        Δ
                        ⁢
                        
                          
                        
                        ⁢
                        t
                      
                    
                    ⁢
                    
                      a
                      1
                      †2
                    
                  
                  +
                  
                    
                      ε
                      2
                    
                    ⁢
                    
                      a
                      2
                      †2
                    
                  
                  +
                  
                    h
                    .
                    c
                    .
                  
                
                )
              
            
            ,
            ρ
          
          ]
        
      
    
    +
    
      
        k
        2
      
      ⁢
      
        D
        ⁡
        
          [
          
            
              a
              1
              2
            
            +
            
              a
              2
              2
            
          
          ]
        
      
      ⁢
      
        (
        ρ
        )
      
    
  




Bandwidth Limits

The above described tuning works best when the detuning Δ is relatively small as compared to kb. This is due to the fact that, unlike the single-mode case, where k2=4g22/kb, the two-phonon decay of the multi-mode system is given by:




  
    k
    
      2
      ,
      n
    
  
  =
  
    
      
        4
        ⁢
        
          
            
            g
            
          
          2
        
      
      
        k
        b
      
    
    ⁢
    
      1
      
        1
        +
        
          4
          ⁢
          
            
              (
              
                
                  Δ
                  n
                
                /
                
                  k
                  b
                
              
              )
            
            2
          
        
      
    
  




The Lorentzian suppression factor can be understood by the fact that photons/phonons emitted by the dump mode as a result of stabilizing mode n are emitted at a frequency ωb+Δn and are therefore “filtered” by the Lorentzian line-shape of the dump mode which has linewidth kb. This sets an upper bound on the size of the frequency region that the de-tunings are allowed to occupy. Furthermore, in some embodiments, the de-tunings Δn may all be different from each other by amount greater than k2 in order for the dissipation to be incoherent. In a frequency domain picture, the spectral lines associated with emission of photons/phonons out of the dump must all be resolved. This, also sets a lower bound on the proximity of different tunings. As such, since an upper bound and lower bound are set, bandwidth limits for the de-tunings may be determined. Also, taking into account these limitations, an upper bound on the number of modes that can be simultaneously stabilized by a single dump can also be determined. For example, if de-tunings are selected to be Δn=nΔ, with Δ ̃k2, then the maximum number of modes that may be simultaneously stabilized may be limited as Nmax ̃kb/Δ ̃kb/k2. As a further example, for typical parameters, such as kb/2π ̃10 MHz and k2/2π ̃1 MHz, this results in bandwidth limits that allow for approximately 10 modes to be simultaneously stabilized.
For example, FIG. 3 illustrates a control circuit 300 that includes a single dump resonator 302 that stabilizes multiple storage resonators 304.
Use of a High-Impedance Inductor to Enhance Coupling Between a Dump Resonator and One or More Storage Resonators
In some embodiments, the coupling rate g2 may be increased by using a high impedance inductor. This is because g2 depends strongly on the effective impedance Zd of the dump resonator. For example, g2 ̃Zd5/2. Thus, in some embodiments, using a large inductor in the ATS may result in a large effective impedance Zd. In some embodiments, the inductor chosen to be included in the ATS circuit may be sufficiently linear to ensure stability of the dump circuit when driven strongly during stabilization. For example, a high impedance inductor used may comprise a planar meander or double-spiral inductor, a spiral inductor with air bridges, an array with a large number of (e.g. greater than 50) highly transparent Josephson junction, or other suitable high impedance inductor.
Filtering in Multi-Mode Stabilization/Multiplexed ATS
In some embodiments, microwave filters (e.g. metamaterial waveguides) may be used to alleviate the limitations with regard to bandwidth limits as discussed above. Such filters may also be used to eliminate correlated errors in multiplexed stabilization embodiments. For example, FIG. 4 illustrates control circuit 400 that includes a single dump resonator 404, multiple storage resonators 406, and a filter 402.
More specifically, when stabilizing multiple storage modes with the same dump resonator and ATS device a number of cross-terms appear in the Hamiltonian that would otherwise not be there in the single-mode case. For example, these terms take the form of g2ajakb+e−ivt. After adiabatic elimination of the b mode (for example as discussed in regard to FIG. 1), these terms effectively become jump operators of the form k2,effajake−ivt. Unlike the desired jump processes k2, aj2, which result in the individual stabilization of the cat subspace of each resonator, the correlated decay terms result in simultaneous phase flips of the resonators j and k. For example, these correlated errors can be damaging to the next layer of error correction, such as in a repetition or striped surface code.
In some embodiments, in order to filter out the unwanted terms in the physical Hamiltonian that give rise to effective dissipators that cause correlated phase flips, the de-tunings of the unwanted terms may be larger than half the filter bandwidth. This may result in an exponential suppression of the unwanted terms. Said another way, the de-tunings and filter may be selected such that detuning of the effective Hamiltonian is larger than half the filter bandwidth. Moreover, the filter mode (along with the dump mode) may be adiabatically eliminated from the model in a similar manner as discussed in FIG. 1B for the adiabatic elimination of the dump mode. This may be used to determine an effective dissipator for a circuit such as control circuit 400 that includes both dump resonator 404 and filter 402.
As discussed above, correlated phase errors may be suppressed by a filter if the corresponding emitted photons have frequencies outside of the filter bandwidth. In some embodiments, all correlated phase errors may be simultaneously suppressed by carefully choosing the frequencies of the storage modes. For example cost functions may be used taking into account a filter bandwidth to determine optimized storage frequencies. For example, in some embodiments a single ATS/dump may be used to suppress decoherence associated with all effective Hamiltonians for 5 storage modes. In such embodiments, all dominant sources of stochastic, correlated phase errors in the cat qubits may be suppressed.
Multi-Terminal Mechanical Resonators
In some embodiments, nano-mechanical resonators, such as those shown in FIGS. 1-4 may be designed with multiple terminals that allow a given nano-mechanical resonator to be coupled with more than one ATS/control circuit. For example a single connection ATS may include a ground terminal and a signal terminal, wherein the signal terminal couples with a control circuit comprising an ATS. In some embodiments, a multi-terminal nano-mechanical resonator may include more than one signal terminal that allows the nano-mechanical resonator to be coupled with more than one control circuit/more than one ATS. For example, in some embodiments, a nano-mechanical resonator may include three or more terminals that enable the nano-mechanical resonator to be coupled with three or more ATSs. If not needed an extra terminal could be coupled to ground, such that the multi-terminal nano-mechanical resonator functions like a single (or fewer) connection nano-mechanical resonator. In some embodiments, different signal terminals of a same nano-mechanical resonator may be coupled with different ATSs, wherein the ATSs may be used to implement gates between mechanical resonators, such as a CNOT gate. For example, this may allow for implementation of gates on the stabilizer function.
Example Physical Gate Implementations
Recall the Hamiltonian of a system comprising of multiple phononic modes âk coupled to a shared ATS mode {circumflex over (b)}:




  
    H
    ^
  
  =
  
    
      
        ∑
        
          k
          =
          1
        
        N
      
      ⁢
      
        
          ω
          k
        
        ⁢
        
          
            a
            ^
          
          k
          †
        
        ⁢
        
          
            a
            ^
          
          k
        
      
    
    +
    
      
        ω
        b
      
      ⁢
      
        
          b
          ^
        
        †
      
      ⁢
      
        b
        ^
      
    
    -
    
      2
      ⁢
      
        E
        j
      
      ⁢
      
        
          ε
          p
        
        ⁡
        
          (
          t
          )
        
      
      ⁢
      
        sin
        ⁡
        
          (
          
            
              
                ∑
                
                  k
                  =
                  1
                
                N
              
              ⁢
              
                
                  φ
                  ^
                
                k
              
            
            +
            
              
                φ
                ^
              
              b
            
          
          )
        
      
    
  




wherein {circumflex over (φ)}k≡φk(âk+âk†) and {circumflex over (φ)}b≡φb({circumflex over (b)}+{circumflex over (b)}†). Also, φk and φb quantify zero-point fluctuations of the modes âk and {circumflex over (b)}. To simplify the discussion, neglect small frequency shifts due to the pump εp(t) for the moment and assume that the frequency of a mode is given by its bare frequency (in practice, however, the frequency shifts need to be taken into account; see below for the frequency shift due to pump). Then, in the rotating frame where every mode rotates with its own frequency, the following is obtained:




  
    
      H
      ^
    
    rot
  
  =
  
    
      -
      2
    
    ⁢
    
      E
      j
    
    ⁢
    
      
        ε
        p
      
      ⁡
      
        (
        t
        )
      
    
    ⁢
    
      sin
      ⁡
      
        (
        
          
            
              ∑
              
                k
                =
                1
              
              N
            
            ⁢
            
              
                φ
                k
              
              ⁢
              
                
                  a
                  ^
                
                k
              
              ⁢
              
                e
                
                  
                    -
                    
                      ω
                      k
                    
                  
                  ⁢
                  t
                
              
            
          
          +
          
            
              h
              .
              c
              .
              
                +
                
                  φ
                  b
                
              
            
            ⁢
            
              b
              ^
            
            ⁢
            
              e
              
                
                  -
                  
                    ω
                    b
                  
                
                ⁢
                t
              
            
          
          +
          
            h
            .
            c
            .
          
        
        )
      
    
  




where φk and φb quantify zero-point fluctuations of the modes âk and {circumflex over (b)}. Note that the rotating frame has been used where each mode rotates with its own frequency.

First, a linear drive on a phononic mode, say âk, can be readily realized by using a pump εp(t)=εp cos(ωpt) and choosing the pump frequency ωp to be the frequency of the mode that is to be driven, that is, ωp=ωk. Then, by taking only the leading order linear term in the sine potential (e.g., sin({circumflex over (x)})≅={circumflex over (x)} we get the desired linear drive:

Ĥrot=−2Ejεpφk(âk+âk†)+H′

where H′comprises fast-oscillating terms such as −Ejεp(φlâle−i(ωl−ωk)t+h.c.) with l≠k and Ejεp(φb{circumflex over (b)}e−i(ωb−ωk)t+h.c.) as well as other terms that rotate even faster. Since the frequency differences between different modes are on the order of 100 MHz but |εz|/(2π) is typically much smaller than 100 MHz, the faster oscillating terms can be ignored using a rotating wave approximation (RWA).

To avoid driving unwanted higher order terms, one may alternatively drive the phononic mode directly, at the expense of increased hardware complexity, instead of using the pump εp(t) at the ATS node.
Now moving on to the implementation of the compensating Hamiltonian for a CNOT gate. For example a compensating Hamiltonian for a CNOT gate may have the form:




  
    
      H
      ^
    
    CNOT
  
  =
  
    
      π
      
        4
        ⁢
        α
        ⁢
        
          
        
        ⁢
        T
      
    
    ⁢
    
      (
      
        
          
            a
            ^
          
          1
        
        +
        
          
            a
            ^
          
          1
          †
        
        -
        
          2
          ⁢
          α
        
      
      )
    
    ⁢
    
      (
      
        
          
            
              a
              ^
            
            2
            †
          
          ⁢
          
            
              a
              ^
            
            2
          
        
        -
        
          α
          2
        
      
      )
    
  




Without loss of generality, consider the CNOT gate between the modes â1 (control) and â2 (target), Note that ĤCNOT comprises an optomechanical coupling




  
    π
    
      4
      ⁢
      α
      ⁢
      
        
      
      ⁢
      T
    
  
  ⁢
  
    (
    
      
        
          a
          ^
        
        1
      
      +
      
        
          a
          ^
        
        1
        †
      
    
    )
  
  ⁢
  
    
      a
      ^
    
    2
    †
  
  ⁢
  
    
      a
      ^
    
    2
  




between two phononic modes, a linear drive on the control mode





  
    
      -
      
        (
        
          πα
          
            4
            ⁢
            
              
            
            ⁢
            T
          
        
        )
      
    
    ⁢
    
      (
      
        
          
            a
            ^
          
          1
        
        +
        
          
            a
            ^
          
          1
          †
        
      
      )
    
  
  ,




and a selective frequency shift of the target mode





  
    -
    
      (
      
        π
        
          2
          ⁢
          T
        
      
      )
    
  
  ⁢
  
    
      a
      ^
    
    2
    †
  
  ⁢
  
    
      
        a
        ^
      
      2
    
    .
  




To realize the optomechanical coupling, one might be tempted to directly drive the cubic term â1â2†â2+h.c., in the sine potential via a pump εp(t)=εp cos(ωpt). However, the direct driving scheme is not suitable for a couple of reasons: since the term â1â2†â2 rotates with frequency ω1, the required pump frequency is given by ωp=ω1 which is the same pump frequency reserved to engineer a linear drive on the â1 mode. Moreover, the term â1â2†â2 rotates at the same frequency as those of undesired cubic terms. Hence, even if the linear drive is realized by directly driving the phononic mode â1, one cannot selectively drive the desired optomechanical coupling by using the pump frequency ωp=ω1 due to the frequency collision with the other cubic terms.

In some embodiments, to overcome these frequency collision issues, the optomechanical coupling is realized by off-resonantly driving the term (â1+λ)â2{circumflex over (b)}†. For example, the fact that a time-dependent Hamiltonian Ĥ=λÂ{circumflex over (b)}†eiΔt yields an effective Hamiltonian Ĥeff=(x2/Δ)Â†Â upon time-averaging is used assuming that the population of the {circumflex over (b)} mode is small (e.g. {circumflex over (b)}†{circumflex over (b)}<<1) and the detuning Δ is sufficiently large. Hence given a Hamiltonian Ĥ=x(â1+λ)â2{circumflex over (b)}†e−Δt=h.c., this gives




  
    
      H
      ^
    
    eff
  
  =
  
    
      
        
          x
          2
        
        ⁢
        λ
      
      Δ
    
    ⁢
    
      (
      
        
          
            a
            ^
          
          1
        
        +
        
          
            a
            ^
          
          1
          †
        
        +
        λ
        +
        
          
            1
            λ
          
          ⁢
          
            
              a
              ^
            
            1
            †
          
          ⁢
          
            
              a
              ^
            
            1
          
        
      
      )
    
    ⁢
    
      
        a
        ^
      
      2
      †
    
    ⁢
    
      
        a
        ^
      
      2
    
  




In particular, by choosing Δ=−2α, the optomechanical coupling can be realized as well as the selective frequency shift of the â2 mode, e.g. Ĥeff∝({circumflex over (ä)}1+ä1†−2α)â2†â2 up to an undesired cross-Ker term −â1†â1â2†â2/(2α). In this scheme, the desired selectivity is achieved because the term (â1+λ)â2{circumflex over (b)}† is detuned from other undesired terms such as (â1+λ)âk{circumflex over (b)}† with k≥3 by a frequency difference ω2−ωk. Thus, the unwanted optomechanical coupling (â1+â1†)âk†â2 can be suppressed by a suitable choice of the detuning Δ. It is remarked that the unwanted cross-Kerr term â1†â1â2†â2 can in principle be compensated by off-resonantly driving another cubic term â1â2 {circumflex over (b)}† with a different detuning Δ′≠Δ.
Lastly, similar approaches as used in the compensating Hamiltonian for the CNOT gate can also be used for a compensating Hamiltonian for a Toffoli gate.
Example Processes for Implementing an ATS-Phononic Hybrid System
FIG. 5 illustrates a process of stabilizing a nano-mechanical resonator using an asymmetrically-threaded superconducting quantum interference device (ATS), according to some embodiments.
At block 502, a control circuit of a system comprising one or more nano-mechanical resonators causes phonon pairs to be supplied to the nano-mechanical resonator via an ATS to drive a stabilization of a storage mode of the nano-mechanical resonator such that the storage mode is maintained in a coherent state. Also, at block 504, the control circuit dissipates phonon/photon pairs from the nano-mechanical resonator via an open transmission line of the control circuit that is coupled with the nano-mechanical resonator and the ATS.
FIG. 6 illustrates a process of stabilizing multiple nano-mechanical resonators using a multiplexed ATS, according to some embodiments.
At block 602, storage modes for a plurality of nano-mechanical resonators that are driven by a multiplexed ATS are chosen such that the storage modes are de-tuned. For example, block 602 may include detuning storage modes supported by a plurality of nano-mechanical resonators from a dump resonator containing an asymmetrically-threaded superconducting quantum interference device At block 604 phonon pairs are supplied to a first one of the nano-mechanical resonators at a first frequency and at 606 phonon pairs are supplied to other ones of the nano-mechanical resonators at other frequencies such that the frequencies for the respective storage modes of the nano-mechanical resonators are detuned. For example, blocks 604 and 606 may include applying a pump and drive to an ATS to activate two-phonon driven-dissipative stabilization to a first one of the nano-mechanical resonators and suppressing, via a microwave bandpass filter, correlated decay processes from the plurality of nano-mechanical resonators.
Additionally, the storage mode frequencies and a bandwidth for a filter of the control circuit may be selected such that de-tunings of unwanted terms are larger than half the filter bandwidth. Then, at block 608 a microwave filter with the determined filter bandwidth properties may be used to filter correlated decay terms from the plurality of nano-mechanical resonators.
STOP Algorithm and Preparation of a Fault-Tolerant Universal Gate Set Including Bottom-Up Preparation of Toffoli Gates
In some embodiments, the systems described above that implement hybrid acoustic-electrical qubits may be used to implement a universal gate set. In some embodiments, error correction may be used to correct for errors and/or noise in such systems. In some embodiments, a STOP algorithm, as described herein, may provide an efficient protocol for providing error detection and/or correction. In some embodiments, systems, as described above, that implement hybrid acoustic-electrical qubits may introduce noise that is biased towards phase flip errors. With such knowledge about error bias, error correction protocols, such as a STOP algorithm, may be used to efficiently correct for errors. Additionally, as further discussed below, error correction may be used to correct for errors when preparing Toffoli gates using a bottom-up approach (and/or when using a top-down approach which is further discussed in the next section).
In some embodiments, a STOP algorithm may be used to determine when it is acceptable to STOP measuring stabilizer measurements as part of an error detection/error correction operation while guaranteeing a low probability of logical errors. For example, a STOP algorithm may be used to measure stabilizer measurements prior to performing a Toffoli gate wherein measured errors are corrected prior to applying the Toffoli gate.
An alternative to using a STOP decoder may be to use graph based error correction techniques. However, these techniques are typically predicated on the use of Clifford gates and are not as useful when applying Toffoli gates. For example, these techniques involve measuring data qubits at the end of performing an operation to determine errors. However, for non-Clifford gates, a single qubit error of the initial input qubits can cause a logical failure that may not be detected using a standard graph based error correction technique.
In contrast, a STOP algorithm measures stabilizers for input data qubits such that error detection and/or correction can be performed prior to performing an operation, such as a non-Clifford gate. In addition, instead of measuring the stabilizers for the data qubits a fixed number of times, which may be insufficient to detect/correct logical errors in some situations, or which may be unnecessary in other situations, a STOP algorithm may be used to determine when stabilizer measurements can be stopped while still guaranteeing a low probability of logical errors. For example, in some embodiments, a STOP algorithm may guarantee that a total number of failures is less than a code distance of repeatedly encoded data qubits (e.g. a repetition code) divided by two. Thus the majority of the repeated data qubits are known to not be erroneous and a logical error will not occur because the majority of the encoded data qubits are correct. For example, errors can be tolerated as long as the total number of errors is less than the code distance divided by two. In such situations, the errors will not result in a logical error, because the majority of the encoded qubits are not erroneous. Note that a physical error is distinct from a logical error. A physical error acts on an individual qubit, whereas a logical error is an erroneous logical output determined based on physical qubits. A logical error cannot be directly detected, and if not detected, cannot be corrected. For example, an uncorrected physical error may result in a logical error, but if the physical error was undetected, there is no way to subsequently measure the logical error caused by the physical error, without knowing about the physical error.
In some embodiments, a STOP algorithm may also be applied to qubits used for performing non-Clifford gates, such as a Toffoli gate. Also, in some embodiments, a STOP algorithm may be used when growing a repetition code from a first code distance to a second code distance, wherein stabilizers at a boundary between code blocks that are being joined to grow the repetition code are measured. The STOP algorithm may be used to determine when repeated measurements of the stabilizers at the boundary can be stopped without introducing logical errors into the expanded repetition code.
In some embodiments, when preparing a Toffoli gate, a STOP algorithm may be used to detect and/or correct errors in the initial computational basis states used to prepare the Toffoli gate. The STOP algorithm may also be used in preparing Clifford gates that are applied in a sequence to implement the Toffoli gate, wherein the STOP algorithm is used to detect/correct errors in the Clifford gates. Additionally, the STOP algorithm may be used to perform error detection/correction between measurements of gA which is repeatedly measured as part of preparing the Toffoli gates using a bottom up approach, as further discussed below. In some embodiments, a round of error detection may be performed between each round of measuring gA.
In some embodiments, a STOP algorithm may follow an algorithm similar to the algorithm shown below:












 Set: t = (d − 1)/2 ; ndiff = 0 ;countSyn = 1; SynRep = 1


ndiffIncrease = 0 ; test = 0


while test = 0 {


if ndiff = t {


test = 1;


}


Measure the error syndrome. Store the error syndrome from the previous


round in synPreviousRound and the current syndrome in


synCurrentRound.


if (countSyn > 1) {


if (synPreviousRound = synCurrentRound) {


SynRep = SynRep + 1;


ndiff Increase = 0;


} else {


SynRep = 0;


if (ndiffIncrease = 0) {


ndiff= n!′′## + 1;


ndiffIncrease = 1;


} else


ndiffIncrease = 0


}


}


if (SynRep = t − ndiff+ 1) {


test = 1;


}


countSyn = countSyn + 1;


}









Said another way, let Sj be the error syndrome of the jth round of syndrome measurements. The goal of the STOP algorithm is to compute the minimum number of faults that can cause changes between two consecutive syndromes. The worst case scenario is where a single two-qubit gate failure results in three different syndrome outcomes. To see this, let Sk−1 be the syndrome from round k−1. Now suppose the operator X⊗n is measured using the circuit 700 shown in FIG. 7 with the input error Ein such that s(Ein)=Sk−1. Further, suppose the last two-qubit gate fails resulting in the error X⊗. The X error results in the data error XEin (e.g. data error 702) which may have syndrome sk−1, while the Z error flips the syndrome outcome (e.g. measurement outcome 704), resulting in the syndrome sk which can be different from sk−1 and sk+1. Hence without any other failure, this example shows that a single fault can cause three distinct syndromes sk−1, sk and sk+1.
The STOP decoder tracks consecutive syndrome measurement outcomes s1, s2, . . . , sr′, where r is the total number of syndrome measurements (r is not fixed), between two syndrome measurement rounds k and k+1 (with corresponding syndromes sk and sk+1), wherein the minimum number of faults causing a change in syndrome outcome (represented by the variable ndiff) is only incremented if ndiff did not increase in round k.
Now assuming there were no more than t=(d−1)/2 faults for a distance d error correcting code, if the same syndrome s1 was repeated t−ndiff+1 times in a row, then the syndrome must have been correct (i.e. there were no measurement errors). As such, in this situation one could use the syndrome s1 to correct the errors and terminate the protocol.
Similarly, if ndiff=t, then there must have been at least t faults. As such, by repeating the syndrome measurement one more time (resulting in the syndrome sr) and using that syndrome to decode, there would need to be more than t faults for sr to produce the wrong correction. Hence the STOP decoder terminates if one of the following two conditions are satisfied:

    
    
        1) The syndrome s1 is obtained t−ndiff+1 times in a row. In which case the sj syndrome is used to decode. OR
        2) The variable ndiff gets incremented to ndiff=t. In which case, the syndrome measurement is repeated one more time and the repeated syndrome measurement is used to decode.

Stabilizer Operations with the Repetition Code

    
    


In some embodiments, logical computational basis states may be prepared using a repetition code. In some embodiments, stabilizer measurements of a repetition code may be performed using a STOP algorithm, as described above. Also, in some embodiments, the methods described herein may be applied to any family of Calderbank-Shor-Steane (CSS) codes.
In some embodiments, using the fact that for an n-qubit repetition code |+>L=|+⊗n, preparing |+⊗n followed by a logical ZL=Z⊗n measurement (see FIG. 8) projects the state to |0L given a +1 outcome and |1L given a −1 outcome. Since a measurement error on the ancilla results in a logical XL=X1 error applied to the data, fault tolerance can be achieved by repeating the measurement of ZL using the STOP algorithm (where the syndrome corresponds to the ancilla measurement outcome), and applying the appropriate XL correction given the final measurement outcome. For instance, if |0L is the desired state and the final measurement outcome at the termination of the STOP algorithm is −1, X1 would be applied to the data. Lastly, note that only X errors can propagate from the ancilla to the data but are exponentially suppressed by the cat-qubits.
In some embodiments, computational basis states may be prepared using an approach that only involves stabilizer measurements. For example, starting with the state |ψ1=|0⊗n which is a +1 eigenstate of ZL, measure all stabilizers of the repetition code (each having a random ±1 outcome) resulting in the state:



 
  
   
    
     ❘
     "\[LeftBracketingBar]"
    
    ψ
    〉
   
   2
  
  =
  
   
    ∏
    
     i
     =
     1
    
    
     n
     -
     1
    
   
   
    
     (
     
      
       I
       ±
       
        
         X
         i
        
        ⁢
        
         X
         
          i
          +
          1
         
        
       
      
      2
     
     )
    
    ⁢
    
     
      
       ❘
       "\[LeftBracketingBar]"
      
      0
      〉
     
     
      ⊗
      n
     
    
   
  
 



If the measurement outcome of XkXk+1 is −1, the correction Πj=1kZj can be applied to the data to flip the sign back to +1. However given the possibility of measurement errors, the measurement of all stabilizers X1X2, X2X3, . . . , Xn−1Xn must be repeated. If physical non-Clifford gates are applied prior to measuring the data, then the STOP algorithm can be used to determine when to stop measuring the syndrome outcomes. Subsequently, minimum-weight perfect matching (MWPM) may be applied to the full syndrome history to correct errors and apply the appropriate Z corrections to fix the code-space given the initial stabilizer measurements. When Clifford gates are applied to the data qubits in order to prepare a |TOF magic state, this second scheme for preparing the computational basis states may be used along with the STOP algorithm.
Additionally, it is pointed out that although the logical component of an uncorrectable error E(z)ZL(where E(z) is correctable) can always be absorbed by |0L resulting in an output state |ψoutE(z)|0L, it is still important to have a fault-tolerant preparation scheme for |0L (and thus to repeat the measurement of all stabilizers enough times). For instance, if a single fault results in a weight-two correctable Z error (assuming n≥5), a second failure during a subsequent part of the computation can combine with the weight-two error resulting in an uncorrectable data qubit error. Hence, such a preparation protocol would not be fault-tolerant up to the full code distance.
Implementation of Logical Clifford Gates
Since the CNOT gate is transversal for the repetition code, focus can be placed on implementing a set of single qubit Clifford operations. Recall that the Clifford group is generated by:



 
  
   
    P
    n
    
     (
     2
     )
    
   
   =
   
    〈
    
     
      H
      i
     
     ,
     
      S
      i
     
     ,
     
      CNOT
      ij
     
    
    〉
   
  
  ,
  
   
    where
    ⁢
       
    H
   
   =
   
    
     1
     
      2
     
    
    ⁢
    
     (
     
      
       
        1
       
       
        1
       
      
      
       
        1
       
       
        
         -
         1
        
       
      
     
     )
    
   
  
  ,
  
   S
   =
   
    
     (
     
      
       
        1
       
       
        0
       
      
      
       
        0
       
       
        i
       
      
     
     )
    
    ⁢
    g
   
  
 



Note that H and S given above are the Hadamard and phase gate operators. In some embodiments, S and Q=SHS may form a generating set for single-qubit Clifford operations. In implementing such states, injection of the state



 
  
   
    |
    
     
      ❘
      "\[LeftBracketingBar]"
     
     i
     〉
    
   
   =
   
    
     1
     
      2
     
    
    ⁢
    
     (
     
      
       
        ❘
        "\[LeftBracketingBar]"
       
       0
       〉
      
      +
      
       i
       ⁢
       
        
         ❘
         "\[LeftBracketingBar]"
        
        1
        〉
       
      
     
     )
    
   
  
  ,
 



which is a +1 eigenstate of the Pauli operator, may be performed.

In FIG. 10 a circuit 1000 for implementing SL is given, wherein the circuit takes |iL as an input state and includes a transversal CNOT gate and a logical Z-basis measurement. If a −1 measurement outcome is obtained, a ZL correction is applied to the data. Note however that a measurement error can result in a logical ZL being applied incorrectly to the data. As such, to guarantee fault-tolerance, one can repeat the circuit of FIG. 10 and use the STOP algorithm to decide when to terminate. The final measurement outcome may then be used to determine if ZL correction is necessary. The implementation of S can thus be summarized as follows:

    
    
        1.) Implement the circuit shown in FIG. 10 and let the measurement outcome be S1;
        2.) Repeat the circuit of FIG. 10 and use the STOP algorithm to decide when to terminate; and
        3.) If the final measurement outcome Sr=+1, do nothing, otherwise apply ZL 
        Z1Z2 . . . Zn to the data.
    
    


The circuit 900 for implementing the logical Q=SHS gate is given in FIG. 9. The circuit consists of an injected |iL state, a transversal CNOT gate, and a logical X-basis measurement is applied to the input data qubits. If the measurement outcome is −1, YL is applied to the data. As with the S gate, the application of the circuit in FIG. 9 is repeated according to the STOP algorithm to protect against measurement errors. The full implementation of QL is given as follows:

    
    
        1.) Implement the circuit in FIG. 9 and let the measurement outcome be S1;
        2.) Repeat the circuit in FIG. 9 and use the STOP algorithm to decide when to terminate; and
        3.) If the final measurement outcome Sr=+1, do nothing, otherwise apply YL Y1Z2 . . . Zn to the data.
    
    


Note that the logical Hadamard gate can be obtained from the SL and QL protocols using the identity H=S†SHSS†=S†QS†. Hence ignoring repetitions of the circuits in FIGS. 9 and 10, the implementation of HL requires three logical CNOT gates, two |−iL and one |iL state, two logical Z basis measurements and one logical X basis measurement. Instead of using two logical Hadamard gates and one CNOT gate to obtain a CZ gate, a more efficient circuit is shown in FIG. 12. Lastly, since the circuits in FIGS. 9 and 10 contain only stabilizer operations and injected |iL states, using the STOP algorithm to repeat the measurements is not strictly necessary. For instance, one could repeat the measurement a fixed number of times and majority vote instead of using the STOP algorithm. However in low noise rate regimes, the STOP algorithm can potentially be much more efficient since the average number of repetitions for the measurements can approach t+1 where t=(d−1)/2.
Growing Encoded Data Qubits to Larger Code Distances with the Repetition Code
In some embodiments, a state |ψd1=α|0d1+β|1d1 encoded in a distance d1 repetition code is grown to a state |ψ d2=α|0d2+β|1d2 encoded in a distance d2 repetition code. Such a protocol may be used to grow |TOF magic states as further described below.
Let Sd1=X1X2, X2X3, . . . Xd1−1Xd) be the stabilizer group for a distance d1 repetition code with cardinality |Sd1|=d1−1. Similarly Sd′1 is defined as Sd′1=Xd1+1Xd1+2, . . . Xd2−1Xd2) with |Sd′1|=d2−d1−1. Furthermore the stabilizer group for a distance d2 repetition code is given by Sd2=X1X2, X2X3, . . . Xd2−1Xd2).
Also gi(d1) is defined as the i'th stabilizer in Sd1 and gi(d′1) to be the i′'th stabilizer in Sd′1, so that gi(d1)=XiXi+1 and gi(d′1)=Xd1+iXd1+i+1. The protocol for growing |ψ d1 to |ψd2 is given as follows:

    
    
        1.) Prepare the state |ψ1=|0⊗(d2−d1).
        2.) Measure all stabilizers in Sd′1 resulting in the state
    
    





 
  
   
    
     
      
       ❘
       "\[LeftBracketingBar]"
      
      
       ψ
       2
      
      〉
     
     =
     
      
       ∏
       
        i
        =
        1
       
       
        
         d
         2
        
        -
        
         d
         1
        
        -
        1
       
      
      
       
        (
        
         
          I
          ±
          
           g
           i
           
            (
            
             d
             1
             ′
            
            )
           
          
         
         2
        
        )
       
       ⁢
       
        
         ❘
         "\[LeftBracketingBar]"
        
        0
       
      
     
    
    〉
   
   
    ⊗
    
     (
     
      
       d
       2
      
      -
      
       d
       1
      
     
     )
    
   
  
  .
 



    
    
        3.) Repeat the measurement of stabilizers in Sd′1 using the STOP algorithm and apply MWPM to the syndrome history to correct errors and project to the code-space. If gi(d′1) is measured as −1 in the first round, apply the correction Πk=d1+dd1Zk to the data.
        4.) Prepare the state |ψ3=|ψd1⊗|ψ2 and measure Xd1Xd1+1.
        5. Repeat the measurement of all stabilizers of Sd2 using the STOP algorithm and use MWPM over the syndrome history to correct errors. If in the first round the stabilizer Xd1Xd1+1 is measured as −1, apply the correction Πi=1d1Zi.
    
    


The growing scheme involves two blocks, the first being the state |ψ>d1 which is grown to |ψd2. The second block involves the set of qubits which are prepared in the state |ψ2d′1 and stabilized by Sd′1 (steps 1-3). The key is to measure the boundary operator Xd1Xd1+1 between the two blocks which effectively merges both blocks into the encoded state |ψ2, which is a simple implementation of lattice surgery. To see this, consider the state prior to step 4:



 
  
   
    
     
      
       
        
         
          
           
            ❘
            "\[LeftBracketingBar]"
           
           ψ
           〉
          
          3
         
         =
         
          
           
            
             
              ❘
              "\[LeftBracketingBar]"
             
             
              ψ
              _
             
             〉
            
            
             d
             ⁢
             1
            
           
           ⊗
           
            
             
              ❘
              "\[LeftBracketingBar]"
             
             
              ψ
              2
             
             〉
            
            
             d
             1
             ′
            
           
          
          =
          
           
            
             α
             ⁢
             
              
               
                
                 
                  ❘
                  "\[LeftBracketingBar]"
                 
                 0
                 〉
                
                
                 d
                 ⁢
                 1
                
               
              
              ⊗
              
               
                
                 ❘
                 "\[LeftBracketingBar]"
                
                
                 ψ
                 2
                
                〉
               
               
                d
                1
                ′
               
              
             
            
            +
            
             β
             ⁢
             
              
               
                
                 ❘
                 "\[LeftBracketingBar]"
                
                1
                〉
               
               
                d
                ⁢
                1
               
              
              ⊗
              
               
                
                 ❘
                 "\[LeftBracketingBar]"
                
                
                 ψ
                 2
                
                〉
               
               
                d
                1
                ′
               
              
             
            
           
           =
           

           
            α
            ⁢
            
             
              ∏
              
               i
               =
               
                
                 d
                 1
                
                +
                1
               
              
              
               
                d
                2
               
               -
               1
              
             
             
              
               (
               
                
                 I
                 +
                 
                  g
                  i
                  
                   (
                   
                    d
                    1
                    ′
                   
                   )
                  
                 
                
                2
               
               )
              
              ⁢
              
               
                ❘
                "\[LeftBracketingBar]"
               
               0
              
             
            
           
          
         
        
        〉
       
       
        d
        ⁢
        1
       
      
      ⊗
      
       
        
         ❘
         "\[LeftBracketingBar]"
        
        0
        〉
       
       
        ⊗
        
         (
         
          
           d
           2
          
          -
          
           d
           1
          
         
         )
        
       
      
     
     +
     
      
       
        β
        ⁢
        X
       
       1
      
      ⁢
      
       
        ∏
        
         i
         =
         
          
           d
           1
          
          +
          1
         
        
        
         
          d
          2
         
         -
         1
        
       
       
        
         (
         
          
           I
           +
           
            g
            i
            
             (
             
              d
              1
              ′
             
             )
            
           
          
          2
         
         )
        
        ⁢
        
         
          ❘
          "\[LeftBracketingBar]"
         
         0
        
       
      
     
    
    〉
   
   
    d
    ⁢
    1
   
  
  ⊗
  
   
    
     ❘
     "\[LeftBracketingBar]"
    
    0
    〉
   
   
    ⊗
    
     (
     
      
       d
       2
      
      -
      
       d
       1
      
     
     )
    
   
  
 



In the above equation |1d1=X1|0d1. Also, when measuring Xd1Xd1+1 and performing the correction Πi=1d1Zi if the measurement outcome is −1, |ψ3 is projected to:



 
  
   
    
     
      
       
        
         
          
           
            
             
              ❘
              "\[LeftBracketingBar]"
             
             
              ψ
              f
             
             〉
            
            =
            
             
              ∏
              
               i
               =
               
                
                 d
                 1
                
                +
                1
               
              
              
               
                d
                2
               
               -
               1
              
             
             
              
               (
               
                
                 I
                 +
                 
                  g
                  i
                  
                   (
                   
                    d
                    1
                    ′
                   
                   )
                  
                 
                
                2
               
               )
              
              ⁢
              
               (
               
                
                 I
                 +
                 
                  
                   X
                   
                    d
                    1
                   
                  
                  ⁢
                  
                   X
                   
                    d
                    
                     1
                     +
                     1
                    
                   
                  
                 
                
                2
               
               )
              
              ⁢
              
               
                ∏
                
                 j
                 =
                 1
                
                
                 
                  d
                  1
                 
                 -
                 1
                
               
               
                
                 (
                 
                  
                   I
                   +
                   
                    g
                    i
                    
                     (
                     
                      d
                      1
                      ′
                     
                     )
                    
                   
                  
                  2
                 
                 )
                
                ⁢
                
                 
                  ❘
                  "\[LeftBracketingBar]"
                 
                 0
                
               
              
             
            
           
           〉
          
          
           ⊗
           
            d
            2
           
          
         
         +
         

         
          
           
            β
            ⁢
            X
           
           1
          
          ⁢
          
           
            ∏
            
             i
             =
             
              
               d
               1
              
              +
              1
             
            
            
             
              d
              2
             
             -
             1
            
           
           
            
             (
             
              
               I
               +
               
                g
                i
                
                 (
                 
                  d
                  1
                  ′
                 
                 )
                
               
              
              2
             
             )
            
            ⁢
            
             (
             
              
               I
               +
               
                
                 X
                 
                  d
                  1
                 
                
                ⁢
                
                 X
                 
                  d
                  
                   1
                   +
                   1
                  
                 
                
               
              
              2
             
             )
            
            ⁢
            
             
              ∏
              
               j
               =
               1
              
              
               
                d
                1
               
               -
               1
              
             
             
              
               (
               
                
                 I
                 +
                 
                  g
                  i
                  
                   (
                   
                    d
                    1
                    ′
                   
                   )
                  
                 
                
                2
               
               )
              
              ⁢
              
               
                ❘
                "\[LeftBracketingBar]"
               
               0
              
             
            
           
          
         
        
        〉
       
       
        ⊗
        
         d
         2
        
       
      
      =
      
       α
       ⁢
       
        
         ∏
         
          i
          =
          1
         
         
          
           d
           2
          
          -
          1
         
        
        
         
          (
          
           
            I
            +
            
             g
             i
             
              (
              
               d
               1
               ′
              
              )
             
            
           
           2
          
          )
         
         ⁢
         
          
           ❘
           "\[LeftBracketingBar]"
          
          0
         
        
       
      
     
     〉
    
    
     ⊗
     
      d
      2
     
    
   
   +
   
    
     
      β
      ⁢
      X
     
     1
    
    ⁢
    
     
      ∏
      
       i
       =
       1
      
      
       
        d
        2
       
       -
       1
      
     
     
      
       (
       
        
         I
         +
         
          
           X
           i
          
          ⁢
          
           X
           
            i
            +
            1
           
          
         
        
        2
       
       )
      
      ⁢
      
       
        
         ❘
         "\[LeftBracketingBar]"
        
        0
        〉
       
       
        ⊗
        
         d
         2
        
       
      
     
    
   
  
  =
  
   
    
     α
     ⁢
     
      
       
        ❘
        "\[LeftBracketingBar]"
       
       0
       〉
      
      
       d
       2
      
     
    
    +
    
     
      
       β
       ⁢
       X
      
      1
     
     ⁢
     
      
       
        ❘
        "\[LeftBracketingBar]"
       
       0
       〉
      
      
       d
       2
      
     
    
   
   =
   
    
     
      ❘
      "\[LeftBracketingBar]"
     
     ψ
     〉
    
    
     d
     2
    
   
  
 



The rounds of repeated stabilizer measurements in steps 3 and 5 (above) may be required due to the random outcomes and measurement errors which can occur when performing the appropriate projections. A pictorial representation for the growing scheme is shown in FIG. 16.
Bottom-Up Fault Tolerant Preparation of the |TOF Magic State
In some embodiments, a |TOF magic state can be prepared using the repetition code, wherein the |TOF magic state is used in simulating a Toffoli gate.
The |TOF magic state is given by:

|TOF=1⁄2Σx1,x2|X1|X2|X1∧X2,

which is stabilized by the Abelian group

STOF=gA,gB,gC

where

    
    
        gA=X1CNOT2,3 
        gB=X2CNOT1,3 
        gC=Z3CZ1,2 
    
    


Given one copy of a |TOF magic state, a Toffoli gate can be simulated using the circuit 1102 in FIG. 11A, and the required Clifford corrections are given in FIG. 11B. Note that if a correction involves the stabilizer gC, the CZ gate can be implemented using the circuit 1200 in FIG. 12. Also, note that for the Clifford corrections a 0 indicates a +1 measurement outcome whereas a 1 indicates a −1 measurement outcome (in either the X or Z basis). The stabilizers gA, gB and gC are given in the equations above.
Next, how to fault-tolerantly prepare the |TOF magic state is discussed. First, note that the state



 
  
   
    ❘
    "\[LeftBracketingBar]"
   
   
    ψ
    1
   
   〉
  
  =
  
   
    1
    
     2
    
   
   ⁢
   
    (
    
     
      
       ❘
       "\[LeftBracketingBar]"
      
      010
      〉
     
     +
     
      
       ❘
       "\[LeftBracketingBar]"
      
      111
      〉
     
    
    )
   
  
 



is stabilized by gA and gC. Such a state can straightforwardly be prepared using the circuit 1300 in FIG. 13. In what follows, physical Toffoli gates will need to be applied between ancilla qubits and |ψ1 prior to measuring the data. As such, it is important that the states |0L and |1L in the circuit 1300 of FIG. 13 be prepared using the STOP algorithm since otherwise measurement errors in the last ancilla measurement round could lead to logical failures. Once |+L, |1L and |0L have been prepared, the CNOT gate 1302 in FIG. 13 is applied transversally.

Now, given a copy of |ψ1, the |TOF magic state can be prepared by measuring gA using the circuit 1400 of FIG. 14 resulting in the state |ψout. If the measurement outcome is +1, |ψout=|TOF. Otherwise, if the measurement is −1, |ψout=Z2|TOF. Hence given a −1 measurement outcome, a logical ZL correction is applied to the second code block. A more detailed implementation 1700 of the controlled-gA gate 1400 is shown in FIG. 17. For example, the circuit 1700 is shown for measuring a code with code distance d=3. In general, d Toffoli gates are required. Note that for the repetition code, a single CNOT gate is required since XL=X1. Further, due to the transversal CNOT gates, physical Toffoli gates are applied sequentially as shown in the figure. Note that such a circuit can be used for any Calderbank-Shor-Steane (CSS) code. The sequence of Toffoli gates would remain unchanged. Generally more two-qubit gates would be required depending on the minimal weight representation of XL.
Note that since the CNOT1,3 gate can be done transversally for the repetition code, and that XL on the second code block is given by a physical X gate on the first qubit of that block, the controlled-gA circuit can be highly parallelized thus greatly simplifying its implementation. For example, FIG. 18 illustrates a more parallelized circuit for measuring gA which requires one flag qubit 1802. Such a circuit reduces the depth of Toffoli gates in half at the cost of adding to time-steps due to the extra CNOT gates. The flag qubit can also be used for detecting X errors arising on the control qubits of the CNOT and Toffoli gates. If an X error occurs, the flag qubit measurement outcome will be −1 instead of +1. As in FIGS. 14, 15, and 17, if either the X or Z basis measurement outcomes are −1 instead of +1, the entire |TOF magic state preparation protocol is aborted and begins anew.
As was also the case as discussed above with regard to the repetition code, a measurement error on the ancilla results in a logical Z2 failure and thus the measurement of gA needs to be repeated. This can be done deterministically using the STOP algorithm. However due to the increasing circuit depth with increasing repetition code distance in addition to the high cost of the controlled-gA gate, such a scheme does not have a threshold and results in relatively high logical failure rates. An alternative approach is to use an error detection scheme by repeating the measurement of gA exactly (d−1)/2 times for a distance d repetition code. In between each measurement of gA, one round of error detection is applied to the data qubits by measuring the stabilizers of the repetition code. This is shown in FIG. 15. If any of the measurement outcomes are non-trivial, the protocol for preparing the |TOF magic state is aborted and reinitialized. In FIG. 19A, an example 1900 is provided of a two-dimensional layout of qubits and sequence of operations for measuring gA, which is compatible with the above described ATS architecture for a distance 5 repetition code. Such a layout uses a minimum number of ancilla qubits and can be straightforwardly generalized to arbitrary repetition code distances. The ancilla qubits are used to first prepare a GHZ state. Subsequently the required Toffoli and CNOT gates are applied, followed by a disentangling of the GHZ states and measurement of the |+ state ancilla. The equivalent circuit 1950 implementing the gA measurement for a d=5 repetition code is shown in FIG. 19B.
Notice that to respect the connectivity constraints of the ATS's, the lighter grey vertices 1902 need to be swapped with the darker grey vertices 1904 on the second block (shown in the upper left corner of the lattice of FIG. 19A). Such a role reversal between the ancilla and data qubits does not lead to additional cross-talk errors for the reasons discussed above with regard to a multiplexed ATS with filtering and thus can be tolerated. As such, all controlled gA measurements in FIG. 15 may be implemented using the circuit 1950 in FIG. 19B with the qubit layout given in FIG. 19A.
Lastly, note that circuit 1950 in FIG. 19B used to measure gA is not fault-tolerant to X or Y errors. However, since it is assumed that X and Y errors are exponentially suppressed, flag qubits for detecting X-type error propagation are unnecessary as long as X or Y error rates multiplied by the total number of fault locations are below the target levels for algorithms of interest.
FIG. 20A illustrates high-level steps of a protocol for implementing a STOP algorithm, according to some embodiments.
At block 2002 syndrome outcome measurements are performed for an arbitrary Calderbank-Shor-Steane code. At block 2004 consecutive ones of the syndrome outcomes are tracked to generate a syndrome history. At block 2006 syndrome measurements are stopped if condition 1 (shown in block 2006A) or condition 2 (shown in block 2006B) are met. Condition one is that a same syndrome outcome is repeated a threshold number of times in a row, wherein the threshold is equal to ((d−1)/2)−ndiff.−1 Condition two is that ndiff is equal to (d−1)/2, and one additional syndrome outcome has been measured subsequent to reaching ndiff=(d−1)/2. If either of these conditions are met, then the measurements of the syndrome outcomes can be stopped. At block 2008 if condition one is met, the repeated syndrome outcome is used to perform error correction. Also, at block 2008 if condition two is met, the subsequently measured syndrome outcome is used to perform error correction.
FIG. 20B illustrates high-level steps for determining a parameter (ndiff) used in the STOP algorithm, according to some embodiments.
At block 2052 ndiff is initialized with an initial value equal to zero. At block 2054 a first round of syndrome outcome measurements is performed. Also, at block 2056, a second round of syndrome outcome measurements is performed. At block 2058 it is determined if the syndrome outcomes measured in the round performed at block 2056 (e.g. the current round of syndrome outcomes) differ from the syndrome outcomes measured for the preceding round. If so, at block 2060 it is determined if ndiff was incremented in the previous round, if not ndiff is incremented by one at block 2062 and the process repeats for a subsequent round of syndrome outcome measurements. However, note that when condition one or condition two (as shown in blocks 2006A and 2006B) are met, the syndrome measurements are stopped. If the syndrome outcomes measured in the round performed at block 2056 (e.g. the current round of syndrome outcomes) are the same as the syndrome outcomes measured for the preceding round or it is determined at block 2060 if ndiff was incremented for the preceding round, the process reverts to block 2056 and another round of syndrome outcomes are measured without incrementing ndiff.
FIG. 21 illustrates high-level steps of a protocol for growing a repetition code from a first code distance to a second code distance using a STOP algorithm, according to some embodiments.
At block 2102 a |ψ1 state is prepared as described above, for example using the circuit shown in FIG. 13. At block 2104, all stabilizers Sd′1 are measured resulting in a state |ψ2. This may be done as described above with regard to stabilizer operations for the repetition code. At block 2106, the measurements of the stabilizers in Sd′1 are repeated using the STOP algorithm and MWPM is applied to the syndrome history to correct errors and project the code into the increased code space. At block 2108 a 103) state is prepared and Xd1Xd1+1 are measured. At block 2110 the measurements of all the stabilizers of Sd2 are repeated using the STOP algorithm and MWPM is applied over the syndrome history to correct errors.
FIG. 22 illustrates high-level steps of a protocol for implementing a logical Toffoli gate using a bottom-up approach with Toffoli magic state injection, according to some embodiments.
At block 2202, fault-tolerant computational basis states are prepared using the STOP algorithm, wherein the fault-tolerant computational basis states are to be used as inputs for a Toffoli gate preparation. At block, 2204, a CNOT gate is transversally applied to the fault-tolerant computational basis states to prepare a |ψ1 state. At block 2206 gA is measured for the |ψ1 state, which yields a state |ψout. If the measurement of gA has a measurement outcome of −1 then a Z correction is applied. This projects the |ψ1 state into a |TOFF state. At block 2208 the measurements of gA are repeated such that gA is measured (d−1)/2 times. Between rounds of measurement of gA, error detection is performed. If non-trivial values are measured for either gA or the error detection, the protocol is aborted and re-initiated anew. At block 2210, if all the measurement outcomes of gA and the error detection performed at 2208 are trivial, a Toffoli magic state (e.g. |TOFF state) is prepared based on the measurement of gA and the state |ψout. For example, if all the measurement outcomes of gA and the error detection performed at 2208 are trivial, then |ψout=|ToFF. At block 2212 a sequence of Clifford gates as shown in circuit 1102 of FIG. 11A are applied. Also the Clifford error corrections shown in FIG. 11B are applied. This may be done as part of a top down distillation of a logical Toffoli gate (as described in more detail below) that utilizes the prepared Toffoli magic state as an input to the distillation process.
Top-Down Distillation Process to Yield Low-Error Rate Toffoli Gates
As discussed above, the Toffoli gate when combined with the Clifford group forms a universal gate set for quantum computation. Alternatively, universality can be achieved by complementing the Clifford group with a supply of high-fidelity Toffoli magic states encoded in a suitable quantum error correction code. For many high threshold error correction codes, such as repetition (for very biased noise) or surface codes, high fidelity Toffoli magic states are difficult to prepare. The paradigm of magic state distillation uses encoded Clifford operations to distill higher fidelity magic states from lower fidelity magic states. For example, the Toffoli magic states prepared using the bottom-up approach described above may be used as in a magic state distillation process to yield even lower fault-rate Toffoli magic states.
The conventional approach to magic state distillation uses a supply of low fidelity T magic states as inputs to protocols that output other types of magic state, including TOFF states. However, in some architectures the supply of noisy TOFF states can be prepared at better fidelity than the noisy T states. This is because all Calderbank-Shor-Steane (CSS) codes, such as surface and repetition codes, have a transversal CNOT and this property can be used to robustly prepare the TOFF state (as described above for bottom-up approach). However, the success probability of such “bottom-up preparation” protocols drops as the target fidelity is increased and so it is desirable to design magic distillation protocols that can further purify noisy TOFF states at low overhead. If the bottom-up TOFF protocol is used to prepare TOFF states with 10−5-10−6 error rates, then for several quantum algorithms only a single round of magic state distillation would be need to achieve 10−9-10−10 logical error rates. In contrast, for T states prepared at 10−3-10−4 error rates, to achieve comparable logical error rates would require two rounds of magic state distillation with quadratic error suppression, or alternatively a single round of the 15T→1T protocol with low (1/15) rate.
In some embodiments, to address these uses a top-down distillation process is performed that uses TOFF or CCZ states without using any T states, either as raw distillation material or as catalysts. Also triorthgonal codes are not used in the usual sense, but instead provide a new technique for protocol design by describing CCZ circuits in terms of cubic polynomials. It is noted that CCZ states are Clifford equivalent to TOFF states, and when using cubic polynomial formalism, it will be beneficial to work in the language of CCZ states. As an example of these techniques, it is shown that it is possible to achieve 8CCZ→2CCZ distillation, equivalently 8TOFF→2TOFF detecting a fault on any single TOFF state. In cases where noise on the CCZ state is very biased towards certain types of faults, more compact and efficient protocols are possible, which are also described.
In some embodiments, various architectures may be used to implement the distillation processes described herein, such as a 2D architecture using the repetition code, asymmetric surface codes (for biased noise) or conventional square surface codes. The 2D implementation performs the required Clifford operations using lattice surgery to realize a suitable sequence of multi-qubit Pauli observables (also called multi-patch measurements).
FIG. 23 illustrates high-level steps for distilling a low-error rate logical Toffoli gate using multiple ones of the logical Toffoli gates prepared using a bottom-up approach as described in FIG. 22, according to some embodiments.
For example, at 2302 physical Toffoli magic states are generated, which may have a probability of error of approximately 2.8×10−4. This error probability may be improved by an order of magnitude or more by applying the STOP algorithm and error correction techniques described above for the bottom-up approach. For example, block 2304 illustrates the improvements in error-rate that are realized by utilizing the bottom-up approach. However, further improvements in error rate can be achieved by performing a top-down distillation process. For example, block 2306 illustrates that error probabilities may be reduced to approximately 8×10−10 by performing a single round of distillation using Toffoli magic states prepared using the bottom up approach as inputs.
FIG. 24 illustrates a layout of multiple bottom up Toffoli gates that are used to distill low-error rate logical Toffoli gates, according to some embodiments.
To give a general view of the distillation process, FIG. 24 illustrates a circuit 2400 that includes qubits that have been prepared to implement bottom up (e.g. “BU”) magic states. Also other qubits of the circuit have been prepared to implement CCZ magic states (or low-error rate Toffoli magic states/gates). Additionally, some of the qubits implement an error check for the CCZ magic states. For example each set of check qubits may be associated with a pair of CCZ magic states.
Synthesis
First, observe that a CCZi,j,k gate on qubits i, j and k, will perform:

CCZi,j,k|x1,x2,X3, . . . ,xn=(−1)xixjxk|x1,x2,x3, . . . ,xn

where |x=|x1, x2, x3, . . . , xn  represents a computational basis state described as a binary string x=(x1, x2, x3, . . . , xn). More generally, consider conjugating these CCZ gates with a CNOT circuit. For any invertible matrix J, there exists a CNOT circuit V such that

V=Σx|xJx|. 

Composing these operations a generalized CCZ gate is given by:




  
    
      
        
          C
          ⁢
          C
          ⁢
          
            
              Z
              
                (
                
                  j
                  
                    
                      1
                      ,
                      
                        j
                        2
                      
                      ,
                      
                        j
                        3
                      
                    
                    )
                  
                
              
            
            :
          
        
        =
        
          
            
              V
              †
            
            ⁢
            C
            ⁢
            C
            ⁢
            
              Z
              
                1
                ,
                2
                ,
                3
              
            
            ⁢
            V
          
          |
          x
        
      
      〉
    
    =
    
      
        
          (
          
            -
            1
          
          )
        
        
          
            (
            
              
                J
                1
              
              ⁢
              X
            
            )
          
          ⁢
          
            (
            
              
                (
                
                  
                    J
                    2
                  
                  ⁢
                  X
                
                )
              
              ⁢
              
                (
                
                  
                    J
                    3
                  
                  ⁢
                  X
                
                )
              
            
          
        
      
      |
      x
    
  
  〉




where Jk is the kth column vector of J and Jkx=Σα[Jk]αxα is the dot product between this vector and the bit string vector x. Because J is invertible, the Jk must be linearly independent, but otherwise there are no constraints. Furthermore, only three column vectors are needed to describe the action of a single generalized CCZ gate.

Alternatively, a generalized CCZ gate can be realized using a single CCZ magic state as shown in 2504 FIG. 25. The CCZ magic state is:



 
  
   
    ❘
    "\[LeftBracketingBar]"
   
   CCZ
   〉
  
  =
  
   
    CCZ
    ⁢
    
     
      ❘
      "\[LeftBracketingBar]"
     
     +
     〉
    
    ⁢
    
     
      ❘
      "\[LeftBracketingBar]"
     
     +
     〉
    
    ⁢
    
     
      ❘
      "\[LeftBracketingBar]"
     
     +
     〉
    
   
   =
   
    
     1
     
      2
      ⁢
      
       2
      
     
    
    ⁢
    
     
      ∑
      
       y
       ∈
       
        z
        2
        3
       
      
     
     
      
       
        (
        
         -
         1
        
        )
       
       
        
         y
         1
        
        ⁢
        
         y
         2
        
        ⁢
        
         y
         3
        
       
      
      ⁢
      
       
        ❘
        "\[LeftBracketingBar]"
       
       
        y
        1
       
       〉
      
      ⁢
      
       
        ❘
        "\[LeftBracketingBar]"
       
       
        y
        2
       
       〉
      
      ⁢
      
       
        ❘
        "\[LeftBracketingBar]"
       
       
        y
        3
       
       〉
      
     
    
   
  
 



and it can be used to inject a CCZ gate as illustrated in FIG. 25 and which can be extended to generalized CCZ gates by controlling the CNOT gates determined by the associated vectors J1, J2, and J3. Furthermore, the CNOTs in the CCZ injection can be replaced with a sequence of multi-qubit Pauli measurements, which are the primitive operations in lattice surgery based architectures.

In some embodiments, a unitary as shown below can be composed using CCZ, CZ, Z and CNOT gates:

U=Σx(−1)ƒ(x)|Jxz|

where J is invertible and ƒ: 2n→2 is some Boolean function expressible as a cubic polynomial. Formally, this can be expressed as shown below in Theorem 1:

Theorem 1: Let U be a unitary of the form of the equation above with a function ƒ such that there exists a cubic polynomial representation:



 
  
   f
   ⁡
   (
   x
   )
  
  =
  
   
    ∑
    
     a
     ≤
     b
     ≤
     c
    
   
   
    
     F
     
      a
      ,
      b
      ,
      c
     
    
    ⁢
    
     x
     a
    
    ⁢
    
     x
     b
    
    ⁢
    
     x
     c
    
   
  
 



with integers Fi,j,k. It follows that there are many different factorizations of the polynomial as follows:




 
  
   f
   ⁡
   (
   x
   )
  
  =
  
   
    
     ∑
     
      j
      =
      1
     
     ζ
    
    
     
      (
      
       
        J
        1
        j
       
       ·
       x
      
      )
     
     ⁢
     
      (
      
       
        J
        2
        j
       
       ·
       x
      
      )
     
     ⁢
     
      (
      
       
        J
        3
        j
       
       ·
       x
      
      )
     
    
   
   +
   
    
     x
     T
    
    ⁢
    Qx
   
  
 



where Jkj are binary vectors (and therefore linear functions) and a Q is a lower-triangular binary matrix (representing a quadratic Boolean function). Then there exists a circuit composed of {CCZ, CZ, Z, CNOT} that implements U using at most ζ copies of the CCZ gates. We call the minimal such the cubic rank of the polynomial.

CCZ Magic State Distillation

In some embodiments, cubic polynomial formalism is used to develop routines for distillation of high-fidelity |CCZ magic states. For example, given a supply noisy |CCZ states with Z noise, the noisy |CCZ states can be distilled using Clifford operations to obtain a smaller number of |CCZ states with less noise. Note that given any noise model, |CCZ magic states can be twirled so that the noise becomes pure Z noise. Accordingly, in some embodiments, a circuit is designed to realize a target unitary, say U=|CCZ⊗k that acts on 3k qubits plus some number m of check qubits. However, instead of minimizing the number of CCZ gates in the circuit, the proposed design is such that Z errors on the |CCZ magic state propagate onto the check qubits. Therefore, by measuring the check qubits at the end of the circuit, errors can be detected on the noisy |CCZ states.
To be more precise about the error correction properties of a circuit, as an example, take the following definitions:
Definition 1: Given two Boolean functions ƒ and g that can be expressed as cubic polynomials, it can be said they are Clifford-equivalent ƒ ̃g if and only if there exists a Boolean function q expressible as a quadratic function, such that ƒ(x)=g(x)+q(x) for all x.
If ƒ ̃g, then clearly they also have the same cubic rank, and the associated unitaries have the same minimal CCZ count.
Definition 2: Given a sequence of (generalized-CCZ gates described by the set of column vectors {J1j, J2j, J3j}=j=1, . . . , ζ as used in the equation above in the Synthesis discussion a set of matrices Jj is defined each with three columns as follows:



 
  
   J
   j
  
  =
  
   
    (
    
     
      J
      1
      j
     
     ,
     
      J
      2
      j
     
     ,
     
      J
      3
      j
     
    
    )
   
   =
   
    (
    
     
      L
      j
     
     
      C
      j
     
    
    )
   
  
 



If the last m qubits are considered as check qubits, then the matrices are partitioned into Cj (the bottom m rows) and Lj as shown.

It is noted that C=(C1, C2, C3, . . . , Cζ) and L=(L1, L2, . . . , Lζ) play a role analogous to X-check and logical X operator matrices of quantum code. Also error notation for the error patterns on the initial magic states is needed.
Definition 3: Given a |CCZ⊗ζ magic state, it is said that it has error pattern e=(e1, e2, e3)∈2 error if it is in the state E|CCZ=(Ze1⊗Ze2 ⊗Ze3)|CCZ Given a sequence of ζ generalized-CCZ gates, the notation used is ej=(e1j, e2j, e3j) to denote the error for the jth |CCZ state, so that the joint state is:

E|CCZ⊗k=j=1ζ⊗(Ze1j⊗Ze2j⊗Ze3j)|CCZ

It is said that an error has w fault-locations if ej is non-zero for w of the |CCZ states.

The distinction between notion used above with regard to weight and the usual Hamming weight of the concatenated string (e1, . . . , eζ) is important because many methods of preparing a noisy |CCZ state will lead to errors such as Z⊗Z⊗ that have a comparable probability to a single qubit error Z⊗Z⊗. Indeed, we will typically be interested in knowing how many |CCZ states are affected by an arbitrary error, though it is assumed errors are uncorrelated between different |CCZ states. Observations about error propagation in FIG. 25 can now be formalized as follows:
Given unitary U realized by a sequence of generalized CCZ gates represented by matrices as in Def. 2 with magic states suffering Pauli error (e1, . . . , eζ). Then the resulting unitary on the target qubits is UZ[w], where Z[w]=j=1n⊗Zwn and the vector w∈2n is



 
  w
  =
  
   
    ∑
    j
   
   
    
     J
     j
    
    ⁢
    
     e
     j
    
   
  
 



Identifying the last m qubits as check qubits, w can be partitioned into two parts as follows:




 
  
   u
   =
   
    
     ∑
     j
    
    
     
      L
      j
     
     ⁢
     
      e
      j
     
    
   
  
  ⁢
  

  
   v
   =
   
    
     ∑
     j
    
    
     
      C
      j
     
     ⁢
     
      e
      j
     
    
   
  
 



Now knowing how errors propagate generally, this knowledge can be applied to a specific protocol, such as distillation of 2 low-error rate logical Toffoli gates from 8 noisy Toffoli magic states, or a distillation of 1 low-error rate logical Toffoli gate from 2 noisy Toffoli magic states.
Consider a unitary U realized by a sequence of generalized CCZ gates represented by matrices as in Def. 2 and with the last m qubits identified as check qubits and U=UC(UL⊗m) where UC is Clifford and m acts on the check qubits. Consider the following protocol:

    
    
        1.) Prepare all qubits in the state |+;
        2.) Perform the Clifford inverse UC−1 and any Clifford corrections from gate injection;
        3.) Measure the last m qubits in the X basis.
    
    


Then X basis measurements in step 4 will yield +1 outcomes provided the magic state error pattern satisfies:



 
  
   
    (
    
     0
     ,
     0
     ,
     ...
     ,
     0
    
    )
   
   T
  
  =
  
   
    ∑
    j
   
   
    
     C
     j
    
    ⁢
    
     e
     j
    
   
  
 



The protocol outputs the magic state Z[u]UL+⊗n with error Z[u] that is trivial whenever



 
  
   
    (
    
     0
     ,
     0
     ,
     ...
     ,
     0
    
    )
   
   T
  
  =
  
   
    ∑
    j
   
   
    
     L
     j
    
    ⁢
    
     e
     j
    
   
  
 



Example Protocols

Consider the 2CCZ→1CCZ protocol with Jj matrices:



 
  
   
    
     
      
       (
      
     
     
      
       
        
         1
        
        
         0
        
        
         0
        
       
       
        
         0
        
        
         1
        
        
         0
        
       
       
        
         0
        
        
         0
        
        
         1
        
       
      
      
       
        
         1
        
        
         0
        
        
         0
        
       
      
     
     
      
       )
      
     
    
    
     ,
    
    
     
      
       (
      
     
     
      
       
        
         0
        
        
         0
        
        
         0
        
       
       
        
         1
        
        
         1
        
        
         0
        
       
       
        
         0
        
        
         0
        
        
         1
        
       
      
      
       
        
         1
        
        
         0
        
        
         0
        
       
      
     
     
      
       )
      
     
    
   
    
  
   
 



It is straightforward to verify that the corresponding cubic polynomial is:

ƒ(x)=x2x3x4+x22x3=x2x3x4+x22x3 ̃x1x2x3 

So the circuit realizes U=CZ2,3(CCZ1,2,3)⊗4, which is a single CCZ gate and (up to a Clifford) it acts trivially on the check qubit. There is only a single check qubit v1=e11+e12. Therefore, it detects any error pattern where 1=e11+e12, which includes a single (Z⊗⊗) error on either input magic state. However, it fails to detect other single fault error patterns such as (⊗Z⊗) on one magic state.
Now consider the 8CCZ→2CCZ protocol that detects an arbitrary error on a single input CCZ state. A possible circuit 2602 implementation of this protocol is illustrated in FIG. 26. This protocol uses 3 check qubits and the associated Jj matrices are shown in FIG. 26, such as matrix 2608 corresponding to a first CCZ, matrix 2610 corresponding to a second CCZ, matrix 2612 corresponding to a third CZZ, and matrix 2614 corresponding to an eighth CCZ. Note that there would be eight total matrices with one corresponding to each of the eight CCZ's. However, for ease of illustration only matrices for CCZs 1-3 and 8 are shown. Computing the cubic polynomial, yields:

ƒ(x)=x1x2x3+x4x5x6 

which represents two CCZ gates and has trivial action on the check qubits. Notice, there is no quadratic component to this polynomial, so no inverse Clifford is required. Regarding the error detection capabilities, notice that every check matrix is the identity and so the three bit error syndrome is v=Σjej. Given a fault on a single CCZ state, one of the ej vectors will be non-zero and so v will be non-zero and the error is detected. In contrast, if two CCZ states have an identical error pattern, so ej=ej′≠0, then the syndromes will cancel and this will be an undetected error. However, not all two fault errors go undetected. If magic states j and j′ suffer faults, but ej≠ej′, then this two fault pattern will be detected. The intuition for why the above matrices have the desired property is related to the fact that the matrices are built using a subset of the codewords from 3 copies of a Reed-Muller code.

Consider an error model where a single noisy magic state has error pattern ej with probability (ej) We will use the convention (0,0,0)=1−∈. The success probability is:



 
  
   P
   suc
  
  =
  
   
    ∑
    
     0
     =
     
      
       ∑
       j
      
      
       e
       j
      
     
    
   
   
    
     ∏
     j
    
    
     P
     ⁡
     (
     
      e
      j
     
     )
    
   
  
 



where the sum is over all configurations with trivial syndrome. To determine the fidelity of the output magic state, we should sum over all configurations with trivial syndrome and no logical damage on the state. To leading order this is dominated by the “no error” case, and indeed this gives a firm lower bound on the fidelity, so

ƒ≥(1−E)8/Psuc 

Now considering the depolarizing error distribution:



 
  
   P
   ⁡
   (
   e
   )
  
  =
  
   {
   
    
     
      
       
        1
        -
       
       ∈
      
     
     
      
       e
       =
       
        
         (
         
          0
          ,
          0
          ,
          0
         
         )
        
        T
       
      
     
    
    
     
      
       ∈
       
        /
        7
       
      
     
     
      
       e
       ≠
       
        
         (
         
          0
          ,
          0
          ,
          0
         
         )
        
        T
       
      
     
    
   
  
 



Then the leading order contributions to the success probability can be counted as follows. The zero faults contribution adds to the success probability. We do not count any single fault events since they are all detected. Of the two fault events, we need a pair (j, j′) of magic states (of which there are 8 choose 2=28 combinations) to suffer the same non-trivial error pattern ej, of which there are 7 types of ej≠0. This means there are 196 undetected two fault error patterns, which contributes 196(∈/7)2(1−∈)6=(196/49)∈2(1−∈)6 to the success probability. However, not all of the undetected two fault error patterns lead to a logical failure, with a contribution of (184/49)∈2(1−∈)6 to undetected logical failures. This leads to the approximate results of:



 
  
   
    P
    suc
   
   ≈
   
    1
    -
    8
   
  
  ∈
  

  
   ∈
   out
  
  
   ≈
   
    (
    
     184
     49
    
    )
   
  
  
   ∈
   2
  
  
   ≈
   3.755
  
  
   ∈
   2
  
 



Note that the constant factor 3.755 in front of ∈2 is quite small for a distillation protocol. This is because this protocol detects the vast majority of all two fault events.
In some embodiments, the above protocol may be generalized to 3k+2CCZ→kCCZ.
Example Implementation of Lattice Surgery
FIG. 27 illustrates an example implementation of the above described protocol using lattice surgery. Throughout, we refer to the input magic state error rate as ∈ and the output error rate is simply ∈target ̃0(∈2). As noted earlier, the generalized CCZ gates can be injected using only multi-Pauli measurements. For many error correction codes, such as topological codes and repetition codes, lattice surgery provides a natural way to measure multi-qubit Pauli operators. The following examples are concerning using thin surface codes with asymmetric distance for bit-flip and phase-flip noise. When there is an asymmetry we use the convention that the bit-flip distance is smaller. This also includes the repetition code as the limit where the bit-flip distance is one.
The lattice surgery approach dedicates some ancilla qubits to act as communication routes between logical qubits. When performing a multi-patch measurement, these qubits are temporarily brought into an error correction code for dm rounds of error correction. The value of dm must be sufficiently large that the probability of an error during the multi-patch measurement is small enough. The larger dm, the more protection one has against measurement errors. However, an error during measurement is equivalent to a single-qubit Pauli error on the magic state. Therefore, dm has to be sufficiently large that the probability of measurement error is small than O(∈). However, the measurement error probability does not have to be smaller than the intended infidelity of the output magic state. However, the logical qubits labelled 1 through 6, need to be encoded in a code protecting with distance dx for bit-flips and dz for phase-flips, where these are sufficiently large that logical error rates are lower than O(∈2).
The logical qubits labelled 7 through 9 are the check qubits for the protocol and are encoded in a code with distance dx for bit-flips and d′z for phase-flips. If there is a Z logical error on a check qubit at any point, this can be commuted to the end of the circuit and will be detected provided it is the only fault. Therefore, we can set d′z<dz, requiring only that dz is sufficiently large that a Z logical occurring is less likely than O(∈). In the surface code, the space/qubit cost is 2dzdx, so the total space cost for qubits 1 through 9 and the routing ancilla space is:

N1=14dx(2dx+2dz+d′z)

In addition, there is a space cost No for the L0 blocks responsible for preparing the input Toffoli or CCZ states. We will need 8 such CCZ states, though in FIG. 27 the injection process is divided into two batches of 4 CCZ states. Therefore, we need at least 4 L0 blocks, but due to the finite success probability pf of each L0 block, some redundancy is needed to ensure we succeed with high probability (otherwise there will be a slight time delay). Given a factor R redundancy, so we use 4R copies of the L0 blocks, the probability of all failing is approximately 4pƒR. The size of the L0 blocks will depends on the underlying protocol used, which in the case of the bottom protocol is 3d′z. If a factor R redundancy is require then the total L0 space requirement is:

N0=3Rd′z 

In FIG. 27 a layout is shown where R=3. Note that if 2Rd′z=7dx, as in the FIG. 27, then the L0 blocks neatly line up with the ancilla routing region. If all the L0 blocks cannot fit adjacent to the routing region and a different placement (such as having two columns of LO blocks) will need to be used.
The time cost of the whole distillation protocol is 10 dm code cycles. Most of this cost is due to multi-patch measurements. Recall that in FIG. 27 the injection process is divided into two batches of 4 CCZ states. In each batch, there are several injection events interspersed with each other, which is possible because all the gates involved commute. Note also that the protocol uses multi-patch measurements and single-qubit measurements, but the single qubit measurements can be realized in 1 code-cycle and so are a negligible cost. Assuming a surface code architecture where each code cycle takes 4tCNOT where tCNOT is the CNOT gate time, gives a total 40 dm tCNOT time cost.
FIG. 28 illustrates a process for distilling low-error rate logical Toffoli gates from a plurality of noisy Toffoli magic states/Toffoli gates, according to some embodiments.
At block 2802 a plurality of Toffoli magic states/noisy Toffoli gates are prepared using a bottom-up approach or other suitable approach. At block 2804 a low-error rate logical Toffoli gate is distilled from a plurality of the Toffoli magic states/Toffoli gates prepared at block 2802. At block 2806 a check qubit is measured to check for errors, wherein the check qubit is associated with the distilled low-error rate logical Toffoli gate. At block 2808 a low-error rate logical Toffoli gate operation is performed using the distilled low-error rate logical Toffoli gate in response to a verifying the check qubit does not indicate an error.
FIG. 29A illustrates a process of distilling two low-error rate logical Toffoli gates from eight noisy Toffoli magic states/Toffoli gates, according to some embodiments.
At block 2902 8 noisy Toffoli magic states/Toffoli gates are selected to be used in a distillation of a low-error rate logical Toffoli gate. At block 2904 lattice surgery is performed to distil the one low-error rate logical Toffoli gate from the 8 noisy Toffoli magic states/Toffoli gates. At block 2906 a logical Toffoli gate operation is performed using the distilled low-error rate logical Toffoli gate, wherein a probability of error is quadratically suppressed for the low-error rate logical Toffoli gate as compared to the error rates of the 8 noisy Toffoli magic states/Toffoli gates.
FIG. 29B illustrates a process of distilling a low-error rate logical Toffoli gate from two noisy Toffoli magic states/Toffoli gates, according to some embodiments.
At block 2952, two noisy Toffoli magic states/Toffoli gates are selected to be used in a distillation of a low-error rate logical Toffoli gate. At block 2954 lattice surgery is performed to distil the one low-error rate logical Toffoli gate from the 2 noisy Toffoli magic states/Toffoli gates. At block 2956, a logical Toffoli gate operation is performed using the distilled low-error rate logical Toffoli gate, wherein a probability of very biased noise is quadratically suppressed for the low-error rate logical Toffoli gate as compared to the very biased noise of the 2 noisy Toffoli magic states/Toffoli gates.
FIG. 30 illustrates an example method of performing lattice surgery to distill a low-error rate logical Toffoli gate from a plurality of noisy Toffoli magic states/Toffoli gates, according to some embodiments.
At block 3002 multi-qubit Pauli operator measurements are performed during lattice surgery used to distill a low-error rate logical Toffoli gate from noisy Toffoli magic states/Toffoli gates, wherein for each Jk with k=1, 2, 3, . . . the following steps are performed. For example, at block 3004, for each k value, a measurement of Zk*⊗Z[Jk] is measured where Zk denotes Pauli Z acting on the kth qubit of the magic state and Z[Jk] is a string of Pauli operators acting on the algorithmic qubits indexed by the binary vector Jk. Also at block 3006, for each k, measure X on the kth qubit of the magic state. At block 3008 for each “−1” outcome measured in step 3006, update the Clifford correction frame by Z[Jk]. Then at block 3010 using the measurement outcome from step 3004, update the Clifford correction frame by the correction given in the figure.
High Fidelity Measurements
In some embodiments, low measurement error and/or faster error correction can be achieved by using an additional readout mode that is interrogated as the next error correction cycle proceeds. For example, circuit 3100 shown in FIG. 31 includes a readout qubit that enables measurements 3106 to be performed for a first round of error correction gates 3106 while (e.g. concurrently) a second round of error correction gates 3104 are being performed.
Note that while some of the examples included herein are for hybrid acoustic-electrical qubits and the architecture described in FIGS. 1-30, in some embodiments such measurement techniques could be applied in other architectures.
Consider fault tolerant operation of a quantum computer where properties (like stabilizers) of data qubits are repeatedly measured. In a given cycle of the error correction this often involves two steps. First gates act between the data qubits and an ancilla qubit and then the ancilla qubit is measured. Subsequent to the measurement of the ancilla qubit another error correction cycle can proceed.
In some embodiments, faster error correction cycles and lower measurement error can be achieve by swapping an ancilla (that would normally be interrogated directly) to an additional readout qubit (could be some other gate that achieves same purpose as SWAP like iSWAP, decomposition of SWAP into CNOTS etc. Then perform readout on the readout qubit while the rest of the error correction proceeds.
Such an approach not only reduces error correction cycle time, but also reduces idling errors on the data qubits. This is because the data qubits only idle during the time of the swap is typically shorter duration that was is required to perform the measurements. Also, because idling is not a concern when measurements are performed on a readout qubit, more repeated measurement may be taken, which also increases measurement fidelity. For example, the full error correction cycle time may be used to collect as many measurements as permitted to increase measurement fidelity or perform a single measurement with a long integration time for the time of the next cycle.
For example, in a traditional surface code architecture with transmons measurement is often much slower than the gates. The error correction cycle time can be sped up by using this scheme. Additionally depending on the details, one may have more time to drive/integrate allowing for higher fidelity measurement without hurting the threshold because of large idling errors.
In some embodiments, the additional readout mode may be a bosonic mode. In such embodiments, for the measurement of the readout mode repeated individual parity measurements are performed which are then majority voted to determine the final outcome. Being able to take more of the repeated measurements increases the fidelity of the final outcome.
FIG. 32 illustrates a more specific example, wherein deflation is further added. Following the CNOT gates to entangle the ancilla qubit 3204 with the data qubits 3202 the ancilla qubit is deflated. Deflation involves decreasing the steady state a for the dissipatively stabilized ancilla qubit from an initial |αinitial| to some |αfinal|. The deflation provides protection from single photon loss events which occur at a rate proportional to the average number of bosons in the readout mode. Once the mode has been deflated a SWAP 3212 is performed which transfers the excitation from the ancilla qubit 3204 to the bosonic readout mode 3206 (which may be a phononic mode). To achieve high fidelity readout, repeated QND parity measurements of the bosonic readout mode 3206 are employed. Each individual parity measurement is achieved by dispersively coupling the readout mode to a transmon qubit 3208.
In some embodiments, during a parity measurement of a bosonic mode the aim is to determine whether there is an even or odd number of photons in a resonator. A single photon loss even during the process of a measurement will change the parity potentially resulting in an incorrect readout. For dissipatively stabilized systems a simple way to improve the measurement fidelity is to perform a deflation operation 3214 before the measurement.
In the specific case of a system stabilized by two photon dissipation this involves taking the dissipator D[a2−αinitial2] to D[a2−αfinal2], wherein |αfinal|<|αinitial|. This is done by varying α(t) from the initial to final value. In most cases sufficient abrupt change is acceptable since there is no need to maintain phase coherence between the even and odd parity states.
As is clear in the case without the deflation there is a significant degradation in the infidelities as average photon number (α2) is increased because the measurements are more sensitive to single photon loss which changes parity. With the deflation added this problem is corrected.
As an example, FIG. 33 illustrates a parity measurement 3302 being taken subsequent to deflation.
In some embodiments, where a is the qubit mode and b is another mode used for readout, deflation can follow the following procedure.

    
    
        1.) Deflate the qubit to α=0 mapping the + cat state to |0 and the − cat state to |1.
        2.) Evolve under a Hamiltonian H=ig(b†−b)a†a and measure (homodyne/heterodyne) the b mode to determine whether the qubit was in a + or − cat state. If the qubit was in the − cat state then there is a drive on the b mode implemented by the Hamiltonian whereas if the qubit was in the + cat state there is no drive on the b mode. Hamiltonians of this form can be derived resonantly and non-resonantly from a three wave mixing Hamiltonian of the form:

H ̃ε(t)(φa(a+a†)+φb(b+b†))3 

    
    


In some embodiments, other Hamiltonians may be used, such as H=g(b†+b)a†a or H=ig(b†−b)a†a.
In some embodiments, bosonic modes may be readout in ±|α basis using a three or higher wave mixing Hamiltonian. In some embodiments a procedure for such readouts may comprise evolving under a Hamiltonian H=g(a†b+b†a) and measuring (homodyne/heterodyne) the b mode to measure the bosonic mode in ±|α basis. Hamiltonians of this form can be derived resonantly and non-resonantly from a three wave mixing Hamiltonian of the form:

H ̃ε(t)(φa(a+a†)+φb(b+ab†))3 

In some embodiments, other Hamiltonians may be used, such as H=g(a+a†)(b+b†) or H=g(a+a†)(b−b†), etc.
FIG. 34 is a process flow diagram illustrating using a switch operator to excite a readout qubit such that a subsequent round of error correction gates can be applied in parallel with performing measurements of the readout qubit, according to some embodiments.
At block 3402, a set of error correction gates is applied between data qubits storing quantum information and an ancilla qubit. At block 3404, a swap is performed between the ancilla qubit and a readout qubit. At block 3406, one or more measurements are performed on the readout qubit. While this is taking place or without waiting for the measurements at block 3406 to complete, at block 3408 another set of error correction gates are applied between data qubits storing the quantum information and the ancilla qubit. At block 3410, another swap is performed between the ancilla qubit and the readout qubit, subsequent to the measurement at block 3406 completing. And, at block 412 one or more measurement are performed on the readout qubit. Note that this process can be repeated for multiple additional rounds of error correction.
FIG. 35 is a process flow diagram illustrating a process for using deflation or evolution using a three or higher wave mixing Hamiltonian to perform measurements of an ancilla qubit without requiring a transmon qubit, according to some embodiments.
As an example, one or more data qubits storing quantum information may be entangled with an ancilla qubit. At block 3502 a qubit, such as the ancilla qubit, is deflated prior to performing a readout of the qubit, such that phonons or photons are dissipated from the qubit while a measurement observable of the qubit is preserved. Then at block 3504, a readout of the measurement observable of the deflated qubit is performed.
FIG. 36A is a process flow diagram illustrating a process for deflating a cat qubit and measuring a b mode of the deflated cat qubit to determine information about a first mode of the deflated cat qubit, according to some embodiments.
At block 3602 cat qubit is deflated such that phonons or photons are dissipated from the cat qubit. For example, this may be achieved by adjusting a steady state dissipation rate, for example as may be driven by an ATS. At block 3604, the cat qubit is evolved under Hamiltonian that couples a number of excitations of the cat qubit to a second mode (b mode) of the cat qubit. Then, at block 3606, the second mode (e.g. b mode) of the cat qubit is measured to determine information about the first mode (e.g. a mode) of the cat qubit.
FIG. 36B is a process flow diagram illustrating another process for deflating a qubit and measuring a “b” mode of the deflated cat qubit to determine information about a first mode of the deflated cat qubit, according to some embodiments.
At block 3652 deflation is performed in a system wherein an “a” mode is a qubit mode and a “b” mode is a readout mode. The deflation includes deflating a qubit to α=0 such that the + cat state is mapped to |0 and the − cat state is mapped to |1. At block 3654, the system is evolved under a Hamiltonian derived from a three wave or higher mixing Hamiltonian. For example, a Hamiltonian H=ig(b†−b)a†a. At block 3656 measurements of the “b” mode are performed to determine whether the qubit is in the + or − cat state. For example, (homodyne/heterodyne) measurements of the b mode are performed to determine whether the qubit was in a + or − cat state. If the qubit was in the − cat state then there is a drive on the “b” mode implemented by the Hamiltonian whereas if the qubit was in the + cat state there is no drive on the “b” mode.
FIG. 37 is a process flow diagram illustrating a process for evolving a cat qubit via three wave or higher mixing Hamiltonian and performing a homodyne, heterodyne, or photo detection of the evolved cat qubit to measure a measure property of another bosonic mode of the cat qubit, according to some embodiments.
At block 3702, a cat qubit is evolved under a Hamiltonian that couples a phase of the cat qubit to a measurable property of another bosonic mode of the cat qubit, wherein the Hamiltonian is selected from a three wave or higher mixing Hamiltonian. At block 3704, a homodyne, heterodyne, or photo detection of the other bosonic mode is performed to determine the phase of the cat qubit.
Simulation of Cat Qubits Using a Shifted Fock Basis
A Fock basis is an algebraic construction used to construct quantum state space for a variable or unknown number of identical particles based on a single particle in Hilbert space. For example, a Fock basis could be used to simulate a cavity or the behavior of a phononic resonator using an n-dimensional ladder of states. For example, Fock basis may be used to simulate photon number states, wherein a base state represents a vacuum condition without any photons present. However, by shifting the Fock basis, the Hilbert space can be truncated to include a finite (as opposed to infinite) number of photon number states. Thus, simulations can be simplified such that the truncated Hilbert space is simulated as opposed to the infinite Hilbert space, which cannot be effectively simulated. As an example, a shifted Fock basis simulation may replace a vacuum state with one or more coherent states. For example, a shift operator may be applied to the vacuum state condition such that the lowest shifted Fock states correspond to the lowest operators for the lowest states of a cat qubit.
For example, simulating a large cat qubit (with large |α2>>1) using a traditional (e.g. non-shifted) Fock basis may be ineffective due to the large (or even infinite) number of states that would need to be simulated. Instead, in some embodiments, the simulation may be performed using a shifted Fock basis, which can be used to describe large cat states in a more compact way than is the case for a usual Fock basis. More specifically, the annihilation operator a may be constructed in a shifted Fock basis.
Recall that a cat state is composed of two coherent state components |±α which can be understood as displaced vacuum states {circumflex over (D)}(±α)|{circumflex over (n)}=0. In the shifted Fock basis, 2d displaced Fock states {circumflex over (D)}(±α)|{circumflex over (n)}=n are used as basis states where n∈{0, . . . , d−1}. Note that while displaced Fock states in each ±α branch are orthonormalized, displaced Fock states in different branches are not necessarily orthogonal to each other. Thus the displaced Fock states need to be orthonormalized.
The non-orthonormalized basis states may be defined as follows:



 
  
   
    ❘
    "\[LeftBracketingBar]"
   
   
    
     φ
     n
    
    ,
    ±
   
   〉
  
  ≡
  
   
    
     1
     
      2
     
    
    [
    
     
      
       D
       ^
      
      (
      α
      )
     
     ±
     
      
       
        (
        
         -
         1
        
        )
       
       n
      
      ⁢
      
       
        D
        ^
       
       (
       
        -
        α
       
       )
      
     
    
    ]
   
   ⁢
   
    
     ❘
     "\[LeftBracketingBar]"
    
    
     
      n
      ^
     
     =
     n
    
    〉
   
  
 



where |φn, + and |φn, − have even and odd excitation number parity, respectively. Note that the non-orthonormalized states are grouped into the even and odd branches instead of the ±α branches. As a result, in the ground state manifold (n=0), the normalized basis states |φ0, ± are equivalent to the complementary basis states of the cat qubit |±, not the computational basis states |0/1. For example:




 
  
   
    
     ❘
     "\[LeftBracketingBar]"
    
    ±
    〉
   
   ∝
   
    
     ❘
     "\[LeftBracketingBar]"
    
    
     
      φ
      0
     
     ,
     ±
    
    〉
   
  
  =
  
   
    1
    
     2
    
   
   ⁢
   
    (
    
     
      
       ❘
       "\[LeftBracketingBar]"
      
      α
      〉
     
     +
     
      
       ❘
       "\[LeftBracketingBar]"
      
      
       -
       α
      
      〉
     
    
    )
   
  
 



The even/odd branching convention is used so that any two basis states in different branches are orthogonal to each other and hence the orthonormalization can be done separately in each parity sector. Note that:

Φm,n±≡φm,±|φn,±=δm,n±(−1)mDm,n(2α),

where Dm,n(α)≡{circumflex over (n)}=m|{circumflex over (D)}(α)|{circumflex over (n)}=n are the matrix elements of the displacement operator {circumflex over (D)}(α) in the usual Fock basis:




 
  
   
    D
    
     m
     ,
     n
    
   
   (
   α
   )
  
  =
  
   
    e
    
     -
     
      
       
        
         ❘
         "\[LeftBracketingBar]"
        
        α
        
         ❘
         "\[RightBracketingBar]"
        
       
       2
      
      2
     
    
   
   ⁢
   
    
     
      
       min
       ⁡
       (
       
        m
        ,
        n
       
       )
      
      !
     
     
      
       max
       ⁡
       (
       
        m
        ,
        n
       
       )
      
      !
     
    
   
   ⁢
   
    
     L
     
      min
      (
      
       m
       ,
       n
      
      )
     
     
      (
      
       
        ❘
        "\[LeftBracketingBar]"
       
       
        m
        -
        n
       
       
        ❘
        "\[RightBracketingBar]"
       
      
      )
     
    
    (
    
     
      
       ❘
       "\[LeftBracketingBar]"
      
      α
      
       ❘
       "\[RightBracketingBar]"
      
     
     2
    
    )
   
   ⁢
   x
   ⁢
   
    {
    
     
      
       
        α
        
         m
         -
         n
        
       
      
      
       
        m
        ≥
        n
       
      
     
     
      
       
        
         (
         
          -
          
           α
           *
          
         
         )
        
        
         n
         -
         m
        
       
      
      
       
        m
        <
        n
       
      
     
    
   
  
 



Here, Ln(α)(x) is the generalized Laguerre polynomial. Since |Dm,n(2α)=O(|α|m+ne−2|α|2), Dm,n(2α) is negligible if m+n<<|α|2. In this regime, the basis states |φn, ± are almost orthonormal. For the purpose of estimating the phase-flip (or Z) error rates within a small multiplicative error, it is often permissible to neglect the non-orthogonality of the states |φn, ±. However, this is generally not the case if the Z error rates are to be evaluated with a very high precision or if it is desired to estimate the bit-flip (or X) error rates. In these cases, taking into account the non-orthogonality of the states |φn, ± may be necessary.
In such embodiments, the basis states |φn, ± are orthonormalized by applying the Gram-Schmidt orthonormalization procedure. More specifically, given the non-orthonormalized basis states |φn,±, d orthonormalized basis states are constructed in each parity sector starting from the ground state |φ0,±:



 
  
   
    ❘
    "\[LeftBracketingBar]"
   
   
    ψ
    
     n
     ,
     ±
    
   
   〉
  
  =
  
   
    ∑
    
     m
     =
     0
    
    
     d
     -
     1
    
   
   
    
     c
     
      m
      ,
      n
     
     ±
    
    ⁢
    
     
      ❘
      "\[LeftBracketingBar]"
     
     
      φ
      
       m
       ,
       ±
      
     
     〉
    
   
  
 



The coefficients of cm,n± (0≤m, n≤d−1) are determined inductively. In the base case (k=0),



 
  
   
    c
    
     0
     ,
     0
    
    ±
   
   =
   
    1
    
     
      Φ
      
       0
       ,
       0
      
      ±
     
    
   
  
  ,
  
   
    c
    
     m
     ,
     0
    
    ±
   
   =
   
    
     0
     ⁢
        
     for
     ⁢
        
     all
     ⁢
        
     1
    
    ≤
    m
    ≤
    
     d
     -
     1
    
   
  
  ,
 



and thus the logical |±> states of the cat qubit are given by:




 
  
   
    
     ❘
     "\[LeftBracketingBar]"
    
    ±
    〉
   
   ≡
   
    
     ❘
     "\[LeftBracketingBar]"
    
    
     ψ
     
      0
      ,
      ±
     
    
    〉
   
  
  =
  
   
    
     1
     
      
       Φ
       
        0
        ,
        0
       
       ±
      
     
    
    |
    
     
      ❘
      "\[LeftBracketingBar]"
     
     
      φ
      
       0
       ,
       ±
      
     
     〉
    
   
   =
   
    
     
      
       ❘
       "\[LeftBracketingBar]"
      
      α
      〉
     
     ±
     
      
       ❘
       "\[LeftBracketingBar]"
      
      
       -
       α
      
      〉
     
    
    
     
      2
      ⁢
      
       (
       
        1
        ±
        
         e
         
          
           -
           2
          
          ⁢
          
           
            
             ❘
             "\[LeftBracketingBar]"
            
            α
            
             ❘
             "\[RightBracketingBar]"
            
           
           2
          
         
        
       
       )
      
     
    
   
  
 



In general, the case with 1≤k≤d−1, we are given with cm,n± for all 0≤m≤d−1 and 0≤n≤k−1. Thus, at this point, the first k columns of c± are known. Let c:,0:k−1±, be the d×k matrix which is obtained by taking the first k columns of the matrix c±. Given c:,0:k−1±, we assign the k+1 column of c± as follows:



 
  
   
    c
    
     m
     ,
     k
    
    ±
   
   =
   
    -
    
     
      
       (
       
        
         
          
           c
           
            :
            
             ,
             
              0
              :
              
               k
               -
               1
              
             
            
           
           ±
          
          (
          
           c
           
            :
            
             ,
             
              0
              :
              
               k
               -
               1
              
             
            
           
           ±
          
          )
         
         †
        
        ⁢
        
         Φ
         ±
        
       
       )
      
      
       m
       ,
       k
      
     
     
      
       
        Φ
        
         k
         ,
         k
        
        ±
       
       -
       
        
         (
         
          
           
            (
            
             Φ
             ±
            
            )
           
           †
          
          ⁢
          
           
            
             c
             
              :
              
               ,
               
                0
                :
                
                 k
                 -
                 1
                
               
              
             
             ±
            
            (
            
             c
             
              :
              
               ,
               
                0
                :
                
                 k
                 -
                 1
                
               
              
             
             ±
            
            )
           
           †
          
          ⁢
          
           Φ
           ±
          
         
         )
        
        
         k
         ,
         k
        
       
      
     
    
   
  
  ⁢
  

  
   
    
     for
     ⁢
        
     0
    
    ≤
    m
    ≤
    
     k
     -
     1
    
   
   ,
   

   
    
     c
     
      k
      ,
      k
     
     ±
    
    =
    
     -
     
      1
      
       
        
         Φ
         
          k
          ,
          k
         
         ±
        
        -
        
         
          (
          
           
            
             (
             
              Φ
              ±
             
             )
            
            †
           
           ⁢
           
            
             
              c
              
               :
               
                ,
                
                 0
                 :
                 
                  k
                  -
                  1
                 
                
               
              
              ±
             
             (
             
              c
              
               :
               
                ,
                
                 0
                 :
                 
                  k
                  -
                  1
                 
                
               
              
              ±
             
             )
            
            †
           
           ⁢
           
            Φ
            ±
           
          
          )
         
         
          k
          ,
          k
         
        
       
      
     
    
   
  
  ⁢
  

  
   
    and
    ⁢
       
    
     c
     
      m
      ,
      k
     
     ±
    
   
   =
   
    
     0
     ⁢
        
     for
     ⁢
        
     all
     ⁢
        
     m
    
    >
    
     k
     .
    
   
  
 



Having constructed the 2d orthonormalized shifted Fock basis states |ψn,± the matrix elements for an operator Ô (e.g. Ô=â) in the orthonormalized basis need to be determined. To do this, let |φn=|φn, + and |φn+d=|φn,− for ∈{0, . . . , d−1} and also define |ψn and |ψn+d similarly. Suppose the operator Ô transforms the non-orthonormalized basis states |φn as follows:



 
  
   
    O
    ^
   
   ⁢
   
    
     ❘
     "\[LeftBracketingBar]"
    
    
     φ
     n
    
    〉
   
  
  =
  
   
    ∑
    
     m
     =
     0
    
    
     
      2
      ⁢
      d
     
     -
     1
    
   
   
    
     O
     
      m
      ,
      n
     
    
    ⁢
    
     
      ❘
      "\[LeftBracketingBar]"
     
     
      φ
      m
     
     〉
    
   
  
 



Om,n are the matrix elements of the operator Ô in the non-orthonormalized basis |φn. Then, in the orthonormalized basis, the matrix elements of the operator Ô are given by:

O′m,n≡ψm|Ô|ψn=(c†ΦOc)m,n 

where Φ and c are 2d×2d matrices which are defined as:




 
  
   Φ
   =
   
    [
    
     
      
       
        Φ
        +
       
      
      
       0
      
     
     
      
       0
      
      
       
        Φ
        -
       
      
     
    
    ]
   
  
  ,
  
   c
   =
   
    [
    
     
      
       
        c
        +
       
      
      
       0
      
     
     
      
       0
      
      
       
        c
        -
       
      
     
    
    ]
   
  
 



The matrix elements of the d×d matrices Φ± and c± are given above.
Consider the annihilation operator Ô=â and note that it transforms the non-orthonormalized basis states |φn,± as follows:

â|φn,±=√{square root over (n)}|φn−1,∓+α|φn,∓

Here, the ± parity is flipped to the ∓ parity. Thus, in the non-orthonormalized basis, the matrix elements of the annihilation operator are given by:



 
  
   [
   
    
     
      0
     
     
      
       
        b
        ^
       
       +
       α
      
     
    
    
     
      
       
        b
        ^
       
       +
       α
      
     
     
      0
     
    
   
   ]
  
  =
  
   
    X
    ^
   
   ⊗
   
    (
    
     
      b
      ^
     
     +
     α
    
    )
   
  
 



where {circumflex over (X)} is the Pauli X operator and {circumflex over (b)} is the truncated annihilation operator of size d×d. Then, the matrix elements of the annihilation operator in the orthonormalized basis |ψn,± can be obtained via the transformation given above with regard to O′m,n.
Recall that |ωn,± are complementary basis states. To find the matrix elements of an operator in the computational basis states, the matrix may be conjugated by the Hadamard operator Ĥ. Thus, in the orthonormalized computational basis, the annihilation operator is given by:



 
  
   
    
     a
     ^
    
    SF
   
   ≡
   
    
     
      (
      
       
        H
        ^
       
       ⊗
       
        I
        ^
       
      
      )
     
     ·
     
      c
      †
     
    
    ⁢
    
     Φ
     ⁡
     (
     
      
       X
       ^
      
      ⊗
      
       (
       
        
         b
         ^
        
        +
        α
       
       )
      
     
     )
    
    ⁢
    
     c
     ·
     
      (
      
       
        H
        ^
       
       ⊗
       
        I
        ^
       
      
      )
     
    
   
  
  
   →
   
    
     
      
       ❘
       "\[LeftBracketingBar]"
      
      α
      
       ❘
       "\[RightBracketingBar]"
      
     
     2
    
    >>
     
    d
   
  
  
   
    Z
    ^
   
   ⊗
   
    (
    
     
      b
      ^
     
     +
     α
    
    )
   
  
 



Here the subscript SF indicates the action of the annihilation operator in the shifted Fock basis. The approximate expression âSF≃{tilde over (Z)}⊗({circumflex over (b)}+α) is useful for analyzing the Z error rates of large cat qubits (with |α|2>>1) in the perturbative regime where the cat qubit states may sometimes be excited to the first excited state manifold (n=1) but quickly decay back to the ground state manifold (n=0). Lastly, it is noted that the parity operator ei{circumflex over (π)}â†â is exactly given by {circumflex over (X)}⊗Î in the shifted Fock basis because of the way the basis states are defined, e.g., |ωn,+ (|φn,−) has an even (odd) excitation number parity.
FIG. 38 is a process flow diagram illustrating a process of utilizing a shifted Fock basis to simulate a cat qubit (with |α|2>>1), according to some embodiments.
At block 3802, non-orthonormalized basis states are defined as described above. At block 3804 the basis states are orthonormalized to construct 2d orthonormalized shifted Fock basis states as described above. At block 3806 matrix elements are determined for an operator in the orthonormalized basis as described above.
Embodiments of the present disclosure can be described in view of the following clauses:
Clause 1. A system, comprising:


    
    
        a mechanical linear resonator; and
        a control circuit coupled with the mechanical linear resonator,
        wherein the control circuit is configured to stabilize an arbitrary coherent state superposition (cat state) of the mechanical linear resonator to store quantum information, wherein to stabilize the arbitrary cat-state, the control circuit is configured to:
        
            excite phonons in the mechanical linear resonator by driving a storage mode of the mechanical linear resonator; and
            dissipate phonons from the mechanical linear resonator via an open transmission line coupled to the control circuit configured to absorb photons from a dump mode of the control circuit.

Clause 2. The system of clause 1, wherein the control circuit comprises:

        
        
        an asymmetrically-threaded superconducting quantum interference device (ATS) coupled with the mechanical resonator.

Clause 3. The system of clause 2, further comprising:

        one or more additional mechanical linear resonators coupled to the control circuit, wherein the control circuit is configured to stabilize respective cat states of the mechanical resonator and the one or more additional mechanical linear resonators via the single ATS and the single open transmission line.

Clause 4. The system of clause 3, wherein the storage modes of the respective mechanical linear resonators are detuned, such that the phonons supplied to the respective mechanical linear resonators are supplied in an incoherent manner.

Clause 5. The system of clause 4, wherein pumps of the respective mechanical linear resonators are separated by a frequency bandwidth greater than a two-phonon dissipation rate of the respective mechanical linear resonators.

Clause 6. The system of clause 5, wherein the control circuit further comprises:

        one or more microwave filters configured to filter out correlated decay terms that if not filtered out cause simultaneous phase flips of storage modes of two or more of the mechanical linear resonators.

Clause 7. The system of clause 2, wherein the control circuit further comprises:

        a high-impedance inductor used as part of the ATS coupled to the mechanical linear resonator.

Clause 8. The system of clause 7, wherein the high-impedance inductor comprises:

        a planar meander or double-spiral inductor;
        a spiral inductor with one or more air bridges;
        an array of Josephson junctions; or
        a thin-film superconductor with a high kinetic inductance.

Clause 9. The system of clause 2, wherein at least some of the mechanical linear resonators comprise three or more terminals, the system further comprising:

        two or more additional asymmetrically-threaded superconducting quantum interference devices (ATS),
        wherein a given one of the mechanical linear resonators comprising three or more terminals is coupled with three or more ATSs via the respective three or more terminals.

Clause 10. A method of stabilizing coherent state superpositions (cat states) of a mechanical resonator, the method comprising:

        exciting phonons in the mechanical resonator by driving a storage mode of the mechanical resonator; and
        dissipating phonons from the mechanical resonator via an open transmission line coupled to the control circuit configured to absorb photons from a dump mode of the control circuit.

Clause 11. The method of clause 10, wherein the phonons are excited in the mechanical resonator and dissipated from the mechanical resonator in pairs comprising two phonons.

Clause 12. The method of clause 11, wherein the excitation and dissipation of the phonon pairs is induced via a non-linear interaction between the storage mode of the mechanical resonator and the dump mode of the control circuit, wherein a square of the storage mode of the mechanical resonator is coupled to the dump mode of the control circuit via a two-phonon coupling rate (g2), and wherein a decay rate at which photons are absorbed via the open transmission line is approximately ten times or greater than the coupling rate (g2).

Clause 13. The method of clause 11, wherein the control circuit comprises an asymmetrically-threaded superconducting quantum interference device (ATS) coupled with the mechanical resonator, wherein the ATS is configured to cause the two-phonon pairs to be excited in the mechanical resonator.

Clause 14. The method of clause 13, further comprising:

        causing phonons to be excited in one or more additional mechanical resonator by driving respective storage modes of the one or more additional mechanical resonators; and
        dissipating phonons from the one or more additional mechanical resonators via the open transmission line configured to absorb the photons from the dump mode of the control circuit,
        wherein the single ATS is used to cause the phonons to be excited in the mechanical resonator and the one or more additional mechanical resonators.

Clause 15. The method of clause 14, wherein the storage modes of the respective mechanical resonators are detuned.

Clause 16. The method of clause 15, wherein the storage modes of the respective mechanical resonators are separated by a frequency bandwidth greater than a two-phonon dissipation rate of the dump mode of the control circuit.

Clause 17. The method of clause 16, further comprising:

        filtering out, via one or more microwave filters, correlated decay terms of storage modes of two or more of the mechanical resonators.

Clause 18. A method of stabilizing coherent state superpositions (cat states) of a plurality of resonators storing quantum information, the method comprising:

        causing, via a single asymmetrically-threaded superconducting quantum interference device (ATS), pairs of two phonons or pairs of two photons to be excited in respective ones of the respective resonators by driving respective storage modes of the respective resonators; and
        dissipating pairs of two photons from a dump mode of a control circuit comprising the ATS, wherein the control circuit is coupled with the respective resonators, and wherein an open transmission line is coupled to the dump mode of the control circuit.

Clause 19. The method of clause 18, wherein the resonators are mechanical resonators.

Clause 20. The method of clause 18, wherein the resonators are electromagnetic resonators.

Clause 21. A method, comprising:

        implementing a multi-qubit gate among control and target qubits in a system comprising resonators and an asymmetrically-threaded superconducting quantum interference device (ATS), wherein implementing the multi-qubit gate comprises:
        
            implementing a linear drive for a phononic mode of a cat qubit for the gate, wherein the cat qubit is implemented via one of the resonators of the system;
            orchestrating Hamiltonian interactions, wherein the Hamiltonian interactions comprise a compensating Hamiltonian for the multi-qubit gate, and wherein the compensating Hamiltonian includes a frequency shift of a target mode and a control mode at the mechanical resonator being driven, wherein the control mode and the target mode are coupled via an optomechanical coupling.

Clause 22. The method of clause 21, wherein a setting for the multi-qubit gate comprises multiple ones of the resonators coupled to the ATS, wherein the ATS is shared by the multiple ones of the resonators.

Clause 23. The method of clause 21, wherein the optomechanical coupling is realized by off-resonantly driving the resonators and the ATS.

Clause 24. The method of 23, wherein said off-resonantly driving the resonators and the ATS avoids frequency collisions.

Clause 25. The method of clause 21, wherein the multi-qubit gate is a CNOT gate.

Clause 26. The method of clause 21, wherein the multi-qubit gate is a Toffoli gate.

Clause 27. The method of clause 21, wherein the resonators are mechanical resonators.

Clause 28. The method of clause 21, wherein the resonators are electromagnetic resonators.

Clause 29. A method for simulating a Toffoli gate encoded in arbitrary Calderbank-Shor-Steane codes, the method comprising:

        
        
        preparing computational basis states in a fault-tolerant manner by applying a STOP algorithm to determine when syndrome measurements of stabilizers of a repetition code for the computational basis states can be stopped such that a probability of faults for the computational basis states are below a threshold level;
        transversally applying a CNOT gate to the prepared computational basis states to prepare a |ψ1 state;
        measuring a Clifford stabilizer gA for the |ω1 state, and applying a logical Z correction if the measurement outcome for the Clifford stabilizer gA is −1, wherein measuring the Clifford stabilizer gA and applying the logical Z correction based on a measurement outcome of the Clifford stabilizer gA prepares a state |ψout;
        repeating the Clifford stabilizer gA measurement for the |ψ state a threshold number of times;
        preparing a Toffoli magic state in response to determining the Clifford stabilizer gA measurements are trivial; and
        applying a sequence of Clifford gates to a logical input state ∥ψL and the prepared Toffoli magic state to simulate the logical Toffoli gate, wherein Clifford error corrections are applied to the outputs of the sequence of Clifford gates applied to the logical inputs.

Clause 30. The method of clause 29, wherein applying the STOP algorithm comprises: tracking consecutive syndrome outcomes;

        computing a minimum number of faults capable of causing a tracked sequence of consecutive syndrome outcomes;
        stopping the STOP algorithm if either of the following conditions is met:
        
            1) a same syndrome outcome is repeated a threshold number of times in a row, wherein the threshold is equal to one plus a difference between:
            
                a code distance of one of the computational basis states being prepared minus one wherein the result of the subtraction is divided by two; and
                a currently computed minimum number of faults capable of causing the tracked sequence of consecutive syndrome outcomes; or
            
            
            2) the currently computed minimum number of faults capable of causing the tracked sequence of consecutive syndromes is equal to the code distance of the one of the computational basis states being prepared minus one wherein the result of the subtraction is divided by two, and wherein one additional round of syndrome measurements is performed subsequently; and
        
        
        utilizing the repeated syndrome if condition 1 is met or utilizing the syndrome for the subsequently performed syndrome measurement if condition 2 is met, wherein the utilized syndrome it utilized to error correct the one of the computational basis states being prepared.

Clause 31. The method of clause 30, wherein:

        repeating the measurement of the Clifford stabilizer gA for the |ψ1 state the threshold number of times comprises repeating the measurement such that the Clifford stabilizer gA is measured a number of times equal to (d−1)/2, wherein d is a code distance of the one of the fault tolerant computational basis states.

Clause 32. The method of clause 31, wherein error detection is performed between respective measurements of the Clifford stabilizer gA.

Clause 33. The method of clause 29, further comprising:

        growing the Toffoli magic state from a first code distance to a second code distance, wherein the STOP algorithm is used to measure stabilizers and minimum weight perfect matching (MWPM) is applied to a measured syndrome history generated from measuring the stabilizers to correct for errors.

Clause 34. A method, comprising:

        measuring syndrome outcomes of an ancilla qubit for an arbitrary Calderbank-Shor Steane code;
        tracking consecutive ones of the measured syndrome outcomes;
        computing a minimum number of faults capable of causing a tracked sequence of consecutive syndrome outcomes;
        stopping the measuring of the syndrome outcomes if either of the following conditions is met:
        
            1) a same syndrome outcome is repeated a threshold number of times in a row, wherein the threshold is equal to one plus a difference between:
            
                a code distance of the arbitrary Calderbank-Shor-Steane code minus one wherein the result of the subtraction is divided by two; and
                a currently computed minimum number of faults capable of causing the tracked sequence of consecutive syndrome outcomes; or
            
            
            2) the currently computed minimum number of faults capable of causing the tracked sequence of consecutive syndromes is equal to the code distance minus one wherein the result of the subtraction is divided by two, and wherein one additional round of syndrome measurements is performed subsequently; and
        
        
        utilizing the repeated syndrome outcome if condition 1 is met or utilizing the syndrome outcome for the subsequently performed syndrome measurement if condition 2 is met, wherein the utilized syndrome outcome is utilized to error correct the arbitrary Calderbank-Shor-Steane code.

Clause 35. The method of clause 34, wherein:

        the arbitrary Calderbank-Shor-Steane code is a n-qubit repetition code;
        measuring the syndrome outcomes comprises measuring ZL at the ancilla for the n-qubit repetition code; and
        performing the error correction for the n-qubit arbitrary Calderbank-Shor-Steane code further comprises applying an XL correction based on the measured ZL at the ancilla for the n-qubit repetition code,
        wherein performing the error correction prepares computational basis state to be used in implementing a Clifford gate.

Clause 36. The method of clause 34, further comprising:

        growing the arbitrary Calderbank-Shor-Steane code from a first code distance to a second code distance, wherein a STOP algorithm is used to measure stabilizers and minimum weight perfect matching (MWPM) is applied to a measured syndrome history generated from measuring the stabilizers to correct for errors, wherein the STOP algorithm comprises said measuring syndrome outcomes, said tracking consecutive ones of the measured outcomes, said computing a minimum number of faults, said stopping the measuring if condition 1 or condition 2 is met, and said error correction.

Clause 37. The method of clause 36, wherein said growing the arbitrary Calderbank-Shor-Steane code from the first code distance to the second code distance comprises:

        performing lattice surgery to merge together two code blocks, wherein the measuring comprises measuring a boundary operator between the two code blocks being merged.

Clause 38. The method of clause 34, further comprising:

        preparing computational basis states in a fault tolerant manner by applying a STOP algorithm to determine when syndrome measurements of stabilizers of a repetition code for the computational basis states can be stopped such that a probability of faults for the computational basis states are below a threshold level,
        wherein:
        
            the computational basis states are encoded using the arbitrary Calderbank-Shor-Steane code; and
            applying the STOP algorithm comprises performing said measuring syndrome outcomes, said tracking consecutive ones of the measured outcomes, said computing a minimum number of faults, said stopping the measuring if condition 1 or condition 2 is met, and said error correction.

Clause 39. The method of clause 38, further comprising:

        
        
        transversally applying a CNOT gate to the prepared computational basis states to prepare a |ψ1 state;
        measuring a Clifford stabilizer gA for the |ψ1  state, and applying a logical Z correction if the measurement outcome for the Clifford stabilizer gA is −1, wherein measuring the Clifford stabilizer gA and applying the logical Z correction based on a measurement outcome of the Clifford stabilizer gA prepares a state |ψout;
        repeating the Clifford stabilizer gA measurement for the |ψ1 state a threshold number of times; 
        preparing a Toffoli magic state in response to determining the Clifford stabilizer gA measurements are trivial; and
        applying a sequence of Clifford gates to the |ψ1 state and the prepared Toffoli magic state to simulate a Toffoli gate, wherein Clifford error corrections are applied to the outputs of the sequence of Clifford gates applied to a logical input.

Clause 40. The method of clause 39, wherein:

        repeating the measurement of the Clifford stabilizer gA for the |ψ1 state the threshold number of times comprises repeating the measurement such that the Clifford stabilizer gA is measured a number of times equal to (d−1)/2, wherein d is a code distance of the one of the fault tolerant computational basis states.

Clause 41. The method of clause 40, wherein error detection is performed between respective measurements of the Clifford stabilizer gA.

Clause 42. The method of clause 41, further comprising:

        growing the Toffoli magic state from a first code distance to a second code distance, wherein the STOP algorithm is used to measure stabilizers and minimum weight perfect matching (MWPM) is applied to a measured syndrome history generated from measuring the stabilizers to correct for errors.

Clause 43. The method of clause 34, wherein the arbitrary Calderbank-Shor-Steane code and the ancilla are implemented using a system comprising:

        mechanical linear resonators; and
        a control circuit coupled with the mechanical linear resonators,
        wherein the control circuit is configured to stabilize an arbitrary coherent state superposition (cat state) of the mechanical linear resonators to store quantum information of the Calderbank-Shor-Steane code, wherein to stabilize the arbitrary cat-state, the control circuit is configured to:
        
            excited phonons in the mechanical linear resonators by driving respective storage modes of the mechanical linear resonators; and
            dissipate phonons from the mechanical linear resonators via an open transmission line coupled to the control circuit configured to absorb photons from a dump mode of the control circuit.

Clause 44. The method of clause 43, wherein the control circuit comprises:

        
        
        an asymmetrically-threaded superconducting quantum interference device (ATS) coupled with the mechanical linear resonators.

Clause 45. A system comprising:

        mechanical resonators; and
        a control circuit coupled with the mechanical resonators, wherein the control circuit is configured to stabilize arbitrary coherent state superpositions (cat states) of the mechanical resonators to store quantum information; and
        one or more computing devices storing program instructions, that when executed cause the control circuit to perform:
        
            measuring syndrome outcomes of an ancilla qubit for one or more qubits storing the quantum information, wherein the ancilla qubit and the one or more qubits storing the quantum information are implemented via one or more of the mechanical resonators;
            tracking consecutive ones of the measured syndrome outcomes;
            computing a minimum number of faults capable of causing a tracked sequence of consecutive syndrome outcomes;
            stopping the measuring of the syndrome outcomes if either of the following conditions is met:
            
                1) a same syndrome outcome is repeated a threshold number of times in a row, wherein the threshold is equal to one plus a difference between:
                
                    a code distance of the one or more qubits storing quantum information minus one wherein the result of the subtraction is divided by two; and
                    a currently computed minimum number of faults capable of causing the tracked sequence of consecutive syndrome outcomes; or
                
                
                2) the currently computed minimum number of faults capable of causing the tracked sequence of consecutive syndromes is equal to the code distance minus one wherein the result of the subtraction is divided by two, and wherein one additional round of syndrome measurements is performed subsequently; and
            
            
            utilizing the repeated syndrome if condition 1 is met or utilizing the syndrome outcome for the subsequently performed syndrome measurement if condition 2 is met, wherein the utilized syndrome outcome is utilized to error correct the stored quantum information.

Clause 46. The system of clause 45, wherein the one or more computing devices are further configured to implement:

        
        
    
    
    preparing computational basis states in a fault tolerant manner by applying a STOP algorithm to the fault-tolerant computational basis states to determine when syndrome measurements of stabilizers of a repetition code for the computational basis states can be stopped such that a probability of faults for the computational basis states are below a threshold level,
    wherein:
    
        applying the STOP algorithm comprises performing said measuring syndrome outcomes, said tracking consecutive ones of the measure outcomes, said computing a minimum number of faults, said stopping the measuring if condition 1 or condition 2 is met, and said error correction.

Clause 47. The system of clause 45, wherein the one or more computing devices are further configured to implement:

        transversally applying a CNOT gate to the prepared computational basis states to prepare a |ψ1 state;
        measuring a Clifford stabilizer gA for the |ψ1 state, and applying a logical Z correction if the measurement outcome for the Clifford stabilizer gA is −1, wherein measuring the Clifford stabilizer gA and applying the logical Z correction based on a measurement outcome of the Clifford stabilizer gA prepares a state |ψout;
        repeating the Clifford stabilizer gA measurement for the |ψ1 state a threshold number of times;
        preparing a Toffoli magic state in response to determining the Clifford stabilizer gA measurements are trivial; and
        applying a sequence of Clifford gates to a logical input state |ψL and the prepared Toffoli magic state to simulate the Toffoli gate, wherein Clifford error corrections are applied to the outputs of the sequence of Clifford gates applied to the logical inputs.

Clause 48. The system of clause 47, wherein the one or more computing devices are further configured to implement:

        growing the Toffoli magic state from a first code distance to a second code distance, wherein the STOP algorithm is used to measure stabilizers and minimum weight perfect matching (MWPM) is applied to a measured syndrome history generated from measuring the stabilizers to correct for errors.

Clause 49. A method of simulating a cat qubit, the method comprising:

        defining basis states for the cat qubit;
        orthonormalizing the defined basis states to construct 2d orthonormalized shifted Fock basis states for the cat qubit; and
        determining matrix elements of an operator in the orthonormalized shifted Fock basis states.

Clause 50. The method of clause 49, wherein the defined basis states, before performing the orthonormalization, are defined such that the defined basis states are grouped into even and odd branches.

Clause 51. The method of clause 50, wherein, in a ground state, normalized versions of the defined basis states are equivalent to complementary basis states of the cat qubit expressed as |+ or |− instead of computational basis states expressed as |0 or |1.

Clause 52. The method of clause 51, wherein the defined basis states in different parity sectors are orthogonal to one another such that the orthonormalization is performed separately in the respective parity sectors.

Clause 53. The method of clause 49, further comprising:

        applying the determined matrix elements of the operator to simulate the cat-qubit in the 2d orthonormalized shifted Fock basis states.

Clause 54. The method of clause 49, wherein the cat qubit being simulated is a hybrid acoustic-electrical qubit implemented using a linear mechanical resonator.

Clause 55. The method of clause 49, wherein the cat qubit being simulated is implemented using an electromagnetic resonator.

Clause 56. One or more non-transitory computer-readable media storing program instructions, that when executed on or across one or more processors, cause the one or more processors to:

        define basis states for a cat qubit to be simulated;
        orthonormalize the defined basis states to construct 2d orthonormalized shifted Fock basis states for the cat qubit; and
        determine matrix elements of an operator in the orthonormalized basis states.

Clause 57. The one or more non-transitory computer-readable media of clause 56, wherein the program instructions, when executed on or across the one or more processors, further cause the one or more processors to:

        apply the determined matrix elements of the operator to simulate the cat-qubit in the 2d orthonormalized shifted Fock basis states.

Clause 58. The one or more non-transitory computer-readable media of clause 56, wherein the defined basis states, before performing the orthonormalization, are defined such that the defined basis states are grouped into even and odd branches.

Clause 59. The one or more non-transitory computer-readable media of clause 56, wherein, in a ground state, normalized versions of the defined basis states are equivalent to complementary basis states of the cat qubit expressed as |+ or |− instead of computational basis states expressed as |0 or |1.

Clause 60. The one or more non-transitory computer-readable media of clause 56, wherein the defined basis states are orthogonal to one another such that the orthonormalization is performed separately in respective parity sectors.

Clause 61. A system, comprising:

        a memory storing program instructions; and
        one or more processors, wherein the program instructions, when executed on or across the one or more processors cause the one or more processors to:
        define basis states for a cat qubit to be simulated;
        orthonormalize the defined basis states to construct 2d orthonormalized shifted Fock basis states for the cat qubit; and
        determine matrix elements of an operator in the orthonormalized basis states.

Clause 62. The system of clause 61, wherein the program instructions, when executed on

        or across the one or more processors, further cause the one or more processors to: apply the determined matrix elements of the operator to simulate the cat-qubit in the 2d orthonormalized shifted Fock basis states.

Clause 63. The system of clause 61, wherein the defined basis states, before performing the orthonormalization, are defined such that the defined basis states are grouped into even and odd branches.

Clause 64. The system of clause 61, wherein, in a ground state, normalized versions of the defined basis states are equivalent to complementary basis states of the cat qubit expressed as |+ or |− instead of computational basis states expressed as |0 or |1.

Clause 65. The system of clause 61, wherein the defined basis states are orthogonal to one another such that the orthonormalization is performed separately in respective parity sectors.

Clause 66. The system of clause 61, wherein the cat qubit to be simulated is implemented using mechanical resonators.

Clause 67. The system of clause 61, wherein the cat qubit to be simulated is implemented using electromagnetic resonators.

Clause 68. The system of clause 61, wherein the cat qubit to be simulated is implemented in as system comprising one or more mechanical resonators and one or more electromagnetic resonators.

Clause 69. A method of measuring an ancilla qubit in a context of error correction of stored quantum information, wherein a set of one or more error correction gates are applied between one or more data qubits storing the quantum information and the ancilla qubit to entangle the ancilla qubit with the one or more data qubits, the method comprising:

        transferring an excitation of the ancilla qubit to an additional readout qubit using a SWAP gate or other sequence of one or more gates that perform a swap function;
        performing one or more measurements of the readout qubit; and
        applying another set of one or more error correction gates between the one or more data qubits storing the quantum information and the ancilla qubit concurrently with performing at least some of the one or more measurements of the readout qubit.

Clause 70. The method of clause 69, wherein the data qubits, the ancilla qubit, and the readout qubit are implemented using mechanical resonators.

Clause 71. The method of clause 70, wherein the swap gate is mediated by an asymmetrically threaded superconducting quantum interference device (ATS).

Clause 72. The method of clause 69, wherein the data qubits, the ancilla qubit, and the readout qubit are implemented using bosonic modes.

Clause 73. The method of clause 69, wherein an amount of time during which the one or more data qubits idle while performing the swap gate is less than an amount of time required to perform the one or more measurements of the readout qubit.

Clause 74. The method of clause 73, wherein the one or more measurements of the readout qubit:

        comprise a plurality of repeated measurements taken subsequent to performing the swap gate or other gates that perform the swap function; and
        are repeated up until an approximate time when a swap gate operation is performed for a next round of error correction, wherein the swap gate operation of the next round of error correction is performed subsequent to applying the other set of one or more error correction gates.

Clause 75. The method of clause 74, wherein the plurality of repeated measurements of the readout qubit comprise repeated QND (quantum non demolition) parity measurements of the readout qubit.

Clause 76 The method of clause 73, wherein the readout qubit is a higher mode of an ancilla oscillator for the ancilla qubit.

Clause 77. The method of clause 76, wherein the ancilla oscillator is a λ/2 oscillator, and wherein the readout qubit has a mode that is twice a base mode of the ancilla oscillator.

Clause 78. A method of measuring a bosonic qubit wherein a measurement outcome is affected by a single photon loss event, the method comprising:

        deflating the bosonic qubit, prior to performing a readout of the bosonic qubit, such that phonons or photons are dissipated from the bosonic qubit while a measurement observable of the bosonic qubit is preserved; and
        performing, subsequent to the deflating, a readout of the measurement observable of the deflated bosonic qubit.

Clause 79. The method of clause 78, wherein deflating the bosonic qubit comprises: changing a dissipater parameter such that an average photon number or average phonon number of the bosonic qubit (α) is reduced from an αinitial value to an αfinal value, wherein |αfinal|<|αinitial|.

Clause 80. The method of clause 78, wherein:

        deflating the bosonic qubit comprises varying a steady state of a two-photon dissipation process for the bosonic qubit; and
        performing the readout of the measurement observable of the deflated bosonic qubit comprises performing a parity readout of the deflated bosonic qubit.

Clause 81. The method of clause 78, wherein the bosonic qubit is implemented using a system comprising:

        mechanical resonators; and
        a control circuit coupled with the mechanical resonators,
        wherein the control circuit is configured to stabilize an arbitrary coherent state superposition (cat state) of the mechanical resonators to store quantum information, wherein to stabilize the arbitrary cat-state, the control circuit is configured to:
        
            excite phonons in the mechanical resonators by driving respective storage modes of the mechanical resonators; and
            dissipate phonons via an open transmission line coupled to the control circuit configured to absorb photons from a dump mode of the control circuit.

Clause 82. The method of clause 81, wherein the control circuit comprises:

        
        
        an asymmetrically-threaded superconducting quantum interference device (ATS) coupled with the mechanical resonators, and
        wherein deflating the bosonic qubit comprises changing a steady state of a two photon dissipation controlled by the ATS.

Clause 83. A method of performing a measurement of a first mode (a) representing quantum information stored in a cat qubit, the method comprising:

        deflating the cat qubit such that an even number of phonons or photons are dissipated from the cat qubit;
        evolving the cat qubit under a Hamiltonian that couples a number of excitations of the cat qubit to a change in a measurable property of another mode (b); and
        measuring the other mode (b).

Clause 84. The method of clause 83, wherein:

        the measurement is a determination of a parity of the cat qubit;
        deflating the cat qubit comprises deflating the cat qubit such that an average photon number or average phonon number of the cat qubit (α) is reduced to zero, wherein an even cat state is mapped to |0 and an odd cat state is mapped to |1;
        the Hamiltonian is selected from a three or higher wave mixing Hamiltonian that correlates phonon number or photon number to a change of the other mode (b); and
        measuring the other mode (b) using homodyne, heterodyne, or photo detection.

Clause 85. The method of clause 83, wherein the Hamiltonian selected from the three or higher wave mixing Hamiltonian comprises ig(b†−b)a†a.

Clause 86. The method of clause 83, wherein the Hamiltonian selected from the three or higher wave mixing Hamiltonian comprises g(b†+b)a†a.

Clause 87. The method of clause 83, wherein the Hamiltonian selected from the three or higher wave mixing Hamiltonian comprises a product of a†a with a term that affects the other mode (b) in a measureable way.

Clause 88. The method of clause 83, wherein:

        the cat qubit is implemented via a mechanical resonator;
        the other mode (b) is a dump mode; and
        the Hamiltonian is selected from a three or higher wave mixing Hamiltonian that correlates the average phonon number or the average photon number to a change of the other mode (b), wherein the three wave mixing is mediated by an ATS.

Clause 89. A method of performing a measurement of quantum information in a cat qubit, the method comprising:

        evolving under a Hamiltonian which couples the phase of a of the cat qubit (an “a” mode) to a measurable property of another bosonic mode (a “b” mode) wherein the Hamiltonian is achieved via a three wave or higher mixing Hamiltonian; and
        performing homodyne, heterodyne, or photo detection of the “b” mode to determine a state of the “a” mode,

wherein the cat qubit is implemented using a system comprising:

        mechanical resonators; and
        a control circuit comprising an asymmetrically-threaded superconducting quantum interference device (ATS) coupled with the mechanical resonators,
        wherein the control circuit is configured to stabilize an arbitrary coherent state superposition (cat state) of the mechanical resonators to store quantum information, wherein to stabilize the arbitrary cat-state, the control circuit is configured to:
        
            excite phonons in the mechanical resonators by driving respective storage modes of the mechanical resonators; and
            dissipate phonons via an open transmission line coupled to the control circuit configured to absorb photons from a dump mode of the control circuit.

Clause 90. The method of clause 81, wherein:

        
        
        the Hamiltonian is derived from a three wave mixing Hamiltonian mediated by an ATS;
        the “a” mode is implemented via a mechanical storage resonator; and
        the “b” mode is implemented via an electromagnetic resonator.

Clause 91. The method of clause 82, wherein a Hamiltonian for the readout comprises:

g(a+a†)(b+b†);

ig(a+a†)(b−b†); or

g(ab†+a†b).

Illustrative Computer System

    
    


FIG. 39 is a block diagram illustrating an example computing device that may be used in at least some embodiments.
FIG. 39 illustrates such a general-purpose computing device 3900 as may be used in any of the embodiments described herein. In the illustrated embodiment, computing device 3900 includes one or more processors 3910 coupled to a system memory 3920 (which may comprise both non-volatile and volatile memory modules) via an input/output (I/O) interface 3930. Computing device 3900 further includes a network interface 3940 coupled to I/O interface 3930.
In various embodiments, computing device 3900 may be a uniprocessor system including one processor 3910, or a multiprocessor system including several processors 3910 (e.g., two, four, eight, or another suitable number). Processors 3910 may be any suitable processors capable of executing instructions. For example, in various embodiments, processors 3910 may be general-purpose or embedded processors implementing any of a variety of instruction set architectures (ISAs), such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitable ISA. In multiprocessor systems, each of processors 3910 may commonly, but not necessarily, implement the same ISA. In some implementations, graphics processing units (GPUs) may be used instead of, or in addition to, conventional processors.
System memory 3920 may be configured to store instructions and data accessible by processor(s) 3910. In at least some embodiments, the system memory 3920 may comprise both volatile and non-volatile portions; in other embodiments, only volatile memory may be used. In various embodiments, the volatile portion of system memory 3920 may be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM or any other type of memory. For the non-volatile portion of system memory (which may comprise one or more NVDIMMs, for example), in some embodiments flash-based memory devices, including NAND-flash devices, may be used. In at least some embodiments, the non-volatile portion of the system memory may include a power source, such as a supercapacitor or other power storage device (e.g., a battery). In various embodiments, memristor based resistive random access memory (ReRAM), three-dimensional NAND technologies, Ferroelectric RAM, magnetoresistive RAM (MRAM), or any of various types of phase change memory (PCM) may be used at least for the non-volatile portion of system memory. In the illustrated embodiment, program instructions and data implementing one or more desired functions, such as those methods, techniques, and data described above, are shown stored within system memory 3920 as code 3925 and data 3926.
In some embodiments, I/O interface 3930 may be configured to coordinate I/O traffic between processor 3910, system memory 3920, and any peripheral devices in the device, including network interface 3940 or other peripheral interfaces such as various types of persistent and/or volatile storage devices. In some embodiments, I/O interface 3930 may perform any necessary protocol, timing or other data transformations to convert data signals from one component (e.g., system memory 3920) into a format suitable for use by another component (e.g., processor 3910). In some embodiments, I/O interface 3930 may include support for devices attached through various types of peripheral buses, such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard, for example. In some embodiments, the function of I/O interface 3930 may be split into two or more separate components, such as a north bridge and a south bridge, for example. Also, in some embodiments some or all of the functionality of I/O interface 3930, such as an interface to system memory 3920, may be incorporated directly into processor 3910.
Network interface 3940 may be configured to allow data to be exchanged between computing device 3900 and other devices 3960 attached to a network or networks 3950, such as other computer systems or devices. In various embodiments, network interface 3940 may support communication via any suitable wired or wireless general data networks, such as types of Ethernet network, for example. Additionally, network interface 3940 may support communication via telecommunications/telephony networks such as analog voice networks or digital fiber communications networks, via storage area networks such as Fibre Channel SANs, or via any other suitable type of network and/or protocol.
In some embodiments, system memory 3920 may represent one embodiment of a computer-accessible medium configured to store at least a subset of program instructions and data used for implementing the methods and apparatus discussed in the context of FIG. 1 through FIG. 38. However, in other embodiments, program instructions and/or data may be received, sent or stored upon different types of computer-accessible media. Generally speaking, a computer-accessible medium may include non-transitory storage media or memory media such as magnetic or optical media, e.g., disk or DVD/CD coupled to computing device 3900 via I/O interface 3930. A non-transitory computer-accessible storage medium may also include any volatile or non-volatile media such as RAM (e.g. SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, etc., that may be included in some embodiments of computing device 3900 as system memory 3920 or another type of memory. In some embodiments, a plurality of non-transitory computer-readable storage media may collectively store program instructions that when executed on or across one or more processors implement at least a subset of the methods and techniques described above. A computer-accessible medium may further include transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a network and/or a wireless link, such as may be implemented via network interface 3940. Portions or all of multiple computing devices such as that illustrated in FIG. 39 may be used to implement the described functionality in various embodiments; for example, software components running on a variety of different devices and servers may collaborate to provide the functionality. In some embodiments, portions of the described functionality may be implemented using storage devices, network devices, or special-purpose computer systems, in addition to or instead of being implemented using general-purpose computer systems. The term “computing device”, as used herein, refers to at least all these types of devices, and is not limited to these types of devices.
CONCLUSION
Various embodiments may further include receiving, sending or storing instructions and/or data implemented in accordance with the foregoing description upon a computer-accessible medium. Generally speaking, a computer-accessible medium may include storage media or memory media such as magnetic or optical media, e.g., disk or DVD/CD-ROM, volatile or non-volatile media such as RAM (e.g. SDRAM, DDR, RDRAM, SRAM, etc.), ROM, etc., as well as transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as network and/or a wireless link.
The various methods as illustrated in the Figures and described herein represent exemplary embodiments of methods. The methods may be implemented in software, hardware, or a combination thereof. The order of method may be changed, and various elements may be added, reordered, combined, omitted, modified, etc.
Various modifications and changes may be made as would be obvious to a person skilled in the art having the benefit of this disclosure. It is intended to embrace all such modifications and changes and, accordingly, the above description to be regarded in an illustrative rather than a restrictive sense.

## Claims

1. A method of preparing a Toffoli gate, implemented in a quantum computer, for use in quantum computing, the method comprising:
preparing a plurality of Toffoli magic states, wherein computational basis states used in preparing the Toffoli magic states are encoded using a repetition code;
distilling the Toffoli gate from two or more of the prepared Toffoli magic states, wherein distilling the Toffoli gate comprises preparing a check qubit associated with the Toffoli gate, wherein the check qubit indicates whether an error is present in the distilled Toffoli gate; and
in response to verifying the check qubit does not indicate an error, utilizing the distilled Toffoli gate to perform a logical Toffoli gate operation.

2. The method of claim 1, wherein distilling the Toffoli gate from the two or more of the prepared Toffoli magic states, comprises:
performing a plurality of rounds of lattice surgery operations between qubits of a selected set of the plurality of Toffoli magic states and qubits of the distilled Toffoli gate; and
wherein each of the rounds of lattice surgery acts on at least one of the check qubits associated with the distilled Toffoli gate.

3. The method of claim 1, wherein the distilled Toffoli gate has a fault rate of less than 1×10−6.

4. The method of claim 1, wherein the distilled Toffoli gate is distilled using 8 of the Toffoli magic states.

5. The method of claim 4, wherein the distilled Toffoli gate and another distilled Toffoli gate have a probability of error that is less than a highest probability of error of the respective ones of the 8 Toffoli magic states reduced by a power of two.

6. The method of claim 1, wherein the distilled Toffoli gate is distilled using 2 of the Toffoli magic states.

7. The method of claim 6, wherein the distilled Toffoli gate has an error probability that is reduced by a power of two as compared to respective error rates of the 2 Toffoli magic states, when the 2 Toffoli magic states have highly biased noise.

8. The method of claim 1, wherein the distilled Toffoli gate is distilled using 8 of the Toffoli magic states, and
wherein the distilled Toffoli gate has an error probability that is reduced by a power of three as compared to error rates of respective ones of the 8 Toffoli magic states, when the 8 Toffoli magic states have highly biased noise.

9. The method of claim 1, wherein a single round of distillation is performed to distill the Toffoli magic state, and wherein the single round of distillation comprises performing a plurality of lattice surgery operations.

10. The method of claim 1, wherein the Toffoli magic states and the distilled Toffoli gate are implemented in the quantum computer, the quantum computer comprising:
mechanical linear resonators; and
one or more control circuits coupled with the mechanical linear resonators,
wherein the one or more control circuits are configured to stabilize an arbitrary coherent state superposition (cat state) of the mechanical resonators to store quantum information of the Toffoli magic states and the distilled Toffoli gate, wherein to stabilize the arbitrary cat-state, the one or more control circuits are configured to:
excite phonons in the mechanical resonators by driving respective storage modes of the mechanical resonators; and
dissipate phonons from the mechanical resonators via one or more respective open transmission lines of the one or more control circuits coupled to the mechanical resonators, wherein the open transmission line is configured to absorb photons from the respective one or more control circuits.

11. A system comprising:
mechanical resonators; and
one or more control circuits coupled with the mechanical resonators, wherein the one or more control circuits are configured to stabilize arbitrary coherent state superpositions (cat states) of the mechanical resonators to store quantum information; and
one or more computing devices storing program instructions, that when executed cause the one or more control circuits to perform:
preparing a plurality of Toffoli magic states;
distilling a Toffoli gate from two or more of the prepared Toffoli magic states, wherein distilling the Toffoli gate comprises preparing a check qubit associated with the Toffoli gate, wherein the check qubit indicates whether an error is present in the distilled Toffoli gate; and
in response to verifying the check qubit does not indicate an error, utilizing the distilled Toffoli gate to perform a logical Toffoli gate operation.

12. The system of claim 11, wherein the distilled Toffoli gate and another distilled Toffoli gate comprise two distilled Toffoli gates that are distilled using 8 of the Toffoli magic states.

13. The system of claim 12, wherein the distilled Toffoli gate and the other distilled Toffoli gate have a probability of error that is less than a highest probability of error of the respective ones of the 8 Toffoli magic states reduced by a power of two.

14. The system of claim 11, wherein the distilled Toffoli gate is distilled using 2 of the Toffoli magic states.

15. The system of claim 14, wherein the distilled Toffoli gate has an error probability that is reduced by a power of two as compared to respective error rates of the 2 Toffoli magic states, when the 2 Toffoli magic states have highly biased noise.

16. The system of claim 11, wherein the distilled Toffoli gate is distilled using 8 of the Toffoli magic states, and
wherein the distilled Toffoli gate has an error probability that is reduced by a power of three as compared to error rates of respective ones of the 8 Toffoli magic states, when the 8 Toffoli magic states have highly biased noise.

17. The system of claim 11, wherein the plurality of Toffoli magic states used as inputs are stabilized using a STOP algorithm wherein to apply the STOP algorithm, the one or more computing devices are configured to implement:
tracking consecutive syndrome outcomes;
computing a minimum number of faults capable of causing a tracked sequence of consecutive syndrome outcomes;
stopping the STOP algorithm if either of the following conditions is met:
1. A same syndrome outcome is repeated a threshold number of times in a row, wherein the threshold is equal to one plus a difference between:
a code distance of one fault-tolerant computational basis states of a set of fault-tolerant computational basis states used in preparing the Toffoli magic states minus one wherein the result of the subtraction is divided by two; and
a currently computed minimum number of faults capable of causing the tracked sequence of consecutive syndrome outcomes; or

2) the currently computed minimum number of faults capable of causing the tracked sequence of consecutive syndromes is equal to the code distance of the one of the fault-tolerant computational basis states minus one wherein the result of the subtraction is divided by two, and wherein one additional round of syndrome measurements is performed subsequently; and

utilizing the repeated syndrome if condition 1 is met or utilizing the syndrome for the subsequently performed syndrome measurement if condition 2 is met, wherein the utilized syndrome is utilized to error correct the one of the fault-tolerant computational basis states.

18. The system of claim 11, wherein respective ones of the one or more control circuits comprise:
an asymmetrically-threaded superconducting quantum interference device (ATS) coupled with respective ones of the mechanical resonators.

19. A method of distilling a logical Toffoli gate, implemented in a quantum computer, from a plurality of Toffoli magic states, the method comprising:
performing a plurality of rounds of lattice surgery operations between qubits of a selected set of the plurality of Toffoli magic states and qubits for a distilled Toffoli gate; and
wherein each of the rounds of lattice surgery acts on at least one of the check qubits associated with the distilled Toffoli gate.

20. The method of claim 19, wherein
the distilled Toffoli gate is distilled using 8 of the Toffoli magic states; and
the distilled Toffoli gate has a probability of error that is less than a highest probability of error of the respective ones of the 8 Toffoli magic states reduced by a power of two.