Quantum computing is distinguished from “classical” computing by its reliance on structures referred to as “qubits.” At the most general level, a qubit is a quantum system that can exist in one of two orthogonal states (denoted as |0 and |1
in the conventional bra/ket notation) or in a superposition of the two states (e.g.,
By operating on a system (or ensemble) of qubits, a quantum computer can quickly perform certain categories of computations that would require impractical amounts of time in a classical computer.
Practical realization of a quantum computer, however, remains a daunting task. One challenge is the reliable creation and entangling of qubits.
According to some embodiments, fusion-based quantum computations can be implemented using a network (also referred to as a network array) of interleaving modules. Each interleaving module can receive or produce resource states consisting of entangled physical qubits and can include a set of reconfigurable fusion circuits that can be controlled to perform either fusion operations or single qubit measurements on pairs of qubits from different resource states, routing paths connected to the reconfigurable fusion circuits, and delay lines and routing switches that operate to select routing paths for qubits of the resource states, thereby implementing a desired combination of fusion operations and single qubit measurements. The routing paths can include local routing paths that couple to reconfigurable fusion circuits in the same interleaving module and network routing paths that couple a routing switch in one interleaving module to a reconfigurable fusion circuit in a different interleaving module within the network.
The following detailed description, together with the accompanying drawings, will provide a better understanding of the nature and advantages of the claimed invention.
boundary conditions.
Disclosed herein are examples (also referred to as “embodiments”) of systems and methods for performing operations on ensembles of qubits based on various physical quantum systems, including photonic systems. Such embodiments can be used, for example, in quantum computing as well as in other contexts (e.g., quantum communication) that exploit quantum entanglement. To facilitate understanding of the disclosure, an overview of relevant concepts and terminology is provided in Section 1, and an overview of fusion based quantum computing (FBQC) is provided in Section 2. With this context established, Section 3 describes examples of interleaving modules according to various embodiments, and Section 4 describes examples of using a network of interleaving modules to implement FBQC. Sections 5-7 describe additional example embodiments of interleaving modules and networks of interleaving modules, and Section 8 describes an example embodiment of a computing system that can implement FBQC using a network of interleaving modules. Although embodiments are described with specific detail to facilitate understanding, those skilled in the art with access to this disclosure will appreciate that the claimed invention can be practiced without these details.
Further, embodiments are described herein as creating and operating on systems of qubits, where the quantum state space of a qubit can be modeled as a 2-dimensional vector space. Those skilled in the art with access to this disclosure will understand that techniques described herein can be applied to systems of “qudits,” where a qudit can be any quantum system having a quantum state space that can be modeled as a (complex) n-dimensional vector space (for any integer n), which can be used to encode n bits of information. For the sake of clarity of description, the term “qubit” is used herein, although in some embodiments the system can also employ quantum information carriers that encode information in a manner that is not necessarily associated with a binary bit, such as a qudit.
Quantum computing relies on the dynamics of quantum objects, e.g., photons, electrons, atoms, ions, molecules, nanostructures, and the like, which follow the rules of quantum theory. In quantum theory, the quantum state of a quantum object is described by a set of physical properties, the complete set of which is referred to as a mode. In some embodiments, a mode is defined by specifying the value (or distribution of values) of one or more properties of the quantum object. For example, in the case where the quantum object is a photon, modes can be defined by the frequency of the photon, the position in space of the photon (e.g., which waveguide or superposition of waveguides the photon is propagating within), the associated direction of propagation (e.g., the k-vector for a photon in free space), the polarization state of the photon (e.g., the direction (horizontal or vertical) of the photon's electric and/or magnetic fields), a time window in which the photon is propagating, the orbital angular momentum state of the photon, and the like.
For the case of photons propagating in a waveguide, it is convenient to express the state of the photon as one of a set of discrete spatio-temporal modes. For example, the spatial mode ki of the photon is determined according to which one of a finite set of discrete waveguides the photon is propagating in, and the temporal mode tj is determined by which one of a set of discrete time periods (referred to herein as “bins”) the photon is present in. In some photonic implementations, the degree of temporal discretization can be provided by a pulsed laser which is responsible for generating the photons. In examples below, spatial modes will be used primarily to avoid complication of the description. However, one of ordinary skill will appreciate that the systems and methods can apply to any type of mode, e.g., temporal modes, polarization modes, and any other mode or set of modes that serves to specify the quantum state. Further, in the description that follows, embodiments will be described that employ photonic waveguides to define the spatial modes of the photon. However, persons of ordinary skill in the art with access to this disclosure will appreciate that other types of mode, e.g., temporal modes, energy states, and the like, can be used without departing from the scope of the present disclosure. In addition, persons of ordinary skill in the art will be able to implement examples using other types of quantum systems, including but not limited to other types of photonic systems.
For quantum systems of multiple indistinguishable particles, rather than describing the quantum state of each particle in the system, it is useful to describe the quantum state of the entire many-body system using the formalism of Fock states (sometimes referred to as the occupation number representation). In the Fock state description, the many-body quantum state is specified by how many particles there are in each mode of the system. For example, a multi-mode, two particle Fock state |10011,2,3,4 specifies a two-particle quantum state with one particle in mode 1, zero particles in mode 2, zero particles in mode 3, and one particle in mode 4. Again, as introduced above, a mode can be any property of the quantum object. For the case of a photon, any two modes of the electromagnetic field can be used, e.g., one may design the system to use modes that are related to a degree of freedom that can be manipulated passively with linear optics. For example, polarization, spatial degree of freedom, or angular momentum could be used. The four-mode system represented by the two-particle Fock state |1001
1,2,3,4 can be physically implemented as four distinct waveguides with two of the four waveguides having one photon travelling within them. Other examples of a state of such a many-body quantum system include the four-particle Fock state |1111
1,2,3,4 that represents each mode occupied by one particle and the four-particle Fock state |2200
1,2,3,4 that represents modes 1 and 2 respectively occupied by two particles and modes 3 and 4 occupied by zero particles. For modes having zero particles present, the term “vacuum mode” is used. For example, for the four-particle Fock state |2200
1,2,3,4 modes 3 and 4 are referred to herein as “vacuum modes.” Fock states having a single occupied mode can be represented in shorthand using a subscript to identify the occupied mode. For example, |0010
1,2,3,4 is equivalent to |13
.
As used herein, a “qubit” (or quantum bit) is a quantum system with an associated quantum state that can be used to encode information. A quantum state can be used to encode one bit of information if the quantum state space can be modeled as a (complex) two-dimensional vector space, with one dimension in the vector space being mapped to logical value 0 and the other to logical value 1. In contrast to classical bits, a qubit can have a state that is a superposition of logical values 0 and 1. More generally, a “qudit” can be any quantum system having a quantum state space that can be modeled as a (complex) n-dimensional vector space (for any integer n), which can be used to encode n bits of information. For the sake of clarity of description, the term “qubit” is used herein, although in some embodiments the system can also employ quantum information carriers that encode information in a manner that is not necessarily associated with a binary bit, such as a qudit. Qubits (or qudits) can be implemented in a variety of quantum systems. Examples of qubits include: polarization states of photons; presence of photons in waveguides; or energy states of molecules, atoms, ions, nuclei, or photons. Other examples include other engineered quantum systems such as flux qubits, phase qubits, or charge qubits (e.g., formed from a superconducting Josephson junction); topological qubits (e.g., Majorana fermions); or spin qubits formed from vacancy centers (e.g., nitrogen vacancies in diamond).
A qubit can be “dual-rail encoded” such that the logical value of the qubit is encoded by occupation of one of two modes of the quantum system. For example, the logical 0 and 1 values can be encoded as follows:
where the subscript “L” indicates that the ket represents a logical state (e.g., a qubit value) and, as before, the notation |ij1,2 on the right-hand side of the equations above indicates that there are i particles in a first mode and j particles in a second mode, respectively (e.g., where i and j are integers). In this notation, a two-qubit system having a logical state |0
|1
L (representing a state of two qubits, the first qubit being in a ‘0’ logical state and the second qubit being in a ‘1’ logical state) may be represented using occupancy across four modes by |1001
1,2,3,4 (e.g., in a photonic system, one photon in a first waveguide, zero photons in a second waveguide, zero photons in a third waveguide, and one photon in a fourth waveguide). In some instances throughout this disclosure, the various subscripts are omitted to avoid unnecessary mathematical clutter.
Many of the advantages of quantum computing relative to “classical” computing (e.g., conventional digital computers using binary logic) stem from the ability to create entangled states of multi-qubit systems. In mathematical terms, a state |ψ of n quantum objects is a separable state if |ψ
=|ψ1
⊗ . . . ⊗|ψn
, and an entangled state is a state that is not separable. One example is a Bell state, which, loosely speaking, is a type of maximally entangled state for a two-qubit system, and qubits in a Bell state may be referred to as a Bell pair. For example, for qubits encoded by single photons in pairs of modes (a dual-rail encoding), examples of Bell states include:
More generally, an n-qubit Greenberger-Horne-Zeilinger (GHZ) state (or “n-GHZ state”) is an entangled quantum state of n qubits. For a given orthonormal logical basis, an n-GHZ state is a quantum superposition of all qubits being in a first basis state superposed with all qubits being in a second basis state:
where the kets above refer to the logical basis. For example, for qubits encoded by single photons in pairs of modes (a dual-rail encoding), a 3-GHZ state can be written:
where the kets above refer to photon occupation number in six respective modes (with mode subscripts omitted).
Qubits (and operations on qubits) can be implemented using a variety of physical systems. In some examples described herein, qubits are provided in an integrated photonic system employing waveguides, beam splitters, photonic switches, and single photon detectors, and the modes that can be occupied by photons are spatiotemporal modes that correspond to presence of a photon in a waveguide. Modes can be coupled using mode couplers, e.g., optical beam splitters, to implement transformation operations, and measurement operations can be implemented by coupling single-photon detectors to specific waveguides. One of ordinary skill in the art with access to this disclosure will appreciate that modes defined by any appropriate set of degrees of freedom, e.g., polarization modes, temporal modes, and the like, can be used without departing from the scope of the present disclosure. For instance, for modes that only differ in polarization (e.g., horizontal (H) and vertical (V)), a mode coupler can be any optical element that coherently rotates polarization, e.g., a birefringent material such as a waveplate. For other systems such as ion trap systems or neutral atom systems, a mode coupler can be any physical mechanism that can couple two modes, e.g., a pulsed electromagnetic field that is tuned to couple two internal states of the atom/ion.
In some embodiments of a photonic quantum computing system using dual-rail encoding, a qubit can be implemented using a pair of waveguides. L state of a photonic qubit. At 100′, a photon 108 is in waveguide 104, and no photon is in waveguide 102; in some embodiments this corresponds to the |1
L state of the photonic qubit. To prepare a photonic qubit in a known logical state, a photon source (not shown) can be coupled to one end of one of the waveguides. The photon source can be operated to emit a single photon into the waveguide to which it is coupled, thereby preparing a photonic qubit in a known state. Photons travel through the waveguides, and by periodically operating the photon source, a quantum system having qubits whose logical states map to different temporal modes of the photonic system can be created in the same pair of waveguides. In addition, by providing multiple pairs of waveguides, a quantum system having qubits whose logical states correspond to different spatiotemporal modes can be created. It should be understood that the waveguides in such a system need not have any particular spatial relationship to each other. For instance, they can be but need not be arranged in parallel.
Occupied modes can be created by using a photon source to generate a photon that then propagates in the desired waveguide. A photon source can be, for instance, a resonator-based source that emits photon pairs, also referred to as a heralded single photon source. In one example of such a source, the source is driven by a pump, e.g., a light pulse, that is coupled into a system of optical resonators that, through a nonlinear optical process (e.g., spontaneous four wave mixing (SFWM), spontaneous parametric down-conversion (SPDC), second harmonic generation, or the like), can generate a pair of photons. Many different types of photon sources can be employed. Examples of photon pair sources can include a microring-based spontaneous four wave mixing (SPFW) heralded photon source (HPS). However, the precise type of photon source used is not critical and any type of nonlinear source, employing any process, such as SPFW, SPDC, or any other process can be used. Other classes of sources that do not necessarily require a nonlinear material can also be employed, such as those that employ atomic and/or artificial atomic systems, e.g., quantum dot sources, color centers in crystals, and the like. In some cases, sources may or may not be coupled to photonic cavities, e.g., as can be the case for artificial atomic systems such as quantum dots coupled to cavities. Other types of photon sources also exist for SPWM and SPDC, such as optomechanical systems and the like.
In such cases, operation of the photon source may be non-deterministic (also sometimes referred to as “stochastic”) such that a given pump pulse may or may not produce a photon pair. In some embodiments, coherent spatial and/or temporal multiplexing of several non-deterministic sources (referred to herein as “active” multiplexing) can be used to allow the probability of having one mode become occupied during a given cycle to approach 1. One of ordinary skill will appreciate that many different active multiplexing architectures that incorporate spatial and/or temporal multiplexing are possible. For instance, active multiplexing schemes that employ log-tree, generalized Mach-Zehnder interferometers, multimode interferometers, chained sources, chained sources with dump-the-pump schemes, asymmetric multi-crystal single photon sources, or any other type of active multiplexing architecture can be used. In some embodiments, the photon source can employ an active multiplexing scheme with quantum feedback control and the like.
Measurement operations can be implemented by coupling a waveguide to a single-photon detector that generates a classical signal (e.g., a digital logic signal) indicating that a photon has been detected by the detector. Any type of photodetector that has sensitivity to single photons can be used. In some embodiments, detection of a photon (e.g., at the output end of a waveguide) indicates an occupied mode while absence of a detected photon can indicate an unoccupied mode.
Some embodiments described below relate to physical implementations of unitary transform operations that couple modes of a quantum system, which can be understood as transforming the quantum state of the system. For instance, if the initial state of the quantum system (prior to mode coupling) is one in which one mode is occupied with probability 1 and another mode is unoccupied with probability 1 (e.g., a state |10 in the Fock notation introduced above), mode coupling can result in a state in which both modes have a nonzero probability of being occupied, e.g., a state α1|10
+α2|01
, where |α1|2+|α2|2=1. In some embodiments, operations of this kind can be implemented by using beam splitters to couple modes together and variable phase shifters to apply phase shifts to one or more modes. The amplitudes α1 and α2 depend on the reflectivity (or transmissivity) of the beam splitters and on any phase shifts that are introduced.
where T defines the linear map for the photon creation operators on two modes. (In certain contexts, transfer matrix T can be understood as implementing a first-order imaginary Hadamard transform.) By convention the first column of the transfer matrix corresponds to creation operators on the top mode (referred to herein as mode 1, labeled as horizontal line 212), and the second column corresponds to creation operators on the second mode (referred to herein as mode 2, labeled as horizontal line 214), and so on if the system includes more than two modes. More explicitly, the mapping can be written as:
where subscripts on the creation operators indicate the mode that is operated on, the subscripts input and output identify the form of the creation operators before and after the beam splitter, respectively and where:
For example, the application of the mode coupler shown in
Thus, the action of the mode coupler described by Eq. (9) is to take the input states |10, |01
, and |11
to
In addition to mode coupling, some unitary transforms may involve phase shifts applied to one or more modes. In some photonic implementations, variable phase-shifters can be implemented in integrated circuits, providing control over the relative phases of the state of a photon spread over multiple modes. Examples of transfer matrices that define such a phase shifts are given by (for applying a +i and −i phase shift to the second mode, respectively):
For silica-on-silicon materials some embodiments implement variable phase-shifters using thermo-optical switches. The thermo-optical switches use resistive elements fabricated on the surface of the chip, that via the thermo-optical effect can provide a change of the refractive index n by raising the temperature of the waveguide by an amount of the order of 10−5 K. One of skill in the art with access to the present disclosure will understand that any effect that changes the refractive index of a portion of the waveguide can be used to generate a variable, electrically tunable, phase shift. For example, some embodiments use beam splitters based on any material that supports an electro-optic effect, so-called χ2 and χ3 materials such as lithium niobite, BBO, KTP, and the like and even doped semiconductors such as silicon, germanium, and the like.
Beam-splitters with variable transmissivity and arbitrary phase relationships between output modes can also be achieved by combining directional couplers and variable phase-shifters in a Mach-Zehnder Interferometer (MZI) configuration 300, e.g., as shown in
In some embodiments, beam splitters and phase shifters can be employed in combination to implement a variety of transfer matrices. For example,
Thus, mode coupler 400 applies the following mappings:
The transfer matrix Tr of Eq. (15) is related to the transfer matrix T of Eq. (9) by a phase shift on the second mode. This is schematically illustrated in
Similarly, networks of mode couplers and phase shifters can be used to implement couplings among more than two modes. For example,
At least one optical waveguide 601, 603 of the first set of optical waveguides is coupled with an optical waveguide 605, 607 of the second set of optical waveguides with any type of suitable optical coupler, e.g., the directional couplers described herein (e.g., the optical couplers shown in
In addition, the optical device shown in
Furthermore, the optical device shown in
Those skilled in the art will understand that the foregoing examples are illustrative and that photonic circuits using beam splitters and/or phase shifters can be used to implement many different transfer matrices, including transfer matrices for real and imaginary Hadamard transforms of any order, discrete Fourier transforms, and the like. One class of photonic circuits, referred to herein as “spreader” or “mode-information erasure (MIE)” circuits, has the property that if the input is a single photon localized in one input mode, the circuit delocalizes the photon amongst each of a number of output modes such that the photon has equal probability of being detected in any one of the output modes. Examples of spreader or MIE circuits include circuits implementing Hadamard transfer matrices. (It is to be understood that spreader or MIE circuits may receive an input that is not a single photon localized in one input mode, and the behavior of the circuit in such cases depends on the particular transfer matrix implemented.) In other instances, photonic circuits can implement other transfer matrices, including transfer matrices that, for a single photon in one input mode, provide unequal probability of detecting the photon in different output modes.
In some embodiments, entangled states of multiple photonic qubits can be created by coupling modes of two (or more) qubits and performing measurements on other modes. By way of example,
A first-order mode coupling (e.g., implementing transfer matrix T of Eq. (9)) is performed on pairs of occupied and unoccupied modes as shown by mode couplers 731(1)-731(4). Thereafter, a mode-information erasure coupling (e.g., implementing a four-mode mode spreading transform as shown in
In some embodiments, it is desirable to form quantum systems of multiple entangled qubits (two or more qubits). One technique for forming multi-qubit quantum systems is through the use of an entangling measurement, which is a projective measurement that can be employed to create entanglement between systems of qubits. As used herein, “fusion” (or “a fusion operation” or “fusing”) refers to a projective entangling measurement. A “fusion gate” is a structure that receives two (or more) input qubits, each of which is typically part of a different quantum system. Prior to applying the fusion gate, the different quantum systems need not be entangled with each other. In the case of two input qubits, the fusion gate performs a projective measurement operation on the input qubits that produces either one (“type I fusion”) or zero (“type II fusion”) output qubits in a manner such that the initial two quantum systems are fused into a single quantum system of entangled qubits. Fusion gates are specific examples of a general class of projective entangling measurements and are particularly suited for photonic architectures. Examples of type I and type II fusion gates will now be described.
For example,
Returning to the schematic illustration of type I fusion gate 800 shown in A) occurs when mode 843 is a photonic waveguide that includes a single photon and mode 845 is a photonic waveguide that includes zero photons (and likewise for qubit B). Thus, type I fusion gate 800 can take as input two dual-rail-encoded photon qubits thereby resulting in a total of four input modes (e.g., modes 843, 845, 847, and 849). To accomplish the fusion operation, a mode coupler (e.g., 50/50 beam splitter) 853 is applied between a mode of each of the input qubits, e.g., between mode 843 and mode 849 before performing a detection operation on both modes using photon detectors 855 (which includes two distinct photon detectors coupled to modes 843 and 849 respectively). In addition, to ensure that the output modes are adjacently positioned, a mode swap operation 851 can be applied that swaps the position of the second mode of qubit A (mode 845) with the position the second mode of qubit B (mode 849). In some embodiments, mode swapping can be accomplished through a physical waveguide crossing as described above or by one or more photonic switches or by any other type of physical mode swap.
Type I fusion gate 800 is a nondeterministic gate, i.e., the fusion operation succeeds with a certain probability less than 1, and in other cases the quantum state that results is not a larger quantum system that comprises the original quantum systems fused together to form a larger quantum system. More specifically, gate 800 “succeeds,” with probability 50%, when only one photon is detected by detectors 855, and “fails” if zero or two photons are detected by detectors 855. When the gate succeeds, the two quantum systems that qubits A and B were a part of become fused into a single larger quantum system with a fused qubit remaining as the qubit that links the two previously unlinked quantum systems (see, e.g.,
For example,
Returning to the schematic illustration of type II fusion gate 900 shown in A) occurs when mode 943 is a photonic waveguide that includes a single photon and mode 945 is a photonic waveguide that includes zero photons (and likewise for qubit B). Thus, type II fusion gate 900 takes as input two dual-rail-encoded photon qubits thereby resulting in a total of four input modes (e.g., modes 943, 945, 947, and 949). To accomplish the fusion operation, a first mode coupler (e.g., 50/50 beam splitter) 953 is applied between a mode of each of the input qubits, e.g., between mode 943 and mode 949, and a second mode coupler (e.g., 50/50 beam splitter) 955 is applied between the other modes of each of the input qubits, e.g., between modes 945 and 947. A detection operation is performed on all four modes using photon detectors 957(1)-957(4). In some embodiments, mode swap operations (not shown in
The type II fusion gate shown in
In an illustrative photonic architecture, qubit entangling system 1001 can include a photon source module 1005 that is optically connected to entangled state generator 1000. Both the photon source module 1005 and the entangled state generator 1000 may be coupled to a classical processing system 1003 such that the classical processing system 1003 can communicate and/or control (e.g., via the classical information channels 1030a-b) the photon source module 1005 and/or the entangled state generator 1000. Photon source module 1005 may include a collection of single-photon sources that can provide output photons to entangled state generator 1000 by way of interconnecting waveguides 1032. Entangled state generator 1000 may receive the output photons and convert them to one or more entangled photonic states and then output these entangled photonic states into output waveguides 1040. In some embodiments, output waveguide 1040 can be coupled to some downstream quantum photonic circuit that may use the entangled states, e.g., for performing a quantum computation. For example, the entangled states generated by the entangled state generator 1000 may be used as resource states for one or more interleaving modules as described below.
In some embodiments, system 1001 may include classical channels 1030 (e.g., classical channels 1030-a through 1030-d) for interconnecting and providing classical information between components. It should be noted that classical channels 1030-a through 1030-d need not all be the same. For example, classical channel 1030-a through 1030-c may comprise a bi-directional communication bus carrying one or more reference signals, e.g., one or more clock signals, one or more control signals, or any other signal that carries classical information, e.g., heralding signals, photon detector readout signals, and the like.
In some embodiments, qubit entangling system 1001 includes the classical computer system 1003 that communicates with and/or controls the photon source module 1005 and/or the entangled state generator 1000. For example, in some embodiments, classical computer system 1003 can be used to configure one or more circuits, e.g., using a system clock that may be provided to photon sources 1005 and entangled state generator 1000 as well as any downstream quantum photonic circuits used for performing quantum computation. In some embodiments, the quantum photonic circuits can include optical circuits, electrical circuits, or any other types of circuits. In some embodiments, classical computer system 1003 includes memory 1004, one or more processor(s) 1002, a power supply, an input/output (I/O) subsystem, and a communication bus or interconnecting these components. The processor(s) 1002 may execute modules, programs, and/or instructions stored in memory 1004 and thereby perform processing operations.
In some embodiments, memory 1004 stores one or more programs (e.g., sets of instructions) and/or data structures. For example, in some embodiments, entangled state generator 1000 can attempt to produce an entangled state over successive stages, any one of which may be successful in producing an entangled state. In some embodiments, memory 1004 stores one or more programs for determining whether a respective stage was successful and configuring the entangled state generator 1000 accordingly (e.g., by configuring entangled state generator 1000 to switch the photons to an output if the stage was successful, or pass the photons to the next stage of the entangled state generator 1000 if the stage was not yet successful). To that end, in some embodiments, memory 1004 stores detection patterns (described below) from which the classical computing system 1003 may determine whether a stage was successful. In addition, memory 1004 can store settings that are provided to the various configurable components (e.g., switches) described herein that are configured by, e.g., setting one or more phase shifts for the component.
In some embodiments, some or all of the above-described functions may be implemented with hardware circuits on photon source module 1005 and/or entangled state generator 1000. For example, in some embodiments, photon source module 1005 includes one or more controllers 1007-a (e.g., logic controllers) (e.g., which may comprise field programmable gate arrays (FPGAs), application specific integrated circuits (ASICS), a “system on a chip” that includes classical processors and memory, or the like). In some embodiments, controller 1007-a determines whether photon source module 1005 was successful (e.g., for a given attempt on a given clock cycle, described below) and outputs a reference signal indicating whether photon source module 1005 was successful. For example, in some embodiments, controller 1007-a outputs a logical high value to classical channel 1030-a and/or classical channel 1030-c when photon source module 1005 is successful and outputs a logical low value to classical channel 1030-a and/or classical channel 1030-c when photon source module 1005 is not successful. In some embodiments, the output of control 1007-a may be used to configure hardware in controller 1007-b.
Similarly, in some embodiments, entangled state generator 1000 includes one or more controllers 1007-b (e.g., logical controllers) (e.g., which may comprise field programmable gate arrays (FPGAs), application specific integrated circuits (ASICS), or the like) that determine whether a respective stage of entangled state generator 1000 has succeeded, perform the switching logic described above, and output a reference signal to classical channels 1030-b and/or 1030-d to inform other components as to whether the entangled state generator 400 has succeeded.
In some embodiments, a system clock signal can be provided to photon source module 1005 and entangled state generator 1000 via an external source (not shown) or by classical computing system 1003 generates via classical channels 1030-a and/or 1030-b. In some embodiments, the system clock signal provided to photon source module 1005 triggers photon source module 1005 to attempt to output one photon per waveguide. In some embodiments, the system clock signal provided to entangled state generator 1000 triggers, or gates, sets of detectors in entangled state generator 1000 to attempt to detect photons. For example, in some embodiments, triggering a set of detectors in entangled state generator 1000 to attempt to detect photons includes gating the set of detectors.
It should be noted that, in some embodiments, photon source module 1005 and entangled state generator 1000 may have internal clocks. For example, photon source module 1005 may have an internal clock generated and/or used by controller 1007-a and entangled state generator 1000 has an internal clock generated and/or used by controller 1007-b. In some embodiments, the internal clock of photon source module 1005 and/or entangled state generator 1000 is synchronized to an external clock (e.g., the system clock provided by classical computer system 1003) (e.g., through a phase-locked loop). In some embodiments, any of the internal clocks may themselves be used as the system clock, e.g., an internal clock of the photon source may be distributed to other components in the system and used as the master/system clock.
In some embodiments, photon source module 1005 includes a plurality of probabilistic photon sources that may be spatially and/or temporally multiplexed, i.e., a so-called multiplexed single photon source. In one example of such a source, the source is driven by a pump, e.g., a light pulse, that is coupled into an optical resonator that, through some nonlinear process (e.g., spontaneous four wave mixing, second harmonic generation, and the like) may generate zero, one, or more photons. As used herein, the term “attempt” is used to refer to the act of driving a photon source with some sort of driving signal, e.g., a pump pulse, that may produce output photons non-deterministically (i.e., in response to the driving signal, the probability that the photon source will generate one or more photons may be less than 1). In some embodiments, a respective photon source may be most likely to, on a respective attempt, produce zero photons (e.g., there may be a 90% probability of producing zero photons per attempt to produce a single-photon). The second most likely result for an attempt may be production of a single-photon (e.g., there may be a 9% probability of producing a single-photon per attempt to produce a single-photon). The third most likely result for an attempt may be production of two photons (e.g., there may be an approximately 1% probability of producing two photons per attempt to produce a single photon). In some circumstances, there may be less than a 1% probability of producing more than two photons.
In some embodiments, the apparent efficiency of the photon sources may be increased by using a plurality of single-photon sources and multiplexing the outputs of the plurality of photon sources.
The precise type of photon source used is not critical and any type of source can be used, employing any photon generating process, such as spontaneous four wave mixing (SPFW), spontaneous parametric down-conversion (SPDC), or any other process. Other classes of sources that do not necessarily require a nonlinear material can also be employed, such as those that employ atomic and/or artificial atomic systems, e.g., quantum dot sources, color centers in crystals, and the like. In some cases, sources may or may be coupled to photonic cavities, e.g., as can be the case for artificial atomic systems such as quantum dots coupled to cavities. Other types of photon sources also exist for SPWM and SPDC, such as optomechanical systems and the like. In some examples the photon sources can emit multiple photons already in an entangled state in which case the entangled state generator 400 may not be necessary, or alternatively may take the entangled states as input and generate even larger entangled states.
For the sake of illustration, an example which employs spatial multiplexing of several non-deterministic photon sources is described as an example of a MUX photon source. However, many different spatial MUX architectures are possible without departing from the scope of the present disclosure. Temporal MUXing can also be implemented instead of or in combination with spatial multiplexing. MUX schemes that employ log-tree, generalized Mach-Zehnder interferometers, multimode interferometers, chained sources, chained sources with dump-the-pump schemes, asymmetric multi-crystal single photon sources, or any other type of MUX architecture can be used. In some embodiments, the photon source can employ a MUX scheme with quantum feedback control and the like.
The foregoing description provides an example of how photonic circuits can be used to implement physical qubits and operations on physical qubits using mode coupling between waveguides. In these examples, a pair of modes can be used to represent each physical qubit. Examples described below can be implemented using similar photonic circuit elements.
In some embodiments, an entangled system of multiple physical qubits can be mapped to one or more “logical qubits,” and operations associated with a quantum computation can be defined as logical operations on logical qubits, which in turn can be mapped to physical operations on physical qubits. In general, the term “qubit,” when used herein without specifying physical or logical qubit, should be understood as referring to a physical qubit.
“Quantum computation,” as used herein, refers generally to performing a sequence of operations (a “computation”) on an ensemble of qubits. Quantum computation is often considered in the framework of “circuit-based quantum computation” (CBQC), in which the operations are specified as a sequence of logical “gates” performed on qubits. Gates can be either single-qubit unitary operations (rotations), two-qubit entangling operations such as the CNOT gate, or other multi-qubit gates such as the Toffoli gate.
One challenge for CBQC, and for quantum computation generally, is that physical systems implementing qubits and operations on qubits are often non-deterministic and noisy. For example, the photonic Bell state generator and fusion circuits described above can create entanglement between photonic qubits, but they do so non-deterministically, with a probability of success that is considerably less than 1. In addition, the physical systems may be “noisy”; for instance, a waveguide propagating a photon may be somewhat less than perfectly efficient, resulting in occasional loss of photons. For reasons such as these, fault tolerant quantum computing is a desirable goal.
“Measurement-based quantum computation” (MBQC) is an approach to implementing quantum computing that allows for fault-tolerance. In MBQC, computation proceeds by first preparing a particular entangled state of many physical qubits, commonly referred to as a “cluster state,” then carrying out a series of single-qubit measurements to enact (or execute) the quantum computation. For instance, rather than implementing a sequence of gates operating on one or two physical qubits, a subset of the physical qubits in the cluster state can be mapped to a “logical” qubit, and a gate operation on logical qubits can be mapped to a particular set of measurements on physical qubits associated with one or more logical qubits. Entanglement between the physical qubits results in expected correlations among measurements on different physical qubits, which enables error correction. The cluster state can be prepared in a manner that is not specific to a particular computation (other than, perhaps, the size of the cluster state), and the choice of single-qubit measurements is determined by the particular computation. In the MBQC approach, fault tolerance can be achieved by careful design of the cluster state and by using the topology of the cluster state to encode logical qubits in a manner that protects against any logical errors that may be caused by errors on any of the physical qubits that make up the cluster state. The value (or state) of the logical qubit(s) can be determined, i.e., read out, based on the results (also referred to herein as measurement outcomes) of the single-particle measurements that are made on the cluster state's physical qubits as the computation proceeds.
For example, a cluster state suitable for MBQC can be defined by preparing a collection of physical qubits in a particular state (sometimes referred to as the |+ state) and applying a controlled-phase gate (sometimes referred to as a “CZ gate”) between pairs of physical qubits to generate the cluster state. Graphically, a cluster state formed in this manner can be represented by a graph with vertices representing the physical qubits and edges that represent entanglement (e.g., the application of CZ gates) between pairs of qubits. The graph can be a three-dimensional graph having a regular structure formed from repeating unit cells and is sometimes referred to as a “lattice.” One example of a lattice is the Raussendorf lattice, which is described in detail in R. Raussendorf et al., “Fault-Tolerant One-Way Quantum Computer,” Annals of Physics 321(9):2242-2270 (2006). In such representations, two-dimensional boundaries of the lattice can be identified. Qubits belonging to those boundaries are referred to as “boundary qubits” while all other qubits are referred to as “bulk qubits.” Other cluster state structures can also be used. Logical operations are performed by making single-qubit measurements on qubits of the cluster state, with each measurement being made in a particular logical basis that is selected according to the particular quantum computation to be performed. The collection of measurement results across the cluster state can be interpreted as the result of a quantum computation on a set of logical qubits through the use of a decoder. Numerous examples of decoder algorithms are available, including the Union-Find decoder as described in International Patent Application Publication No. WO 2019/002934 A1.
However, the generation and maintenance of long-range entanglement across the cluster state and subsequent storage of large cluster states can be a challenge. For example, for any physical implementation of the MBQC approach, a cluster state containing many thousands, or more, of mutually entangled qubits must be prepared and then stored for some period of time before the single-qubit measurements are performed.
“Fusion-based quantum computing” (FBQC) is a technique related to MBQC in that a computation on a set of logical qubits can be defined as a set of measurements on a (generally much larger) number of physical qubits, with correlations among measurement results on the physical qubits enabling error correction. FBQC, however, avoids the need to first create, then subsequently manipulate, a large cluster state. In a photonic implementation of FBQC, entangled states consisting of a few physical qubits (referred to as “resource states”) are periodically generated and transported (via waveguides) to circuits that can perform measurement operations (e.g., type II fusion operations as described above, which can provide two-qubit measurements, and/or single-qubit measurements). The measurements destroy the measured qubits; however, the quantum information is preserved as it is transferred (teleported) to other qubits of other resource states. Thus, quantum information is not stored in a static array of physical qubits but is instead periodically teleported to freshly generated physical qubits.
In FBQC, somewhat similarly to MBQC, a computation can be mapped to an undirected graph, referred to as a fusion graph, that can have a lattice-like structure. The fusion graph can define operations to be performed on the physical qubits of the resource states, including fusion operations on selected qubits of different resource states (e.g., in the “bulk” region of a lattice) and individual qubit measurements (e.g., at boundaries of the lattice). Examples of FBQC techniques are described in WO 2021/155289, “Fusion Based Quantum Computing,” published Aug. 5, 2021. This section provides a conceptual description of FBQC, to provide context for interleaving modules and other hardware components described below.
As noted, FBQC can use a “resource state” as a basic physical element to implement quantum computations. As used herein, a “resource state” refers to an entangled system of a number (n) of physical qubits in a non-separable entangled state (which is an entangled state that cannot be decomposed into smaller separate entangled states). In various embodiments, the number n can be a small number (e.g., between 3 and 30), although larger numbers are not precluded.
In some embodiments, resource state 1100 can be generated using photon sources and entanglement circuits of the kind described above. For example, Bell pairs can be generated using one or more photon sources (which can be MUX photon sources as described above) and a circuit such as circuit 700 of
Resource state 1100 is illustrative and not limiting. In some embodiments, the entanglement geometry of a resource state can be chosen based on a particular computation to be executed, and different resource states that are used in the same computation can have different entanglement geometries. Further, while resource state 1100 includes six qubits, the number of qubits in a resource state can also be varied. Accordingly, a resource state may be larger or smaller than the example shown. The circuitry used to generate a resource state can also be varied, depending on the particular entanglement geometry and/or the probability of success of various entanglement-generating operations. Error correcting codes may also be constructed to account for a nonzero probability of a resource state not being generated.
Operations to be performed on qubits of resource states in connection with FBQC can be represented conceptually using a fusion graph.
In some embodiments, a fusion graph such as fusion graph 1200 can be viewed as a series of “layers” 1230, where each layer corresponds to a coordinate on the U-D axis. Implementing FBQC in a physical system can include successively generating resource states for each layer (e.g., in the direction from D to U) and performing the fusion and single-qubit measurement operations within each layer as specified by the edges and half-edges of the graph for that layer. As resource states for successive layers are generated, fusion operations can be performed between the U qubits of resource states in one layer and the D qubits of resource states in corresponding position of the next layer. In the description that follows, fusion operations may be referred to as “spacelike” or “timelike.” This terminology is evocative of particular implementations in which different qubits or resource states are generated or received at different times: spacelike fusion can be performed between qubits generated or received at the same time using different instances of hardware, while timelike fusion can be performed between qubits generated or received at different times using the same instance of hardware (or different instances of hardware). For photonic qubits, timelike fusion can be implemented by delaying an earlier-produced qubit (e.g., using additional lengths of waveguide material to create a longer propagation path for the photon), thereby allowing mode coupling with a later-produced qubit. By leveraging timelike fusion, the same hardware can be used to generate and/or process multiple instances of the resource states within a layer and/or to generate multiple layers of resource states. Examples are described below.
In some encoding schemes for sequences of operations on logical qubits, a logical qubit that is “at rest” (i.e., not interacting with other logical qubits or otherwise being operated on) can be mapped onto a fusion graph having a regular lattice pattern as shown in
Logical operations on logical qubits can be specified by modifying the regular lattice pattern of a fusion graph at selected positions, e.g., by replacing single-qubit measurements with fusion operations or vice versa. The choice of modifications depends on the particular computation to be performed. Some examples will now be described.
In some embodiments, fusion graphs such fusion graph 1200 can be used to specify logical operations to be performed on a set of logical qubits. For example, a fusion graph defining a logical operation implemented in FBQC can be generated from a surface-code spacetime or time-slice diagram of the kind used to define computations in fault-tolerant CBQC.
A quantum computation can be expressed as a sequence of time slices such as the time slices of
For purposes of illustration, spacetime diagram 1242a shows a logical qubit that idles for a while until it is measured in the Z basis, as indicated by the corner lines and dual boundary capping off spacetime diagram 1242a. Spacetime diagram 1242b corresponds to a logical two-qubit measurement X⊗X via “lattice surgery.” Spacetime diagram 1242c corresponds to a logical qubit encoded in a rectangular patch contributing to a logical multi-qubit Pauli measurement with its Y operator. The details of these logical operations (including how the spacetime diagrams correspond to particular logical operations) are not relevant to understanding the present disclosure; those skilled in the art will be familiar with such details and techniques for constructing spacetime diagrams and time-slice diagrams.
In some embodiments for FBQC, a spacetime diagram can be translated to a fusion graph in a straightforward manner. For instance,
The translation from spacetime diagram to fusion graph can be straightforward, as can be seen by comparing
Additional description related to generation of fusion graphs such as fusion graphs 1240 can be found in above-referenced WO 2021/155289 and in H. Bombin et al., “Interleaving: Modular architectures for fault-tolerant photonic quantum computing,” arXiv:2013.08612v1 [quant-ph], 15 Mar. 2021, available at https://arxiv.org/abs/2103.08612.
In some embodiments, fusion graphs can be “compiled” into “instructions” to perform a particular combination of fusion operations on a set of resource states. By way of example,
measurement. It should be understood that all layers 1304 can have the same lattice pattern. Lattice sections 1342 and 1343 represent logical qubits q2 and q3 at rest. U-shaped lattice section 1341 represents the Z1Z4 measurement on logical qubits q1 and q4.
According to some embodiments, a general-purpose “interleaving” hardware module (or circuit) can include a resource state interconnect (RSI) that provides resource states at its outputs at regular time intervals, a set of reconfigurable fusion circuits (as described below), and a combination of switches and/or delay lines to deliver qubits from the resource state interconnect to the appropriate reconfigurable fusion circuits. By using classical control logic to control the switch settings for each qubit of each resource state that is generated and the configuration of each reconfigurable fusion circuit that receives qubits, an interleaving module or a network of interleaving modules can be operated to provide a programmable quantum computer that executes programs, where the programs can be defined using fusion graphs or other techniques that specify the set of operations for each resource state. More generally, interleaving modules can be used to perform a variety of operations related to creating and measuring entangled systems of qubits.
In some embodiments, an interleaving module includes a resource state interconnect, also referred to herein as an “RSI circuit” or “RSI”.
The duration of an RSI clock cycle (also referred to herein as an “operating cycle” or just “clock cycle”) can be chosen as desired, provided that the duration is long enough that the circuit(s) that generate resource states can complete the physical process of producing a resource state. In various embodiments, the operating cycle time can be ˜1 ns or ˜10 ns, although longer or shorter operating cycle times are not precluded.
The particular size and entanglement geometry of the resource states can be chosen as a design parameter. In some cases, the optimal size may depend on the particular physical implementation of the qubits. For example, as described above, qubits can be implemented using photons propagating in waveguides. The processes used to generate the photons and create entanglement may be stochastic (i.e., the probability of successfully generating a photon in any given instance is significantly less than 1). Where generation or entanglement of qubits is stochastic, multiplexing techniques or other techniques may be used to increase the probability of producing a resource state having a specified entanglement structure (for each attempt). In addition, the size of the resource state can be chosen for a particular implementation based in part on the rate of errors in resource state generation that can be tolerated and the particular probability of producing a resource state having a specified entanglement structure. Examples described herein refer to resource states having six qubits associated with different directions in entanglement space (e.g., 6-ring resource state 1100), and output paths 1491 of RSI circuit 1490 are sometimes labeled with directions (U, D, E, W, S, N) as an aid to visualization of entanglement patterns. Such labels are not intended to specify a physical arrangement. It should be understood that other resource states can be used, and that resource states can have more or fewer than six qubits and any desired entanglement structure. Each resource state provided to or by RSI circuit 1490 can be a distinct quantum system that is not entangled with other quantum systems. Entanglement between qubits from different resource states may be created through operation of interleaving modules, as in examples described below.
For purposes of understanding the present disclosure, it suffices to understand that generation of resource states can take place within RSI circuit 1490 or in a separate circuit or system whose output qubits are provided to RSI circuit 1490, as long as RSI circuit 1490 can output resource states at a rate of one resource state per RSI clock cycle. However, to provide additional context, examples of techniques for generating resource states will now be described.
In some embodiments, a resource state such as resource state 1100 can be generated using photonic and electronic circuits and components (e.g., of the type described in Section 1.3 above) to produce and manipulate individual photons. In some implementations, a resource state generator (which can be external or internal to RSI circuit 1490) can include one or more integrated circuits fabricated, e.g., using conventional silicon-based technologies. The resource state generator can include photon sources or can receive photons from an external source. The resource state generator can also include photonic circuits implementing Bell state generators and fusion operations as described above. To provide robustness, an external resource state generator can include multiple parallel instances of various photonic circuits with detectors and electronic control logic to select a successful instance of the resource state to propagate via RSI circuit 1490. One skilled in the art will know various ways to construct a photonic resource state generator capable of generating resource states having a desired entanglement geometry.
In some embodiments, resource states can be generated using techniques other than linear optical systems. For instance, various devices are known for generating and creating entanglement between systems of “matter-based” qubits, such as qubits implemented in ion traps, other qubits encoded in energy levels of an atom or ion, spin-encoded qubits, superconducting qubits, or other physical systems. It is also understood in the art that quantum information is fungible, in the sense that many different physical systems can be used to encode the same information (in this case, a quantum state). Thus, it is possible in principle to swap the quantum state of one system onto another system by inducing interactions between the systems. For example, the state of a qubit (or ensemble of entangled qubits) encoded in energy levels of an atom or ion can be swapped onto the electromagnetic field (i.e., photons). It is also possible to use transducer technologies to swap the state of a superconducting qubit onto a photonic state. In some instances, the initial swap may be onto photons having microwave frequencies; after the swap, the frequencies of the photons can be increased into the operation frequencies of optical fiber or other optical waveguides. As another example, quantum teleportation can be applied between matter-based qubits and Bell pairs in which one qubit of the Bell pair is a photon having frequency suitable for optical fiber (or other optical waveguides), thereby transferring the quantum state of the matter-based qubits to a system of photonic qubits. Accordingly, in some embodiments matter-based qubits can be used to generate a resource state that consists of photonic qubits.
Fusion circuit 1420 can be, e.g., a type II fusion circuit as described above with reference to
Phase shift circuits 1435, 1445 each apply a phase shift of eiπ/8 prior to a Pauli Z measurement circuits 1436, 1446. In some embodiments, this phase rotation path can be used in generating so-called “magic” states to support various implementations of FBQC. (Magic states and applications thereof in FBQC are described further in above-referenced WO 2021/155289.)
Switches 1412, 1414 are controlled by classical control logic 1450. Classical control logic 1450 can be implemented as a digital logic circuit with an arrangement of classical logic gates (AND, OR, NOR, XOR, NAND, NOT, etc.), such as a field programmable gate array (FPGA) or system-on-a-chip (SOC) having a programmable processor and memory, or an on-chip hard-wired circuit, such as an application specific integrated circuit (ASIC). In some embodiments, switches 1412, 1414 are coupled to an off-chip classical computer having a processor and a memory, and the off-chip classical computer is programmed to perform some or all of the operations of classical control logic 1450. In some embodiments, classical control logic 1450 (which can include an off-chip classical computer) can be provided with program code indicating the type of measurement desired for each pair of qubits input to reconfigurable fusion circuit 1400 (which can be determined from a fusion graph as described above), and classical control logic 1450 can send control signals to switches 1412, 1414 to configure reconfigurable fusion circuit 1400 to perform the desired measurements at the desired time.
Classical control logic 1450 can also receive the classical output signals (measurement outcome data) from all of measurement circuits 1431-1433, 1441-1443, 1436, 1446, and fusion circuit 1420. In some embodiments, classical control logic 1450 can execute decoding logic to interpret the results of quantum computations based on the measurement outcome data, and in some instances, results of the decoding logic can be used as inputs to determine subsequent settings for switches 1412, 1414. In addition or instead, classical control logic 1450 can provide measurement outcome data to other systems or devices, which can decode the measurement outcome data and/or perform other operations using the measurement outcome data.
Shown at the left side of
Each unit cell 1500 can include an RSI circuit 1510, which can be an instance of RSI circuit 1490 of
As shown by fusion graph 1520, network array 1502 can implement a fusion graph in which one layer 1520 having dimension nx×ny is generated on each RSI cycle. In each unit cell 1500, a resource state having six qubits (labeled N, S, E, W, U, and D as in diagrams above) is provided by each RSI 1510 during each RSI cycle. Each qubit is provided on a separate output path, either to one of reconfigurable fusion circuits 1512a-1512c or to a neighboring unit cell 1500. In the example shown, the N qubit is provided to the neighboring unit cell 1500 in the N direction. The S qubit is provided to reconfigurable fusion circuit 1512a, which also receives an N qubit from the neighboring unit cell 1500 in the S direction. Similarly, the W qubit is provided to the neighboring instance of unit cell 1500 in the W direction. The E qubit is provided to reconfigurable fusion circuit 1512b, which also receives a W qubit from the neighboring unit cell 1500 in the E direction. The U qubit is delayed by one RSI cycle using delay line 1514, then provided to reconfigurable fusion circuit 1512c synchronously with the D qubit of the resource state generated by the same RSI 1510 during the next RSI cycle. In some embodiments, computations can be implemented by controlling the switches in each reconfigurable fusion circuit 1512a-1512c in each unit cell 1500.
Although not shown in
The fully networked configuration shown in
Fusion graph 1620 shows a set of k disjoint cuboids. In some embodiments, adjacent patches in each layer can be “stitched” together using additional reconfigurable fusion circuits, switching circuits, and delay lines (not shown in
According to some embodiments, an alternative approach to executing a fusion graph involves the use of a network array of “interleaving modules,” where each interleaving module is configured to process a contiguous patch of size L2 in L2 RSI cycles, and patches produced by adjacent interleaving modules can be stitched together at the boundaries. Parameter L, sometimes referred to herein as the “interleaving length,” can be chosen as desired. Considerations relevant to the selection of an interleaving length are described below.
Each interleaving module 1700 includes an RSI circuit 1710 that outputs, or provides, a resource state having six qubits (labeled N, S, W, E, D, U) during each RSI cycle. Reconfigurable fusion circuits 1712a, 1712b, 1712c, also referred to as “local” fusion circuits, can be instances of reconfigurable fusion circuit 1400 of
In this example, each interleaving module 1700 constructs a “row” of a patch by proceeding from W to E during L successive RSI cycles, then constructs the next row in the S direction during the next L RSI cycles, and so on. Accordingly, delay line 1714a provides one RSI cycle of delay for the E qubit. If switch 1716d is set to select the local path (i.e., the path coupled to local fusion circuit 1712b) when the E qubit arrives, the E qubit of a first resource state output by RSI 1710 can arrive at local fusion circuit 1712b synchronously with the W qubit of the next resource state output by RSI 1710. Likewise, delay line 1714b provides L RSI cycles of delay for the S qubit. If switch 1716b is set to select the local path (i.e., the path coupled to local fusion circuit 1712a) when the S qubit arrives, the S qubit of the first resource state output by RSI 1710 can arrive at local fusion circuit 1712a synchronously with the N qubit of another resource state output by RSI 1710 L RSI cycles later, which enables fusion operations between qubits of resource states corresponding to adjacent lattice positions in different rows. As noted above, interleaving module 1700 constructs a patch for a layer in L2 RSI cycles. Accordingly, delay line 1714c provides L2 RSI cycles of delay for the U qubit, so that the U qubit of resource state output by RSI 1710 arrives at fusion circuit 1712c synchronously with the D qubit of a different resource state output by RSI 1710 for the corresponding position in the next layer.
Network fusion circuits 1712d, 1712e can each receive a “local” qubit output by the local RSI 1710 (i.e., the RSI 1710 in the same interleaving module with network fusion circuits 1712d, 1712e) and a “networked” qubit from a neighboring interleaving module 1700, enabling patches generated by different interleaving modules 1700 to be “stitched” together via fusion operations. The networked qubits can pass through delay lines 1730, 1740. Thus, for instance, a networked qubit from a neighboring interleaving module 1700 in the E direction can arrive at network fusion circuit 1712d synchronously with the “local” E qubit of the resource state that is adjacent in the fusion graph.
In this manner, each interleaving module 1700 can execute a contiguous patch within each layer of a fusion graph, and patches executed by different interleaving modules 1700 can be stitched together at the boundaries. In some embodiments, the order of operations for each interleaving module 1700 can be specified using “interleaving coordinates” assigned to vertices in a fusion graph. An interleaving coordinate can specify a layer number, a patch number within a layer (which identifies which interleaving module executes the patch), and a cycle number within the patch (which identifies the order of processing vertices, or resource states, within the patch).
Delay lines 1730, 1740 connected between instances of interleaving module 1700 can provide appropriate delays so that qubits of resource states generated by neighboring instances of interleaving module 1700 arrive synchronously at network fusion circuits 1712d, 1712e. For example, during RSI cycle 1, the RSI circuit 1710 in the second interleaving module 1700 (assigned to NE patch 1802) outputs a resource state having a W qubit that is routed by switch 1716c onto the network path and into delay line 1730. In this example, delay line 1730 adds L=4 RSI cycles of delay, so that the W qubit arrives at network fusion circuit 1712e of the first interleaving module 1700 (assigned to NW patch 1801) during RSI cycle 5. In the meantime, during RSI cycle 4, the RSI circuit 1710 in the first interleaving module 1700 outputs a resource state having an E qubit that is delayed for one RSI cycle by delay line 1714a. During the next RSI cycle (cycle 5), the delayed E qubit is routed by switch 1716d to network fusion circuit 1712e. Thus, qubits from resource states output by RSI circuits 1710 in different interleaving modules can be correctly synchronized across patch boundaries. Similar considerations apply for patch boundaries in the N-S direction.
In some embodiments, delay lines 1730, 1740 can be omitted. For example,
In some embodiments, a network array 1702 of interleaving modules 1700 can be used to implement FBQC. For example, a network array of interleaving modules can be used to implement the computation represented by the fusion graph of
By way of example,
For each RSI cycle, the state of each switch is indicated by a qubit identifier of the qubit propagating through the switch and either “net” or “local” to indicate whether the switch is set to select the “network” or “local” output path (as labeled in
As shown, for resource states output by RSI circuit 1710 during cycles 1 and 2, all qubits are routed to fusion operations with appropriate qubits of other resource states. (In the case of qubit W1, a network fusion operation is selected.) For the resource states generated during cycles 3 and 4, qubit E3 and qubit W4 are routed to single-qubit measurements, in accordance with the half-lines in patch 1908. Switch settings for other RSI cycles can likewise be determined based on the fusion graph.
The state of U/D reconfigurable fusion circuit 1712c is not shown in
As this example shows, switch settings for an interleaving module with reconfigurable fusion circuits can be determined based on a fusion graph. Accordingly, a data structure representing a fusion graph can be provided as input to classical control logic, and the classical control logic can determine a corresponding sequence of switch settings and control operation of a networked array of interleaving modules to execute the computation specified by the fusion graph. Other inputs can also be provided, including a set of instructions that lists the settings for each operating cycle.
It should be appreciated that a network of interleaving modules as shown in
In examples described above, it is assumed that a fusion graph can be based on a regular bulk lattice in entanglement space. For instance, fusion graphs shown above have a structure that can be represented as layers, with each layer having an associated regular array (or 2D lattice) of resource states. For some logical operations, it may be desirable to introduce irregularities at selected locations in the lattice. (“Irregularity,” or “defect,” is used in this context to refer to a variation from the bulk lattice that changes the number of resource states (or vertices) in a layer.) By way of example,
Whether a resource state is generated for a skipped lattice location 2110 or 2160 is a matter of design choice, as long as any qubits associated with the skipped lattice location do not interact with other qubits. In some embodiments, generation of a resource state for a skipped location 2110 can be prevented or avoided (e.g., by not providing a resource state to the RSI circuit during the corresponding RSI cycle or by not triggering the RSI circuit to generate a resource state during the corresponding RSI cycle). In other embodiments a resource state for a skipped location 2110 may be generated and its qubits thereafter absorbed. For example, an RSI circuit can include “terminal” routing paths that terminate in an opaque material and routing switches to selectably route qubits into either the terminal routing paths or the appropriate output paths.
According to some embodiments, an interleaving module can include additional circuitry to support operations such as twists and dislocations.
Operation of interleaving module 2200 can be similar or identical to that of interleaving module 1700 described above, except that interleaving module 2200 can support operations that introduce lattice defects.
In the example shown, interleaving module 2200 can introduce irregularities in the E-W direction. If the ability to introduce lattice irregularities in more than one direction is desired, similar routing paths, delay lines, and reconfigurable fusion circuits can be provided for multiple directions, including N-S and/or U-D directions.
In some embodiments, a network array of interleaving modules (e.g., array 1702 of
For a network having a fixed number of interleaving modules, the use of larger L can increase the number of logical qubits that can be encoded (for a given code distance). However, larger L also can be expected to result in slower logical operations. In this sense, a design tradeoff exists between space (or hardware) and time. For a given quantum computation and a fixed number of interleaving modules, some minimum interleaving length Lmin is required to execute the computation, based on the number and code distance of logical qubits that need to be encoded. At the same time, larger L means longer delay lines, which can in turn imply increased propagation loss in the delay lines (since existing optical fibers and other waveguides are not perfectly transmissive), and at some point the interleaving length may reach a threshold (Lmax) where the propagation loss exceeds the loss threshold of the error correcting code. If Lmin exceeds Lmax, then additional interleaving modules would need to be added to execute the quantum computation. Thus, the chosen interleaving length L should be between Lmin and Lmax. In some embodiments, L=Lmin may be the optimal choice. However, in some embodiments, additional physical qubits can be used to reduce the overall volume of the quantum computation (which can be measured by the size of the fusion graph) by taking advantage of better-than-linear space-time tradeoffs. Where this is the case, interleaving may increase the speed of executing a quantum computation relative to a non-interleaved approach (e.g., the fully networked unit cells of
In examples described above, logical qubits can be represented using square surface codes, which map well to planar topology. For instance, the fusion graph in
One example where a planar representation may be volume-intensive is the case of “moving” a logical qubit, a logical operation in which a bulk lattice region representing the logical qubit is shifted from one region to another within the fusion graph. For instance, logical qubits may need to be shifted to adjacent regions so that a two-qubit logical operation can be performed between them.
According to some embodiments, this type of “fast” move operation can be implemented using interleaving modules by adding additional routing switches for the U and D qubits.
Examples described above use square surface-code patches, in which each logical qubit is mapped to a d×d lattice in a planar layer. However, embodiments are not limited to square surface codes or to planar surface codes. For example, a toric code can be defined by creating periodic boundary conditions in each layer.
According to some embodiments, toric codes can be implemented using a network array of interleaving modules such as interleaving module 1700 (or interleaving module 2400).
These examples of additional connectivity between interleaving modules are illustrative, and variations and modifications are possible. In various embodiments, connections between spatially separated interleaving modules can facilitate routing of logical qubits within a quantum computer. For instance, some architectures may include different logic units responsible for different types of operations, and logical qubits may need to be moved from one logic unit to another. With non-local spacelike connections between interleaving modules, movement of logical qubits can be performed with enhanced efficiency. The particular type and number of connections between interleaving modules can be adapted to suit a particular architecture and fusion graph topology.
In examples described above, network arrays are formed by connecting interleaving modules such that every interleaving module has a unique neighbor (or in some instances no neighbor) in each of the N, E, W, and S directions. In some embodiments, by adding more selectable routing paths and reconfigurable fusion devices, one can perform network fusion between qubits produced in different (but fixed) combinations of interleaving modules. By way of example,
In some embodiments, one or more routing switches in an interleaving module can allow selection not only among different network paths but also among different local paths that couple to delay lines of different lengths and/or to different reconfigurable fusion circuits within the interleaving module. An appropriate combination of local and network routing paths can enable more complex surface codes and/or other potential efficiencies.
By way of example,
According to some embodiments, interleaving modules with switchable network connections can be used to implement stellated surface code patches.
It will be appreciated that the various surface topologies described herein are illustrative and that suitably connected interleaving modules can implement a wide variety of surface codes.
Classical control logic 3210 can be implemented as a digital logic circuit with an arrangement of classical logic gates (AND, OR, NOR, XOR, NAND, NOT, etc.), such as a field programmable gate array (FPGA) or system-on-a-chip (SOC) having a programmable processor and memory, or an on-chip hard-wired circuit, such as an application specific integrated circuit (ASIC). In some embodiments, classical control logic 3210 (or portions thereof) can be implemented in an off-chip classical computer having a processor and a memory, and the off-chip classical computer can be programmed to perform some or all of the operations of classical control logic 3210.
In operation, classical control logic 3210 (which can include a classical computer) can receive “program code” 3201 specifying a quantum computation to be executed. For example, the program code can include a machine-readable data file defining a fusion graph as illustrated in figures above. Classical control logic 3210 can read the program code and generate control signals for resource state generator 3202 and interleaving modules 3220 to perform the computation.
Resource state generator 3202 can include any circuit(s) or other components capable of generating resource states, which can be systems of photonic qubits (e.g., using dual-rail encoding as described above). For instance, resource state generator 3202 can be an implementation of qubit entangling system 1000 of
Each interleaving module 3220 can be an instance of interleaving module 1700 of
Each RSI 3222 can receive resource states as described above. In some embodiments, the RSIs 3222 can operate autonomously, with no data input required, and each RSI 3222 circuit can receive one resource state per operating cycle (also referred to as an RSI cycle or clock cycle). Any of the RSI circuit configurations described above or other configurations can be used. If desired, resource state generation can be implemented internally to each RSI 3222 rather than in a separate resource state generator 3202.
Optical fibers (or other waveguides) 3242 can be used to couple each RSI 3222 to its associated routing switches 3224. In some embodiments, the optical fibers (or other waveguides) 3242 can introduce appropriate relative delay into the propagation paths of different qubits of the same resource state. For example, optical fibers 3242 can implement delay lines 1714a-1714c shown in
Classical control logic 3210 can generate control signals for routing switches 3224 in each instance of interleaving module 3220 and send the control signals to routing switches 3224 via classical signal path 3234. As described above, in some embodiments routing switches 3224 can route qubits from RSI 3222 to either a local path 3244a or a network path 3244b. Local path 3244a and network path 3244b transfer the qubits to reconfigurable fusion circuits 3226. As described above, local path 3244a connects to reconfigurable fusion circuit 3226 in the same interleaving module 3220 while network path 3244a connects to reconfigurable fusion circuit 3226 in a different interleaving module 3220. For clarity of illustration,
In some embodiments, the set of all routing switches 3224 across all instances of interleaving module 3212 can provide a fusion network router 3250. In some embodiments, fusion network router 3250 can be a reconfigurable fusion network router that supports different layer topologies, including examples described above, without requiring changes to the underlying hardware. For instance, as described above with reference to
Classical control logic 3210 can also generate control signals for reconfigurable fusion circuits 3226 in each instance of interleaving module 3220 and send the control signals to reconfigurable fusion circuits 3226 via classical signal path 3236. As described above, in some embodiments each reconfigurable fusion circuit 3226 can be an implementation of circuit 1400 of
Measurement outcome data (also referred to as “measurement results”) generated by reconfigurable fusion circuit 3226 can be provided to classical control logic 3210 via classical signal path 3237. As described above, in some embodiments, the measurement outcome data can include photon counts (or a binary-valued signal indicating presence or absence of a photon) for each detector in the reconfigurable fusion circuit or for the detector(s) on the active path(s) in a given cycle.
Classical control logic 3210 can decode the measurement outcome data received via classical control path 3237 to determine a result of the quantum computation. In some embodiments, classical control logic 3210 can also incorporate the heralding signals received via signal paths 3233 into the decoding. Further description of decoding operations that can be implemented in classical control logic 3210 can be found in above-referenced WO 2021/155289.
At block 3310, each RSI 3222 can obtain a resource state. For example, a signal generated by classical control logic 3210 in response to the RSI cycle counter can trigger generation of resource states in resource state generator 3202, and resource state generator 3202 can provide a resource state to each RSI 3222. At block 3312, classical control logic 3210 can determine setting for routing switches 3224 based on the interleaving coordinate. For example, as described above, classical control logic 3210 can determine whether each qubit should be directed to a local fusion circuit or a network fusion circuit based on the interleaving coordinate (or position of the resource state within a patch). At block 3314, classical control logic 3210 can generate control signals to routing switches 3224 to route the qubits into local or network paths based on the determinations at block 3312. At block 3316, classical control can determine switch settings for reconfigurable fusion circuits 3226 based on the measurement operation indicated in the fusion graph. For example, as described above, classical control logic 3210 can determine from the fusion graph whether to perform a fusion operation or single-qubit measurements (and, if applicable, which single-qubit measurements to perform). At block 3318, classical control logic 3210 can generate control signals to reconfigurable fusion circuits 3226 to implement the settings determined at block 3316. At block 3320, classical control logic 3210 can receive measurement outcome data from reconfigurable fusion circuits 3226. Measurement outcome data can be used as described above.
At block 3322, classical control logic 3210 can determine whether the quantum computation has been completed, e.g., whether the entire fusion graph has been executed. If not, then at block 3324, the RSI cycle counter can be incremented, and process 3300 can return to block 330 to determine the next interleaving coordinate and process the next set of resource states. Process 300 can continue to iterate until the computation is completed, ending at block 3326. It should be understood that all instances of interleaving module 3220 can be operated in parallel, with photons propagating between different interleaving modules 3220 based on the settings of routing switches 3224. Delay lines within or between interleaving modules can be provided so that qubits from different resource states arrive at reconfigurable fusion circuits 3226 with the correct relative timing to execute the fusion graph.
System 3200 of
System 3200 is just one example of a quantum computer systems that can incorporate interleaving modules as described herein to perform operations on logical qubits or other operations that can be defined using fusion graphs, including operations related to quantum computation, quantum communication, and other applications. Those skilled in the art with access to this disclosure will appreciate that many different systems can be implemented. Further, determination of interleaving coordinates and operations to be performed for a given interleaving coordinate can be based on a fusion graph or any other input that specifies a set of operations to be performed on a set of resource states. Accordingly, interleaving modules can be used in a variety of applications, including but not limited to FBQC.
The foregoing examples of interleaving modules and processes are illustrative and can be modified as desired. The use of directional labels (e.g., N, E, W, S, U, D) is for convenience of description and should be understood as referring to entanglement space, not as requiring or implying a particular physical arrangement of components or physical qubits. All numerical examples are for purposes of illustration and can be modified. In addition, while layers and patches are described with reference to square numbers, it should be understood that non-square layers and/or non-square patches can also be used. For example, patches or layers can be rectangular. Triangular patches or layers (or patches or layers having other shapes) can also be generated, e.g., by varying the number of resource states per row. Further, while examples described above assume that all instances of a resource state have the same entanglement pattern, such uniformity is not required. For instance, in some embodiments, resource state generators can be reconfigurable to generate resource states having different entanglement patterns in different clock cycles. In addition, resource state generators may operate in a non-deterministic manner, and this may introduce stochastic variation among resource states.
In some embodiments, resource state generation is non-deterministic, meaning that in a given operating cycle, a particular resource state generator might or might not succeed in producing the desired resource state. Accordingly, some embodiments can provide a number (M) of resource state generator circuits. If N is the total number of instances of an interleaving module, then M can be greater than N, and M can be chosen to provide a sufficiently high probability that at least N resource states will be generated during a given operating cycle. (“Sufficiently high probability” in a given implementation can be determined based on the particular implementation of fault tolerance.) Active multiplexing techniques, examples of which are known in the art, can be used to select N of the M resource state generators on each clock cycle to deliver resource states to N different instances of the interleaving module. Thus, each interleaving module can but need not have its own dedicated instance(s) of a resource state generator.
Embodiments described above provide examples of systems and methods for generating entanglement structures that can be used to perform FBQC. However, embodiments are not limited to FBQC and may be used in a variety of contexts, including measurement-base quantum computing (MBQC), other quantum computing systems, quantum communication systems, and any other context where it is desirable to perform measurements on a system involving a large number of physical qubits having a specified entanglement structure. The particular size (number of qubits) and entanglement pattern of the resource states can be varied as appropriate for a particular use case. In addition or instead, the number of resource states and entanglement geometry between resource states can be varied according to the particular use-case. For instance, while the foregoing description uses examples of fusion graphs having three-dimensional geometry, fusion graphs having more or fewer dimensions can be executed by providing an appropriate source of resource states and a suitably connected network of interleaving modules.
Further, embodiments described above include references to specific materials and structures (e.g., optical fibers), but other materials and structures capable of producing, propagating, and operating on photons can be substituted. As noted above, resource states can be generated using photonic circuits, or a resource state can be created using matter-based qubits, after which an appropriate transducer technology can be applied to swap the state of the matter-based qubits onto a photonic state. Interleaving as described herein exploits the propagation of photonic qubits, and similar techniques may be applicable to systems of physical qubits that are realized using entities that propagate along well-defined hardware paths.
It should be understood that the resource states, interleaving modules, and networks of interleaving modules shown herein are illustrative and that variations and modifications are possible. In some embodiments, resource states having different sizes and/or entanglement patterns can be used at different vertex positions within a fusion graph, and position-dependent selection of resource state configurations can be used to implement logical operations. Further, while FBQC is an example use-case for the interleaving techniques described herein, it should be understood that interleaving techniques are generally applicable to construction of larger-scale entangled quantum systems from small-scale entangled quantum systems (resource states). Accordingly, interleaving modules and techniques of the kind described herein can be applied in a variety of contexts, including but not limited to FBQC and other quantum computing systems.
Classical control logic can be implemented on-chip with the waveguides, beam splitters, detectors and/or and other photonic circuit components or off-chip as desired.
It should be understood that all numerical values used herein are for purposes of illustration and may be varied. In some instances ranges are specified to provide a sense of scale, but numerical values outside a disclosed range are not precluded.
It should also be understood that all diagrams herein are intended as schematic. Unless specifically indicated otherwise, the drawings are not intended to imply any particular physical arrangement of the elements shown therein, or that all elements shown are necessary. Those skilled in the art with access to this disclosure will understand that elements shown in drawings or otherwise described in this disclosure can be modified or omitted and that other elements not shown or described can be added.
This disclosure provides a description of the claimed invention with reference to specific embodiments. Those skilled in the art with access to this disclosure will appreciate that the embodiments are not exhaustive of the scope of the claimed invention, which extends to all variations, modifications, and equivalents.
This application claims the benefit of U.S. Provisional Application No. 63/143,727, filed Jan. 29, 2021, the disclosure of which is incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/070447 | 1/31/2022 | WO |
Number | Date | Country | |
---|---|---|---|
63143727 | Jan 2021 | US |