Up to this point in my life, I’ve only learned the most basic aspects about quantum error correction (QEC) and quantum error correction codes (QECC). The quantum circuits produced by my “circuit generator” programs like Lisbeth do not include QEC. To round out my education, I’ve been learning more about QEC for the past few weeks. Consider me only a passing tourist in the country of QEC.
In my opinion, your first tourist destination in the country of QEC, the very best place to start learning about QEC, should be Chapter 7 of Preskill’s Course 219. However, Preskill has decided to pull a joke on us by omitting all the figures from his Chapter 7 and, it appears, he has also forbidden all his students from posting them on the internet. Really funny John!
After Chapter 7, the best path for a curious tourist to take when visiting QEC country for the first time, becomes much more debatable. There are hundreds of papers on QEC to choose from, depending on your taste. The field has continued to grow steadily since it began in 1995 with twin papers by Shor and Steane.
I was raised as a Catholic (couldn’t help it. Italian surname). Somehow, the experience of being a tourist in the country of QEC reminds me of the experience of being a tourist in Vatican City. There is some beauty there (like in the Vatican art, for example), maybe even some saintly people, but there is much to criticize too.
Basic Idea Quite Trivial
QEC is a straightforward generalization of classical error correction (CEC). The basic idea behind both CEC and QEC seems pretty trivial to the casual observer and tourist.
In CCE, given a message consisting of k bits, you code it (i.e., expand it) to n bits, where n>k. The idea is to build a signal that has the original message somehow embedded in it, plus some extra redundancy. When this signal goes through a channel that adds noise to it, the noise does not degrade the original message excessively. Because of the redundancy, you are able to successfully retrieve (decode) the vast majority of the original message.
QEC is very similar to CEC except that you deal with vector spaces instead of strings of bits. A simplified picture that I like to use to explain QEC is as follows. Suppose your original message lives in a vector space, say a 2D plane, called the message plane. Suppose you code things by embedding the message plane into a bigger vector space, say a 3D space. Then suppose the 3D space goes through a noisy channel that rotates the message plane but does not change what is written in that plane. Let me refer to the rotation induced by the noisy channel as “the error”. Suppose you have a way of measuring the error, but only if it’s small enough. Suppose that once you know the error, you have a way of rotating the message plane back to where it was before it was rotated by the noisy channel. That’s the basic idea behind QEC.
Often Ugly, More Math Smoke Than Physics Fire
Although the basic idea behind CEC and QEC is pretty simple, each of them has produced a mountain of very murky mathematical papers that add almost nothing new to the underlying fundamental physics picture. The cause for this proliferation of non-fundamental papers appears to be this: your choice of code is heavily dependent on the noisy channel you are considering, and there is no known way of producing an optimal code for any given noisy channel. Furthermore, the number of possible noisy channels is infinite. Furthermore, sources of noise are often mysterious and not well understood so one often ends up assuming a noise model that may or may not be a close fit to reality.
Not Much Use For The QC Programmer
Future QCs will probably do QEC automatically for the QC programmer . He/she will barely be aware that it is going on behind the scenes…if it is going on at all. Indeed, if anyonic QCs are ever built, QEC will be totally unnecessary. Hence, learning about QEC might be fun but is largely unnecessary for QC programmers.
(It’s possible that anyonic QCs will never be built, but some very smart people —Kitaev, Preskill, Freedman and his Station Q acolytes working at Microsoft/UCSB—seem to believe that they will be.)
Pity the poor QC hardware designer who is betting that his QEC won’t bomb or be superseded
One of the places, although not the only one, in which QEC is used is in QC hardware design. The problem is that QEC is highly hardware dependent. For example, Martinis is currently trying to do QEC for his QC using something called surface codes, because he thinks that surface codes are well suited to his particular QC design and fabrication methods. However, surface codes might bomb (underperform) or be superseded by something better. For an anyonic QC design, no QEC will be required at all. However, an anyonic QC might prove impossible to build or bomb too. In fact, there are NUMEROUS ways of doing QEC besides surface codes and anyons. Some ways of doing QEC are better than others for a particular QC hardware design.
So, grumpy, reluctant tourist, is there anything flattering you have to say about QEC? Well, maybe… The ceiling art and sculptures ain’t too bad. It’s also
QEC is broadly applicable. In fact, QEC is applicable anytime you want to encode a message prior to passing it through a noisy channel, and then decode the signal that arrives on the other side with minimum loss of the original message. Taking this picture to an extreme, Preskill and Hayden have written a paper in which they view a blackhole as such a noisy channel and they apply QEC to that situation, hoping to shed some light on the blackhole information paradox.