Methods and apparatus for implementing an operation on a quantum device
By transferring quantum states from a source module to a target module for buffer qubits, the method addresses the inefficiencies of existing quantum state generation methods, enabling efficient and timely execution of quantum algorithms with reduced qubit usage.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-26
- Publication Date
- 2026-03-05
AI Technical Summary
Existing methods for generating high-fidelity quantum states in quantum computing require a large number of qubits and computational cycles, and inter-module operations are slower than intra-module operations, potentially delaying or blocking circuit execution.
A method involving transferring a quantum state from a source module to a target module to utilize a buffer qubit for implementing operations, reducing the number of qubits needed at the target module and allowing operations to be performed before they are required, thus minimizing delays.
This approach reduces the number of qubits required at the target module, allows for efficient execution of quantum algorithms with fewer modules, and minimizes the risk of inter-module operations delaying computation.
Smart Images

Figure IB2025058616_05032026_PF_FP_ABST
Abstract
Description
METHODS AND APPARATUS FOR IMPLEMENTING AN OPERATION ON AQUANTUM DEVICECross-Reference to Related Applications
[0001] This application claims priority from US application No. 63 / 688,195 filed 28 August 2024 and entitled METHODS AND APPARATUS FOR IMPLEMENTING AN OPERATION ON A QUANTUM DEVICE which is hereby incorporated herein by reference for all purposes. For purposes of the United States of America, this application claims the benefit under 35 U.S.C. §119 of US application No. 63 / 688,195 filed 28 August 2024 and entitled METHODS AND APPARATUS FOR IMPLEMENTING AN OPERATION ON A QUANTUM DEVICE which is hereby incorporated herein by reference for all purposes.Technical Field
[0002] This disclosure relates to quantum devices and, in particular, to methods and apparatus for implementing an operation on a quantum device.Summary
[0003] In a first aspect, a method for implementing an operation on a quantum device is provided. The method involves transferring a quantum state from a source module to a target module of the quantum device to cause a buffer qubit of the target module to be in the quantum state. The method may also involve using the quantum state of the buffer qubit to cause the operation to be implemented on a target qubit of the target module.
[0004] In some embodiments of the method according to the first aspect, the operation may be a non-Clifford operation. The quantum state may include a rotation of a plus state around a z-axis and the operation may include a rotation operation. The quantum state may include a T state and the operation may include a T gate. The quantum state may include a magic state. The quantum state may include a double controlled phase, CCZ, state. The quantum state may include a Toffoli state.
[0005] In some embodiments of the method according to the first aspect, transferring the quantum state from the source module to the target module may include moving the buffer qubit from the source module to the target module. Transferring the quantum state from the source module to the target module may include transferring the quantum state of a source qubit in the source module to the bufferqubit in the target module. Transferring the quantum state of the source qubit in the source module to the buffer qubit in the target module may involve teleporting the quantum state of the source qubit in the source module to the buffer qubit in the target module.
[0006] In some embodiments of the method according to the first aspect, the buffer qubit, the target qubit and the source qubit may be logical qubits.
[0007] In some embodiments of the method according to the first aspect, the source qubit may be a first source qubit in a plurality of source qubits in the source module. Each of the plurality of source qubits may be in the quantum state prior to transferring the quantum state from the source module to the target module.
[0008] In some embodiments of the method according to the first aspect, the buffer qubit may be in a plurality of buffer qubits of the target module. Transferring the quantum state of the source qubit in the source module to the buffer qubit in the target module may involve transferring (e.g. jointly transferring) the quantum states of the plurality of source qubits to the plurality of buffer qubits to cause each of the plurality of buffer qubits to be in the quantum state. The plurality of source qubits and the plurality of buffer qubits may be encoded according to a Calderbank-Shor-Steane (CSS) code.
[0009] In some embodiments of the method according to the first aspect, using the quantum state of the buffer qubit to cause the operation to be implemented on the target qubit of the target module may involve consuming the quantum state of the buffer qubit to cause the operation to be implemented on the target qubit of the target module.
[0010] In some embodiments of the method according to the first aspect, the method may also involve using the quantum state of the buffer qubit to cause the operation to be implemented again. The quantum state may be an S state.
[0011] In a second aspect, a method for measuring a syndrome for a quantum device is provided. The method involves transferring a quantum state from a source module to a target module of the quantum device to cause a buffer qubit of the target module to be in the quantum state; coupling the buffer qubit to a target qubit of the target module; and measuring the buffer qubit to obtain the syndrome of the target qubit.
[0012] In some embodiments of the method according to the second aspect, transferring the quantum state from the source module to the target module may involve moving the buffer qubit from the source module to the target module.
[0013] In some embodiments of the method according to the second aspect, transferring the quantum state from the source module to the target module may involve transferring the quantum state of a source qubit in the source module to the buffer qubit in the target module.
[0014] In some embodiments of the method according to the second aspect, transferring the quantum state of the source qubit in the source module to the buffer qubit in the target module may involve teleporting the quantum state of the source qubit in the source module to the buffer qubit in the target module.
[0015] In some embodiments of the method according to the second aspect, the buffer qubit may comprise a plurality of physical buffer qubits. The target qubit may comprise a plurality of physical target qubits, at the target module, that encode one or more logical qubits according to a quantum error correction (QEC) code. The quantum state may comprise a physical cat state.
[0016] In some embodiments of the method according to the second aspect, the quantum state may comprise a logical cat state. The buffer qubit may comprise a first plurality of physical buffer qubits and a second plurality of physical buffer qubits. The first plurality of physical buffer qubits may implement a first logical buffer qubit in a first codeblock. The second plurality of physical buffer qubits may implement a second logical buffer qubit in a second codeblock. The target qubit may comprises a plurality of physical target qubits that implement a logical target qubit. Measuring the buffer qubit may involve performing a transversal Bell measurement on the first plurality of physical buffer qubits and the plurality of physical target qubits. The logical target qubit and the first logical buffer qubit are encoded according to a same QEC code.
[0017] In some embodiments of the method according to the second aspect, the buffer qubit and the target qubit are logical qubits encoded according to a CSS code. The quantum state may be a logical basis state.
[0018] In some embodiments of the method according to the first aspect or the second aspect, the method may also involve generating the quantum state at the source module.
[0019] In some embodiments of the method according to the first aspect or the second aspect, the quantum state may be a final quantum state and generating the final quantum state at the source module may involve obtaining a plurality of initial quantum states at the source module, and consuming, at the source module, the plurality of initial quantum states to generate the final quantum state.
[0020] In some embodiments of the method according to the first aspect or the second aspect, the quantum state may be a final quantum state and the method may further involve generating the final quantum state by: obtaining, at a first state generation layer, a plurality of first quantum states, consuming, at the first state generation layer, the plurality of first quantum states to generate a plurality of second quantum states, and consuming, at a final state generation layer, the plurality of second quantum states to obtain the quantum state.
[0021] In some embodiments of the method according to the first aspect or the second aspect, the final state generation layer and first state generation layer may be comprised in the source module.
[0022] In some embodiments of the method according to the first aspect or the second aspect, the source module may be comprised in a first plurality of source modules. Thefinal state generation layer and first state generation layer may be distributed across the first plurality of source modules.
[0023] In some embodiments of the method according to the first aspect or the second aspect, the method may further involve storing the plurality of second quantum states in an interlayer buffer associated with the first state generation layer.
[0024] In some embodiments of the method according to the first aspect or the second aspect, the method may further involve obtaining, at an initial state generation layer, a plurality of initial quantum states, and consuming, at the initial state generation layer, the plurality of initial quantum states to generate the plurality of first quantum states.
[0025] In some embodiments of the method according to the first aspect or the second aspect, the method may also involve storing the plurality of first quantum states in an interlayer buffer associated with the initial state generation layer. The interlayer buffer associated with the initial state generation layer may be larger than the interlayer buffer associated with the first state generation layer.
[0026] In some embodiments of the method according to the first aspect or the second aspect, the initial quantum states and the final quantum state may be a same type of quantum state. The final quantum state may have a higher fidelity than the plurality of initial quantum states.
[0027] In some embodiments of the method according to the first aspect or the second aspect, the method may also involve selecting the source module from a plurality of source modules. Each of the plurality of source modules may store a respective candidate instance of the quantum state. The source module may be selected based on a quantity of required quantum states for the target module and a quantity of available quantum states at the source module. The source module may be selected based on a rate of required quantum states for the target module and a rate of available quantum states at the source module. The source module may be selected based on a type of required quantum states for the target module and a type of available quantum states at the source module.
[0028] In some embodiments of the method according to the first aspect or the second aspect, the method may also involve determining the required quantum states for the target module based on a quantum circuit for execution on the target module. The method may also involve, in response to selecting the source module, activating a connection between the source module and the target module.
[0029] In some embodiments of the method according to the first aspect or the second aspect, the quantum device may be a first quantum device in a plurality of quantum devices. The source module may be shared between the plurality of quantum devices.
[0030] In another aspect, a non-transitory processor-readable storage medium is provided. The non-transitory processor-readable storage medium contains instructions which, when executed by a processor, cause the processor to perform the method according to the first aspect or the second aspect.
[0031] In another aspect, an apparatus configured to perform the method according to the first aspect or the second aspect is provided.
[0032] In another aspect, an apparatus for implementing an operation on a quantum device is provided. The apparatus includes a processor and a non-transitory processor-readable storage medium containing instructions. When the instructions are executed by the processor, the apparatus is caused to transfer a quantum state from a source module to a target module of the quantum device to cause a buffer qubit of the target module to be in the quantum state. The apparatus is further caused to consume the quantum state of the bufferqubitto cause the operation to be implemented on a target qubit of the target module.
[0033] The apparatus may be caused to perform the method according to any of the embodiments of the method according the first aspect
[0034] In another aspect, an apparatus for measuring a syndrome for a quantum device is provided. The apparatus includes a processor and a non-transitory processor-readable storage medium. The non-transitory processor-readable storage medium contains instructions which, when executed by the processor, cause the apparatus to: transfer a quantum state from a source module to a target module of the quantum device to cause a buffer qubit of the target module to be in the quantum state, couple the buffer qubit to a target qubit of the target module, and measure the buffer qubit to obtain the syndrome of the target qubit.
[0035] The apparatus may be further caused to perform the method according to any of the embodiments of the method according to the second aspect.
[0036] Any of the apparatus described above may be comprised in the quantum device. For example the apparatus may be a controller of the quantum device. The apparatus may be the quantum device.Brief Description of the Drawings
[0037] Embodiments of the disclosure are described with reference to, by way of example only, the following drawings:
[0038] Figure 1 shows a system according to embodiments of the disclosure;
[0039] Figures 2 and 3 show flowcharts of methods according to embodiments of the disclosure;
[0040] Figure 4 is an illustration of an example iterative state generation unit according to embodiments of the disclosure;
[0041] Figure 5 shows an illustration of a quantum circuit for generating a T state according to embodiment of the disclosures;
[0042] Figures 6 and 7 show example quantum circuits for implementing a T gate according to embodiments of the disclosure; and
[0043] Figure 8 shows a flowchart of a method of measuring an error syndrome for a quantum device according to embodiments of the disclosure.Detailed Description
[0044] Executing useful quantum algorithms is expected to require generating a large number of high-fidelity quantum states using techniques such as synthesis, distillation and synthillation. These states may be used to implement operations, such as those that could not be implemented fault tolerantly otherwise. Whilst various techniques have been developed for generating these states, existing approaches typically require a large number of qubits and many computational cycles. Implementing these techniques without reducing the number of qubits available for implementing the algorithm itself will require modules with increasing numbers of qubits.
[0045] Modular, or distributed, quantum computing offers an alternative approach in which the computation of an algorithm may be distributed across multiple modules. This would allow for, for example, implementing a quantum algorithm on a target module, generating a high-fidelity quantum state on a source module, and using (e.g. consuming) the quantum state at the source module to implement a corresponding gate on the target module. This may advantageously allow for implementing operations that cannot otherwise be implemented fault tolerantly without reducing the number of qubits available for execution of the algorithm at the target module. However, implementing operations between modules is expected to be slower than implementing operations within a module. As a result, there is a risk that the inter-module operation required to use the state on the source module to implement the operation on the target module could delay or even block circuit execution.
[0046] Aspects of the present disclosure address these and other problems. In an aspect, a method for implementing an operation on a quantum device is provided. The method involves transferring a quantum state from a source module to a target module of the quantum device to cause a buffer qubit of the target module to be in the quantum state. The method also involves using (e.g. consuming) the quantum state of the buffer qubit to cause the operation to be implemented on a target qubit of the target module. Apparatus for implementing the method are also provided.
[0047] Transferring a quantum state from the source module reduces the number of qubits used at the target module to obtain the quantum state. This allows for using qubits at the target module for other purposes, such as execution of an algorithm. This may, for example, allow for executing an algorithm using a smaller number of modules, thus reducing the number of inter-modular operations. In addition, transferring the quantum state to a buffer qubit and then using (e.g. consuming) the state of the buffer qubit to implement the operation allows for performing the transfer before the state is needed at the target module. This reduces the risk of the transfer, an example of an inter-module operation, delaying or blocking a quantum computation. This approach is also inherently scalable: if quantum states are required at a higher rate than can be supplied by the source module, quantum states may be transferred to the target modules from one or more other source modules as needed.Example System
[0048] Figure 1 shows a quantum device 100 according to embodiments of the disclosure. The quantum device 100 may be used for quantum computing, quantum communication or quantum sensing. In some embodiments, the quantum device 100 may form part of a larger system that may be used for quantum computing, quantum communication or quantum sensing.
[0049] The quantum device 100 comprises a controller 110, a source module 120 and a target module 130. In other embodiments, the quantum device 100 may comprise more or fewer modules 120, 130. For example, the quantum device 100 may comprise the target module 130, and the source module 120 may form part of another quantum device connected to the quantum device 100. It will be appreciated that, in general, the quantum device 100 may comprise more or fewer components than those described here.
[0050] The controller 110 comprises a processor 112 and processor-readable medium 114.
[0051] The processor-readable medium 114 stores instructions. The instructions may be processor-executable. The instructions, when executed, cause the processor 112 to directly perform, or cause (e.g. instruct) the controller 110 to perform, the operations described herein. The processor-readable medium 114 may be a memory. The processor- readable medium 114 may be non-transitory. In some embodiments, the controller 110 might not comprise the processor-readable medium 114. For example, the processor 110 may be implemented using dedicated circuitry that does not require a processor-readable medium.
[0052] The processor 112 may cause the controller 110 to perform the operations of the processor described herein. The processor 112 may, for example, be implemented by oneor more general purpose processors that execute instructions stored in the processor- readable medium 114. Alternatively, the processor 112 may be implemented by a programmed field programmable gate array (FPGA), a graphics processing unit (GPU), or an application specific integrated circuit (ASIC), for example.
[0053] The controller 110 may also comprise an interface (not illustrated). The controller 110 may be configured to control the source module 120 and the target module 110 via the interface. For example, the controller 110 may send one or more instructions to the source module 120 and / or the target module via the interface. The interface may, for example, comprise a port for a wired interface (e.g. a physical outlet to which an electrical wire or cable, an optical fibre etc. may be connected) and / or a wireless interface (e.g. a transmitter, receiver and / or transceiver). Although only a single interface was mentioned, the controller 110 may, in general, comprise one or more interfaces. In some embodiments, the interface may include separate interfaces for the source module 120 and the target module 130. The interface may comprise separate interfaces for components within the source module 120 and / or the target module 130. For example, the interface may comprise a dedicated interface for switches in the source module 120 and a dedicated interface for detectors in the source module 120.
[0054] Although Figure 1 shows only a single controller 110, it will be appreciated that, in some embodiments, the functionality of the controller 110 may be distributed over more than one entity. Thus, references to the controller 110 may be understood to refer to one or more entities that perform the functionality of the controller 110.
[0055] Source module 120 and target module 130 are separate components. The source module 120 and target 130 may be physically separate entities e.g. arranged on different chips, such as chips in different cryostats. The modules may alternatively be referred to as sub-units of the quantum device 100. Each of the source module 120 and the target module 130 comprise a respective plurality of qubits. Each of the qubits has two or more quantum states that can be used to represent quantum information and which can exist in a quantum superposition.
[0056] In this embodiment of the system 100, the qubits in the source module 120 form a state generation unit 122. That is, the source module 120 includes a state generation unit 122 that comprises a plurality of qubits. The state generation unit 122 may comprise a state factory, such as a magic state factory. In some embodiments, the source module 120 may comprise a plurality of state generation units 122 e.g. capable of operating in parallel. The operation of the state generation unit 122 is discussed in more detail below in respect of Figure 3. The source module 120 may also comprise other qubits that do not form part ofthe state generation unit 122. The source module 120 may be dedicated to state generation e.g. may be optimized for the purposes of implementing the state generation unit 122.
[0057] In other embodiments of the system 100, the source module 120 might not comprise a state generation unit 122. For example, quantum states may be generated elsewhere and received at the source module 120.
[0058] The qubits in the target module 130 include a buffer qubit 132 and a target qubit 134. In general, the target module 130 may comprise one or more buffer qubits 132 and one or more target qubits 134. As such, references to the buffer qubit 132 and the target qubit 134 may be understood to refer to one or more buffer qubits 132 and one or more target qubits 134 unless explicitly stated otherwise. The term “buffer qubit” indicates the way in which the buffer qubit 132 is used according to the present disclosure e.g. that a state is temporarily stored at the buffer qubit 132 for later use. The term “buffer qubit” does not necessitate that, for example, the buffer qubit 132 is implemented by a different type of quantum system than the target qubit 134.
[0059] The qubits may be any suitable type of qubits such as matter qubits or photonic qubits. The qubits are implemented using (e.g. by) quantum systems. The quantum systems may comprise luminescent defects, trapped ions, trapped atoms, neutral atoms, superconducting qubits, quantum dots, quantum wells, nuclear spins within dissolved molecules, trapped atoms coupled to high-finesse cavities, Bose-Einstein condensates, or any other suitable quantum systems. The luminescent defects may comprise luminescence centres or colour centres. The luminescence defects may comprise radiation damage centres, such as T centres, I centres or M centres. In some embodiments, each of the qubits may be implemented using the same type of quantum system. In other embodiments, the qubits may be implemented using different types of quantum systems. For example, the qubits in source module 120 (e.g. in the state generation unit 122) may be implemented using a first type of quantum system and the buffer qubit 132 may be implemented using a second type of quantum system and the target qubit 134 may be implemented using a third type of quantum system.
[0060] The quantum systems within each of the modules 120, 130 may be interconnected by a plurality of connections (not illustrated). Each connection between quantum systems enables performing operations between the qubits associated with the quantum systems. The connections may be reconfigurable. The connections may, for example, comprise one or more switches. The controller 110 may be operable to control the switches to connect quantum systems that were previously disconnected and / or to disconnect quantum systems that were previously connected with one another. The connections may be optical connections, microwave connections, physical ion transport or any other suitableconnections. Different connections may comprise different hardware components, i.e., different routes including switches, detectors, and the like. In particular, the number of switches, detectors, and the like can vary for different connections. Connection^) between modules 120, 130, referred to as inter-modular connection(s), may be the same or different to connections within modules, referred to as intra-modular connections. For example, the inter-modular connections may comprise microwave connections, microwave to optical transduction and optical connections, whereas the intra-modular connections may comprise microwave connections (e.g. without any transduction or optical connections). In another example, both the inter-modular and intra-modular connections may comprise optical connections. Inter-modular connections may be more expensive than intra-modular connections. That is, the communication cost of an inter-modular connection may be higher than a communication cost of an intra-modular connection. The communication cost may be expressed in terms of physical distance, link quality, number of hops, entanglement rate and / or fidelity, and the like.
[0061] The controller 110 is operable to control one or more manipulation devices (not shown) to manipulate the quantum systems to perform operations on the qubits associated with the quantum systems. The one or more manipulation devices may form part of the quantum device 100. The implementation of the manipulation device(s) may depend on the type of quantum systems. In some embodiments, the quantum systems may be optically addressable and the manipulation device(s) may comprise an optical source such as a laser. The optical source may be used to optically excite the quantum systems, thereby changing the state of the qubits associated with the quantum systems. The one or more manipulation devices may, additionally or alternatively, comprise another electromagnetic radiation source, such as a microwave source ora radio frequency source. In embodiments in which the quantum systems comprise T centres, for example, the manipulation devices may comprise an optical source and a microwave source. The one or more manipulation devices may, in general, comprise any devices suitable for manipulating quantum systems such as, for example, an electromagnetic radiation source (e.g. a laser or radio frequency signal generator) , a magnetic field source (e.g. a permanent magnet or an electromagnet), an electric field source (e.g. a capacitor), a power source (e.g. for electrically switchable qubits).
[0062] At least one of the one or more manipulation devices may form part of the modules 120, 130. For example, each of the modules 120, 130 may comprise one or more integrated manipulation devices. At least one of the one or more manipulation devices may be separate to the modules 120, 130. In some embodiments, at least one of the one or more manipulation devices may be shared between the modules 120, 130. For example, bothmodules 120, 130 may receive an optical signal from an optical source which is shared by the source and target modules 120, 130.
[0063] The controller 110 is operable to receive measurement information from one or more measurement devices (not shown) associated with the modules 120, 130. The one or more measurement devices may form part of the quantum device 100. The one or more measurement devices are for measuring the states of the quantum systems. The implementation of the one or more measurement devices may depend on the type of quantum system and may comprise any suitable measurement devices such as: a photon detector (such as a superconducting nanowire single photon detector), a readout resonator, a bolometer, a Bell state analyser etc.
[0064] At least one of the one or more measurement devices may form part of the modules 120, 130. For example, each of the modules 120, 130 may comprise one or more integrated measurement devices, such as integrated photon detectors. At least one of the one or more measurement devices may be separate to the modules 120, 130. In some embodiments, at least one of the one or more measurement devices may be shared between the modules 120, 130. For example, a photon emitted by a first quantum system in the source module 120 and a photon emitted by a second quantum system in the target module 130 may both be detected at a Bell state analyser that is shared by the source and target modules 120, 130.
[0065] The connections described above may also be used in connecting the quantum systems of the modules 120, 130 with components such as switches, manipulation devices and / or measurement devices. Connections can further connect components, such as switches, manipulation devices and / or measurement devices, to each other. The switches can be controlled to select specific connections for connecting a quantum system of the source module 120 to at least one other quantum system of the target module 130 and vice-versa. The switches can also be controlled to select specific connections for connecting a quantum system within either the source module 120 or the target module 130 to another quantum system within the same module 120, 130. In some embodiments, by controlling the components in a suitable manner, any pair of quantum systems of the modules 120, 130 may be connected to each other.
[0066] In some embodiments, the quantum device 100 may further comprise one or more environmental control devices for controlling an environment of the quantum systems. The environmental control device(s) may be controlled by the controller 110 or may have separate controls. The quantum device 100 may, for example, comprise a respective environmental control device for each module 120, 130. The one or more environmental control devices may be configured to, for example: maintain a temperature of the quantumsystems (e.g. the environmental control device may comprise a cryostat or other cooling device), apply an electric field to the quantum systems, apply a magnetic field to the quantum systems, apply a strain to the quantum systems, and / or maintain an oxygen-free environment for the quantum systems (e.g. a vacuum), etc. The implementation of the one or more environmental control devices may depend on, for example, the type of quantum system.
[0067] As illustrated, the system 100 comprises various apparatus (e.g. the controller 110, and the modules 120, 130). It will be appreciated that, in some embodiments, these components may be provided separately. For example, the controller 110 may be provided separately to the modules 120, 130. Even when provided separately, the controller 110 may be configured to perform the operations of the controller 110 described herein.Example Method
[0068] Figure 2 shows a flowchart of a method 200 of implementing an operation on the quantum device 100 according to embodiments of the disclosure. In the following description, the method 200 is described as being performed by the controller 110. In general, the method 200 may be performed by any suitable apparatus, such as the controller 110 or the quantum device 100.
[0069] In some embodiments, the method 200 may be performed by more than one apparatus. For example, each of the modules 120, 130 may be associated with a respective controller (e.g. a respective implementation of the controller 110). The controllers may be integrated with their respective modules 120, 130 for example. Steps 202 and 204 may be performed by the controller associated with the source module and the controller associated with the target module, whilst step 206 may be performed by the controller associated with the target module.
[0070] Although the method 200 is described as being performed to implement an operation on the quantum device 100, in general the method 200 may be performed to implement an operation on any quantum device.
[0071] In step 202, a quantum state is generated at the source module 120. That is, the controller 110 causes the state generation unit 122 to generate the quantum state. Methods for generating the quantum state are discussed in more detail below in respect of Figure 3.
[0072] In some embodiments, step 202 may be omitted. For example, the quantum state may be generated at another module (e.g. another source module) and transferred to the source module 120 (e.g. for storage) prior to step 204. The source module 120 might not, for example, comprise the state generation unit 122. The source module 120 may instead comprise one or more qubits for storing the quantum state.
[0073] In step 204, the controller 110 transfers the quantum state from the source module 120 to the target module 130 of the quantum device 100 to cause the buffer qubit 132 of the target module 130 to be in the quantum state. That is, the controller 110 causes one or more operations to be performed that cause a quantum state at the source module 120 to be transferred to the target module 130 of the quantum device 100.
[0074] In some embodiments, transferring the quantum state from the source module 120 to the target module 130 comprises moving the buffer qubit 132 from the source module 120 to the target module 130. That is, step 202 may have involved generating the quantum state at the buffer qubit 132 whilst the buffer qubit 132 was at the source module 120 and step 204 may involve physically moving the buffer qubit 132 from one module to another. The buffer qubit 132 may be moved to the target module 130 using any suitable technique such as, for example, qubit shuttling or ion transport.
[0075] Alternatively, step 204 might not involve physically moving a qubit from one module to another. In some embodiments, step 204 may involve transferring the quantum state of a source qubit (not illustrated) in the source module 120 to the buffer qubit 132 in the target module 130. The source qubit is different to the buffer qubit 132. Thus, for example, step 202 may have involved generating the quantum state at the source qubit in the source module 120, and step 204 may involve transferring the quantum state of the source qubit to the buffer qubit 132. There are various ways in which this transfer may be implemented including, for example, teleportation, a SWAP gate or an iSWAP gate. Teleportation may be particularly advantageous because teleportation is expected to require fewer resources than implementing a SWAP gate or an iSWAP gate.
[0076] Teleportation of the quantum state from the source qubit to the buffer qubit 132 causes the current state of the bufferqubit 132 to be overwritten with the state of the source qubit. This can also be referred to as teledata or state teleportation.
[0077] A SWAP gate involves exchanging the states of the buffer qubit 132 and the source qubit i.e. the SWAP gate causes the buffer qubit 132 to be in the state that the source qubit was in prior to the SWAP gate and the SWAP gate causes the source qubit to be in the state that the buffer qubit 132 was in prior to the SWAP gate.
[0078] In step 206, the controller 110 uses the quantum state of the buffer qubit 132 to cause the operation to be implemented on the target qubit 134 of the target module 130.
[0079] In some embodiments, using the quantum state of the buffer qubit 132 in step 206 may involve consuming the quantum state of the buffer qubit 132 to cause the operation to be implemented on the target qubit 134 of the target module 130. For example, step 206 may involve implementing an entangling operation (e.g. an entangling gate) on the target qubit 134 and the buffer qubit 132, measuring the buffer qubit 132 and, optionally, basedon the measurement result, applying a correction operation (e.g. a Clifford operation) to the target qubit 134. Since measuring the buffer qubit destroys the quantum information of the buffer qubit 132, this results in the state of the buffer qubit 132 being destroyed and a (corresponding) operation being implemented on the target qubit 134.
[0080] In some embodiments, using the quantum state of the buffer qubit 132 to cause the operation to be implemented on the target qubit 134 of the target module 130 in step 206 might not involve consuming the state of the buffer qubit 132. That is, the use of the quantum state in step 206 might or might not consume the quantum state. In embodiments in which the quantum state of the buffer qubit 132 is not consumed during implementation of the operation in step 206, it may be re-used to implement the operation one or more additional times. That is, in some embodiments, after the quantum state of the buffer qubit 132 is used to implement the operation in step 206, the quantum state of the buffer qubit 132 may be used to cause the operation to be implemented again. Thus, in some embodiments, step 206 may be performed more than once. For example, the quantum state of the buffer qubit 132 may be used to cause the operation to be implemented on a target qubit 134 of the target module 130 a first time and the quantum state of the buffer qubit 132 may be used to cause the operation to be implemented on the target qubit 134 of the target module 130 a second time. As another example, the target module 130 may comprise first and second target qubits 134, and the quantum state of the buffer qubit 132 may be used a first time to cause the operation to be implemented on the first target qubit 134 of the target module 130, and the quantum state of the buffer qubit 132 may be used a second time to cause the operation to be implemented on the second target qubit 134 of the target module 130.
[0081] A specific example of this is described in more detail below with respect to the S state. However, it will be appreciated that, in general, there may be various states that may be used to implement the operation in step 206 without consuming the quantum state of the buffer qubit 132.
[0082] Step 206 may also be referred to as telegate or gate teleportation because it causes a gate corresponding to the state of the buffer qubit 132 to be applied to the target qubit 134. In some embodiments, step 206 may involve inserting or injecting the state of the buffer qubit 132 to the target qubit 134. For example, step 206 may involve injecting the magic state of the buffer qubit 132 to the target qubit 134, which may be referred to as magic state injection.
[0083] By performing the method 200, the controller 110 may thus cause an operation to be implemented on the target qubit 134 at the target module 130 using a quantum state sourced from the source module 120, without requiring an inter-modular operation to beperformed on the target qubit 134. As inter-modular operations are typically slower than intra-modular operations, this means that inserting the quantum state from the buffer qubit 132 to the target qubit 134 will require fewer computational cycles for the target qubit 134 than would be required inserting the quantum state from the source module 120 directly to the target qubit 134.
[0084] In some embodiments, the operation implemented in step 206 may form part of (logical or physical) quantum circuit being executed on the target qubit 134. For example, step 206 may be performed responsive to receiving an instruction to implement the operation (e.g. at a specific trigger, such as a timepoint, measurement and / or completion of another operation) according to the quantum circuit. The quantum circuit may be being executed on, for example, a plurality of qubits at the target module 130 including the target qubit 134. The quantum circuit may be being executed wholly on the target module 130 or on a plurality of modules including the target module 130. By reducing the number of computational cycles of the target taken to implement the operation in the quantum circuit, the method 200 may prevent circuit execution from being delayed, thereby decreasing runtime of the quantum circuit.
[0085] The method 200 also has advantages beyond circuit-based quantum computing. It will be appreciated that, in general, the operation implemented in step 206 may form part of a process, such as a quantum computing process or quantum communication process, which requires performing one or more other operations on the target qubit 134 prior to and / or after the operation implemented in step 206. Implementing the operation using the method 200 can reduce the time taken to perform the process.
[0086] The following sections describe various example embodiments of the method 200. For simplicity, the embodiments are described separately. However, it will be appreciated that, in general, these embodiments may be combined with both the method 200 as described above and each other, unless they are specifically described as alternatives.Background
[0087] In gate-based quantum computation, the ability to execute any arbitrary quantum algorithm on a quantum computer requires being able to implement a universal gate set on the quantum computer. It is expected that universality will be achieved using a quantum error correction (QEC) code that can fault tolerantly implement most gates of interest, and then using other techniques such as synthesis, distillation or synthillation to create high- fidelity states that can be consumed to implement the remaining gate(s) required to form a universal gate set. For example, a universal gate set can be formed from the Clifford group and a non-Clifford operator, such as the T gate. A high-fidelity T gate may be implementedby consuming a high-fidelity T state obtained by consuming a larger number of lower-fidelity T states in a process referred to as distillation.
[0088] As such, high-fidelity states that can be used to implement particular gates are expected to be a key resource for quantum computation, with useful quantum algorithms being expected to require large numbers of these high-fidelity states. Known methods for generating these states require significant computational resources. Techniques for efficiently providing these high-fidelity states more efficiently are thus needed.Types of Quantum State and Quantum Operation
[0089] As described above, the method 200 involves generating, transferring and using (e.g. consuming) a quantum state to implement the operation on the target qubit 134. The quantum state may be referred to as, for example, a resource state since it is used as a resource in the method 200 (e.g. to enable the operation to be performed).
[0090] In some embodiments, the operation may be a multi-qubit operation e.g. an operation applied to two or more target qubits. The multi-qubit operation may be implemented by using (e.g. consuming) a single quantum state or a plurality of quantum states. For example, step 204 may involve consuming a T state to implement a two-qubit rotation e~“z®z. in embodiments in which step 204 involves using a plurality of quantum states, step 202 may involve transferring the plurality of quantum states to the target module 130.
[0091] It will be appreciated that the method 200 may be used to implement a variety of operations, with the operation that is implemented in step 206 depending on the quantum state that it is using. That is, there is a correspondence between the quantum state that is used in step 206 and the resulting operation that is performed. In particular, using a first quantum state would cause a first operation to be implemented, whereas using a second, different quantum state would cause a second, different, operation to be performed. This correspondence is illustrated by the following examples of quantum states that may be consumed in step 206 and the corresponding operation that would be implemented as a result of that use.
[0092] In some embodiments, the quantum state comprises a rotation of a plus state |+) around a z-axis and the operation is a rotation operation. That is, the quantum state may comprise a rotation of the plus-state |+) by an angle 9 around the z-axis and using (e.g. consuming) the quantum state in step 206 to implement the operation on the target qubit 134 may cause the state of the target qubit to be rotated around the z-axis by the angle 9. The quantum state may be expressed as 7?(0)|+) = + eie|1)), in which 7?(0) is the rotation operation. The state of the target qubit 134 after step 206 may be expressed asR 9)\ fj), in which \i ) is the state of the target qubit 134 prior to implementing the operation in step 206.
[0093] In some embodiments, the quantum state may comprise an S state and the operation may be an S gate. According to the specification, the term “S state” denotes the state |S) = |0) + i 11>. The S state may alternatively be expressed as |S) = S|+), in which S is an S operator (or gate), or as a rotation of the plus-state |+) by an angle around the z- axis. Implementing the operation on the target qubit 134 in step 206 may involve using the S state to cause the state of the target qubit 134 to be rotated around the z-axis by the angle The S state may alternatively be referred to as a Y state or an |i) state.
[0094] The quantum state comprising an S gate may be particularly advantageous because, in some embodiments, step 206 may involve using the S state to apply an S gate to the target qubit 134 without consuming the S state. For example, the S state may be used to implement the S gate to the target qubit 134 by applying a first controlled-NOT gate to the buffer qubit 132 and the target qubit 134, a first Hadamard gate to the buffer qubit 132, a first controlled-NOT gate to the buffer qubit 132 and the target qubit 134, and a second Hadamard gate to the buffer qubit 132 to cause the S gate to be applied to the target qubit 134. Since the S state is not consumed during this implementation of the operation in step 206, it may be re-used to implement the operation one or more additional times.
[0095] In some embodiments, the quantum state may comprise a T state. According to the specification, the term “T state” denotes a qubit that is in a superposition of 0- and 1 -states separated by a phase of ?r / 4. That is, a T state is a rotation of the plus state by an angle of ?r / 4 . In embodiments in which the quantum state comprises a T state, step 206 may involve consuming the T state to apply a T gate to the target qubit 134. For example, step 206 may involve applying a controlled-NOT gate to the buffer qubit 132 and the target qubit 134, and measuring the buffer qubit 132 and the target qubit 134 to consume the T state at the buffer qubit 132 and cause a T gate to be applied to the target qubit 134.
[0096] In some embodiments, the quantum state may comprise a double controlled phase, CCZ, state. In embodiments in which the quantum state comprises a CCZ state, step 206 may involve consuming the CCZ state to apply a CCZ gate to the target qubit 134 based on the state of two control qubits (e.g. two other qubits at the target module 130). The operation implemented by a CCZ gate may be expressed as: / ® / ® |0)(0| + CZ ® |1)(1| ,where CZ denotes the controlled-Z gate that flips the phase of the target qubit 134 if a first of the control qubits is in the |1) state. The CCZ gate flips the phase of the target qubit 134 if the control qubits are in the 111> state in the computational basis.
[0097] In some embodiments, the quantum state may comprise a Toffoli state. In embodiments in which the quantum state comprises a Toffoli state, step 206 may involve consuming the Toffoli state to apply a Toffoli gate to the target qubit 134 based on the state of two control qubits (e.g. two other qubits at the target module 130). Applying the Toffoli gate to the target qubit 134 will cause the target qubit 134 to be inverted if both control qubits are 1 .
[0098] The T gate, CCZ gate and Toffoli gate are examples of non-Clifford operations (or gates). The method 200 may, more generally, be used to implement a non-Clifford operation on the target qubit 134. For example, step 206 may involve performing a Clifford circuit, a measurement, and a conditional Clifford operation on the buffer qubit 132 and the target qubit 134 to cause a Clifford operation to be performed on the target qubit 134. The conditional Clifford operation depends on the value of the measurement. That is, the conditional Clifford operation might or might not be performed depending on the measurement value, and, if it is performed, the type of operation might depend on the measurement value.
[0099] For example, the quantum state may be a quantum state stored on three qubits and there may be eight different possible measurement values. Each measurement value may be associated with a respective conditional Clifford operation. At least one of these respective conditional Clifford operations may be an identity operation, which is equivalent to not implementing the conditional Clifford operation. That is, the conditional Clifford operation might or might not be implemented depending on the value of the measurement. For example, the quantum state may comprise a T state, and the conditional Clifford operation may comprise an S operation or an identity operation (i.e. the conditional Clifford operation might not be implemented) depending on the measurement value.
[0100] Although the foregoing description refers to a conditional Clifford operation, it will be appreciated that, in general, the conditional Clifford operation may comprise a conditional Clifford circuit comprising one or more (Clifford) operations. The conditional Clifford circuit may also be referred to as a (Clifford) correction or (Clifford) fix-up.
[0101] Using the method 200 to implement a non-Clifford operation may be particularly advantageous because it is expected that many quantum error correction (QEC) codes will be able to implement the Clifford group fault tolerantly. Since the Clifford group together with any non-Clifford operation form a universal gate set, using the method 200 to implement a non-Clifford operation (or gate) may enable universal quantum computation.
[0102] Thus, in some embodiments, step 206 may involve using (e.g. consuming) the quantum state of the buffer qubit 132 to cause a non-Clifford operation to be implemented on the target qubit 134. This may be particularly advantageous when the target qubit 134 is encoded in a QEC code that can implement the Clifford group fault tolerantly. In this context, being able to implement a particular operator fault or group fault tolerantly may refer to being capable of implementing the operator or group with a logical error or logical error rate below a particular threshold e.g. such that the logical error rate is less than the inverse of the total number of operations in a quantum computation.
[0103] In some embodiments, the quantum state may comprise a magic state.
[0104] In some embodiments, the target qubit 134 is encoded according to a quantum error correction code and the operation implemented on the target qubit 134 is an operation that cannot otherwise be implemented fault tolerantly in the QEC code. That is, the process described in respect of step 206 (implementing the operation by consuming a corresponding state on another qubit) might be the only way to fault tolerantly implement the operation on the target qubit 134 in the QEC code. The QEC code may comprise a Calderbank-Shor-Steane (CSS) code. The QEC code may comprise a quantum low density parity check (QLDPC) code.
[0105] In some embodiments, the quantum state consumed in step 206 may comprise a pure non-stabilizer state distilled from mixed non-stabilizer states via one or more Clifford group operations.Transferring Multiple Quantum States
[0106] In the description of the method 200 above, step 204 involves transferring the quantum state from the source module 120 to the target module 130 of the quantum device 100 to cause the buffer qubit 132 of the target module to be in the quantum state. In some embodiments, the target module 130 may comprise a plurality of buffer qubits and step 204 may involve transferring a plurality of quantum states to cause each of the plurality of buffer qubits to be in a corresponding one of the quantum states. The quantum states may be multiple instances of the same quantum state or may be different quantum states. The plurality of quantum states at the source module 120 may have been generated by the state generation unit 122. The plurality of quantum states at the source module 120 may have been generated by two or more state generation units 122 operating at the source module 120. For example, all of the two or more state generation units 122 may have collectively filled a buffer of source qubits at the source module 120. Alternatively, the quantum states may have been received from elsewhere such as from one or more (e.g. two or more) other modules.
[0107] As such, step 204 may involve, for example, moving the plurality of buffer qubits from the source module 120 to the target module 130. The plurality of buffer qubits may be, for example, all physical qubits that implement a codeblock of logical qubits encoded according to a QEC code at the source module 120.
[0108] Alternatively, step 204 may involve transferring (e.g. teleporting or swapping) the quantum states of a plurality of source qubits at the source module 120 to the plurality of buffer qubits at the target module 130. The source qubits are different to the buffer qubits. In some embodiments, this transfer may be joint e.g. inseparable. That is, the transfer of the plurality of quantum states from the source qubits to the buffer qubits may be implemented by operations that cannot be decomposed into sets of operations, in which each set in the sets of operations transfers a respective quantum state of a respective source qubit to a respective buffer qubit. In some embodiments, the plurality of source qubits may be logical qubits encoded according to a QEC code. For example, step 204 may involve transferring the quantum states of all of the source qubits in a codeblock encoded according to the QEC code to the plurality of buffer qubits. That is, step 204 may involve transferring the quantum states of a plurality of logical source qubits to the plurality of buffer qubits, in which the plurality of logical source qubits form a codeblock encoded according to a QEC code.
[0109] Transferring the quantum states of a plurality of source qubits to the plurality of buffer qubits may be particularly advantageous in embodiments in which the source qubits and the buffer qubits are encoding according to a CSS code. In CSS codes, jointly transferring (e.g. teleporting or swapping) the plurality of quantum states from the source module 120 to the target module 130 would require fewer resources that separately transferring each of the plurality of quantum states.Multiple Source Modules
[0110] In some embodiments, source module 120 may be in a plurality of source modules. Each of the plurality of source modules is connectable to the target module 130 (e.g. to enable transfer of a quantum state in accordance with step 204). That is, each source module 120 might or might not be already connected to the target module 130 and, if a particular source module 120 is not currently connected to the target module 130, the particular source module 120 is capable of being connected to the target module 130. The connection may be direct or indirect (e.g. via one or more hops). In this context, a source module being connected to a target module 130 means that it is possible to transfer a quantum state from the source module 120 to the target module 130.
[0111] Each of the source modules may be substantially the same as the source module 120 unless otherwise described. The source modules may be for (e.g. may generate or store) the same quantum state or different quantum states. For example, the plurality of source modules may comprise a first source module forT states and second source module for CCZ states.
[0112] In some embodiments, the quantum device 100 may comprise a plurality of target modules and some or all of the plurality of source modules may be shared between (e.g. connectable to any of) the plurality of target modules. Additionally or alternatively, the quantum device 100 may be in a plurality of quantum devices, and some or all of the plurality of source modules may be shared between (e.g. connectable to any of) the plurality of quantum devices. For example, the source module 120 may be shared between the plurality of quantum devices.
[0113] The method 200 may further involve, prior to step 204, selecting the source module 120 from a plurality of source modules. This selection may be performed before, after or during step 202, for example.
[0114] The source module 120 may be selected based on a requirement of quantum states for the target module 130 such as one or more of: a quantity of required quantum states for the target module 130 and a quantity of available quantum states at the source module 120, a rate of required quantum states for the target module 130 and a rate of available quantum states at the source module 120, and a type of required quantum states for the target module 130 and a type of available quantum states at the source module 120. Thus, for example, the controller may select the source module 120 responsive to determining that a T state is required and the source module 120 has a T state. In another example, the controller 110 may determine a rate at which particular quantum states will be required (e.g. based on a quantum circuit as described below) and may select a source module 120 that is capable of supplying quantum states at the required rate.
[0115] The controller 110 may receive an indication of the required quantum states. For example, a user may input (e.g. via a user interface of the quantum device 100, such as a keyboard) a quantity, rate and / or type of required quantum states. As another example, the controller 110 may receive a quantity, rate and / or type of required quantum states from a compiler e.g. of the quantum device 100.
[0116] Alternatively, the controller 110 may determine the required quantum states. For example, the controller 110 may determine the required quantum states for the target module 130 based on a quantum circuit for execution on the target module 130. The quantum circuit may be intended to be wholly or partly executed on the target module 130. That is, the quantum circuit may be executed on the target module 130 only, or the targetmodule 130 may be in a plurality of modules across which the circuit is (e.g. will be) executed.
[0117] The available quantum states at the source module 120 may be the quantum states currently available at the source module 120 or the quantum states that are expected to be available at the source module 120 e.g. when step 204 is performed. The available quantum states may be determined based on one or more of: a quantity of quantum states currently stored at the source module 120, a rate at which the source generation unit 122 generates the quantum states, a quantity of the quantum states of the source module 120 that are expected to be used for other purposes (e.g. for other target modules), and / or a rate at which the quantum states of the source module 120 are expected to be used for other purposes (e.g. for other target modules). In some examples, the available quantum states might not account for these factors e.g. the available quantum states at the source module 120 may be all of the quantum states at the source module 120.
[0118] The controller 110 may, additionally or alternatively, select the source module 120 based on one or more other factors such as a connection quality between the source module 120 and the target module 130.
[0119] In some embodiments, the controller 110 activates a connection between the source module 120 and the target module 130 in response to selecting the source module 120. This may be performed before step 204, for example. Activating a connection may comprise, for example, actuating one or more switches (e.g. optical switches) to connect the source module 120 and the target module 130. Dynamically activating the connection between the source module 120 and the target module 130 may be particularly advantageous when some or all of the plurality of source modules are shared between a plurality of target modules and / or a plurality of quantum devices. It may, for example, advantageously allow for scaling the quantum device 100 based on the quantum states required at the target module 130.Logical Qubits
[0120] In some embodiments, the qubits referred to in the method 200 may be logical qubits. Thus, the buffer qubit 132, the target qubit 134 and the source qubit (if present) may be logical qubits. The buffer qubit 132 may be encoded according to a first QEC code, the target qubit 134 may be encoded according to a second QEC code and the source qubit (if present) may be encoded according to a third QEC code. The first, second and third QEC codes may be the same or different to one another. For example, the buffer qubit 132, target qubit 134 and the source qubit (if present) may be encoded according to a same QEC code. In some embodiments, the first, second and third (if present) QEC codes may be differentcodes in the same code family. Any or all of the first, second and third (if present) QEC codes may be a QLDPC code. Any or all of the first, second and third (if present) QEC codes may be a CSS code.
[0121] In some embodiments, the buffer qubit may be comprised in a first codeblock, the target qubit may be comprised in a second codeblock and the source qubit (if present) may be comprised in a third codeblock. The first, second and third (if present) codeblocks may be different to one another.
[0122] In embodiments in which there are a plurality of buffer qubits 132, the buffer qubits may be comprised in one or more (e.g. a plurality of) codeblocks. In embodiments in which there are a plurality of source qubits, the source qubits may be comprised in one or more (e.g. a plurality of) codeblocks.
[0123] According to the specification, the term “codeblock” relates to a block comprising one or more logical qubits that an instance of a QEC code operates on. For example, a codeblock for an instance of the [[7,1 ,3]]-Steane code may comprise 7 physical qubits and 1 logical qubit, i.e., the 7 physical qubits map to 1 logical qubit. QEC can be performed within a codeblock. For example, at least one syndrome can be measured by performing measurements on the qubits in a codeblock.
[0124] In some embodiments, the qubits referred to in the method 200 may be physical qubits. In yet other embodiments, some of the qubits referred to in the method 200 may be physical qubits and others may be logical qubits.Generating the Quantum State
[0125] Figure 3 shows a flowchart of an example method 300 for generating a quantum state in step 202. The method 300 is described as being performed by the state generation unit 122, but in other embodiments the method 300 may be performed by a different unit at the source module 120 or even in another module (e.g. at another source module). For ease of reference, the generated quantum state is referred to as the final quantum state in the following description. The state generation unit 122 may be caused to (e.g. controlled to) perform the method 300 by the controller 110, for example.
[0126] In step 302, the state generation unit 122 obtains a plurality of initial quantum states. The state generation unit 122 may generate the initial states. Alternatively, the state generation unit 122 may receive the initial states. For example, the initial states may be transferred to the source module 120 from another module using any of the transfer techniques described above in respect of the method 200.
[0127] The initial quantum states may be the same type of quantum state as the final quantum state. For example, the initial quantum states and the final quantum states maybe T states. Alternatively, the initial quantum states may be a different type of quantum state to the final quantum states. For example, the initial quantum states may comprise four T states and the final quantum state may comprise a CCZ-state.
[0128] In step 304, the state generation unit 122 consumes, at the source module 120, the plurality of initial quantum states to generate the final quantum state. The final quantum state may have a higher fidelity than the initial quantum states. Thus, the final quantum state may, in some embodiments, be referred to as a high-fidelity state and the initial quantum states may be referred to as low-fidelity states. According to this specification, the fidelity of a quantum state measures how close the quantum state is to its desired quantum state. For example, the fidelity of a particular T state indicates how close that T state is to the desired T state \
[0129] Step 304 may thus involve consuming a plurality of initial, optionally lower fidelity, quantum states, to generate a final, optionally higher fidelity, quantum state. In examples in which the initial and final quantum states are the same type of quantum state, this may be referred to a distillation. In examples in which the initial and final quantum states are different quantum states, this may be referred to as synthesis (e.g. the initial and final quantum states are different but have the same, or comparable fidelity), distillation and synthesis, or synthillation.
[0130] In some embodiments of the method 300, the initial states obtained in step 302 may comprise initial states of a plurality of physical qubits. The final state generated in step 304 may be the final state of a logical qubit. That is, the states of a plurality of physical qubits may be consumed to generate the state of a logical qubit.
[0131] In some embodiments, the initial states obtained in step 302 may comprise initial states of logical qubits. The final state generated in step 304 may be the final state of a logical qubit. That is, the initial states of logical qubits may be consumed to generate the final state of a logical qubit. For example, the states of a plurality logical qubits may be consumed to generate the final state of a logical qubit in the plurality of logical qubits.Iterative State Generation
[0132] In some embodiments, the method 300 may be performed iteratively. That is, the initial states obtained in step 302 may comprise a plurality of final states generated by previous iterations of the method 300. This may be illustrated with respect to Figure 4. Figure 4 is an illustration of an example iterative state generation unit 400 according to embodiments of the disclosure.
[0133] As illustrated, the iterative state generation unit 400 comprises a first state generation layer 410, an intermediate state generation layer 420, and a final stategeneration layer 430. In general, the iterative state generation unit 400 may comprise two or more state generation layers. That is, the iterative state generation unit 400 may comprise a first state generation layer 410, a final state generation layer 430 and zero or more intermediate state generation layers 420.
[0134] The first state generation layer 410 comprises N first state generation units 412a-a, ... , 412a-N, ... , 412a-M, ... , 412N-M (collectively 412). The intermediate state generation layer 420 comprises M intermediate state generation units 422a, 422b, 422c, ... , 422M (collectively 422). The final state generation layer 430 comprises a final state generation unit 432. Each of the state generations units 412, 422, 433 are substantially the same as the state generation unit 122 unless stated otherwise.
[0135] Each of the state generation units 412, 422, 432 is operable to perform the method 300. More specifically, each of the first state generation units 412 are operable to obtain, in step 302, a plurality of initial quantum states and, in step 304, consume the plurality of initial quantum states to generate a respective final quantum state for the first state generation layer 420. As there are MxN first state generation units 412, this may generate MxN quantum states.
[0136] These MxN quantum states are input to the second state generation units 422 to enable each of the second state generation units 422 to perform the method 300. That is, each of the second state generation units 422 obtains, in step 302, a respective N=(MxN) / M quantum states from the first state generation units 412. Each of the second state generation units 422 then consumes their respective N quantum states, in step 304, to generate a respective final quantum state for the intermediate state generation layer 420. This results in M quantum states.
[0137] These M quantum states are input to the final state generation unit 432 to enable the final state generation unit 432 to perform the method 300. That is, the final state generation unit 432 obtains, in step 302, M quantum states from the intermediate state generation units 422. The final state generation unit 432 consumes its M quantum states, in step 304, to generate a final quantum state e.g. for output from the iterative state generation unit 400.
[0138] In some embodiments, each of the state generation units 412, 422, 432 in the iterative state generation unit 400 may operate in substantially the same way e.g. may implement the same distillation algorithm. Each of the state generation units 412, 422, 432 may thus require N=M quantum states to implement the method 300. As a result, the first state generation layer 410 may thus comprise NxN=MxM state generation units to generate the quantum states for input to the intermediate state generation layer 420.
[0139] Alternatively, the state generation units 412, 422, 432 in different layers may operate differently e.g. may implement different synthesis, distillation and / or synthillation algorithms to generate a particular state and / or may generate different states. For example, the algorithm implemented by the first state generation units 412 may require Q initial states, whereas the algorithm implemented by the intermediate state generation units 422 may require N initial states and the algorithm implemented by the final state generation units 410 may require M initial states, in which Q M N.
[0140] Additionally or alternatively, the state generation units 412, 422, 432 within a given layer may operate differently e.g. may implement different synthesis, distillation and / or synthillation algorithms to generate a particular state and / or may generate different states. This may be particularly advantageous when the state to be generated by the iterative state generation unit 400 is generated by consuming multiple different types of quantum states.
[0141] In some embodiments, one or more (e.g. all) of the state generation units 412, 422, 432 may be operable to generate two or more respective final quantum states in step 304 by consuming the plurality of initial quantum states. For example, a state generation unit may implement the method 300 using a 10-to-2 distillation protocol, in which ten initial T states are consumed to generate two final T states.
[0142] In some embodiments, a layer (e.g. any of the first or intermediate state generation layers 410, 420) in the iterative state generation unit 400 may comprise more state generation units than would be required to generate the states required by the next layer in one (successful) iteration of the method 300. This may be particularly advantageous in embodiments in which one or more of the state generation units within a layer generates a quantum state probabilistically e.g. with an algorithm that is not deterministic. Distillation and synthillation algorithms are typically probabilistic, which means it may not be possible to guarantee that the state generation units 412, 422 of the first and / or intermediate layers generate the number of quantum states required by the subsequent layer.
[0143] In some embodiments, a layer (e.g. any of the first or intermediate state generation layers 410, 420) in the iterative state generation unit 400 may comprise fewer state generation units than would be required (or would be expected to be required) to generate the states required by the next layer in one (successful) iteration of the method 300. Some or all of the state generation units may perform multiple iterations of the method 300 in order for the layer to provide the required number of quantum states for the subsequent layer. The quantum states generated by the state generation units in a layer may be transferred (e.g. by performing teleportation or a SWAP operation) to an interlayer buffer for use by the subsequent layer. The interlayer buffer may comprise one or more interlayer buffer qubits, which may be logical or physical qubits. The interlayer buffer may becomprised in the same codeblock as the state generation unit 412, 422, 424 or a different codeblock. For example, the interlayer buffer may be comprised in a dedicated codeblock. The one or more interlayer buffer qubits may be implemented using any suitable quantum system, such as any of those described above. In some embodiments, a layer in the iterative state generation unit 400 may be provided with a respective interlayer buffer. For example, each of the first and intermediate layers 410, 420 may be provided with a respective interlayer buffer. In some embodiments, a state generation layer (e.g. in the first or intermediate state generation layers 410, 420) may be associated with a larger interlayer buffer than a subsequent state generation layer (e.g. in the intermediate state generation layer 420). For example, the first state generation layer 410 may be associated with a larger interlayer buffer than an intermediate first state generation layer 420. As each subsequent first state generation layer typically produces fewer qubits, this allows for providing sufficient storage for each layer whilst reducing the risk of qubits being unused. In some embodiments, an interlayer buffer may be shared between two or more of the first and / or intermediate layers.
[0144] An interlayer buffer may also be advantageous in embodiments in which one or more of the state generation units within a layer generates a quantum state probabilistically e.g. with an algorithm that is not deterministic. Providing an interlayer buffer may allow for storing the quantum states that have been successfully generated whilst additional iteration(s) of the method 300 are performed to generate the remaining required quantum states. As such, an interlayer buffer may be advantageous even when a layer in the iterative state generation unit 400 is considered to comprise a sufficient number of state generation units 412, 422, 432.
[0145] For example, each of the first state generation units 412 in the first state generation layer 410 may, in one iteration of the method 300, provide fewer states than are required as input to the intermediate state generation layer 420. At least one of the first state generation units 412 may perform multiple iterations of the method 300 to ensure the required number of states are provided to the intermediate state generation layer 420. Before performing a subsequent iteration of the method 300, any quantum state(s) generated by the at least one of the first state generation units 412 in the previous iteration of the method 300 may be transferred (e.g. by teleportation or performing a swap gate) to an interlayer buffer. This may allow for re-using the same qubits in the state generation unit 412, 422 to perform the next iteration of the method 300.
[0146] It will be appreciated that, in general, one or more of the state generation units 412, 422, 432 may perform the method 300 multiple times. In some examples, any successfully generated states may be transferred to an interlayer buffer. In other examples, when a stategeneration unit 412, 422, 432 successfully generates the quantum state at a particular qubit in an iteration of the method 300, the state generation unit 412, 422, 432 might use another qubit (e.g. another qubit in the same codeblock) instead of that particular qubit in a subsequent iteration of the method 300.
[0147] The iterative state generation unit 400 may be comprised in (e.g. implemented by) a single module. For example, the source module 120 may comprise an iterative state generation unit 400. The source module 120 may thus use the iterative state generation unit 400 to obtain the quantum state in step 202 of the method 200 described above. In some embodiments, the source module 120 may comprise a plurality of iterative state generation units 400.
[0148] In other embodiments, the iterative state generation unit 400 may be distributed across a plurality of modules e.g. across a plurality of source modules in the quantum device 100. It is expected that the iterative state generation unit 400 will require a large number of qubits, which may exceed the number of qubits that it is possible to implement on a single module.
[0149] In some embodiments, the iterative state generation unit 400 may be implemented by a plurality of source modules in such a manner that each layer 410, 420, 430 in the iterative state generation unit 400 is implemented by a single module within the plurality of source modules. That is, the implementation may ensure that no individual layer 410, 420, 430 is distributed across multiple modules. Alternatively, one or more of the layers in the iterative state generation unit 400 may be distributed across multiple modules i.e. two or more modules may be used to implement a single layer. This may be advantageous when a single module does not have sufficient qubits to implement a single layer.
[0150] In some embodiments, the iterative state generation unit 400 may be implemented by a plurality of source modules in such a mannerthat each state generation unit 412, 422, 432 within the iterative state generation unit 400 is implemented by a single module within the plurality of source modules. That is, the implementation may ensure that no individual state generation unit 412, 422, 432 is distributed across multiple modules. This may advantageously reduce the number of inter-modular operations required to implement the state generation units 412, 422, 432.
[0151] Alternatively, one or more of the state generation units 412, 422, 432 in an iterative state generation unit 400 may be distributed across multiple modules i.e. two or more modules may be used to implement a single state generation unit 412, 422, 432. This may be advantageous when a single module does not have sufficient qubits to implement a single state generation unit 412, 422, 432, for example.
[0152] In some embodiments, each of the qubits that implements a state generation unit 412, 422, 432 in the iterative state generation unit 400 may be a logical qubit. The logical qubits that implement a respective state generation units 412, 422, 432 may form a codeblock encoded according to a QEC code. Alternatively, at least one first logical qubit that implements a respective state generation unit 412, 422, 432 may be part of a first codeblock encoded according to a first QEC code and at least one second logical qubit that implements the respective state generation unit 412, 422, 432 may be part of a second codeblock encoded according to a second QEC code. The first QEC code may be the same or different to the second QEC code. The first codeblock may be on a first source module and the second codeblock may be on a second source module, for example.
[0153] Distributing a state generation unit 412, 422, 432 across multiple codeblocks may be particularly advantageous in embodiments in which a plurality of a state generation units 412, 422, 432 (e.g. in a particular layer) implement the method 300 using respective instances of the same quantum algorithm (e.g. the same quantum circuit). In such embodiments, the plurality of state generation units 412, 422, 432 may be distributed across a plurality of codeblocks such that, for a qubit in the quantum circuit, an instance of that qubit for each of the state generation units 412, 422, 43 is comprised in a respective codeblock. For example, one codeblock may comprise qubit 0 for all of the state generation units 412, 422, 432; another codeblock may comprise qubit 1 for all of the state generation units 412, 422, 432 etc. In some examples, there may be a codeblock for each qubit in the quantum circuit. That is, for each qubit in the quantum circuit, a respective codeblock may comprise each instance of that qubit for each of the state generation units 412, 422, 432.
[0154] Distributing state generation units 412, 422, 432 across codeblocks in this manner may reduce the number of operations required to implement the state generation units 412, 422 because implementing two-block two-qubit operations on all of the qubits in both codeblocks can be more efficient that implementing arbitrary two-block two-qubit operations. For example, this may be particularly advantageous for state generation units that implement a logical quantum circuit encoded in a CSS code, in which the logical quantum circuit comprises one or more controlled NOT (CNOT) operations because CNOT operations can be implemented transversally in CSS codes.
[0155] In some embodiments, a module (e.g. a source module) may comprise two or more of the codeblocks containing instances of respective particular qubits for the quantum state generation units, and another module may comprise anothertwo or more of the codeblocks containing instances of different respective qubits for the quantum state generation units. The assignment of codeblocks may be determined to reduce the number of inter-module operations for example.Example Implementations of the Method 300
[0156] An example implementation of the method 300 is described in "Universal quantum computation with ideal Clifford gates and noisy ancillas", Bravyi and Kitaev, Physical Review A. 41 (2), 2005, which is hereby incorporated by reference. In this implementation, a final quantum state is generated by, in step 302, obtaining five initial quantum states, and, in step 304, applying a decoding operation of the five-qubit error correcting code to the five initial quantum states to obtain five intermediate quantum states, and measuring a syndrome of the five intermediate states. If the measured syndrome is |0000>, the final quantum state has been generated successfully. The final quantum state will have a higher fidelity than the initial quantum state. If the measured syndrome is not |0000>, the state generation attempt was unsuccessful and the steps of obtaining the initial quantum states, decoding and measuring may be repeated until the measured syndrome is |0000>. This implementation may be used to prepare a state that can be consumed (e.g. in step 206) to implement a - rotation operation. This state, which may be referred to as an M state, may be expressed 11), in which = arccos^. This implementationof the method 300 may be particularly advantageous because the Clifford group and the rotation operation form a universal gate set.
[0157] Another example implementation of the method 300 is described with respect to Figure 5. Figure 5 shows an example (logical) quantum circuit 500 for generating a T state according to embodiments of the disclosure.
[0158] The circuit 500 consumes fifteen initial, low-fidelity, T states to generate one, high- fidelity, T state. The operation of the circuit is described as follows.
[0159] Logical qubits 0-2, 4 and 8 are prepared in a |+) state and remaining logical qubits 3, 6-7, 9-15 are prepared in a |0) state. A logical CNOT circuit is implemented on the logical qubits. In particular:1 . A respective logical CNOT is implemented on each one of logical qubits 9, 10, 12 controlled on a respective one of logical qubits 1 , 2 and 4.2. A respective logical CNOT is implemented on each one of logical qubits 4, 5, 6, 12, 13 and 14 controlled on a respective one of logical qubits 0, 1 , 2, 8, 9 and 10.3. A respective logical CNOT is implemented on each one of logical qubits 2, 3, 6, 7, 10, 11 , 14 and 15, controlled on a respective one of logical qubits 0, 1 , 4, 5, 8, 9, 12 and13.4. A respective logical CNOT is implemented on each one of logical qubits 1 , 3, 5, 7, 9, 11 , 13 and 15, controlled on a respective one of logical qubits 0, 2, 4, 6, 8, 10, 12, and14.
[0160] AT gate is implemented on each of the logical qubits except logical qubit 0. Each T gate is implemented by consuming an initial respective T state. Each of the T states may be received from elsewhere or generated. Methods for generating and consuming the T states to implement the T gates are discussed below in respect of Figures 6 and 7.
[0161] A Hadamard gate is applied to each of the logical qubits except logical qubit 0. A measurement in the Z basis is performed on each of the logical qubits except logical qubit 0 to obtain measurement results a4, a2,a3, ... a15, in which a measurement result at= 0 obtained by measuring logical qubit i indicates that the ith logical qubit is in the |0) state and a measurement result at= 1 obtained by measuring logical qubit i indicates that the ith logical qubit is in the |1) state. If computed values s1,s2,s3and s4are even, the state of logical qubit 0 will be a higher-fidelity T state, up to a phase, in which the computed values are given by:Si = a4+ a3+ a5+ a7+ a9+ a41+ a13+ a15s2= a2+ a3+ a6+ a7+ a10+ a41+ a14+ a15s3— a4+ a + a6+ a7+ a12+ a13+ a14+ a15s4= as+ a9+ a10+ a41+ a12+ a13+ a14+ a15
[0162] A phase (Z) correction is required on logical qubit 0 if two requirements are not satisfied. The first requirement is that s4, s2, s3and s4are equal to zero (mod 2). The second requirement is that the value of the sum 2 J5atis even. If either of the first and second requirements are not satisfied, then a phase correction is required. Responsive to determining that the phase correction is required, a Z gate may be performed logical qubit 0.
[0163] Thus, the method 300 may involve, in step 302, obtaining fifteen (low-fidelity) T states and, in step 304, implementing the quantum circuit 500 to consume the fifteen T states and generate a (high-fidelity) T state at the first qubit.
[0164] In some embodiments, the quantum circuit 500 may be distributed across (e.g. implemented by) a plurality of modules. In an example, a first module may comprise qubits 0-7 and a second module may comprise qubits 8-15. In another example, a first module may comprise qubits 0-3, a second module may comprise qubits 4-7, a third module may comprise qubits 8-11 , and a fourth module may comprise qubits 12-15. In yet another example, a first module may comprise qubits 0-1 , a second module may comprise qubits 2-3, a third module may comprise qubits 4-5, and a fourth module may comprise qubits 6- 7, a fifth module may comprise qubits 8-9, a sixth module may comprise qubits 10-11 , a seventh module may comprise qubits 12-13, and an eighth module may comprise qubits 14-15. These arrangements can reduce the number of inter-module operations required to implement the quantum circuit 500. In embodiments in which the quantum circuit 500 isdistributed across a plurality of modules, the module comprising the qubit at which the state is generated (e.g. qubit 0) may operate in substantially the same way as the source module 120, for example.
[0165] In some embodiments, plurality of instances of the quantum circuit 500 may be implemented in parallel across a plurality of codeblocks. Each instance of the quantum circuit 500 may comprise respective instances of the qubits 0-15. In an example, each codeblock in a plurality of codeblock comprises all of the respective instances of a particular qubit in the quantum circuit for a plurality of instances of the quantum circuit. That is, one codeblock may implement all of the qubit 0s, another codeblock may implement all of the qubit 1 s etc. The codeblocks may be distributed across a plurality of modules in a manner such that codeblocks containing particular qubits are grouped together on the same modules according to the qubit groupings described in the preceding paragraph. This may advantageously reduce both the number of physical operations used to implement the instances of the quantum circuit 500 and the number of inter-modular operations.
[0166] It should be noted that the circuit 500 illustrates one way of generating a T state in accordance with the present disclosure and many alternatives are possible. For example, the logical CNOT circuit included in the circuit 500 may be rewritten in various ways according to gate rewrite rules. Additionally or alternatively, the Hadamard gates and the measurements in the Z basis may be replaced by measurements in the X basis.Implementing Initial T Gates
[0167] Figure 6 shows an example quantum circuit 600 for implementing a T gate on a first qubit (indicated by the top horizontal line) by generating and consuming a T state of a second qubit (indicated by the bottom horizontal line). The first qubit is a logical qubit encoded according to a QEC code. The QEC code may be a QLDPC code.
[0168] In the quantum circuit 600, a physical T state |T) is generated on the second qubit. The physical T state may be generated by applying a TT / 4 rotation to a physical qubit in the |+) state, for example. Next, the second qubit is encoded as a single logical auxiliary qubit of the QEC code. A logical CNOT is performed on the second qubit, using the first qubit as a control. A measurement in the Z basis is performed on the second qubit and, if the measurement result is 1 , a logical S gate is performed on the first qubit. If the measurement result is 0, the logical S gate is not performed on the first qubit. The quantum circuit 600 thus results in a T gate being implemented on the first qubit. This circuit 600 may be used, for example, to implement any of the T gates in the circuit 500.
[0169] Figure 7 shows an alternative example quantum circuit 700 for implementing a T gate on a first qubit (indicated by the top horizontal line) by generating and consuming a Tstate of a second qubit (indicated by the bottom horizontal line). The first qubit is a logical qubit encoded according to a QEC code. The QEC code may be a QLDPC code.
[0170] The second qubit is prepared in a logical |0) state in the QEC code. A logical CNOT is performed on the second qubit, controlled on the first qubit. The second logical qubit is decoded into a physical qubit. A TT / 4 rotation is performed on the second qubit along the (around the) X axis. A measurement in the Z basis is performed on the second qubit. If the measurement result is 1 , a Z correction is performed on the first qubit, if the measurement result is 0, a Z correction is not performed. The quantum circuit 700 thus results in a T gate being implemented on the first qubit. This circuit 700 may be used, for example, to implement any of the T gates in the circuit 500.Syndrome Extraction
[0171] Figure 8 shows a method 800 of measuring an error syndrome for the quantum device 100 according to embodiments of the disclosure.
[0172] In the following description, the method 800 is described as being performed by the controller 110. In general, the method 800 may be performed by any suitable apparatus, such as the controller 110. In some embodiments, the method 800 may be performed by more than one apparatus. For example, each of the modules 120, 130 may be associated with a respective controller (e.g. a respective implementation of the controller 110), and step 802 may be performed by the source module controller, step 804 may be performed by both the source module controller and the target module controller, and steps 806 and 808 may be performed by the target module controller.
[0173] Although the method 800 is described as being performed to measure a syndrome for the quantum device 100, in general the method 800 may be performed to measure the syndrome for any quantum device.
[0174] As will be appreciated from the following description, in the context of the method 800, the buffer qubit 132 may act as an auxiliary (or ancilla) qubit for syndrome extraction. As such, the buffer qubit 132 may, in the context of the method 800, be alternatively referred to as an auxiliary qubit or an ancilla qubit.
[0175] In step 802, a quantum state is generated at the source module 120. That is, the controller 110 causes the state generation unit 122 to generate the quantum state. The quantum state may be referred to as an auxiliary state or an ancilla state, for example.
[0176] In some embodiments, step 802 may be omitted. For example, the quantum state may be generated at another module (e.g. another source module) and transferred to the source module 120 (e.g. for storage) prior to step 804. The source module 120 might not, for example, comprise the state generation unit 122. The source module 120 may insteadcomprise one or more qubits for storing the quantum state (e.g. the buffer qubit 132 or a source qubit). In general, the method 800 may involve obtaining (e.g. generating or receiving) the quantum state.
[0177] In step 804, the controller 110 transfers the quantum state from the source module 120 to the target module 130 of the quantum device 100 to cause the buffer qubit 132 of the target module to be in the quantum state. Step 804 may be performed in accordance with step 204 described above.
[0178] In step 806, the controller 110 couples the buffer qubit 132 and the target qubit 134 such that performing a measurement on the buffer qubit 132 would obtain a measurement of an error syndrome ofthe target qubit 134. An error syndrome of a qubit indicates whether or not an error has occurred on the qubit without indicating the state of the qubit. This allows the error syndrome to be measured without affecting the target qubit 134.
[0179] The coupling performed in step 806 may preserve information stored on the target qubit 134. For example, the state of the target qubit 134 immediately after step 806 might be the same as the state ofthe target qubit immediately before step 806. The coupling may thus preserve the state of the target qubit 134.
[0180] In step 806, the controller 110 may couple the buffer qubit 132 and the target qubit 134 by performing an operation on the buffer qubit 132 and the target qubit 134. The operation may comprise a controlled Pauli operation, for example. The controlled Pauli operation may comprise a controlled-X (CNOT) operation, a controlled-Y operation or a controlled-Z operation. The controlled Pauli operation may be controlled on the buffer qubit 132 or the target qubit 134. Although specific examples are provided below that use CNOT operations, also referred to as CNOT gates, it will be appreciated that these examples may be adapted to use other controlled Pauli operations as appropriate.
[0181] In some embodiments, the target qubit 134 may comprise a plurality of target qubits and step 806 may comprise performing a respective controlled Pauli operation on each of the plurality of target qubits and the buffer qubit 132. In other embodiments, the target qubit 134 may comprise a plurality of target qubits and the buffer qubit 132 may comprise a plurality of buffer qubits, and step 806 may comprise performing a respective controlled Pauli operation on each of the plurality of target qubits and a respective one of the plurality of buffer qubits 132.
[0182] In step 808, the controller measures the buffer qubit 132 to obtain an error syndrome of the target qubit 134. The error syndrome indicates whether or not an error has occurred on the target qubit 134 without indicating the state of the target qubit 134. That is, performing the measurement in step 808 does not reveal any information stored in thetarget qubit 134. The error syndrome may indicate whether or not a particular type of error, such as an X error or a Z error, has occurred on the target qubit 134.
[0183] The error syndrome may be, for example, input to a decoder to identify an error on the target qubit 134. The decoder may be implemented by the controller 110 or another apparatus. Responsive to the decoder identifying the error, the controller 110 may, for example, implement an operation to correct the target qubit 134.
[0184] In some embodiments, the controller 110 may perform an iteration of the method 800 to measure an X stabilizer for the target qubit(s) 134 and another iteration of the method 800 to measure a Z stabilizer for the target qubit(s) 134. The controller 110 may, for example, perform one of the example implementations described below for measuring an X stabilizer in respect of particular target qubits and one of the example implementations described below for measuring a Z stabilizer in respect of the same particular target qubits. The controller 110 may use the same or different buffer qubits 132 for each iteration. The controller 110 may use the same or different source modules 120 for each iteration.
[0185] It will be appreciated that there are various types of syndrome extraction, and the quantum state that is transferred to the target module in step 804 may depend on the type of syndrome extraction. Example implementations of the method 800 for different types of syndrome extraction are described as follows.
[0186] In some embodiments, the quantum state comprises a cat state. A plurality of qubits is in a cat state when each of the qubits is in an equal superposition of two orthogonal states. One example of a cat state for M qubits may be expressed as:
[0187] Another example of a cat state for M qubits may be expressed as:
[0188] In both examples, M is an integer greater than or equal to two.
[0189] A cat state can be a physical cat state or a logical cat state. A physical cat state is formed when each of a plurality of physical qubits are in an equal superposition of two orthogonal states. For example, either of the states |cat+_) or |cat10) defined above is a physical cat state when |+) and |-), or |l) and |0) respectively, are physical states. A logical cat state is formed when each of a plurality of logical qubits is in an equal superposition of two orthogonal states. For example, either of the states |cat+_) or |cat1 0) as defined above are logical cat states when |+) and |-), or |1) and |0) respectively, are logical states.
[0190] In some embodiments, the quantum state comprises a physical cat state. This may be referred to as “Shor-style” syndrome extraction. In such embodiments, the buffer qubit132 comprises a plurality of physical buffer qubits and the target qubit 134 comprises a plurality of physical target qubits at the target module 130. The physical target qubits encode one or more logical qubits according a QEC code. The QEC code may be a CSS code. The QEC code may be a QLDPC code.
[0191] Thus, in some embodiments, step 802 (if performed) involves generating a physical cat state at the source module 120. Step 804 involves transferring the cat state to the target module 134 such that the plurality of physical buffer qubits are in the cat state. Thus, for example, step 804 may involve moving the plurality of buffer qubits from the source module 120 to the target module 130, or step 804 may involve transferring the cat state of a plurality of source qubits at the source module 120 to the plurality of buffer qubits such that the plurality of buffer qubits are in the cat state. Step 806 involves coupling the physical buffer qubits with the physical target qubits. For example, step 806 may performing a respective physical CNOT gate on each of the physical buffer qubits and a respective one of the physical target qubits. Step 808 involves measuring each of the physical buffer qubits.
[0192] In an example, the quantum state comprises a physical |cat10) state as defined above. The buffer qubit 132 comprises a plurality of physical buffer qubits and the target qubit comprises a plurality of physical target qubits. Step 804 involves transferring the state to the target module 130 such that the plurality of physical buffer qubits are in the |cat10) state. Step 806 comprises performing a respective CNOT gate on each of the plurality of physical buffer qubits, controlled on a respective one of the plurality of physical target qubits. Step 808 involves measuring each of the physical buffer qubits in the X basis or, equivalently, performing a Hadamard gate on each of the physical buffer qubits and measuring each of the physical buffer qubits in the Z basis. This is an example method for measuring an X stabilizer.
[0193] In another example, the quantum state may comprise a |cat+_) state as defined above. The buffer qubit 132 comprises a plurality of physical buffer qubits and the target qubit 134 comprises a plurality of physical target qubits. Step 804 involves transferring the state to the target module 130 such that the plurality of physical buffer qubits are in the |cat+_) state. Step 806 comprises performing a respective CNOT gate on each of the physical target qubits, controlled on a respective one of the physical buffer qubits. Step 808 may involve measuring each of the physical buffer qubits in the Z basis. This is an example method for measuring a Z stabilizer.
[0194] In some embodiments, the quantum state comprises a logical cat state, such as a logical Bell state. This may be referred to as “Knill-style” syndrome extraction.
[0195] In an example implementation of the method 800, the buffer qubit 132 comprises a first plurality of physical buffer qubits that implement a first logical buffer qubit in a firstcodeblock and a second plurality of physical buffer qubits that implement a second logical buffer qubit in a second codeblock. The target qubit 134 comprises a plurality of physical target qubits that implement a logical target qubit. The logical target qubit and the first logical buffer qubit may be encoded according to a same QEC code. Step 802 (if performed) involves generating a logical Bell state at the source module 120. Step 804 involves transferring the logical Bell state to the target module 130 such that first logical buffer qubit and the second logical buffer qubit are in the logical Bell state. Step 806 involves coupling the first logical buffer qubit to the logical target qubit. For example, step 806 may performing a respective physical CNOT gate on each physical buffer qubit in the first plurality of physical buffer qubits and a respective one of the physical target qubits. Step 808 involves performing a transversal Bell measurement on the first plurality of physical buffer qubits and the plurality of physical target qubits. For example, step 808 may involve performing a measurement in the Z basis on each of the plurality of physical target qubits and performing a measurement in the Z basis on each of the first plurality of physical buffer qubits.
[0196] In some embodiments, the source qubit (if present), the buffer qubit 132 and the target qubit 134 are logical qubits encoded according to a CSS code and the quantum state is a logical basis state, such as a logical Z basis state (e.g. |+) or |-)) or a logical X basis state (e.g. |1) or |0)). One or more logical buffer qubits in a logical Z basis state may be used to detect X (bit-flip) errors. One or more logical buffer qubits in a logical X basis state may be used to detect Z (phase) errors. This may be referred to as “Steane-style” syndrome extraction.
[0197] In an example, step 802 (if performed) may involve generating a logical Z basis state (e.g. a logical |+) state), and step 804 involves transferring the Z basis state to the target module 134 such that the buffer qubit 132 is in the Z basis state. Step 806 involves performing a physical CNOT gate on each of the physical qubits that implement the buffer qubit 132, controlled on a respective one of the physical qubits that implements the target qubit 134. Step 808 involves measuring each of the physical qubits that implements the buffer qubit 132 in the X basis or, equivalently, performing a Hadamard gate on each of the physical qubits that implement the buffer qubit 132, and measuring each of the physical qubits that implement the buffer qubit 132 in the Z basis.
[0198] In another example embodiment, step 802 (if performed) may involve generating a logical X basis state (e.g. a logical |0) state), and step 804 may involve transferring the X basis state to the target module 134 such that the buffer qubit 132 is in the X basis state. Step 806 may involve performing a physical CNOT gate on each of the physical qubits that implement the target qubit 134, controlled on a respective one of the physical qubits thatimplements the buffer qubit 132. Step 808 may involve measuring the physical qubits that implement buffer qubit 132 in the Z basis.
[0199] Although the foregoing embodiments refer only to Shor-style, Knill-style and Steane-style syndrome extraction, it will be appreciated that, in general, the method 800 may be used to implement any type of syndrome extraction
[0200] The method 800 may be particularly advantageous because it reduces the number of qubits used at the target module 130 to obtain the auxiliary state used for syndrome extraction. In addition, transferring the quantum state to the target module 130 and then coupling the target and buffer qubits 132 allows for performing the transfer before the state is needed at the target module 130. In particular, the quantum state may be transferred to the target module 130 before the target qubit 134 is available (e.g. whilst it is involved in a quantum computation). This reduces the risk of the transfer, an example of an inter-module operation, delaying or blocking a quantum process (e.g. a quantum computation, such as execution of a quantum circuit) that uses the target qubit 134. This may be particularly advantageous for Steane-style syndrome extraction, since generating the auxiliary states used for Steane-style syndrome extraction is expected to be resource-intensive.Concluding Remarks
[0201] It should be noted that the above-mentioned examples illustrate ratherthan limit the disclosure, and that those skilled in the art will be able to design many alternative examples without departing from the scope of the appended statements. Moreover, those skilled in the art will be able to combine features from different examples in the disclosure, including the statements below, even when a particular combination is not explicitly recited. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim, “a” or “an” does not exclude a plurality, a single processor or other unit may fulfil the functions of several units, and the function of a single processor or unit may be distributed across multiple processors or other units. Where the terms, “first”, “second” etc. are used they are to be understood merely as labels for the convenient identification of a particular feature. In particular, they are not to be interpreted as describing the first or the second feature of a plurality of such features (i.e. the first or second of such features to occur in time or space) unless explicitly stated otherwise. Steps in the methods disclosed herein, including in the following statements, may be carried out in any order unless expressly otherwise stated. One or more steps in the methods disclosed herein may be omitted or varied unless expressly otherwise stated.
Claims
CLAIMS1 . A method for implementing an operation on a quantum device, the method comprising: transferring a quantum state from a source module to a target module of the quantum device to cause a buffer qubit of the target module to be in the quantum state; and using the quantum state of the buffer qubit to cause the operation to be implemented on a target qubit of the target module.
2. The method of claim 1 , wherein the operation is a non-Clifford operation.
3. The method of claim 1 or claim 2, wherein the quantum state comprises a rotation of a plus state around a z-axis, and the operation is a rotation operation.
4. The method of claim 3, wherein the quantum state comprises a T state and the operation comprises a T gate.
5. The method of claim 1 , wherein the quantum state is a magic state.
6. The method of claim 1 , wherein the quantum state comprises a double controlled phase, CCZ, state.
7. The method of claim 1 , wherein the quantum state comprises a Toffoli state.
8. The method of any one of the preceding claims, wherein transferring the quantum state from the source module to the target module comprises moving the buffer qubit from the source module to the target module.
9. The method of any one of claims 1-7, wherein transferring the quantum state from the source module to the target module comprises transferring the quantum state of a source qubit in the source module to the buffer qubit in the target module.
10. The method of claim 9, wherein transferring the quantum state of the source qubit in the source module to the buffer qubit in the target module comprises teleporting the quantum state of the source qubit in the source module to the buffer qubit in the target module.11 . The method of claim 9 or claim 10, wherein the buffer qubit, the target qubit and the source qubit are logical qubits.
12. The method of claim 11 , wherein the source qubit is a first source qubit in a plurality of source qubits in the source module and wherein each of the plurality of source qubits are in the quantum state prior to transferring the quantum state from the source module to the target module.
13. The method of claim 12, wherein the buffer qubit is in a plurality of buffer qubits of the target module, and wherein transferring the quantum state of the source qubit in the source module to the buffer qubit in the target module comprises: transferring the quantum states of the plurality of source qubits to the plurality of buffer qubits to cause each of the plurality of buffer qubits to be in the quantum state.
14. The method of claim 13, wherein the plurality of source qubits and the plurality of buffer qubits are encoded according to a Calderbank-Shor-Steane, CSS, code.
15. The method of any one of the preceding claims, wherein using the quantum state of the buffer qubit to cause the operation to be implemented on the target qubit of the target module comprises consuming the quantum state of the buffer qubit to cause the operation to be implemented on the target qubit of the target module.
16. The method of any one of claims 1 to14, further comprising: using the quantum state of the buffer qubit to cause the operation to be implemented again.
17. The method of claim 16, wherein the quantum state is an S state.
18. A method for measuring a syndrome for a quantum device, the method comprising: transferring a quantum state from a source module to a target module of the quantum device to cause a buffer qubit of the target module to be in the quantum state; coupling the buffer qubit to a target qubit of the target module; and measuring the buffer qubit to obtain the syndrome of the target qubit.
19. The method of claim 18, wherein transferring the quantum state from the source module to the target module comprises moving the buffer qubit from the source module to the target module.
20. The method of claim 18, wherein transferring the quantum state from the source module to the target module comprises transferring the quantum state of a source qubit in the source module to the buffer qubit in the target module.21 . The method of claim 20, wherein transferring the quantum state of the source qubit in the source module to the buffer qubit in the target module comprises teleporting the quantum state of the source qubit in the source module to the buffer qubit in the target module.
22. The method of any one of claims 18 to 21 , wherein the buffer qubit comprises a plurality of physical buffer qubits, wherein the target qubit comprises a plurality of physical target qubits, at the target module, that encode one or more logical qubits according to a quantum error correction, QEC, code, and wherein the quantum state comprises a physical cat state.
23. The method of any one of claims 18 to 21 , wherein: the quantum state comprises a logical cat state, the buffer qubit comprises a first plurality of physical buffer qubits and a second plurality of physical buffer qubits, the first plurality of physical buffer qubits implementing a first logical buffer qubit in a first codeblock and the second plurality of physical buffer qubits implementing a second logical buffer qubit in a second codeblock, the target qubit comprises a plurality of physical target qubits that implement a logical target qubit, and wherein measuring the buffer qubit comprises performing a transversal Bell measurement on the first plurality of physical buffer qubits and the plurality of physical target qubits.
24. The method of claim 23, wherein the logical target qubit and the first logical buffer qubit are encoded according to a same QEC code.
25. The method according to any one of claims 18-21 , wherein the buffer qubit and the target qubit are logical qubits encoded according to a CSS code, and wherein the quantum state is a logical basis state.
26. The method of any one of the preceding claims, further comprising: generating the quantum state at the source module.
27. The method of claim 26, wherein the quantum state is a final quantum state and generating the final quantum state at the source module comprises: obtaining a plurality of initial quantum states at the source module; and consuming, at the source module, the plurality of initial quantum states to generate the final quantum state.
28. The method of any one of claims 1-25, wherein the quantum state is a final quantum state, the method further comprising generating the final quantum state by: obtaining, at a first state generation layer, a plurality of first quantum states; consuming, at the first state generation layer, the plurality of first quantum states to generate a plurality of second quantum states; and consuming, at a final state generation layer, the plurality of second quantum states to obtain the quantum state.
29. The method of claim 28, wherein the final state generation layer and first state generation layer are comprised in the source module.
30. The method of claim 28, wherein the source module is comprised in a first plurality of source modules, and wherein the final state generation layer and first state generation layer are distributed across the first plurality of source modules.31 . The method of any one of claims 28-30, further comprising storing the plurality of second quantum states in an interlayer buffer associated with the first state generation layer.
32. The method of any one of claims 28-31 , wherein the method further comprises: obtaining, at an initial state generation layer, a plurality of initial quantum states; and consuming, at the initial state generation layer, the plurality of initial quantum states to generate the plurality of first quantum states.
33. The method of claim 32 when dependent on claim 31 , further comprising: storing the plurality of first quantum states in an interlayer buffer associated with the initial state generation layer.
34. The method of claim 33, wherein the interlayer buffer associated with the initial state generation layer is larger than the interlayer buffer associated with the first state generation layer.
35. The method of any one of claims 27 and 32-34, wherein the initial quantum states and the final quantum state are a same type of quantum state, and wherein the final quantum state has a higher fidelity than the plurality of initial quantum states.
36. The method of any one of the preceding claims, further comprising selecting the source module from a second plurality of source modules, each of the second plurality of source modules storing a respective candidate instance of the quantum state.
37. The method of claim 36, wherein the source module is selected based on a quantity of required quantum states for the target module and a quantity of available quantum states at the source module.
38. The method of claim 36, wherein the source module is selected based on a rate of required quantum states for the target module and a rate of available quantum states at the source module.
39. The method of claim 36, wherein the source module is selected based on a type of required quantum states for the target module and a type of available quantum states at the source module.
40. The method of any one of claims 36-39, further comprising determining the required quantum states for the target module based on a quantum circuit for execution on the target module.41 . The method of any one of claims 36-40, further comprising: in response to selecting the source module, activating a connection between the source module and the target module.
42. The method of any one of the preceding claims, wherein the quantum device is a first quantum device in a plurality of quantum devices, and wherein the source module is shared between the plurality of quantum devices.
43. A non-transitory processor-readable storage medium containing instructions which, when executed by a processor, cause the processorto perform the method of any one of claims 1-42.
44. An apparatus configured to perform the method of any one of claims 1-42.
45. An apparatus for implementing an operation on a quantum device, the apparatus comprising: a processor; and a non-transitory processor-readable storage medium containing instructions which, when executed by the processor, cause the apparatus to: transfer a quantum state from a source module to a target module of the quantum device to cause a buffer qubit of the target module to be in the quantum state, and use the quantum state of the buffer qubit to cause the operation to be implemented on a target qubit of the target module.
46. An apparatus for measuring a syndrome for a quantum device, the apparatus comprising: a processor; and a non-transitory processor-readable storage medium containing instructions which, when executed by the processor, cause the apparatus to: transfer a quantum state from a source module to a target module of the quantum device to cause a buffer qubit of the target module to be in the quantum state, couple the buffer qubit to a target qubit of the target module, and measure the buffer qubit to obtain the syndrome of the target qubit.