CClassical Control of Large-Scale QuantumComputers
Simon J. Devitt , Ochanomizu University, 2-1-1 Otsuka, Bunkyo-ku, Tokyo 112-8610, Japan National Institute of Informatics, 2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo, Japan
Abstract.
The accelerated development of quantum technology has reacheda pivotal point. Early in 2014, several results were published demonstrat-ing that several experimental technologies are now accurate enough tosatisfy the requirements of fault-tolerant, error corrected quantum com-putation. While there are many technological and experimental issuesthat still need to be solved, the ability of experimental systems to nowhave error rates low enough to satisfy the fault-tolerant threshold forseveral error correction models is a tremendous milestone. Consequently,it is now a good time for the computer science and classical engineer-ing community to examine the classical problems associated with com-piling quantum algorithms and implementing them on future quantumhardware. In this paper, we will review the basic operational rules of atopological quantum computing architecture and outline one of the mostimportant classical problems that need to be solved; the decoding of errorcorrection data for a large-scale quantum computer. We will endeavourto present these problems independently from the underlying physics asmuch of this work can be effectively solved by non-experts in quantuminformation or quantum mechanics.
Keywords: quantum computing, topological quantum computing, clas-sical processing
Quantum technology, specifically large-scale quantum computation, has been asignificant research topic in physics since the early 1990’s. Since the publicationof the first quantum algorithms [1], illustrating the computational power of quan-tum computers, millions of dollars has been invested worldwide and numeroustechnological advances have been made [2,3,4,5,6,7]. It is now routine for multi-ple experimental laboratories to fabricate and control small arrays of quantumbits (qubits) and perform proof of principal experiments demonstrating smallquantum algorithms and protocols [8]. Quantum technology has also moved intothe industrial sector via protocols such as Quantum Key Distribution (QKD)and Quantum random number generators and many non-physicists are awareof the D-Wave quantum computer, which while scientifically controversial is anattempt to build a analogue quantum computer capable of solving certain typesof optimisation problems [9,10,11]. a r X i v : . [ qu a n t - ph ] M a y Classical Control of Large-Scale Quantum Computers
Recent experimental results in 2014 have demonstrated that two experimen-tal systems can be built with high enough accuracy to satisfy the constraintsof fault-tolerant, error corrected quantum computation [12,13]. As error rateson qubit arrays is high compared to classical nano-electronics, extensive errorcorrection is required to successfully perform computation [1,14,15,16,17]. Oneof the most seminal results in quantum information theory is the fault-tolerantthreshold theorem [18]. This theorem states that provided the fundamental errorrate associated with qubits and quantum gates falls below a threshold, then ar-bitrarily long quantum computation is possible with a polylogarithmic overheadin physical resources. This threshold is a function of the type of quantum errorcorrection code used for the computer [14,15,16,17] and extensive research hasbeen performed to derive new codes, with high thresholds, that are amenableto experimental architectures. Arguably the most successful class of codes thathave been developed are known as topological quantum codes [19,20,21,22,23].Topological quantum codes are defined over a lattice (of arbitrary dimension de-pending on the code, but the most common are 2- and 3-dimensional) of physicalqubits. The code itself can be defined over small, physically local groups of qubitswhile the properties of the encoded information is a global property of the entirelattice. This is what defines the code as topological. These codes are arguablypreferred in quantum computer development as they exhibit comparably highfault-tolerant thresholds and they are adaptable to the physical constraints ofexperimental quantum systems.Irrespective of the actual quantum code chosen to protect a quantum com-puter, it is well known that operating such as system requires extensive classical control infrastructure. This is not simply related to the control of the physical de-vice hardware needed to operate a qubit (lasers, signal generators etc...), but it isalso required to decode error correction information produced by the computer.This classical control software development is in its infancy and has receivedlittle attention within the fields of quantum information and classical computerscience [24,25]. While there has been much work at the more abstract level ofquantum algorithm design and circuit optimisation [26,27,28,29,30,31,32], wenow have to go one step deeper and connect the high level work to the physicalconstraints of the quantum hardware.This paper will introduce one of the main classical computer science and en-gineering problems associated with controlling a large scale quantum computer.We will focus on a specific form of quantum computer; namely a system thatis built using an error correction code known as Topological Quantum Clus-ters (TQC) [33,34]. This code has received significant attention in recent yearsdue to multiple hardware architectures utilising it in designing large scale sys-tems [23,35,36,37,38,39,40]. We won’t discuss the details of how information tobe encoded or manipulated. Instead we will focus on the basic error correctionproperties of the code and what this implies for classical processing of this data.In section 2 we will provide some background information on the basic definitionsof qubits and quantum logic. In section 3 we will provide a brief introduction tothe TQC model. This will not be an in depth introduction, but should provide lassical Control of Large-Scale Quantum Computers 3 enough material to grasp the classical problems that need to be solved. Finally,in section 5 we will examine the processing that needs to be developed to per-form dynamic error correction on the system and discuss the potential problemsassociated with the massive amount of classical data produced by the computer.
A qubit is the quantum analogue of a bit. Its state is defined as a vector ofdimension 2, where | (cid:105) = (1 , T is the vector notation for the value correspond-ing to binary 0, and | (cid:105) = (0 , T correspond to 1. The state of one qubit q can be written as the linear combination | q (cid:105) = a | (cid:105) + a | (cid:105) , where a i ∈ C and (cid:80) i | a i | = 1; this is a superposition of the two basis states, a concept with noanalogy in classical computing. Given the principal of superposition, an arrayof n qubits can be in an equal superposition of all binary states from | (cid:105) unto (cid:12)(cid:12) n − (cid:11) , i.e. (cid:80) n − i =0 a i | bin ( i ) (cid:105) , where a i are complex numbers and bin ( i ) is thebinary expansion of i . Measurement:
In quantum computing, measuring a state is the only wayto observe results of calculation. Measuring an arbitrary quantum state | q (cid:105) = a | (cid:105) + a | (cid:105) can result in two outcomes: | (cid:105) (with probability | a | ), or | (cid:105) (withprobability | a | ). Moreover, the measurement will collapse the state leaving itin the state corresponding to the measurement result.The goal of a quantum algorithm is to manipulate the amplitudes of each bi-nary state, a i , such that the incorrect answers have very low amplitudes, a j ≈ j = incorrect while the correct answers have amplitudes close to one, a j ≈ j = correct. This will ensure that after an algorithm is completed, we have avery high probability, when we measure every qubit, to measure the correct an-swer. The simplest initial state is to initialise each qubit in the computer in the | + (cid:105) = ( | (cid:105) + | (cid:105) ) / √ a i = 1 / ( n/ , ∀ i . Therefore, initially, ev-ery possible binary state will have an equal probability of being measured. Thequantum algorithm will then manipulate these amplitudes to suppress the am-plitudes of incorrect answers and increase the amplitude of correct ones. At anygiven time the state of the quantum computer is represented by a n -dimensionalcomplex vector | ψ (cid:105) = ( a , a , a , ...., a ( n − ) T . Quantum gates:
Quantum gates act on qubits and modify their states andhence modify the amplitudes of each binary state, a i . They are representedas unitary (guaranteeing a gate is reversible, a necessity in quantum theory)matrices. An n -qubit gate, G , is described by a 2 n × n matrix and its actionon the state of the quantum computer is described by simply computing | ψ (cid:48) (cid:105) = G | ψ (cid:105) , where | ψ (cid:48) (cid:105) is the output and | ψ (cid:105) is the input. It has been shown thatany valid operation, G , can be decomposed into a discrete alphabet of singlequbit and 2-qubit gates and consequently we only need to realise a small set ofprimitive qubit operations to realise any arbitrary computation. Shown below Classical Control of Large-Scale Quantum Computers is an example of such an alphabet, consisting of four single qubit gates and onetwo-qubit gate. X = (cid:18) (cid:19) Z = (cid:18) − (cid:19) H = 1 √ (cid:18) − (cid:19) cnot = T = (cid:18) e − iπ/ (cid:19) (1)These gates form a universal gate set (technically, S = { H, T, cnot } are suffi-cient for universality, we include X and Z because of their relevance for QEC),i.e., arbitrary quantum gates can be decomposed into products of these gates[1]. (This is similar to the classical case where all gates can be represented byequivalent circuits consisting of NAND gates only.).The properties of quantum information allow us to create certain states thathave no classical analogue. These states are called entangled states. For example,if we prepare two qubits in the initial state | + (cid:105)| (cid:105) and apply the two qubit cnot gate (where the control qubit is the one in the | + (cid:105) state), we get the output | b (cid:105) = √ ( | (cid:105) + | (cid:105) ). This state is known as a Bell state and it has propertiesthat no classical computational state has. Specifically if we measure one of thequbits in the | (cid:105) state, the second qubits is also found to be in the | (cid:105) state.Similarly for the | (cid:105) state. This behaviour is unique to quantum-bits and creationand manipulation of these types of states is an identifying feature when proving,experimentally, you have a true quantum system. Entanglement is a fundamentalproperty of quantum information and forms the basis of the TQC model we willdiscuss in the next section. The original formalism for quantum computation is the circuit based model [1].This is where we have an array of qubits that is operated on by a pre-definedsequence of quantum gates to realise an algorithm. There is another methodof performing quantum computation, known as the measurement based model(MBM) [41]. In this model, we pre-define what is known as a Universal ResourceState (URS). A URS is a lattice of qubits where entanglement connections havebeen formed before any computation begins. This URS can be thought of as agraph, where each vertex represents a qubit and each edge is a two-qubit quan-tum gate that establishes entanglement between two vertices. Once this resourcestate has been prepared, quantum gates are realised by measuring individualqubits in well defined ways. As computation proceeds, qubits are consumed asthey are measured. The first MBM was defined over a regular, 2-dimensional gridof qubits with nearest neighbour connections [Figure 1]. In this model, qubits aremeasured, column-by-column, to realise quantum gates. Essentially each row ofqubits represented the world line of a given qubit of information and each column represented individual time steps of computation. As each column is measured,information is teleported to the next column and a quantum gate is appliedduring this teleportation. lassical Control of Large-Scale Quantum Computers 5
Qubits measured column-by-column to perform computation
Fig. 1.
A standard 2D lattice of qubits used for measurement based quantum computa-tion. Qubits are measured from left to right and information is teleported from columnto column. Processing occurs during this teleportation, applying quantum gates.
This 2-dimensional MBM showed that arbitrary computation could be achievedusing a pre-defined URS, but it did not incorporate any error correction protocolsto protect against noise.The Topological Cluster State model is a MBM of quantum computationthat incorporates a sophisticated topological error correction model by con-struction. It was derived from the seminal work of Kitaev [19] and extendedto a 3-dimensional entangled lattice of qubits that forms the initial URS [33].The fundamental unit cell of this lattice is illustrated in Figure 2. Again, eachvertex in the image represents a physical qubit while each edge represents a two-qubit gate applied to form an entanglement bond. Preparing this state requiresinitialising each qubit in the | + (cid:105) state, and applying a CZ gate between any twoqubits connected by an edge. A CZ gate can be achieved by applying the cnot gate, interleaved by two H gates on the target qubit [1]. The total size of the3-dimensional Topological cluster is dictated by the total resources needed foran algorithm. i.e. how many encoded qubits and gates does the algorithm needand how strong the error correction needs to be to successfully complete com-putation. For large quantum algorithms, the size of this lattice could be billionsif not trillions of physical qubits [42]. The primary job of the TQC model is to perform error correction. The structureof the 3-dimensional lattice establishes certain symmetries that can be used todetect and correct errors that occur during the preparation and/or consumptionof the state.Arbitrary noise on a qubit can be decomposed into a series of bit-flips ( X gates) and phase flips ( Z gates). A phase flip is a gate which can convert the state | + (cid:105) = ( | (cid:105) + | (cid:105) ) / √ |−(cid:105) = ( | (cid:105) − | (cid:105) ) / √ E , acting on a single qubit can be written in the form, E | ψ (cid:105) = k I | ψ (cid:105) + k x X | ψ (cid:105) + k z Z | ψ (cid:105) + k xz XZ | ψ (cid:105) (2) Classical Control of Large-Scale Quantum Computers a.)b.) a. b.
Fig. 2.
Figure a) represents the unit cell of the lattice. Each of the Face qubits (red)are used to calculate the parity of the cell. The non-face qubits of Figure a) are facequbits on identical unit cells that are offset by half a lattice spacing along the threeaxes of the lattice. where {| k I | , | k x | , | k y | , | k xz | } are the probabilities that the qubit experiencesan X error, a Z error or both . Therefore, to protect qubits against noise, wejust need the ability to detect and correct for bit- and phase-flips.The unit cell of the topological cluster has certain symmetries. Namely, ifyou measure the six face qubits of the unit cell (illustrated in red in Figure 2a))in the basis {| + (cid:105) , |−(cid:105)} (known as an X-basis measurement) and you calculatethe classical parity of the results (identifying the bit-value zero if we measurethe qubit in | + (cid:105) and one if we measure it in |−(cid:105) ), you will always get an evenparity result under modulo 2 addition. i.e. while the individual measurementsthemselves are random, the symmetries of the quantum state of the unit cellwill conspire (through the property of entanglement) to always generate an evenparity result when you combine the measured values of these six qubits. Now,let us consider two of these unit cells side by side and the consequence of a Z -error on the qubit shared on a face [Figure 3a)]. In quantum informationthe order in which you apply quantum gates is important. For example, theoutput of the operation XZ | ψ (cid:105) is not necessarily the same as the output ofthe operation ZX | ψ (cid:105) , this is because the gates X and Z do not commute , i.e. XZ − ZX (cid:54) = 0. Instead, for these two operations the following holds, XZ = − ZX . What does this mean when we measure our six face qubits of the unit cellwhen a qubit experiences an error? If no error occurs, then the six measurement,when combined modulo 2, gives us an even parity result. If one of those qubitsexperiences a Z -error prior to being measured in the X -basis the fact that XZ = − ZX means that the measurement of the erred qubit will flip from |±(cid:105) to |∓(cid:105) .Consequently, if the initial parity of the six measurements was even, it will flipto odd. Hence for the two unit cells shown in Figure 3a) when we measure the11 face qubits and we observe a negative parity of the two sets of measurements,we can identify that a Z -error must have occurred on the qubit sharing a face This is not a completely general description of a noise channel, but introducing theformalism for a general channel would require us to delve more into the mathematicsof qubits.lassical Control of Large-Scale Quantum Computers 7 between the two cells. Similarly errors on the other five face qubits are detectedby parity flips with the other unit cells bordering the five other faces [Figure3b)]. a. Parity flip to the left Parity flip to the rightParity flip downwardsParity flip upwardsParity flip backwards Parity flip forwards b. Fig. 3.
A single error on a face qubit of a unit cell will cause two parity flips on thecells which share the qubit [Figure a)]. The six neighbouring cells bordering a givencell allows us to uniquely determine which qubit experienced an error [Figure b)].
An obvious question arises. We have so far only considered the six qubits oneach of the faces of the unit cell. What about the other remaining qubits lying onedges? If we stack together eight unit cells into a cube, at it’s centre is an identicalunit cell. The face qubits associated with this unit cell correspond to the qubitson the edges of the eight cells in the cube. The topological lattice embeds twoself similar lattices, one which we call the primal lattice and the other which wecall the dual . Face qubits on primal unit cells correspond to edge qubits on dualcells and visa versa. These two self similar lattices also explains how X -errorsare corrected. In the previous paragraph we only considered Z errors becausethe Z -gate didn’t commute with the X -basis measurement of each face qubitand consequently the parity of the six face measurements flipped when an erroroccurred. Again, without going into the mathematical detail, the symmetries ofthe topological lattice allows us to convert X -errors on a qubit into Z -errorson other qubits. If an X -error occurs on a given qubit, the entanglement bondsconnecting qubits can convert this X -error into Z -errors on all the qubits it isconnected to [34,43]. If you examine the structure of the unit cell [Figure 2a)]you will note that a given face qubit is only connected to qubits on the edge of aunit cell. Therefore an X -error occurring on a face qubit will be converted to Z -errors on edge qubits (which correspond to face qubits on dual cells). Therefore,all errors can be converted to Z -errors in either the primal or dual lattices anddetecting these parity flips in both spaces is sufficient for correcting arbitraryerrors on each individual qubit.We discussed how single errors can be corrected by examining the parity ofneighbouring cells, the next issue is what happens when multiple errors occur. Which is primal and which is dual is arbitrary Classical Control of Large-Scale Quantum Computers
Fig. 4.
From Ref. [34]. Errors create parity flips on various unit cells. Multiple errorscan form chains. Parity flips are only observed at the endpoints of chains.
This is shown in Figure 4. As the parity condition for a unit cell is calculatedmodulo two we only see an odd parity if an odd number of errors have occurred.If an even number occur then the parity will remain even. Therefore, if there is achain of errors we will only see a parity flip for the two unit cells at the endpointof the error chain. In the case of isolated errors, endpoints are of neighbouringcells. Hence decoding the error correction information requires us to match upthe endpoints (which we detect via the calculation of a cells parity) with theactual physical sets of errors that occurred (which are not directly detected.In quantum information we assign a probability, p , that a given qubit willexperience a bit ( X ) and/or phase ( Z ) error over some time interval, t . Thisprobability encapsulates the physical sources of noise such as environmentaldecoherence and control that could effect the operation of the qubit. Providedthat p <
1, increasing numbers of errors occurring in a given time intervalbecome exponentially less probable. Consequently, the most probable event thatgives rise to the observed set of parity flips in the topological cluster is the onewith the fewest number of errors. Given a set of parity flips measured in thetopological cluster we connect them in a pairwise fashion such that the totallength of all connections is minimised. This is a well known classical problemand was solved by Edmonds in 1967 [44] who developed a classical algorithm forminimum weight perfect matching who’s runtime scales polynomially with thenumber of nodes (which in our case corresponds to the number of parity flips weobserve).
What occurs in a physical quantum computer built using this model? For theTQC model, the physical quantum hardware is responsible for preparing the lassical Control of Large-Scale Quantum Computers 9 lattice. If we assume that the physical qubits in the quantum computer aresingle particles of light (photons), then each photon is prepared from a sourceand sent through the quantum computer to be entangled with its neighbours[36]. Each 2-dimensional cross-section of the lattice is prepared sequentially asphotons ”flow” through the quantum hardware.
Fig. 5.
From Ref. [24]. Architecture for an optical quantum computer. Single photonsare prepared, sent through a preparation network which is responsible for creatingthe topological lattice. After the lattice is prepared it flows into detector arrays whichperforms measurement to perform computation.
Photons are continuously injected into the rear of the preparation network.Each passes through a network of quantum devices, which act to link themtogether into the topological lattice. Each quantum device operates on a funda-mental clock cycle, T , and each device operates in a well-defined manner. Oncea given photon has been connected to its relevant neighbours, it does not have towait until the rest of the lattice is constructed, it can be measured immediately.This is exactly how the actual computer will operate. The lattice is consumedat the same rate at which it is created, hence in the third dimension there onlyexists a small number of 2D cross-sections at any given time.As one dimension of the topological lattice is identified as simulated time,the total 2D cross section defines the actual size of the quantum computer. Thelattice is built such that when each 2D cross-section is measured, all encodedinformation is teleported to the next successive layer along the direction of sim-ulated time allowing an algorithm to be implemented (in a similar manner tostandard cluster state computation [41]).In Figure 6 we illustrate the structure of the detection system. A given unitcell flows through a set of nine optical fibres which carry the individual photonsthat have been linked together in the lattice. As they flow into the detectors theparity of the cell is calculated as, P ( i, j, T ) = ( s T − i,j ) + s T ( i − ,j ) + s T ( i,j − + s T ( i,j +1) + s T ( i +1 ,j ) + s T +1( i,j ) ) mod 2 (3) Fig. 6.
Detection array for a topological quantum computer where each qubit is asingle photon. where s Ti,j is the detection result (1 ,
0) of detector ( i, j ) at time T .Error decoding and correction must occur in real-time as the computer isoperating in order to ensure the system will operate correctly. Hence the classicaldata processing much be done efficiently, fast and in a highly parallel way. The error correction decoding problem is a classical software and hardware op-timisation problem to effectively perform the minimum weight perfect match-ing algorithm to an arbitrarily large topological lattice running at high speeds.Resource estimates for topological quantum computing has shown that to suc-cessfully implement fully error corrected, large-scale algorithms would require anenormous topological lattice [42]. The results of Ref. [42] indicate that a lattice ofthe order of a billion cells in cross-section, running for a year at 10 nanosecondsper cross-sectional sheet is necessary to factor a 1024-bit number using Shor’salgorithm. At 6-bits of raw data per cell, we would need to classically processon the order of (6 × ) / (30 × − ) = 2 × bits/second of data to performerror correction decoding for the entire computation.This clearly is a phenomenal amount of data that needs to be processed whilethe computer is running. Clearly we require a large amount of parallel processingand a modular classical processing framework to decode error correction data fora full-scale machine. There has been work attempting to address this problemwhich falls into two categories. The first is further optimisation of the minimumweight perfect matching algorithm. The Blossom V algorithm is currently usedwhen performing simulations of the topological cluster state model [45] andwe can examine its performance for large lattices [Figure 7]. From this figure(which was produced by running the algorithm on a standard laptop) shows thatBlossom V runs far too slowly to handle the processing of error correction data for lassical Control of Large-Scale Quantum Computers 11 Fig. 7.
Processing speed of Blossom V [45] as a function of the total number of qubits ina 2D cross-section of the topological lattice. Each curve represents a different physicalerror rate of each qubit, p . This plot was produced with a standard laptop with nofurther optimisation. a large-scale computer. This necessitates further optimisation of the algorithm.Work by Fowler and others [46,47] attempts to rectify this problem, but atthis stage no benchmarking has been performed using this package. The secondcategory is dedicated hardware implementations of the decoding operations [24].There are several steps which is illustrated in Figure. 8. Raw Data Parity FilteringInput Processing for matchingMinimum weight matchingOutput Processing
Fig. 8.
Processing stages for error decoding in the topological model.
The raw data is the bit streams coming directly from the quantum hardware.Parity filtering is the first step, where the co-ordinates of unit cells that haveexperienced a parity flip are retained and all other data is disregarded. This canreduce the amount of information as the probability that a unit cell of the latticewill experience a parity flip is of the order of the error rate of each qubit, p , whichwill be approximately 0.1% [48]. The next step is to convert the collection of co-ordinates into a graph which is used as input for the minimum weight matching algorithm. This data will produce a lookup table associating a vertex numberfor the graph with the co-ordinate of the relevant cell. The matching algorithmcomes next and will produce a list of bi-partite connections telling us whichnodes in the graph are connected. Output processing then converts these nodesback into the cell co-ordinates allowing us to correct the actual errors.Each of these stages will have to be handled by dedicated circuits, built pri-marily for speed. This has not currently been done and we do not have evidenceif current technology is sufficient to achieve fast enough speeds for quantumcomputing systems. For various physics related reasons, we do not wish to slowdown the operational speed of the quantum hardware to accommodate slow clas-sical processing. The speed of the classical system mush be commensurate withthe quantum system (which can vary between 10ns and 10ms depending on theunderlying technology). The first generation of quantum computers will be slow,so the demands on the classical hardware should not be too significant in theshort term. But more futuristic technology is being developed [49] and will run atmuch higher clock rates. Designing the classical system with these faster systemsin mind should ensure that quantum computer development is not bottleneckedby the necessary classical systems being underdeveloped. We wish to thank Ashley Stephens for producing the image in Figure 7.
References
1. Nielsen, M., Chuang, I.: Quantum Computation and Information. Second edn.Cambridge University Press (2000)2. Gaebel, T., Domhan, M., Popa, I., Wittmann, C., Neumann, P., Jelezko, F.,Rabeau, J., Stavrias, N., Greentree, A., Prawer, S., Meijer, J., Twamley, J., Hem-mer, P., Wrachtrup, J.: Room Temperature coherent control of coupled single spinsin solid. Nature Physics (London) (2006) 408–4133. Hanson, R., Awschalom, D.: Coherent manipulation of single spins in semiconduc-tors. Nature (London) (2008) 1043–10494. Press, D., Ladd, T.D., Zhang, B., Yamamoto, Y.: Complete quantum control ofa single quantum dot spin using ultrafast optical pulses. Nature (London) (2008) 218–2215. Politi, A., Matthews, J., O’Brien, J.: Shor’s quantum factoring algorithm on aphotonic chip. Science (2009) 12216. Pla, J., Tan, K.Y., Dehollain, J.P., Lim, W.H., Morton, J.J.L., Jamieson, D.N.,Dzurak, A.S., Morello, A.: A single-atom electron spin qubit in Silicon. Nature(London) (2012) 541–5457. Lucero, E., Barends, R., Chen, Y., Kelly, J., Mariantoni, M., Megrant, A.,O’Malley, P., Sank, D., Vainsencher, A., Wenner, J., White, T., Yin, Y., Cle-land, A.N., Martinis, J.: Computing prime factors with a Josephson phase qubitquantum processor. Nature Physics (2012) 719–7238. Ladd, T., Jelezko, F., Laflamme, R., Nakamura, Y., Monroe, C., O’Brien, J.: Quan-tum Computing. Nature (London) (2010) 45–53lassical Control of Large-Scale Quantum Computers 139. Vinci, W., Albash, T., Mishra, A., Warburton, P.A., Lidar, D.A.: DistinguishingClassical and Quantum Models for the D-Wave Device. arxiv:1403.4228 (2014)10. Boixo, S., Ronnow, T.F., Wecker, S.I.Z.W.D., Lidar, D., Martinis, J., Troyer, M.:Quantum annealing with more than one hundred qubits. Nature Physics (2014)21811. Shin, S., Smith, G., Smolin, J., Vazirani, U.: How ”Quantum” is the D-WaveMachine? arxiv:1401.0787 (2014)12. Barends, R., Kelly, J., Megrant, A., Veitia, A., Sank, D., Jeffrey, E., White, T.,Mutus, J., Fowler, A., Campbell, B., Chen, Y., Chen, Z., Chiaro, B., Dunsworth,A., Neill, C., O‘Malley, P., Roushan, P., Vainsencher, A., Wenner, J., Korotkov,A., Cleland, A., Martinis, J.: Logic gates at the surface code threshold: Super-conducting qubits poised for fault-tolerant quantum computing. arXiv:1402.4848(2014)13. Choi, T., Debnath, S., Manning, T., Figgatt, C., Gong, Z.X., Duan, L.M., Monroe,C.: Optimal quantum control of multi-mode couplings between trapped ion qubitsfor scalable entanglement. arxiv:1401.1575 (2014)14. Devitt, S., Munro, W., Nemoto, K.: Quantum error correction for beginners. Rep.Prog. Phys. (2013) 07600115. Steane, A.: Quantum Computing and Error Correction. Decoherence and itsimplications in quantum computation and information transfer, Gonis and Turchi,eds, pp.284-298 (IOS Press, Amsterdam, 2001), quant-ph/0304016 (2001)16. Calderbank, A., Rains, E., Shor, P., Sloane, N.: Quantum Error Correction viaCodes Over GF(4). IEEE Trans. Inform. Theory (1998) 136917. Knill, E., Laflamme, R., Viola, L.: Theory of Quantum Error Correction for GeneralNoise. Phys. Rev. Lett. (2000) 252518. Aharonov, D., Ben-Or, M.: Fault-tolerant Quantum Computation with constanterror. Proceedings of 29th Annual ACM Symposium on Theory of Computing(1997) 4619. Kitaev, A.: Quantum Computations: algorithms and error correction. Russ. Math.Serv. (1997) 119120. Dennis, E., Kitaev, A., Landahl, A., Preskill, J.: Topological Quantum Memory.J. Math. Phys. (2002) 445221. Raussendorf, R., Harrington, J., Goyal, K.: A Fault-tolerant one way quantumcomputer. Ann. Phys. (2006) 224222. Raussendorf, R., Harrington, J.: Fault-tolerant quantum computation with highthreshold in two dimensions. Phys. Rev. Lett. (2007) 19050423. Fowler, A., Mariantoni, M., Martinis, J., Cleland, A.: Surface codes: Towardspractical large-scale quantum computation. Phys. Rev. A. (2012) 03232424. Devitt, S., Fowler, A., Tilma, T., Munro, W., Nemoto, K.: Classical ProcessingRequirements for a Topological Quantum Computing Systems. Int. J. Quant. Inf. (2010) 125. Duclos-Cianci, G., Poulin, D.: Fault-Tolerant Renormalization Group Decoded forAbelian Topological Codes. Quant. Inf. Comp. (2014) 072126. Kliuchnikov, V., Maslov, D., Mosca, M.: Asymptotically optimal approximationof single qubit unitaries by Clifford and T circuits using a constant number ofancillary qubits. Phys. Rev. Lett. (2013) 19050227. Meter, R.V., Itoh, K.: Fast Quatum Modular Exponentiation. Phys. Rev. A. (2005) 05232028. Zalka, C.: Fast Versions of Shor’s quantum factoring algorithm. quant-ph/9806084(1998)4 Classical Control of Large-Scale Quantum Computers29. Vedral, V., Barenco, A., Ekert, A.: Quantum Networks for elementary arithmeticoperations. Phys. Rev. A. (1996) 14730. Choi, B., Meter, R.V.: A Θ ( √ n )-depth Quantum Adder on a 2D NTC QuantumComputer Architecture. ACM Journal on Emerging Technologies in ComputerSystems (JETC) (2011) 1131. Cleve, R., Watrous, J.: Fast Parallel circuits for the quantum fourier transform.Proc. 41st Annual IEEE Symposium on Foundations of Computer Science (FOCS2000) (2000) 526–53632. Meter, R.V., Itoh, K.: Fast Quantum Modular Exponentiation. Phys. Rev. A. (2005) 05232033. Raussendorf, R., Harrington, J., Goyal, K.: Topological fault-tolerance in clusterstate quantum computation. New J. Phys. (2007) 19934. Fowler, A., Goyal, K.: Topological cluster state quantum computing. Quant. Inf.Comp. (2009) 72135. Stock, R., James, D.: A Scalable, high-speed measurement based quantum com-puter using trapped ions. Phys. Rev. Lett. (2009) 17050136. Devitt, S., Fowler, A., Stephens, A., Greentree, A., Hollenberg, L., Munro, W.,Nemoto, K.: Architectural design for a topological cluster state quantum computer.New. J. Phys. (2009) 08303237. Nemoto, K., Trupke, M., Devitt, S., Stephens, A., Buczak, K., Nobauer, T., Everitt,M., Schmiedmayer, J., Munro, W.: Photonic architecture for scalable quantuminformation processing in NV-diamond. arXiv:1309.4277 (2013)38. Jones, N.C., Meter, R.V., Fowler, A., McMahon, P., Kim, J., Ladd, T., Yamamoto,Y.: A Layered Architecture for Quantum Computing Using Quantum Dots. Phys.Rev. X. (2012) 03100739. Meter, R.V., Ladd, T., Fowler, A., Yamamoto, Y.: Distributed Quantum Com-putation Architecture Using Semiconductor Nanophotonics. Int. J. Quant. Inf. (2010) 29540. Monroe, C., Raussendorf, R., Ruthven, A., Brown, K., Maunz, P., Duan, L.M.,Kim, J.: Large Scale Modular Quantum Computer Architecture with Atomic Mem-ory and Photonic Interconnects. Phys. Rev. A. (2014) 02231741. Raussendorf, R., Briegel, H.J.: A One way Quantum Computer. Phys. Rev. Lett. (2001) 518842. Devitt, S., Stephens, A., Munro, W., Nemoto, K.: Requirements for fault-tolerantfactoring on an atom-optics quantum computer. Nature Communications (2013)252443. Gottesman, D.: PhD Thesis (Caltech). quant-ph/9705052 (1997)44. Edmonds, J.: Paths, trees, and flowers. Canadian J. Math. (1965) 44945. Kolmogorov, V.: Blossom V: A new implementation of a minimum cost perfectmatching algorithm. Math. Prog. Comp. (2009) 4346. Fowler, A., Whiteside, A., Hollenberg, L.: Towwards practical classical processingfor the surface code: Timing analysis. Phys. Rev. A. (2012) 04231347. Fowler, A.: Minimum weight perfect matching in O(1) parallel time.arxiv:1307.1740 (2013)48. Stephens, A.: Fault-tolerant thresholds for quantum error correction with thesurface code. Phys. Rev. A. (2014) 02232149. Kane, B.: A Silicon-Based nuclear spin Quantum Computer. Nature (London)393