Skip to content
Back to the collection

Surface codes: Towards practical large-scale quantum computation

Austin G. Fowler, Matteo Mariantoni, John M. Martinis, Andrew N. Cleland

2012 · arXiv

Read the paper
HN score
1
Mentions
8
Readers
3
Months
8
What’s in a score?

From the abstract

This article provides an introduction to surface code quantum computing. We first estimate the size and speed of a surface code quantum computer. We then introduce the concept of the stabilizer, using two qubits, and extend this concept to stabilizers acting on a two-dimensional array of physical qubits, on which we implement the surface code. We next describe how logical qubits are formed in the surface code array and give numerical estimates of their fault-tolerance. We outline how logical qubits are physically moved on the array, how qubit braid transformations are constructed, and how a braid between two logical qubits is equivalent to a controlled-NOT. We then describe the single-qubit Hadamard, S and T operators, completing the set of required gates for a universal quantum computer. We conclude by briefly discussing physical implementations of the surface code. We include a number of appendices in which we provide supplementary information to the main text.

Metadata: arXiv. Abstracts retain their original authors’ rights.

In the conversation

Original HN comments, with labels from simple text rules. A label describes the whole comment and may miss context or irony. Read the discussion to make up your own mind. About the labels

8 selected excerpts · 8 total mentions

