Abstract
State distillation is the process of taking a number of imperfect copies of a particular quantum state and producing fewer better copies. Until recently, the lowest overhead method of distilling states produced a single improved A〉 state given 15 input copies. New block code state distillation methods can produce k improved A〉 states given 3k + 8 input copies, potentially significantly reducing the overhead associated with state distillation. We construct an explicit surface code implementation of block code state distillation and quantitatively compare the overhead of this approach to the old. We find that, using the best available techniques, for parameters of practical interest, block code state distillation does not always lead to lower overhead, and, when it does, the overhead reduction is typically less than a factor of three.
Introduction
One of the grand challenges of 21stcentury physics and engineering is to construct a practical largescale quantum computer. One of the primary ways theoretical research can reduce the magnitude of this challenge is to devise ways of performing a given quantum computation using fewer qubits and quantum gates while simultaneously leaving all other engineering targets unchanged.
State distillation^{1,2} is a procedure required by the majority of concatenated quantum error correction (QEC) schemes^{3,4,5,6,7}, with the exception of the Steane code^{8}, and required by the majority of topological QEC schemes^{9,10,11,12,13,14,15,16,17,18,19}, with the exception of a 3D color code^{20} and a nonAbelian code^{21}. As such, the search for lower overhead methods of implementing state distillation is of great importance.
Two recent works^{22,23} are of particular note, both independently proposing block code based methods taking 3k + 8 imperfect copies of a particular state and distilling k improved copies. These works built on the approach of^{24}. However, in all cases, a detailed analysis of the overhead in terms of qubits and quantum gates was not performed. In this work, we explicitly construct a surface code^{19} implementation of one of these block code state distillation methods^{23}. Given a quantum computer consisting of a 2D array of qubits with nearest neighbor interactions^{25,26,27,28}, there is compelling evidence that the surface code is the lowest overhead code achievable^{29}. Furthermore, this code can be used to achieve timeoptimal quantum computation^{30}. The surface code therefore provides an excellent framework to gauge the cost of the new block code state distillation methods.
The discussion shall be organized as follows. We first illustrate a quantum circuit that can be used to perform block code state distillation. Next we perform a detailed comparison of the overhead of concatenated 15to1 and block code state distillation. We then summarize our results and discuss further work.
Results
Block code state distillation
Figure 1 illustrates a quantum circuit to implement the block code state distillation protocol of Jones^{23}. This protocol uses a delayed application of T gates to eliminate X errors as illustrated in Figure 2. Details of the state distillation protocol can be found in the methods section.
In Figure 3 we show a rearranged version of Figure 1 that is more convenient for physical implementation. A surface code CNOT is shown in Figure 4^{12,13,19}. This topological structure can be arbitrarily deformed without changing the computation it implements. This permits direct implementation of the bent CNOTs (Figure 5). This can be compressed to Figure 6. See the supplementary material for a stepbystep description of the compression process and larger versions of these figures.
Overhead comparison
Suppose we desire logical A〉 states with error p_{out} and can prepare logical A〉 states with error p_{in}. We will consider values p_{in} = 10^{−2}, 10^{−3}, and 10^{−4}, as this covers the plausibly achievable range given the current state of quantum technology, and values p_{out} = 10^{−5}, …, 10^{−20}, as this covers essentially the entire range that could forseeably be useful in a practical quantum algorithm.
The process of preparing arbitrary logical states is called state injection, and in the surface code approximately 10 gates are required to work before error protection is available^{19}. It is therefore reasonable to assume the physical gate error rate p_{g} is an order of magnitude less than p_{in}. The logical error rate per round of error detection in a square patch of surface code as a function of p_{g} and code distance d is shown in Figure 7^{31}.
Focusing initially on the simpler 15to1 concatenated distillation process, the topological structure required for a single level of distillation is shown in Figure 8. Dark structures are called dual defects, light structures are called primal defects. The geometric volume of the structure can be defined as the number of primal cubes in a minimum volume cuboid containing the structure. In this case, the structure is 6 cubes high, 16 cubes wide, and 2 cubes deep, for a total V = 192. Each primal cube has dimensions d/4, each longer prism has length d. Each unit of d in the temporal direction (up in Figure 8) corresponds to a round of surface code error detection, each unit of d in the two spatial directions corresponds to two qubits. It is therefore straightforward to convert the geometric volume to an absolute volume in units of qubitsrounds. A fragment of the complete structure of edge length 5d/4 with a primal cube potentially centered within it is called a plumbing piece. Geometric volume is therefore in units of plumbing pieces. In order to calculate the overhead of state distillation, we will need to first reasonably upper bound the probability of logical error per plumbing piece.
Consider a forest of straight, d separated parallel defects of circumference d, as shown in Figure 9. Each defect can be assumed responsible for logical errors connecting it to two of its neighboring defects and also self encircling logical errors. The probability of each of these types of logical error per round of error detection can be upper bounded by the probability of logical error per round of error detection of a square surface. There are more potential logical errors per round connecting opposing boundaries in a square surface of distance d than there are connecting distinct defects or encircling a single defect.
Given the per round probability of logical error p_{L}(d, p_{g}) of a square surface, we can upper bound the logical error rate of a plumbing piece P_{L}(d,p_{g}) by 2 × 3 × 5d/4 × p_{L}(d,p_{g}), where the factor of 5d/4 is for the number of rounds of error detection in a plumbing piece, the factor of 3 is for the number of distinct classes of logical error, and the factor of 2 is due to the fact that a single plumbing piece can contain both a primal and a dual defect. From Figure 7, p_{L}(d,p_{g}) ~ 0.1(100p_{g})^{(d+1)/2}, implying P_{L}(d,p_{g}) ~ d(100p_{g})^{(d+1)/2}.
Given input error rate p_{in}, with 15to1 state distillation the output error rate can be made arbitrarily close to p_{dist} = 35p^{3} by using a sufficiently large d to eliminate logical errors during distillation. However, logical errors do not need to be completely eliminated, and we define to be the amount of logical error introduced. For , the logical circuitry introduces as much error as distillation fails to eliminate, and . We shall assume that logical failure anywhere during distillation leads to the output being incorrect and accepted.
Let us consider a specific example. Suppose p_{in} = 10^{−3}, our desired p_{out} = 10^{−15}, and our chosen . Our top level of state distillation must therefore have a probability of logical error no more than . Given V = 192 for 15to1 state distillation, this means we need VP_{L}(d,p_{g}) = 192P_{L}(d,10^{−4}) < 5 × 10^{−16}, implying d = 19. The states input to the top level of distillation must have an error rate no more than . Since this is less than p_{in}, more state distillation is required. Our second level of state distillation must have a probability of logical error no more than , implying d = 9. The states input to the second level of distillation must have an error rate no more than . Since this is greater than p_{in}, no further distillation is required. The absolute volume of the d = 19 top level and 15 d = 9 second level distillation structures is 3.1 × 10^{7} qubitsrounds.
In practice, the computation of the previous paragraph is performed for a range of values of , and the value leading to minimum volume chosen. Table I contains the minimum volumes in qubitsrounds for the range of input and output error rates of interest. Our goal is to improve these numbers using block code state distillation. Italicized entries indicate inputoutput parameters for which block code state distillation failed to reduce the overhead.
Given values of p_{in} and p_{out}, we can choose an arbitrary value of k and for a top level of block code state distillation, and calculate the required block input error rate . Concatenated 15to1 distillation will then be used to reduce p_{in} to p_{k}. The geometric volume of block code state distillation is 96k + 216. We must therefore choose a top level code distance sufficiently large to satisfy . Given the absolute volume V_{b} of the block code used, and the absolute volume V_{15} of each 15to1 concatenated structure used to produce an input to the block code stage, the total absolute volume assigned to each output will be (V_{b} + (3k + 8)V_{15})/k.
The minimum absolute volume found for arbitrary k and is shown in Table II. Italicized volumes are lower than the corresponding concatenated 15to1 volumes (and twolevel block code distilled volumes to be discussed shortly). In all cases, the volume reduction is less than a factor of three and was typically a factor of two for the cases in which a reduction was observed at all. Note that a reduction is observed when concatenated 15to1 distillation needs an additional level (bold entries in Table I). This makes sense, as when just a little more distillation is required, it is better to use the lower overhead block code approach.
Continuing similarly, we constructed Table III assuming two top levels of block code state distillation. Note that errors can be correlated in the output of a single instance of block code state distillation, so with two levels of distillation one would arrange the topological structures in two orthogonal layers so that outputs from the first layer go into distinct block codes state distillation structures in the second layer. This is discussed in more detail in^{23,24}. We found the minimum volume varying , k_{1} and k_{2}, where k_{1} and k_{2} are the k values of the first and second layers of block distillation, respectively. Where further improvement was observed, this was typically quite modest, usually less than a factor of two.
Discussion
We have presented an explicit extendable topological structure corresponding to computation in the surface code that implements the block code state distillation procedure of^{23}. Every effort was made to make this topological structure as compact as possible using available techniques^{29}. Despite this, we found only a modest overhead reduction, on average a factor of two to three, when using block code state distillation for favorable parameters. Parameter ranges were found in which block code state distillation leads to higher overhead.
At first, it may seem surprising that (3k + 8)tok distillation is not universally better than 15to1 distillation and that the advantage, when observed, is so modest. However, 15to1 reduces the error by far more, taking p to 35p^{3}, whereas (3k + 8)tok only takes p to (3k + 1)p^{2}. Furthermore, the overhead per 15to1 output is 192 plumbing pieces, versus our current best block code structure which uses (96k + 216)/k plumbing pieces per output, which is not massively less. These properties, when the appropriate code distance is chosen at each level, particularly when one keeps in mind that larger values of k lead to larger topological structures that require larger code distances, lead to the 15to1 approach having lower asymptotic overhead than (3k + 8)tok for all values of k. Block code state distillation is therefore only useful when one has first used 15to1 and not quite reached the target output error rate, with only a small amount of additional distillation required. When 15to1 gets you just below the target output error rate, block code state distillation at present offers no advantages.
Even if one ignores the cost of Clifford gates and only considers the cost of magic states, the analysis in^{23} shows that block codes are not the most efficient choice for the early rounds of distillation. The numerical results therein show that a hybrid scheme of 15to1 distillation followed by block codes leads to optimal performance for output error 10^{−12}, though the performance improvement over a concatenated 15to1 protocol is only about a factor of two or three, which is consistent with our results.
Two research directions will be explored to further reduce the overhead of state distillation. Firstly, block codes of distance higher than two, and secondly, more advanced methods of compressing the complex and extendable encoding circuitry of block codes.
Methods
Block code state distillation
The state we are interested in distilling is . An extendable quantum circuit taking 3k + 8 copies of A〉, each with probability p of error, and producing k copies, each with probability approximately (3k + 1)p^{2} of error^{23}, is shown in Figures 1–2. The T = exp(−iπ/8σ^{z}) gate application is delayed using the circuit of Figure 2a. This circuit has the additional advantage of eliminating X errors from the T gate, leaving us only needing to detect Z errors. X and Z stand for Pauli σ^{x} and σ^{z}, respectively. Each T gate consumes one A〉 state as shown in Figure 2b. All output states are discarded if any errors are detected. Figure 1 has been designed to detect a Z error during any single T gate. All other quantum gates are assumed to be perfect, or at least sufficiently reliable that the probability of error from gate failure is negligible compared to the probability of error from multiple T gate errors. The first order probability that the outputs will be rejected is therefore approximately (3k + 8)p, with this expression being approximate due to the ability of Figure 2b to introduce S errors and the ability of Figure 2a to filter out everything except Z errors. First order expressions are appropriate as we restrict ourselves to (3k + 8)p ≪ 1.
For k = 2 + 4j, the block code has the property that transversal S^{†}X implements logical SX on each encoded logical qubit. Each logical qubit is prepared in A〉, and hence in the absence of errors the multiple A〉 block code will be in the +1 eigenstate of transversal S^{†}X = T^{†}XT. The top qubit of Figure 1 should therefore report +1, with all output discarded if −1 is reported. This single measurement is sufficient to detect a single Z error during the first two layers of T gates.
The block code has four stabilizers, specifically X_{0}X_{2}X_{3} … X_{k}_{+2}, X_{1}X_{2} … X_{k}_{+1}X_{k}_{+3}, Z_{0}Z_{2}Z_{3} … Z_{k}_{+2}, and Z_{1}Z_{2} … Z_{k}_{+1}Z_{k}_{+3}. Detecting a Z error in the final layer of T gates involves using the stabilizers X_{0}X_{2}X_{3} … X_{k+2} and X_{1}X_{2} … X_{k}_{+1}X_{k}_{+3}. For arbitrary encoded logical states, in the absence of errors, the block code will be in the +1 eigenstate of these stabilizers. If the products of the individual X basis measurements comprising these stabilizers are not both +1, all output is discarded.
Assuming the above three checks are passed, all output is accepted, with byproduct Z operators noted as follows. For each encoded logical qubit 0 ≤ n < k, the associated logical X operator takes the form X_{n}_{+2}X_{k}_{+2}X_{k}_{+3}. If the product of these measurements is −1, a byproduct Z is associated with output n.
References
 1.
