Quantum advantage loosely means that a quantum computer can perform some particular computation significantly faster than a classical computer or that no classical computer can perform it at all. Quantum supremacy is commonly simply a synonym for quantum advantage, or it may be quantum advantage on steroids — a much more dramatic or more pervasive advantage, over a broader range of applications and computations.
Yes, these are indeed buzzwords which are devoid of any particularly coherent and definitive technical meaning, the kind of terms which appeal to marketeers, promoters, and other purveyors of hype. Still, they do have at least some passing merit and relevance to technical folks, at least until more definitive terms become available.
This informal paper will attempt to provide workable definitions for both terms, as well as detail some of the issues and opportunities relating to the usage of these terms. It won’t endeavor to provide a deep and absolutely definitive analytical framework, but will endeavor to provide a comprehensive high-level view.
I’ll offer more detailed definitions in a moment, but first I’ll offer very simplified definitions for more general consumption:
- quantum advantage. A quantum computer can perform a particular computation significantly faster than even the best classical computer. And in some cases, a quantum computer can perform computations which no classical computer can perform at all — also referred to as quantum supremacy.
- quantum supremacy. A quantum computer is able to compute a solution to a particular problem when no classical computer is able to do so at all or in any reasonable amount of time. Does not imply either an advantage or supremacy for any other problems beyond the particular problem or niche of closely related problems. Alternatively, quantum advantage across a wide range of applications and computations. Or, possibly simply a synonym for quantum advantage.
There are plenty of nuances and details to attach to those over-simplified definitions, which we will come to shortly.
Alas, sometimes the two terms are used as synonyms, with no clarity as to the true intended meaning. Welcome to the world of marketing, buzzwords, and hype.
And if you’re interested in quantum supremacy in particular, also read the section Breadth of quantum supremacy since quantum supremacy for one person or app does not necessarily mean quantum supremacy for everyone and all apps. So, when you hear a claim of quantum supremacy, simply ask “How broad is that claim?”.
Now, from my Quantum Computing Glossary, I offer the following detailed definitions for quantum advantage and quantum supremacy:
- quantum advantage. At least in the context of a particular application of interest, a quantum computer can perform a computation significantly faster than even the best classical computer or no classical computer may be able to perform the computation at all — or at least not in some reasonable amount of time or with a reasonable number of classical computers in a distributed or networked configuration. Note that a quantum advantage in one or more applications does not necessarily imply an overall quantum advantage in any other application or across all applications. The central essence of quantum advantage is quantum parallelism which enables quantum algorithms to execute with a computational complexity which is polynomial in contrast with classical algorithms which tend to have a greater (worse) computational complexity which is superpolynomial, such as exponential. Or in general, the computational complexity of an algorithm on a quantum computer grows significantly more slowly than for the best comparable algorithm on the best classical computer as the size of the input or complexity of the problem to be solved grows — Big-O for a quantum algorithm on a quantum computer is much smaller than Big-O for the best algorithm on a classical computer. May sometimes be used as a synonym for quantum supremacy, quantum preeminence, or quantum ascendency. May refer to a specific characterization of how much faster or better a quantum computer can execute a particular algorithm compared to a comparable algorithm on a classical computer — the specific advantage. See also: quantum speedup. May also refer to the eventual advantage and promise of quantum computers, as opposed to capabilities which are available today or likely will be in the fairly near-term future.
- quantum supremacy. A quantum computer is able to compute a solution to a problem when no classical computer is able to do so — or at least not in some reasonable amount of time or with a reasonable number of classical computers. Implies quantum advantage. Does not imply either an advantage or supremacy for any other problems beyond the particular problem or niche of closely related problems. Alternatively, quantum advantage across a broad range of applications and categories of computations, rather than limited to a particular problem or niche of closely related problems. May also be merely a synonym for quantum advantage unless clear from context. A synonym for quantum computational supremacy, quantum preeminence, or quantum ascendency. See the Wikipedia Quantum supremacy article and the Characterizing Quantum Supremacy in Near-Term Devices paper by Boixo, et al. Also see the definition and discussion in the Quantum computing and the entanglement frontier paper by Preskill.
If you’re confused about computational complexity, the concept will be explained in subsequent sections of this paper, including so-called Big-O notation.
Again, there are no clear, definitive, and authoritative definitions for these terms, but my definitions are intended to capture the essence of current usage and apparent current best practice.
That said, the reader must take every use of these terms with a very large grain of salt, paying close attention to the particular context.
So, if someone refers to quantum advantage, inquire as to the specific advantage, and whether the advantage is for a particular application or particular computation, or applies more broadly. And whether they really mean quantum supremacy.
And if someone refers to quantum supremacy, inquire as to whether they are referring to a broad range of applications and computations, or whether they are simply referring to the quantum advantage for a single, particular application or computation.
Breadth of quantum supremacy
It is quite possible and even reasonable for someone to claim quantum supremacy for a single, particular, niche problem or application, even if they have neither claimed nor demonstrated quantum supremacy for any other problems or applications. That’s the nature of this loose jargon we are saddled with.
So, when you hear a claim of quantum supremacy, simply ask “How broad is that claim?”.
I’ve identified some distinctions of breadth of quantum supremacy, a spectrum if you will:
- Single, particular, niche problem or application — of theoretical, non-practical interest only.
- Single, particular, niche problem or application — of practical, real-world interest.
- Narrow niche of related problems or applications. Of practical, real-world interest, by definition. Be sure to clearly identify the niche. Ditto for all of the remaining distinctions.
- General niche of related problems or applications.
- Broad niche of related problems or applications.
- Multiple niches of problems or applications.
- Many niches of problems or applications.
- Narrow category of related problems or applications. Be sure to clearly identify the category.
- General category of related problems or applications.
- Broad category of related problems or applications.
- Multiple categories of problems or applications.
- Many categories of problems or applications.
- All categories of problems or applications.
Single vs. multiple classical computers
Technically, any quantum advantage or supremacy should probably be evaluated by comparing a single quantum computer to a single classical computer, but it’s not that simple, for two reasons:
- Cost is a real issue. A single quantum computer may be very expensive, while a single classical computer is now a very cheap commodity. It may make more sense to compare any advantage or supremacy on a cost or cost-adjusted basis. So, we could compare a single $1.5 million dollar quantum computer to a distributed network of 1,000 $1,500 classical computers.
- Distributed computing is now the accepted paradigm for high-performance classical computing. So-called fat nodes — a single machine with lots of memory and processors — are now less common and even discouraged in many contexts. A supercomputer these days is really usually a very large number of commodity processors wired together. Any computationally-intense application which is a candidate for quantum computing would tend to have its classical equivalent implemented by a significant number of relatively cheap distributed or networked classical processors — anywhere from 4 to 8, 16 to 64, 256, or 1,024 or even more.
Nobody is going to suggest a network of a million or a billion classical computers, or even 50,000 or 10,000, but 64, 128, 256, 512, or 1,024 are very practical configurations today for high-end applications.
Oops… minor correction there — I just read something about Netflix running “millions of containers on thousands of machines” and even three years ago it was reported that “Netflix operates “many tens of thousands of servers and many tens of petabytes of storage” in the Amazon cloud”, so excluding 10,000 or even 50,000 from the range of reasonable network sizes is not so far-fetched. And a recent report has Apple running 160,000 servers for the Cassandra database! But… so far, nobody is talking about a single company with a million machines. Okay, maybe Google has over a million — one report speculates 900,000 or even over a million servers, and that was in 2011.
In any case, for the purposes of judging quantum advantage and quantum supremacy, I would suggest using the criteria of:
- Comparable total system cost.
- A reasonable number of machines for a single application — excluding the mega-huge Internet giants such as Google, Apple, Facebook, and Microsoft.
Assuming a quantum computer cost in the $1 million to $25 million range (D-Wave Systems currently has a system for $15 million), and a typical server cost on the order of $1,500 per year, that would suggest a cost-based comparison of 10,000 servers to a single quantum computer.
But just for simplicity, I’ll suggest that quantum advantage and quantum supremacy should generally presume that one quantum computer be compared to anywhere from eight to 1,000 classical servers.
Sure, for some applications it might make sense to use 10,000 or more classical servers, but that seems a bit extreme.
I suspect that in most cases 8 to 128 classical computers would be sufficient to maximize classical compute throughput, and that going beyond that will frequently hit the wall of diminishing returns for many applications.
But if you want to pick one number to simplify discussion, I’d pick 256 or 1024 classical computers in a distributed network as a sweet spot to target.
Computational complexity — also known as algorithmic complexity — is a measure of how long an application or algorithm will take to run to complete its intended task. It also measures amount of resources, such as memory and storage, but ultimately time is the primary factor of concern.
Time can be measured using a wall clock (or calendar) — hours, minutes, seconds, or even days or months — or by counting operations — the individual steps in an algorithm.
Operations on a classical computer are statements in a high-level programming language or machine language instructions.
Operations on a quantum computer are quantum logic gates, although circuit depth can be a better measure since it takes into account the fact that many gates can be executed in parallel, at least in theory.
Greater computational complexity means the application or algorithm will take longer to run — it will require the execution of more operations, which usually translates into longer wall clock time.
For more detail, see the Wikipedia Computational complexity theory article.
Hybrid mode execution
Quantum computers are not currently fully general-purpose computers since they don’t have conditional execution, looping, function calls, I/O, database access, interprocess communication, access to network services, or most of the rich data types of even the most basic classical computers. This means that most applications for quantum computers must be split into two sets of parts — the classical parts and the quantum parts, with the quantum parts executed as subroutines from the classical parts.
This complicates computational complexity analysis since the classical code has its own computational complexity and the total complexity will be a blend of the two separate computational complexities.
A primary challenge will be identifying how many times the quantum parts must be executed (quantum subroutine calls) to complete the full application.
Alternatively, one can simply analyze the computational complexity of the quantum parts alone and compare them to comparable classical implementations of comparable algorithms.
But even then, the whole point is the net impact on the full application — how much of an advantage is gained by throwing a quantum computer into the mix compared to a purely classical implementation.
Big O notation
Computational complexity is commonly expressed using the shorthand of Big-O notation.
“O” is shorthand for on the order of, indicating the approximate magnitude rather than a very specific value.
I won’t go into the details here (see the Wikipedia Big O notation article for detail), but simply indicate that O(n²) and O(n³) are examples of polynomial complexity and O(2^n) and O(3^n) are examples of exponential complexity.
n refers to the length or size of the input — how many data elements must processed. Or, how many values must be evaluated in the range of a variable.
The expression inside parentheses indicates how many operations must be performed to process those n data elements.
“^” is a shorthand for exponent or power — the base is raised to some exponent or power.
For more detail, see the Wikipedia Big O notation article.
Polynomial vs. exponential complexity
As already mentioned, an application or algorithm which has polynomial computational complexity is superior to one which has exponential computational complexity.
Polynomial complexity or polynomial time means the input size is raised to some constant power or exponent, typically 2 or 3, but it could be any relatively small number — O(n²), O(n³), or O(n^k).
Exponential complexity or exponential time means some relatively small constant number, such as 2 or 3, raised to a power or exponent proportional to the input size — O(2^n), O(3^n), or O(k^n).
To be clear, polynomial complexity can grow very rapidly as input size grows, but the point is that exponential complexity will grow much, much faster.
Some brief examples for both.
Let’s use example values of 10, 100, and 1,000 for n, the input size.
On a quantum computer we focus on algorithms which have polynomial complexity. That’s not to say that all quantum algorithms will have polynomial complexity, but that’s the norm when quantum parallelism can be used.
For an exponent of 2, polynomial complexity would require O(10²), O(100²), or O(1000²) operations.
- 10² is 100 operations.
- 100² is 10,000 operations.
- 1000² is 1,000,000 operations. One million.
For an exponent of 3, polynomial complexity would require O(10³), O(100³), or O(1000³) operations.
- 10³ is 1,000 operations — 10 times 100.
- 100³ is 1,000,000 operations. One million — 100 times 10,000.
- 1000³ is 1,000,000,000 operations. One billion — 1,000 times 1,000,000.
Meanwhile, over on a classical computer, even if we have a substantial network of classical computers, we tend to encounter exponential complexity. That’s not to say that all classical algorithms are exponential — and many are indeed simply polynomial — but the applications and algorithms which are exponential are generally the only ones worth moving to a quantum computer.
For a base of 2, exponential complexity would require O(2¹⁰), O(2¹⁰⁰), or O(2¹⁰⁰⁰) operations.
- 2¹⁰ is 1,024 operations.
- 2¹⁰⁰ is 10 followed by 29 zeros operations. That’s a huge number. That’s why a quantum computer with an algorithm of polynomial complexity is needed
- 2¹⁰⁰⁰ is 10 followed by 300 zeros operations. That’s way beyond huge. Only a quantum computer could handle that.
How big of an exponential problem can a classical computer handle?
- 2²⁰ is about one million operations. Not such a big deal
- 2³⁰ is about one billion operations. A moderate deal, doable, but likely requires more than one machine.
- 2⁴⁰ is about one trillion operations. Still technically feasible, but likely requiring a larger network of computers and/or a very long running time.
- 2⁵⁰ is about one quadrillion operations. The realm of petaflops, the realm of the largest supercomputers.
- 2⁶⁰ is about a million quadrillion. 1,000 of the largest classical supercomputers.
- 2⁷⁰ is about a billion quadrillion. A million of the largest classical supercomputers.
- 2⁸⁰ is about a trillion quadrillion. A billion of the largest classical supercomputers.
- 2⁹⁰ is about a quadrillion quadrillion. A trillion of the largest classical supercomputers. Or, 1,000 of the largest classical supercomputers running for a billion seconds — 32 years. Imaginable, yes, but not very likely to happen. Really need a quantum computer.
- 2¹⁰⁰ … a million of the fastest classical supercomputers running for 32 years. Or, 1,000 of those machines running for 32,000 years.
- 2¹¹⁰ … a million of the fastest classical supercomputers running for 32,000 years. Certainly feels beyond imaginable.
- 2²⁷⁵ is roughly the number of atoms in the universe. Don’t even think about trying it on even the largest imaginable network of largest classical supercomputers.
Technically, a modern classical supercomputer would be in the range of 10 to 200 petaflops, so my numbers above should be adjusted by a factor or 10 to 200 since I assumed a single petaflop. For more on the top (classical) supercomputers, see the Wikipedia TOP500 article or the TOP500 web site.
And just to be clear, 2¹¹⁰ simply means there are 110 input items. That’s not a lot of input to require such prodigious processing.
For a base of 3, exponential complexity would require O(3¹⁰), O(3¹⁰⁰), or O(3¹⁰⁰⁰) operations.
- 3¹⁰ is about 59,000 operations.
- 3¹⁰⁰ is about 5 followed by 47 zeros operations.
- 3¹⁰⁰⁰ is … too big for even Google to figure out!
- 3⁶⁴⁶ is about 1 followed by 308 zeros.
So, even for input of only 100 items, an algorithm with exponential complexity O(3¹⁰⁰) is unimaginably beyond the capacity of even a large number of the fastest classical supercomputers.
But for a quantum computer with polynomial complexity of O(1000³), 1,000 input values would only be about one billion operations.
Quadratic complexity (quadratic speedup)
There are many other degrees of computational complexity, but one other bears consideration in the context of quantum computing — quadratic speedup.
Quadratic complexity (not speedup) would be O(n²) — squaring the input size. So, 100 items would require 10,000 operations. That’s not what is section is referring to. Technically, quadratic complexity is covered by polynomial complexity.
Rather, a quadratic speedup speaks not of the complexity itself, but of the improvement compared to linear complexity.
With linear complexity, the number of operations is proportional to the input size — O(n).
A quadratic speedup means the inverse of quadratic complexity — O(sqrt(n)) vs. O(n²), and is a lot less than linear complexity.
Grover’s algorithm for searching a linear list of items is the popular example of a quantum algorithm which has a quadratic speedup.
- sqrt(100) is 10. 10 times faster than sequentially processing all items.
- sqrt(10000) is 100. 100 times faster.
- sqrt(1,000,000) is 1,000. 1,000 times faster.
- sqrt(1,000,000,000,000) is 1,000,000. A million times faster.
A quadratic speedup is generally not as big an advantage compared to an exponential speedup, but still quite dramatic.
What applications might be the most ripe for quantum advantage?
I’m a technologist rather than an application developer, so my focus is on raw technology rather than specific applications. It’s so difficult to speculate as to which application categories might achieve a quantum advantage first.
That said, I did post an informal paper that details a variety of application categories that appear to be appropriate for quantum computing — What Applications Are Suitable for a Quantum Computer?.
When will quantum advantage and quantum supremacy be achieved?
It’s anybody’s guess when quantum advantage will be achieved by one or more significant applications, let alone quantum supremacy across a relatively wide swath of applications.
It’s always safe to pontificate that we won’t see quantum advantage and quantum supremacy for at least five to ten years — people have been saying that for the past… five to ten years.
I’ll go out on a limb and assert that we could see at least a few preliminary examples of quantum advantage in two to four years. We should start to see some non-toy applications once we get to 256 to 1024 qubits with decent coherence and decent connectivity.
I’m reasonably confident about that timeframe, but it’s also not an absolute slam dunk.
That said, we will likely see a fair number of claims of quantum advantage between now and then, but usually there will be less than meets the eye. For example, you can do some interesting things with very large numbers of random numbers on a quantum computer, but they don’t represent the kinds of real-world applications that most non-mathematics professionals would relate to.