Strilanc
Recommendation · rule
That paper is hilarious, and is correct that there's plenty of shit to make fun of... but there's also progress. I recommend watching Sam Jacques' talk from PQCrypto 2025 [0]. It would be silly to delay PQC adoption because of focusing on the irrelevant bad papers. In the past ten years, on the theory side, the expected cost of cryptographically relevant quantum factoring has dropped by 1000x [1][2]. On the hardware side, fault tolerance demonstrations have gone from repetition code error rates of 1% error per round [3] to 0.00000001% error per round [fig3a of 4], with full quantum codes being demonstrated with an error rate of 0.2% [fig1d of 4] via a 2x reduction in…
Read the full comment
error each time distance is increased by 2. If you want to track progress in quantum computing, follow the gradual spinup of fault tolerance. Noise is the main thing blocking factoring of larger and larger numbers. Once the quality problem is turned into a quantity problem, then those benchmarks can start moving. [0]: https://www.youtube.com/watch?v=nJxENYdsB6c [1]: https://arxiv.org/abs/1208.0928 [2]: https://arxiv.org/abs/2505.15917 [3]: https://arxiv.org/abs/1411.7403 [4]: https://arxiv.org/abs/2408.13687
s1dev
Neutral mention · rule
There is an extremely broad range of scaling between linear and exponential… Even in architectures with nearest neighbor gates, the (multiplicative) overhead stemming from error correction will only need to be logarithmic in the size of the computation. The constants may be unfavorable, but a log is still a log. See for example https://arxiv.org/abs/1208.0928 and https://arxiv.org/abs/1310.2984
Strilanc
Neutral mention · rule
> [0.1% gate error rate] is still wildly out of reach This is false. When Fowler et al assumed 0.1% gate error rates would be reached for his estimates in 2012 [0], that was ostentatious. Now it's frankly a bit overly conservative. All the big architectures are approaching or surpassing 0.1% gate error rates. From 2022 to 2024, the google team improved mean two qubit gate error rate from 0.6% [1] to 0.4% [2]. Quantinuum's Helios has a two qubit gate error rate of 0.08% [3]. IBM has Heron processors available on their cloud service with two qubit gate error rates ranging from 0.2% to 0.7% [4]. Neutral atom machines have demonstrated 0.5% gate error rates [5]. [0]:…
Read the full comment
https://arxiv.org/abs/1208.0928 [1]: fig 1c of https://arxiv.org/pdf/2207.06431 [2]: fig 1b of https://arxiv.org/pdf/2408.13687 [3]: https://arxiv.org/abs/2511.05465 [4]: https://quantum.cloud.ibm.com/computers?processorType=Heron (numbers may vary as the website is not static) [5]: https://arxiv.org/abs/2304.05420
Strilanc
Neutral mention · rule
> The precision in phase needed to perform an accurate QFT scales EXPONENTIALLY with the number of qubits you're trying to transform. This is false. The gates that appear in the textbook QFT circuit (such as the one shown on wikipedia [1]) do mention angles that are exponentially small in N (the number of qubits being operated upon). That may be what's confusing you. But it's well known that the tolerance on those rotations is high, meaning that simply skipping all the exponentially tiny rotations introduces negligible error [2][3]. Here's a simple model. Each time you get a rotation off by an angle of X, add X to the "total algorithm rotation error" R. The chance of an…
Read the full comment
algorithm failing is at most R^2. For example, if R is less than 1 degree then the chance of algorithm failure will be less than 0.03%. That's an acceptable retry chance for Shor's algorithm. The QFT circuit on N qubits performs less than N^2 rotations. So, for R to be less than 1 degree, it's sufficient for each rotation's error X to be less than (1°)/N^2. Therefore the required precision only increases polynomially (like N^2) instead of exponentially (like 2^N). Note the required precision can be improved from O(1/N^2) to O(1/N) using techniques like the qubit recycling QFT [4]. Actually, even if the required precision scaled exponentially, that still wouldn't be an insurmountable problem. Quantum error correction achieves exponentially tighter tolerances from polynomially increasing resources. For example, Ross and Selinger proved that continuous rotations can be approximated to a target error of epsilon using O(log(1/epsilon)) gates from the discrete gate set Clifford+T [4]. And Clifford gates with error below epsilon can be achieved in the surface code using O(log(1/epsilon)^2) noisy qubits for O(log(1/epsilon)) time [5]. And T gates can be achieved by using those reliable Clifford gates to perform magic state distillation of log(1/epsilon)^O(1) T states [6]. Since everything scales polynomially in log(1/epsilon), making epsilon exponentially smaller adds polynomial resources. There is no part of Shor's algorithm that requires resources growing exponentially in n (the number of digits of the number being factored). The practical scaling is more like n^3: factoring a number that's twice as large can be done with ~two times as many qubits running for ~four times as long. Even if the qubits are noisy [7]. [1]: https://en.wikipedia.org/wiki/Quantum_Fourier_transform#/med... [2]: https://arxiv.org/abs/quant-ph/0306018 [3]: https://arxiv.org/abs/quant-ph/9601018 [4]: https://arxiv.org/pdf/quant-ph/9903071#page=12 [5]: https://arxiv.org/abs/1208.0928 [6]: https://arxiv.org/abs/1209.2426 [7]: https://arxiv.org/abs/1905.09749
Strilanc
Neutral mention · rule
Quantum/classical is orthogonal to the analog/digital distinction. There are analog quantum computers and digital quantum computers. Analog quantum computers (like annealers) are simpler to make, and they have a lot more play w.r.t. their building blocks when trying to make interesting effects... but ultimately they are limited by noise. Digital quantum computers restrict themselves to finite gate sets, often requiring expensive decompositions to do basic operations (e.g. [1]), but those gates are compatible with error correction so noise can be suppressed arbitrarily (e.g. [2]). It's very similar to how an analog classical computer can do addition with two resistors and…
Read the full comment
a junction, but the accuracy is limited by the precision of the resistance. Whereas a digital classical computer will decompose the addition problem into bits and gain more precision by adding bits so that increasing precision becomes about increasing quantity instead of quality. [1]: https://www.mathstat.dal.ca/~selinger/newsynth/ [2]: https://arxiv.org/abs/1208.0928
Strilanc
Neutral mention · rule
Wasn't expecting my question to hit top of HN. I guess I'll give some context for why I asked it. I work in quantum error correction, and was trying to collect interesting and quantitative examples of repetition codes being used implicitly in classical systems. Stuff like DRAM storing a 0 or 1 via the presence or absence of 40K electrons [1], undersea cables sending X photons per bit (don't know that one yet), some kind of number for a transistor switching (haven't even decided on the number for that one yet), etc. A key reason quantum computing is so hard is that by default repetition makes things worse instead of better, because every repetition is another chance for an…
Read the full comment
unintended measurement. So protecting a qubit tends to require special physical properties, like the energy gap of a superconductor, or complex error correction strategies like surface codes. A surface code can easily use 1000 physical qubits to store 1 logical qubit [2], and I wanted to contrast that with the sizes of implicit repetition codes used in classical computing. 1: https://web.mit.edu/rec/www/dramfaq/DRAMFAQ.html 2: https://arxiv.org/abs/1208.0928
Strilanc
Neutral mention · rule
No, there's not only one way. Also, IBM did not invent/discover the layout in question (I think?). The article does tone it down later on, at least: > IBM's design shows the best potential to scale by adding more qubits to arrive at a working quantum system The surface code [0] is a good bet in the which-layout-will-work-first race. Mostly because the existing manufacturing capabilities are limited to working on a surface (as opposed to in 3d), and because the surface code has a good threshold error rate (~1%). John Martinis talked about the surface code in a google tech talk [1]. 0: http://arxiv.org/pdf/1208.0928.pdf 1: https://youtu.be/HQmFEt6l6Tw?t=21m24s

Keep following the thread.

More in Physics

More from the same topics.