Floquet codes on defective quantum hardware
The method addresses defective quantum hardware by removing inactive edges and forming superplaquettes in Floquet codes, ensuring efficient quantum error correction without additional connections or schedule changes, enhancing quantum computer performance.
Patent Information
- Application Number
- GB2024006200
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-03
- Publication Date
- 2025-11-12
AI Technical Summary
Existing approaches for implementing Floquet codes on defective quantum hardware require modification to the underlying connectivity of the quantum hardware and/or modification to measurement schedules, and do not address defective connections between qubits, making them infeasible and inefficient.
A method for performing Floquet codes on defective quantum hardware by identifying and removing inactive edges from the code, forming new superplaquettes without requiring additional connections or modifying the measurement schedule, and adapting to defective qubits and connections by splitting and merging plaquettes, maintaining a trivalent graph structure.
Enables efficient quantum error correction on defective hardware without additional connectivity or schedule modifications, reducing logical error rates and improving the performance of quantum computers.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Field of the invention The invention relates to quantum error correction, in particular to performing Floquet codes on defective quantum hardware. Background Quantum computers have the potential to perform computations that would be intractable on even the most powerful classical computers. Instead of representing information using classical bits, quantum computers generally use qubits that can be in a simultaneous superposition of multiple quantum states. Qubits exhibit much higher error rates than the bits used in classical computers, and quantum computers therefore require the use of quantum error correction in order to identify and correct qubit errors. The inherently delicate nature of quantum states means that quantum error correction is likely to be necessary even once quantum computing technology matures. Floquet codes are a promising family of quantum error correction codes. Unlike most other quantum error correction codes, such as the surface code, all operations in Floquet codes rely only on two-body measurements, and each data qubit only needs to be connected to three other data qubits. This makes Floquet codes particularly suitable for quantum hardware with lower connectivity and quantum hardware with native two-body measurements. While Floquet codes can be used to reduce errors on quantum hardware, these codes require adaptation when the hardware is fundamentally defective (e.g. when a qubit does not function). Existing approaches for implementing Floquet codes on defective hardware require modification to the underlying connectivity of the quantum hardware (which is generally infeasible) and / or require modification to measurement schedules. In addition, existing approaches only consider defective qubits and do not address defective connections between qubits. There is therefore a need for improved approaches for performing Floquet codes on defective quantum hardware. Summary of the invention According to a first aspect of the invention, there is provided a quantum computing system comprising: a quantum processing unit comprising: a register of quantum devices; and a plurality of connections, each connection coupling two quantum devices of the register of quantum devices, and a quantum error correction system, wherein the quantum error correction system is configured to: identify a Floquet code for the quantum processing unit, wherein: the Floquet code is defined on a trivalent graph; each respective vertex of the trivalent graph is associated with a respective quantum device of the register of quantum devices; each respective edge of the trivalent graph is associated with a respective connection of the plurality of connections; the Floquet code comprises a plurality of plaquettes each surrounded by a plurality of edges; and each plaquette of the plurality of plaquettes is of a first, second or third type such that adjacent plaquettes are of different type, identify an inactive edge in the Floquet code; modify the Floquet code to generate a modified Floquet code, wherein modifying the Floquet code comprises removing the inactive edge; receive syndrome data representative of an error state of the register of quantum devices; and determine a correction for the error state by decoding the syndrome data with the modified Floquet code. By removing inactive edges from the Floquet code, the method of first aspect can be used to perform Floquet codes on defective hardware (i.e. hardware with defective quantum devices and / or defective connections) without requiring any connections other than those required by the original unmodified Floquet code (i.e. no new connections are required). In addition, the measurement schedule of the Floquet code does not need to be modified. A quantum computing system (also referred to herein as a quantum computer) is a computing system that exploits quantum mechanical phenomena (i.e. using quantum devices). The quantum devices may be any quantum devices capable of storing quantum information (i.e. any devices suitable for encoding information using quantum computational states). The quantum devices may be qubits. Alternatively, the quantum devices may be other devices capable of storing quantum information, such as qudits or qutrits. While the description herein will primarily refer to qubits, any reference herein to qubits should be understood to also encompass other types of quantum devices unless explicitly stated otherwise. Quantum error correction occurs at a low level in the quantum hardware stack, so the benefits of the present invention occur at the architecture level of the quantum computer (the error correction occurs at the architecture level and is independent of the data being processed / applications being run) and makes the quantum computer run more efficiently and effectively as a computer (due to reduced logical error rates compared to alternative approaches). A syndrome (also referred to as syndrome data) is a collection of values (e.g. measurement values, generally based on qubit measurements) representative of an error state of physical data qubits in the quantum computer. The quantum error correction system may receive the syndrome data as raw (e.g. analogue) measurement data, or the syndrome data may be pre-processed (e.g. processed into digital form by a control system). A quantum error correction system is a classical computing system that performs quantum error correction. The quantum error correction system decodes syndromes and provides one or both of (i) possible error locations (i.e. which data qubits may have experienced an error), and (ii) a correction for the qubit error state. It is possible to determine a correction during decoding without determining error locations, and the correction may be a single bit representing whether a logical error has occurred. The correction can generally be tracked by a classical computer (e.g. by the quantum error correction system or a control system) and does not generally need to be applied to the quantum devices. The quantum error correction system may be a dedicated hardware device (e.g. implemented using an FPGA or ASIC or similar) or it may be a software component implemented using a CPU. The plaquettes may alternatively be referred to as faces or tiles. Vertices may alternatively be referred to as nodes. A trivalent graph is a graph in which all vertices have degree three; a trivalent graph may alternatively be referred to as a cubic graph or a three-regular graph. The types of the plaquettes can be thought of as a colouring, whereby no two adjacent plaquettes have the same type (i.e. colour). Each edge is also of the first, second or third type. The type of each respective edge corresponds to the type of the plaquettes connected by (i.e. at each end of) the respective edge. The types therefore define the structure of the trivalent graph. As discussed below, the type of each edge dictates when it is measured according to a measurement schedule. The connections may also be referred to as hardware connections, and they may be any type of hardware connection suitable for coupling quantum devices (i.e. any type of hardware suitable for enabling interactions, such as gates and / or joint measurements, between the quantum devices connected by the hardware connection). The connections may have subcomponents, such as one or more quantum devices and / or sub connections. The quantum devices associated with vertices of the trivalent graph may be referred to as data quantum devices (e.g. data qubits), and quantum devices that are subcomponents of a connection may be referred to as auxiliary quantum devices or syndrome auxiliary devices (e.g. auxiliary qubits or syndrome qubits). For example, each connection may be formed of an auxiliary quantum device connected to two data quantum devices by two respective sub connections. The connections and / or the sub connections may be waveguides or other suitable coupling mechanisms. Modifying the Floquet code may further comprise: splitting at least one second type plaquette adjacent to the inactive edge into a plurality of weight-two second type plaquettes; removing edges between the at least one second type plaquette and first type plaquettes adjacent to the at least one second type plaquette; and merging a plurality of first type plaquettes adjacent to the at least one second type plaquette into a single first type plaquette. Splitting the second type plaquette into weight-two plaquettes advantageously means that no new connections are required: the weight-two plaquettes can be implemented using existing connections (i.e. any new edges added to the graph are between pairs of vertices which already share an edge, so they can be implemented using an existing connection). A weight-two plaquette is a plaquette involving only two vertices. For example, the weight-two plaquette may be formed by two parallel edges (of different type) between the same two vertices. Splitting the at least one second type plaquette may comprise removing third type edges of the at least one second type plaquette and adding a new third type edge in parallel with (i.e. between the same vertices as) each first type edge of the at least one second type plaquette. Modifying the Floquet code may optionally further comprise: splitting at least one third type plaquette adjacent to the inactive edge into a plurality of weight-two third type plaquettes; removing edges between the at least one third type plaquette and first type plaquettes adjacent to the at least one third type plaquette; and merging a plurality of first type plaquettes adjacent to the at least one third type plaquette into the single first type plaquette. Splitting the at least one third type plaquette may comprise removing second type edges of the at least one third type plaquette and adding a new second type edge in parallel with (i.e. between the same vertices as) each first type edge of the at least one third type plaquette. Identifying an inactive edge in the Floquet code may comprise identifying a defective component in the quantum processing unit, the defective component comprising at least one of a defective quantum device (e.g. a defective data quantum device or a defective auxiliary quantum device) and a defective connection in the quantum processing unit, wherein the inactive edge is associated with the defective component. The quantum computing system may be further configured to: measure a logical state encoded in the plurality of quantum devices to obtain a logical state measurement; and apply the correction to the logical state measurement. Each edge may be associated with a joint measurement operation on the respective quantum devices associated with the respective vertices connected by the each edge, and each plaquette may associated with a stabiliser operator of the Floquet code. The quantum computing system may be further configured to obtain the syndrome data, wherein obtaining the syndrome data may comprise: performing the joint measurement operation associated with each edge according to a measurement schedule to obtain a plurality of edge measurement values, each of the plurality of edge measurement values associated with a respective edge; determining a stabiliser measurement value for each stabiliser operator by calculating a product of edge measurement values associated with respective edges of the plaquette associated with the each stabiliser operator; and generating the syndrome data using the determined stabiliser measurement values. One skilled in the art will appreciate that a stabiliser operator is an operator of a quantum error correction code (in particular, a stabiliser code) that can be measured to infer information about an error state of quantum devices. The joint measurement operations are preferably performed during a plurality of stages (also referred to herein as steps), and the measurement schedule preferably specifies which type of edge should be measured during each stage. According to a second aspect of the invention, there is provided a computer-implemented method of performing a quantum error correction code ata quantum computing system, the quantum computing system comprising a quantum error correction system and a quantum processing unit comprising a register of quantum devices and a plurality of connections, each connection coupling two quantum devices of the register of quantum devices, the method comprising: identifying, by the error correction system, a Floquet code for the quantum processing unit, wherein: the Floquet code is defined on a trivalent graph; each respective vertex of the trivalent graph is associated with a respective quantum device of the register of quantum devices; each respective edge of the trivalent graph is associated with a respective connection of the plurality of connections; the Floquet code comprises a plurality of plaquettes each surrounded by a plurality of edges; and each plaquette of the plurality of plaquettes is of a first, second or third type such that adjacent plaquettes are of different type, identifying, by the quantum error correction system, an inactive edge in the Floquet code; modifying, by the quantum error correction system, the Floquet code to generate a modified Floquet code, wherein modifying the Floquet code comprises removing the inactive edge; receiving, at the error correction system, syndrome data representative of an error state of the register of quantum devices; and determining, by the error correction system, a correction for the error state by decoding the syndrome data with the modified Floquet code. The second aspect of the invention provides the same benefits as the first aspect of the invention. Any feature described in combination with the first aspect of the invention may also be combined with the second aspect of the invention. According to a third aspect of the invention, there is provided a computer-readable medium (such as a non-transitory computer readable medium) comprising instructions which, when executed by a quantum computing system, cause the quantum computing system to carry out the method of the second aspect of the invention. Brief description of the drawings Examples of the present invention will now be described in detail with reference to the accompanying drawings, in which: Fig. 1 is a schematic of a quantum computing system; Fig. 2 shows a Floquet code; Figs. 3a-c show a Floquet code with an inactive edge; Figs. 4a-d show a Floquet code with an inactive qubit; Fig. 5 shows a Floquet code with an inactive qubit according to a prior art technique; Fig. 6 shows another Floquet code with an inactive qubit according to a prior art technique; Fig. 7 shows another Floquet code with an inactive edge; and Fig. 8 is a flowchart of a quantum error correction method. Detailed description Quantum error correction (QEC) algorithms are used to detect and correct errors at the physical qubit level to mitigate against computational errors at the logical qubit level. QEC is expected to be essential for performing useful computations on early quantum computers, and the delicate nature of qubits means that QEC is likely to remain necessary even once quantum computing hardware matures. The goal of QEC is to reduce the effect of noise within a quantum computer: building in redundancies to protect fragile quantum systems. This is achieved with QEC codes that encode a number of logical qubits (one or more) into a larger number of physical qubits. If the error rate of these physical qubits is below a certain threshold associated with the QEC code being used, the logical qubits will exhibit a reduced effective error rate compared to the error rate experienced by the physical qubits. Simply put, each logical qubit will outperform the sum of its parts. By interacting (non-destructively) with the encoded quantum state via auxiliary qubits (i.e. additional physical qubits that do not themselves encode logical states), it is possible to determine the signature of errors that have affected the logical state; this signature is known as the error syndrome. The process of obtaining this error syndrome, known as syndrome extraction, provides only partial information. As such, decoding algorithms are employed to determine most likely error occurrences and / or corrections (some decoding algorithms, such as some clustering algorithms, can determine a correction without determining likely error occurrences). These algorithms are typically deployed on classical computing hardware with restricted memory and / or processing capabilities. The output of a decoder is a probabilistic prediction. Given the syndrome observed, the decoder outputs a best guess for the error that caused it, or alternatively a likely correction that will correct the error. A given family of error correction codes may have a variety of decoding algorithms to choose from; selecting the decoder is a balance between accuracy, speed, and compute budget for decoding. A more accurate decoder will be more effective at producing a best guess for errors / corrections, and this will result in improved logical accuracy of the quantum computation. The decoder is therefore a key element in the performance of the QEC protocol (and therefore the quantum computation as a whole). QEC codes require hardware that can receive and process enormous amounts of error information (i.e. syndrome data) in real-time almost instantaneously. A delay in decoding can lead to the creation of a backlog that grows exponentially with the size of the computation, which will ultimately lead to failure of the quantum computation. Improvements to decoding hardware and algorithms help to prevent this backlog, thereby enabling quantum computers with higher numbers of qubits and lower error rates (faster decoders can handle quantum error correction codes involving more data qubits, and using more data qubits leads to a reduction in logical error rates when performing fault-tolerant quantum computation). A schematic of an exemplary quantum computing system 100 suitable for performing the method of the present disclosure is shown in Fig. 1. The quantum computing system 100 comprises a quantum processing unit (QPU) 106 comprising a register of physical qubits (unless specified otherwise, reference herein to qubits should be understood to refer to physical qubits rather than logical qubits) and connections coupling pairs of physical qubits in the register of physical qubits. The qubits may include data qubits used to encode logical qubit states, and auxiliary qubits (or syndrome qubits) used to perform syndrome measurements for QEC. While the exemplary quantum computing system 100 uses qubits, one skilled in the art will appreciate that the invention described herein is also applicable to quantum computing systems that use other quantum devices, such as qutrits and qudits. Accordingly, it should be understood that any reference herein to qubits is applicable to any type of quantum devices that can be used to encode quantum information. The QPU 106 is controlled by a control system 104 having one or more classical processing elements. The control system 104 transmits control signals (e.g. RF pulses) to the QPU 106 for performing operations on the qubits (including measurement operations) and receives measurement information from the qubits. The measurement information will generally be analogue data signals, although the analogue signals may alternatively be converted to digital signals before being transmitted to the control system 104 in some implementations (e.g. the qubits may be provided with one or more analogue-to-digital converters). The control system 104 may receive high-level instructions from an algorithmic system or similar (not shown) and convert these high-level instructions (such as logic gates) into low-level qubit instructions (e.g. microwave pulses etc.), which may be in analogue format. The quantum computing system 100 also comprises a QEC system 102. The QEC system 102, which is generally a classical computing system, may provide instructions to the control system 104 for implementing a QEC code, and may comprise a decoder (also referred to as a decoding system) configured to receive an error syndrome (also referred to as syndrome data) obtained from measurements of syndrome qubits. The error syndrome may comprise raw analogue measurement data, or it may alternatively be pre-processed (e.g. into digital format) by the control system 104. The QEC system 102 may be connected to the control system 104 and receive the error syndrome via the control system 104 as illustrated in Fig. 1 (potentially via one or more additional intermediary systems), or in alternative examples the QEC system 102 may be connected directly to the QPU 106 and receive the error syndrome from the QPU 106 (e.g. as raw analogue signals or digital measurement values). The QEC system 102 uses a decoding process / algorithm to decode the error syndrome to determine a correction for an error state of the qubits associated with the error syndrome (i.e. an error state that causes the measured error syndrome). One skilled in the art will appreciate that the quantum computing system 100 may also comprise additional intermediary components positioned between the illustrated components, and that the illustrated components may be connected in a different configuration (e.g. the QEC system 102 may be connected directly to the qubits as previously described). The illustrated quantum computing system 100 may be used to implement Floquet codes. Floquet codes are a family of QEC codes defined on a three-regular (trivalent) graph whose faces are three-colourable, where vertices represent data qubits, edges represent two-body Pauli measurements (e.g. XX, YY, or ZZ measurements), and faces (referred to herein as plaquettes) represent stabiliser operators. An example of such a Floquet code 200 on a hexagonal graph lattice is shown in Fig. 2; this configuration is referred to as the “Honeycomb code”. Floquet codes can either be periodic (e.g. wrap around like the surface of a torus, with the top boundary connected to the bottom boundary and the right boundary connected to the left boundary) or planar (e.g. with a non-periodic boundary on each side). While the present disclosure will focus on operations performed in the bulk of the code (i.e. away from the sides of the code), one skilled in the art will appreciate that suitable boundary conditions must be implemented on planar Floquet codes. Further information about Floquet codes can be found in Matthew B. Hastings and Jeongwan Haah. “Dynamically Generated Logical Qubits”, Quantum 5, 564 (2021), which is hereby incorporated by reference. The faces of the Floquet code 200 (that is, the faces of the graph associated with the Floquet code) are referred to herein as “plaquettes”. Each plaquette 202a-c is assigned a type (either a type-0 plaquette 202a, a type-1 plaquette 202b or a type-2 plaquette 202c) in such 8 a way that no two adjacent plaquettes 202a-c share the same type. Likewise, each edge 206a-c is assigned a type according to the type of the plaquettes it connects (type-0 edges 206a connect type-0 plaquettes 202a, type-1 edges 206b connect type-1 plaquettes 202b and type-2 edges 206c connected type-2 plaquettes 202c). One skilled in the art will appreciate that type-0, type-1 and type-2 are merely labels that define the structure of the graph and that alternative labels can be used to distinguish different types of plaquette and edge (e.g. colours, such as red, green and blue). Each vertex 204 of the graph is associated with a data qubit. As described above, each edge 206a-c represents a two-qubit measurement on the data qubits associated with (i.e. at the end of) the respective edge. In the illustrated example, the measurement differs for each edge type; for example, type-0, type-1 and type-2 edges 206a-c may represent two-qubit XX, YY and ZZ measurements respectively (one skilled in the art will recognised that different measurements may alternatively be associated with each type of edge and that this is merely a non-limiting example). Each respective edge is therefore associated with a respective two-qubit measurement operation, with the different respective two-qubit measurement operations involving the same qubits in successive measurement steps anticommuting with each other. One skilled in the art will appreciate that the relationship between measurement basis and edge type varies between different types of Floquet codes. For example, some Floquet codes assign a measurement basis according to edge orientation, and some Floquet codes use measurement bases that alternate between measurement rounds. Accordingly, there is not necessarily a direct relationship between edge type and measurement bases. The two-qubit measurements may be implemented in any suitable manner. For example, each edge 206a-c may be associated with an auxiliary qubit (not illustrated; also referred to herein as a syndrome qubit) that is coupled to the data qubits associated with the edge (e.g. via sub connections), and the measurement may be achieved by performing suitable two-qubit gates between the auxiliary qubit and the data qubits, followed by measurement of the auxiliary qubit in a suitable basis. At the hardware level, each edge 206a-c is therefore associated with a respective hardware connection (referred to herein simply as a connection) that facilitates multi-qubit operations on the data qubits associated with that edge 206a-c. For example, when an auxiliary qubit is used to perform an edge measurement, the connection will involve the auxiliary qubit and the hardware (e.g. one or more waveguides or similar) coupling the auxiliary qubit to the relevant data qubits (couplings between auxiliary qubits and data qubits may be referred to herein as sub connections to represent that they are subcomponents of connections). Each plaquette 202a-c represents a stabiliser operator of the Floquet code 200; the type of each stabiliser corresponds to the type of the plaquette 202a-c representing that stabiliser operator. The value of each stabiliser operator is equal to the product of the edge measurement values associated with the edges of the respective plaquette 202a-c associated with that stabiliser operator. All stabiliser operators commute with each other, and each type of plaquette / stabiliser operator is associated with a respective measurement operation on the surrounding qubits. For example, if type-0, type-1 and type-2 edges 206a-c represent XX, YY and ZZ measurement operations respectively, then the type-0, type-1 and type-2 stabiliser operators are formed of products of X, Y and Z operations on the surrounding qubits respectively (as discussed above, there is not always a direct relationship between edge type and measurement basis, so this should be understood to be a non-limiting example). The edges 206a-c are measured in steps to ensure correct stabiliser values are obtained (the edge measurements anti-commute, so measuring them in the incorrect order will lead to incorrect stabiliser values). Edges 206a-c of the same type are measured in the same timestep. One skilled in the art will appreciate that the measurement schedule for Floquet codes varies according to the boundaries of the code, for example on a periodic code with no boundaries a valid schedule is to measure all type-0 edges 206a, then all type-1 edges 206b, then all type-2 edges 206c, and then repeat. Each stabiliser operator can be measured as a product of the edge measurements surrounding the plaquette 202a-c associated with that stabiliser operator, for example: a type-0 stabiliser operator associated with a type-0 plaquette 202a in Fig. 2 can be measured using the measurement results of the three type-1 edges 206b and three type-2 edges 206c around that plaquette 202a. The stabiliser measurement values can be used to construct an error syndrome representative of an error state of qubits in the QPU 106, and the QEC system 102 (or a decoder of the QEC system 102) decodes the syndrome to determine necessary corrections to the state of logical qubits encoded in the Floquet code 200. This allows the quantum computing system 100 to function correctly even when errors occur on physical qubits during a computation. However, the decoder alone cannot address permanent hardware defects, e.g. when a qubit or a connection is permanently faulty and does not function. Several methods have been proposed for implementing Floquet codes on defective hardware in David Aasen, Jeongwan Haah, Parsa Bonderson, Zhenghan Wang, and Matthew Hastings, “Fault-tolerant Hastings-Haah codes in the presence of dead qubits” (2023). arXiv:2307.03715 (referred to herein as Aasen et al.). However, these either require modification to the underlying connectivity of the QPU 106 (e.g. adding new connections between previously unconnected data qubits), which is often infeasible, and / or they require 10 modification to measurement schedules. In addition, these approaches only consider defective qubits and do not address defective connections between qubits. While methods exist for addressing defective connections between qubits for surface codes (for example, those disclosed in James M. Auger, Hussain Anwar, Mercedes Gimeno-Segovia, Thomas M. Stace, and Dan E. Browne. “Fault-tolerance thresholds for the surface code with fabrication errors”. Phys. Rev. A 96, 042316 (2017).), these techniques are not easily adapted to Floquet codes, owing to the fact that the mapping between surface code and Floquet code evolves in time. The present invention addresses the limitations of these existing methods by providing a Floquet code method that can handle defective connections between qubits and requires neither additional connections nor a modified measurement schedule. This is achieved by constructing new superplaquettes out of plaquettes associated with the defects. New edges are added to form these superplaquettes, but only between qubits which are already connected, meaning that no additional hardware connectivity is required over that which is already present in a standard Floquet code. The invention is applicable to both periodic and planar Floquet codes on a 2D surface, does not require any additional connectivity or modifications to the code’s measurement schedule, can handle multiple defective qubits and connections, can be adapted in the presence of boundaries, and only requires the removal of one additional qubit adjacent to each defective qubit. Fig. 3a shows a Floquet code 300 with an inactive edge 302. The inactive edge 302 may be inactive because the connection associated with the inactive edge 302 may be defective (e.g. it may not be possible to measure the inactive edge 302 and / or an error rate associated with measurement of the inactive edge 302 may be unacceptably high), or the edge may have been deactivated for some other reason. The inactive edge 302 is adjacent to four plaquettes 202a-c: one type-1 plaquette 202b at each end (i.e. the two type-1 plaquettes 202b connected by the inactive edge 302), a type-0 plaquette 202a on one side of the inactive edge 302 and a type-2 plaquette 202c on the other side. The inactive edge 302 effectively damages the type-0 plaquette 202a and type-2 plaquette 202c adjacent to the inactive edge 302 because the stabiliser measurements associated with these plaquettes can no longer be performed. Without modification, the Floquet code 300 will not function correctly and it will not be possible to perform reliable fault-tolerant quantum operations using the Floquet code 300. The Floquet code 300 can be repaired by modifying the Floquet code 300 to disable the inactive edge 302 (i.e. removing the inactive edge from the Floquet code graph). (If any vertices as a result of this edge removal are of degree-1 they should be treated as defective qubits using the techniques described below in relation to Fig. 4a-c.) New plaquettes can then be formed by modifying the plaquettes 202a-c adjacent to the inactive edge 302. Figs. 3b and Fig. 3c show an example of how the Floquet code 300 can be modified. In order to determine which plaquettes 202a-c to modify, a minimal closed cycle 304 around the inactive edge 302 which includes an even number of degree-2 vertices can optionally be identified as shown in Fig. 3b. This can be identified, for example, using a pathfinding algorithm. Once the minimal closed cycle 304 has been identified, a least common type of edge206a-c in the cycle can be determined. This type will be used as a “merging-type” for the plaquettes 202a-c, and the other two types will used as “splitting-types” for the plaquettes 202a-c. In the illustrated example, the minimal closed cycle 304 contains three type-0 edges 206a, four type-1 edges 206b and three type-2 edges 206c, i.e. there are two types of least common edge: type-0 and type-2. In this case, the merging-type of plaquette can be selected arbitrarily (e.g. randomly). In the illustrated example, type-0 will be used as the merging-type, and type-1 and type-2 will be used as the splitting-types. To repair the code, splitting-type plaquettes 202b-c adjacent to the inactive edge 302 are split into smaller weight-two plaquettes (i.e. plaquettes involving only two qubits), and merging-type plaquettes 202a adjacent to the split plaquettes are merged into a single “superplaquette” (i.e. a plaquette formed by merging components of other plaquettes). Fig. 3c shows the Floquet code 300 after these modifications have been made. Each splitting-type plaquette which was incident to the inactive edge 302 (i.e. the type-2 plaquette next to the inactive edge 302) involves a set of merging-type edges (i.e. type-0 edges) and a set of splitting-type edges (i.e. type-1 edges). The splitting-type edges of this plaquette (i.e. type-1 edges) are removed from the Floquet code 300. For each merging-type edge of this plaquette (i.e. type-0 edges), a new splitting-type edge having different type to the splitting-type plaquette (i.e. type-1) is inserted between the two vertices 204 of the mergingtype edge to create a new weight-two plaquette 308 of the same type as the splitting plaquette, thereby splitting the original type-2 plaquette into two weight-two type-2 plaquettes. The resulting split plaquette now represents a valid stabiliser operator which does not use any defective connections and does not require any new connections (the new edges are between vertices that are already connected, so no new connections are required). Three weight-two type-2 plaquettes are formed by this process in Fig. 3c. These weight-two type-2 plaquettes 308 each have a type-0 edge 206a and a type-1 edge 206b between the same two qubits (e.g. XX and YY measurements), and the product of these edges 206a, 206b results in a two-qubit (e.g. ZZ) stabiliser operator. The removal of splitting-type edges forms a new type-0 superplaquette 306 which replaces the existing merging-type plaquettes incident to removed edge 302. This plaquette 306, which is formed by merging the three merging-type plaquettes adjacent to the splitting-type plaquette, represents a valid stabiliser operator which does not use any defective connections or require any new connections. The use of a minimal cycle 304 assists in reducing the amount of modification (i.e. the number of edges that need to be removed and / or the number of plaquettes that need to be merged / split) required to avoid the defective edge 302. However, one skilled in the art will appreciate that alternative approaches may be used without the need to determine a minimal cycle 304. For example, in the illustrated example one could arbitrarily have selected one of the plaquettes that share the inactive edge to be the merging-type plaquettes without determining a minimal cycle 304. If necessary, these steps can be repeated for all inactive edges in a Floquet code until all remaining vertices have degree three. Once complete, logical operators can be determined by identifying non-trivial horizontal and vertical cycles (i.e. cycles around the torus for a periodic Floquet code, or between opposing boundaries in the case of a planar Floquet code). These non-trivial cycles can be identified using a pathfinding algorithm or similar. The resulting graph of the modified Floquet code 300 is three-regular and three-face-colourable, thereby representing a valid Floquet code, without using any edges which correspond to defective connections in the quantum processor. All new edges added to the graph are between pairs of vertices which already share an edge, so they can be implemented using the same connection on the quantum hardware. This method can be further extended to defective and / or inactive qubits. In this case, a vertex adjacent to the vertex associated with the inactive qubit is selected, and both the selected vertex and the vertex associated with the inactive qubit are removed from the Floquet code along with any incident edges. The method described above can then be applied to the removed edges. When selecting an adjacent vertex to remove, preference may be given to vertices which are also inactive (i.e. also represent defective / inactive data qubits). If the defective vertex is not adjacent to another inactive vertex, preference may then be given to removing vertices which are not already part of a superplaquette; this avoids the creation of especially large superplaquettes. Finally, in the case of planar Floquet codes, preference may be given to removing vertices which are further away from the boundary. Figs. 4a-d illustrate how a Floquet code 400 can be modified in the presence of an inactive vertex 402. As with inactive edges, the inactive vertex 402 may be inactive because the associated qubit is defective, or it may have been deactivated for some other reason. A vertex 404 adjacent to the inactive vertex 402 is selected, and both the selected vertex 404 and the inactive vertex 402 and all incident edges are disabled / removed from the Floquet code graph (i.e. made inactive) as shown in Fig. 4b. As before, a minimal closed cycle 406 around the inactive edges and vertices may optionally be identified as shown in Fig. 4c to determine which type of plaquette to merge and which type to split. In the illustrated example, the minimal closed cycle 406 includes four type-0 edges 206a and five each of type-1 edges 206b and type-2 edges 206c, so type-0 is chosen as the mergingtype and type-1 and type-2 as the splitting types. Fig. 4d shows the Floquet code 400 once the modifications have been made. As with the previous example, each splitting-type plaquette incident to an inactive or removed edge has a set of merging-type edges (i.e. type-0 edges) and a set of splitting-type edges. The splitting-type edges are removed from the graph. For each merging-type edge of the splitting-type plaquettes, a new splitting-type edge having different type to the splitting-plaquette is inserted between the two vertices 204 of the merging-type edge to create a new weight-two plaquette 410, 412 of the same type as the splitting-type plaquette in question. For example, for the type-1 plaquette incident to inactive or removed edges (i.e. the type-1 plaquette within the minimal cycle 406), the surrounding type-2 edges are removed, and new type-2 edges 206c are inserted in parallel with each type-0 edge of the type-1 plaquette to form new weight-two type-1 plaquettes 410 (the type-1 plaquette has been split into two weight-two type-1 plaquettes 410). Similarly, for the type-2 plaquette incident to inactive or removed edges (i.e. the type-2 plaquette within the minimal cycle 406), the surrounding type-1 edges are removed, and new type-1 edges 206b are inserted in parallel with each type-0 edge of the type-2 plaquette to form new weight-two type-2 plaquettes 412 (the type-2 plaquette has been split into two weight-two type-2 plaquettes 412). The removed edges result in a type-0 superplaquette 408 formed by merging the type-0 plaquettes adjacent to the modified type-1 and type-2 splitting-type plaquettes. The defective components in the above examples are in the bulk of the code, away from the boundaries. Defects along the boundary of a Floquet code can be accounted for by embedding the code in a larger Floquet code, thereby ensuring any defects are wholly contained in the bulk of the code, and applying the methods described above. Once the modified larger code has been created, a modified code of the original size can be extracted by removing the extra vertices added from the larger code. Superplaquettes cannot be of the same type as the boundary, as this will introduce additional corners to the code; this can be accounted for when deciding the merging and splitting types. In some quantum computing architectures, data qubits are not connected to each other directly. For example, the heavy-hex architecture features auxiliary qubits which connect 14 pairs of data qubits, with the auxiliary qubits acting as syndrome qubits for performing edge measurement operations. The methods of the present invention can be extended to cover these architectures by representing any defective auxiliary qubits, as well as any defective sub connections between an auxiliary qubit and a data qubit, as a defective / inactive connection between the data qubits connected to that auxiliary qubit. As discussed above, the method of the present invention can be used to mitigate against the damaging effects of defective qubits and defective connections between qubits, and it requires neither additional connections nor a modified measurement schedule. The prior art methods disclosed in in Aasen et al. involve removing entire plaquettes from the graph, whereas the methods described herein advantageously focus on removing single two-body measurement operations. Consequently, for the method of the present invention, no qubits are removed from the Floquet code in the case of a defective / inactive connection, and only one additional qubit (two qubits in total) is removed from the Floquet code in the case of a defective / inactive qubit. A first method disclosed in Aasen is shown in Fig. 5. This first method removes an entire type-2 stabiliser operator (i.e. six qubits for the honeycomb lattice) from the Floquet code 500 and requires extra connections 506 to form a superplaquette 502 and modified type-1 plaquettes 504 (i.e. it replies upon extra connections which were not in the original code). A second method disclosed in Aasen is shown in Fig. 6. This method again removes an entire type-2 stabiliser operator (i.e. six qubits for the honeycomb lattice) from the Floquet code 600 and forms a superplaquette 602. While this approach does not require additional, connectivity, it introduces single qubit measurements 604 that anti-commute with the original stabiliser operators. Constructing a new stabiliser therefore requires a modified measurement schedule. A third method disclosed in Aasen removes only the defective qubit. However, this third method again relies on extra connectivity, only works for the periodic honeycomb code and only works when just a single defective qubit is present. In some quantum computing systems, additional connectivity is available which is not utilised by the unmodified Floquet code. The methods disclosed herein can take advantage of this extra connectivity when it is available in order to reduce the amount of modification required. An example of using additional connectivity is shown in Fig.7. The Floquet code 700 in Fig. 7 has been modified to remove the same inactive qubit as the Floquet code 400 in Fig. 4a. However, in this case an additional connection 702 is added between qubits that were previously unconnected. The resulting superplaquette 704 is similar to the superplaquette 502 shown in Fig. 5. However, the use of the split plaquettes 706 according to the method of the present disclosure means that this can be achieved with only a single additional connection 702 (compared to the three additional connections 506 required in Fig. 5). Accordingly, even in scenarios where additional connections are available, the present invention still provides advantages over existing methods. Fig. 8 shows a flowchart of a quantum error correction method according to the present invention. In a first step 801, a Floquet code is identified for quantum processing unit. This step may involve receiving or generating a data structure with vertex and edge information for the Floquet code. The details of the Floquet code will depend upon details such as the connectivity of the quantum processing unit, the available number of quantum devices, and desired error rates. As described above, the Floquet code is defined on a trivalent graph, and each vertex of the trivalent graph is associated with a quantum device (e.g. a data qubit), and each edge of the trivalent graph is associated with a connection between quantum devices (e.g. between data qubits). The Floquet code comprises a plurality of plaquettes, each surrounded by a plurality of edges, and each plaquette of the plurality of plaquettes is of a first, second or third type such that adjacent plaquettes are of different type. In step 802, an inactive edge in the Floquet code is identified. The inactive edge may be identified in response to a defective component in the quantum processing unit, e.g. a defective quantum device and / or a defective connection associated with the inactive edge. Where the defective connection comprises quantum devices and sub-connections, the inactive edge may be identified in response to any of those subcomponents being defective. In step 803, a modified Floquet code is generated by modifying the Floquet code to remove the inactive edge. This step may also involve identifying the first type as a merging-type, and the second and / or third types as splitting types. Any splitting-type plaquettes adjacent to the inactive edge may be split into weight-two plaquettes. As described above, splitting the splitting-type plaquettes into weight-two plaquettes may involve removing splitting-type edges from splitting-type plaquettes adjacent to the inactive edge and adding a new splitting-type edge (of different type to the plaquette being split) in parallel with (i.e. between the same vertices as) each merging-type edge of splitting-type plaquettes adjacent to the inactive edge. The weight-two plaquettes formed by splitting each respective splitting-type plaquette are of the same type as the respective splitting-type plaquette. Merging-type plaquettes adjacent to splitting-type plaquettes adjacent to the inactive edge are merged into a larger merging-type plaquette. In step 804, syndrome data is received that is representative of an error state of the register of quantum devices. This syndrome data may be obtained by performing the measurement operations associated with the edges of the Floquet code according to a measurement schedule, and determining a stabiliser measurement value for each stabiliser operator by calculating a product of edge measurement values associated with the edges of the 16 plaquette associated with the each stabiliser operator. These stabiliser values can then be used to generate the syndrome data (e.g. by using XOR operations to determine a difference between current and previous stabiliser measurement values). A correction for the error state is determined in step 805 by decoding the syndrome data with the modified Floquet code. One skilled in the art will appreciate that numerous decoding algorithms can be used depending upon performance requirements and available computing resources. Examples of decoding methods include those that are suitable for decoding surface codes, such as minimum-weight-perfect-matching decoders and clustering decoders. In addition, one skilled in the art will appreciate that it is generally not necessary to determine error locations and / or apply corrections to the qubits: it suffices to track (classically) how the encoded logical state (or states) of the qubits is affected by errors. The method may optionally further comprise measuring a logical state encoded in the quantum devices and applying the correction to the measured logical state. One skilled in the art will appreciate that the physical positions of the quantum devices does not need to correspond to the positions in the Floquet code (e.g. regular hexagonal tiling): the quantum devices can be arranged in any way that provides connectivity that corresponds to that required by the Floquet code. Furthermore, while the illustrated examples have use the Floquet code known as the Honeycomb code, the invention can also be used with all other type of Floquet code, such as the 4.8.8 Floquet code. Pauli X, Y and Z operations may be referred to herein simply as X, Y and Z operations. Any method described herein may be provided as a computer program product and / or on a computer readable medium such as a non-transitory computer readable medium. It should be understood that any method of the present disclosure could include additional steps, and any device could include additional components. In addition, unless indicated otherwise or technically infeasible, the method steps disclosed herein may be performed in alternative orders, and any order described herein should be considered as exemplary rather than limiting. The illustrated steps and components could be split into multiple sub-steps / subcomponents. Furthermore, one skilled in the art will appreciate that any computation that can be performed by a classical processing device can also be performed by a quantum computing device. Accordingly, any methods or described herein that is performed on a classical computing device (such as a CPU) can also be performed by a quantum processing device, such as a quantum processing unit (QPU) comprising a plurality of qubits.
Claims
1. A quantum computing system comprising:a quantum processing unit comprising:a register of quantum devices; anda plurality of connections, each connection coupling two quantum devices of the register of quantum devices, anda quantum error correction system,wherein the quantum error correction system is configured to:identify a Floquet code for the quantum processing unit, wherein:the Floquet code is defined on a trivalent graph;each respective vertex of the trivalent graph is associated with a respective quantum device of the register of quantum devices;each respective edge of the trivalent graph is associated with a respective connection of the plurality of connections;the Floquet code comprises a plurality of plaquettes each surrounded by a plurality of edges; andeach plaquette of the plurality of plaquettes is of a first, second or third type such that adjacent plaquettes are of different type,identify an inactive edge in the Floquet code;modify the Floquet code to generate a modified Floquet code, wherein modifying theFloquet code comprises removing the inactive edge;receive syndrome data representative of an error state of the register of quantum devices; anddetermine a correction for the error state by decoding the syndrome data with the modified Floquet code.
2. The quantum computing system of claim 1, wherein modifying the Floquet code further comprises:splitting at least one second type plaquette adjacent to the inactive edge into a plurality of weight-two second type plaquettes;removing edges between the at least one second type plaquette and first type plaquettes adjacent to the at least one second type plaquette; andmerging a plurality of first type plaquettes adjacent to the at least one second type plaquette into a single first type plaquette.
3. The quantum computing system of claim 1 or claim 2, wherein modifying the Floquet code further comprises:splitting at least one third type plaquette adjacent to the inactive edge into a plurality of weight-two third type plaquettes;removing edges between the at least one third type plaquette and first type plaquettes adjacent to the at least one third type plaquette; andmerging a plurality of first type plaquettes adjacent to the at least one third type plaquette into the single first type plaquette.
4. The quantum computing system of any preceding claim, wherein identifying an inactive edge in the Floquet code comprises identifying a defective component in the quantum processing unit, the defective component comprising at least one of a defective quantum device and a defective connection in the quantum processing unit, wherein the inactive edge is associated with the defective component.
5. The quantum computing system of any preceding claim, wherein the quantum devices are qubits.
6. The quantum computing system of any preceding claim, wherein the quantum computing system is further configured to:measure a logical state encoded in the plurality of quantum devices to obtain a logical state measurement; andapply the correction to the logical state measurement.
7. The quantum computing system of any preceding claim, wherein at least one connection of the plurality of connections comprises a quantum device and a plurality of sub connections.
8. The quantum computing system of any preceding claim,wherein each edge is associated with a joint measurement operation on the respective quantum devices associated with the respective vertices connected by the each edge;wherein each plaquette is associated with a stabiliser operator of the Floquet code; andwherein the quantum computing system is further configured to obtain the syndrome data, wherein obtaining the syndrome data comprises:performing the joint measurement operation associated with each edge according to a measurement schedule to obtain a plurality of edge measurement values, each of the plurality of edge measurement values associated with a respective edge;determining a stabiliser measurement value for each stabiliser operator by calculating a product of edge measurement values associated with respective edges of the plaquette associated with the each stabiliser operator; andgenerating the syndrome data using the determined stabiliser measurement values.
9. A computer-implemented method of performing a quantum error correction code at a quantum computing system, the quantum computing system comprising a quantum error correction system and a quantum processing unit comprising a register of quantum devices and a plurality of connections, each connection coupling two quantum devices of the register of quantum devices, the method comprising:identifying, by the error correction system, a Floquet code for the quantum processing unit, wherein:the Floquet code is defined on a trivalent graph;each respective vertex of the trivalent graph is associated with a respective quantum device of the register of quantum devices;each respective edge of the trivalent graph is associated with a respective connection of the plurality of connections;the Floquet code comprises a plurality of plaquettes each surrounded by a plurality of edges; andeach plaquette of the plurality of plaquettes is of a first, second or third type such that adjacent plaquettes are of different type,identifying, by the quantum error correction system, an inactive edge in the Floquet code;modifying, by the quantum error correction system, the Floquet code to generate a modified Floquet code, wherein modifying the Floquet code comprises removing the inactive edge;receiving, at the error correction system, syndrome data representative of an error state of the register of quantum devices; anddetermining, by the error correction system, a correction for the error state by decoding the syndrome data with the modified Floquet code.
10. The method of claim 9, wherein modifying the Floquet code further comprises:splitting at least one second type plaquette adjacent to the inactive edge into a plurality of weight-two second type plaquettes;removing edges between the at least one second type plaquette and first type plaquettes adjacent to the at least one second type plaquette; andmerging a plurality of first type plaquettes adjacent to the at least one second type plaquette into a single first type plaquette.
11. The method of claim 9 or claim 10, wherein modifying the Floquet code further comprises:splitting at least one third type plaquette adjacent to the inactive edge into a plurality of weight-two third type plaquettes;removing edges between the at least one third type plaquette and first type plaquettes adjacent to the at least one third type plaquette; andmerging a plurality of first type plaquettes adjacent to the at least one third type plaquette into the single first type plaquette.
12. The method of any of claims 9 to 11, wherein identifying an inactive edge in the Floquet code comprises identifying a defective component in the quantum processing unit, the defective component comprising at least one of a defective quantum device and a defective connection in the quantum processing unit, wherein the inactive edge is associated with the defective component.
13. The method of any of claims 9 to 12, wherein the quantum devices are qubits.
14. The method of any of claims 9 to 13, further comprising:measuring a logical state encoded in the plurality of quantum devices to obtain a logical state measurement; andapplying the correction to the logical state measurement.
15. The method of any of claims 9 to 14, wherein at least one connection of the plurality of connections comprises a quantum device and a plurality of sub connections.
16. The method of any of claims 9 to 15,wherein each edge is associated with a joint measurement operation on the respective quantum devices associated with the respective vertices connected by the each edge;wherein each plaquette is associated with a stabiliser operator of the Floquet code; andwherein the method further comprises obtaining the syndrome data, wherein obtaining the syndrome data comprises:performing the joint measurement operation associated with each edge according to a measurement schedule to obtain a plurality of edge measurement values, each of the plurality of edge measurement values associated with a respective edge;determining a stabiliser measurement value for each stabiliser operator by 5 calculating a product of edge measurement values associated with respective edges of the plaquette associated with the each stabiliser operator; andgenerating the syndrome data using the determined stabiliser measurement values.
17. A computer-readable medium comprising instructions which, when executed by a quantum computing system, cause the quantum computing system to carry out the method 10 of any of claims 9 to 16.