Bravyi, S. & Kitaev, A. Universal quantum computation with ideal Clifford gates and noisy ancillas. Phys. Rev. A 71, 022316 (2005). Quantph/0403025.
 2.
Reichardt, B. W. Quantum Universality from Magic States Distillation Applied to CSS Codes. Quant. Info. Proc. 4, 251 (2005). Quantph/0411036.
 3.
Shor, P. W. Scheme for Reducing Decoherence in Quantum Computer Memory. Phys. Rev. A 52, R2493 (1995).
 4.
Laflamme, R., Miquel, C., Paz, J. P. & Zurek, W. H. Perfect Quantum Error Correcting Code. Phys. Rev. Lett. 77, 198 (1996). Quantph/9602019.
 5.
Bacon, D. Operator quantum errorcorrecting subsystems for selfcorrecting quantum memories. Phys. Rev. A 73, 012340 (2006). Quantph/0506023.
 6.
Knill, E. Quantum Computing with Realistically Noisy Devices. Nature 434, 39 (2005). Quantph/0410199.
 7.
Fujii, K. & Yamamoto, K. Topological OneWay Quantum Computation on Verified Logical Cluster States. Phys. Rev. A 82, 060301(R) (2010). ArXiv:1008.2048.
 8.
Steane, A. M. Multiple Particle Interference and Quantum Error Correction. Proc. R. Soc. Lond. A 452, 2551–2576 (1996). Quantph/9601029.
 9.
Bravyi, S. B. & Kitaev, A. Y. Quantum codes on a lattice with boundary. quantph/9811052 (1998).
 10.
Dennis, E., Kitaev, A., Landahl, A. & Preskill, J. Topological quantum memory. J. Math. Phys. 43, 4452–4505 (2002). Quantph/0110143.
 11.
Bombin, H. & MartinDelgado, M. A. Topological Quantum Distillation. Phys. Rev. Lett. 97, 180501 (2006). Quantph/0605138.
 12.
Raussendorf, R. & Harrington, J. FaultTolerant Quantum Computation with High Threshold in Two Dimensions. Phys. Rev. Lett. 98, 190504 (2007). Quantph/0610082.
 13.
Raussendorf, R., Harrington, J. & Goyal, K. Topological faulttolerance in cluster state quantum computation. New J. Phys. 9, 199 (2007). Quantph/0703143.
 14.
Ohzeki, M. Accuracy thresholds of topological color codes on the hexagonal and squareoctagonal lattices. Phys. Rev. E 80, 011141 (2009). ArXiv:0903.2102.
 15.
Katzgraber, H. G., Bombin, H., Andrist, R. S. & MartinDelgado, M. A. Topological color codes on Union Jack lattices: A stable implementation of the whole Clifford group. Phys. Rev. A 81, 012319 (2010). ArXiv:0910.0573.
 16.
Bombin, H. Clifford Gates by Code Deformation. New J. Phys. 13, 043005 (2011). ArXiv:1006.5260.
 17.
Bombin, H. Topological Subsystem Codes. Phys. Rev. A 81, 032301 (2010). ArXiv:0908.4246.
 18.
Fowler, A. G. 2D color code quantum computation. Phys. Rev. A 83, 042310 (2011). ArXiv:0806.4827.
 19.
Fowler, A. G., Mariantoni, M., Martinis, J. M. & Cleland, A. N. Surface codes: Towards practical largescale quantum computation. Phys. Rev. A 86, 032324 (2012). ArXiv:1208.0928.
 20.
Bombin, H. & MartinDelgado, M. A. Topological Computation without Braiding. Phys. Rev. Lett. 98, 160502 (2007). Quantph/0610024.
 21.
Bonesteel, N. E. & DiVincenzo, D. P. Quantum Circuits for Measuring LevinWen Operators. Phys. Rev. B 86, 165113 (2012). ArXiv:1206.6048.
 22.
Bravyi, S. & Haah, J. Magic state distillation with low overhead. Phys. Rev. A 86, 052329 (2012).
 23.
Jones, N. C. Multilevel distillation of magic states for quantum computing. Phys. Rev. A 87, 042305 (2013).
 24.
Meier, A. M., Eastin, B. & Knill, E. Magicstate distillation with the fourqubit code. arXiv:1204.4221 (2012).
 25.
Devitt, S. J. et al. Architectural design for a topological cluster state quantum computer. New. J. Phys. 11, 083032 (2009). ArXiv:0808.1782.
 26.
Amini, J. M. et al. Scalable ion traps for quantum information processing. New J. Phys. 12, 033031 (2010). ArXiv:0909.2464.
 27.
Jones, N. C. et al. Layered architecture for quantum computing. Phys. Rev. X 2, 031007 (2012). ArXiv:1010.5022.
 28.
Kumph, M., Brownnutt, M. & Blatt, R. TwoDimensional Arrays of RF Ion Traps with Addressable Interactions. New J. Phys. 13, 073043 (2011). ArXiv:1103.5428.
 29.
Fowler, A. G. & Devitt, S. J. A bridge to lower overhead quantum computation. arXiv:1209.0510 (2012).
 30.
Fowler, A. G. Timeoptimal quantum computation. arXiv:1210.4626 (2012).
 31.
Fowler, A. G., Whiteside, A. C., McInnes, A. L. & Rabbani, A. Topological code Autotune. Phys. Rev. X 2, 041003 (2012). ArXiv:1202.6111.
Acknowledgements
A.G.F. acknowledges support from the Australian Research Council Centre of Excellence for Quantum Computation and Communication Technology (project number CE110001027), with support from the US National Security Agency and the US Army Research Office under contract number W911NF0810527. Supported by the Intelligence Advanced Research Projects Activity (IARPA) via Department of Interior National Business Center contract number D11PC20166. S.J.D. is supported in part through the Quantum Cybernetics (MEXT) and FIRST projects, Japan. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon. Disclaimer: The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of IARPA, DoI/NBC, or the U.S. Government.
Author information
Affiliations
Centre for Quantum Computation and Communication Technology, School of Physics, The University of Melbourne, Victoria 3010, Australia
 Austin G. Fowler
National Institute for Informatics, 212 Hitotsubashi, Chiyodaku, Tokyo 1018430, Japan
 Simon J. Devitt
Edward L. Ginzton Laboratory, Stanford University, Stanford, California 943054088, USA
 Cody Jones
Authors
Search for Austin G. Fowler in:
Search for Simon J. Devitt in:
Search for Cody Jones in:
Contributions
A.G.F. conceived the idea, C.J. constructed the original protocol and circuits for block code state distillation. S.J.D. and A.G.F. constructed the topological versions of the circuit and wrote the manuscript. All authors contributing to editing of the final draft.
Competing interests
The authors declare no competing financial interests.
Corresponding author
Correspondence to Austin G. Fowler.
Supplementary information
PDF files
 1.
Supplementary Information
Surface code implementation of block code state distillation
Rights and permissions
This work is licensed under a Creative Commons AttributionNonCommercialNoDerivs 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/byncnd/3.0/
To obtain permission to reuse content from this article visit RightsLink.
About this article
Further reading

1.
Roads towards faulttolerant universal quantum computation
Nature (2017)

2.
Stepbystep magic state encoding for efficient faulttolerant quantum computation
Scientific Reports (2015)

3.
Dualcode quantum computation model
Quantum Information Processing (2015)
Comments
By submitting a comment you agree to abide by our Terms and Community Guidelines. If you find something abusive or that does not comply with our terms or guidelines please flag it as inappropriate.