What Is a Quantum Computer?

This informal paper is designed to provide a brief but meaningful introduction to quantum computers, but without getting bogged down in any of the detailed technical jargon. It should be suitable for technical and non-technical audiences alike, including managers, and executives, as well as technical staff who are not yet familiar with quantum computers.

This is not a tutorial on how to program a quantum computer. It stops short of teaching you about qubits, circuits, the Bloch sphere, superposition, entanglement, interference, wave functions, and probability amplitudes.

But it does offer a reasonably complete panoramic view of what a quantum computer can do for you and when it might and might not be an appropriate choice for solving your application problems.

This paper focuses on what a quantum computer can do for you and generally how it can be used. A separate paper on quantum computing will discuss more of the process of using a quantum computer than what the quantum computer itself does. But some aspects of quantum computing will be included here to keep the narrative flowing smoothly — some features of a quantum computer only make sense if you know how they will be used. It is inevitable that there will be some significant overlap between these two papers.

Caveat: This paper focuses on general-purpose quantum computers, so-called universal gate-based quantum computers. Special-purpose quantum computing devices such as quantum annealing, boson sampling, other forms of so-called photonic quantum computing, and specialized physics simulators are mentioned in passing, but are not a primary focus of this paper.

Topics discussed in this paper:

  1. The elevator pitch on quantum computers
  2. Single sentence definition for quantum computer
  3. Scope
  4. Quantum computers in a nutshell
  5. Quantum effects and how they enable quantum computing
  6. Quantum information
  7. Quantum information science as the umbrella field over quantum computing
  8. Quantum mechanics — can be ignored at this stage
  9. Quantum state
  10. What is a qubit? Don’t worry about it at this stage!
  11. No, a qubit isn’t comparable to a classical bit
  12. A qubit is a hardware device comparable to a classical flip flop
  13. Superposition, entanglement, and product states enable quantum parallelism
  14. k qubits enable a solution space of 2^k quantum states
  15. Product states are the quantum states of quantum parallelism
  16. k qubits enable a solution space of 2^k product states
  17. Qubit fidelity
  18. Qubit connectivity
  19. May not be able to use all of the qubits in a quantum computer
  20. Quantum Volume (QV) measures how many of the qubits you can use
  21. Isolated quantum system
  22. An isolated quantum system can be in any number of levels or states
  23. Qubit is an isolated quantum system
  24. Entangled qubits are an isolated quantum system
  25. Qubit as a two-level quantum system
  26. Entangled qubits as a multi-level quantum system
  27. Programming model
  28. Ideal quantum computer programming model not yet discovered
  29. Quantum applications and quantum algorithms
  30. Post-processing of the results from a quantum algorithm
  31. Quantum circuits and quantum logic gates — the code for a quantum computer
  32. Algorithmic building blocks, design patterns, and application frameworks are critical to successful use of a quantum computer
  33. Quantum Fourier transform (QFT) and quantum phase estimation (QPE) are critical to successful use of a quantum computer
  34. Components of a quantum computer
  35. Access to a quantum computer
  36. Where are we at with quantum computing?
  37. Much research is still needed
  38. Quantum computers are still in the pre-commercialization phase
  39. More suited for the lunatic fringe who will use anything than for normal, average technical staff
  40. Still a mere laboratory curiosity
  41. Beware of premature commercialization
  42. Doubling down on pre-commercialization is the best path forwards
  43. What production-scale practical real-world problems can a quantum computer solve — and deliver so-called quantum advantage, and deliver real business value?
  44. The ENIAC Moment — proof that quantum computer hardware is finally up to the task of real-world use
  45. The time to start is not now unless you’re the elite, the lunatic fringe
  46. Little data with a big solution space
  47. Very good at searching for needles in haystacks
  48. Quantum parallelism
  49. The secret sauce of quantum computing is quantum parallelism
  50. Combinatorial explosion — moderate number of parameters but very many combinations
  51. But not good for Big Data
  52. What applications are suitable for a quantum computer?
  53. What can’t a quantum computer compute?
  54. How do you send input data to a quantum computer? You don’t…
  55. Any input data must be encoded in the quantum circuit for a quantum algorithm
  56. Measurement — getting classical results from a quantum computer
  57. Extracting useful results from a massively parallel quantum computation
  58. Quantum advantage
  59. Dramatic quantum advantage is the real goal
  60. Quantum advantage — make the impossible possible, make the impractical practical
  61. Fractional quantum advantage
  62. Net quantum advantage — discount by repetition needed to get accuracy
  63. To be clear, quantum advantage is a function of the algorithm
  64. Quantum supremacy
  65. Random number-based applications are actually commercially viable today
  66. Quantum supremacy now: Generation of true random numbers
  67. How many qubits does your quantum computer have?
  68. Need to summarize capabilities for quantum computers, algorithms, and applications
  69. Quantum computer types and technologies
  70. Quantum computer types
  71. General-purpose quantum computers
  72. Universal general-purpose gate-based quantum computer
  73. Vendors of general-purpose quantum computers
  74. Special-purpose quantum computing devices
  75. Special-purpose quantum computers or special-purpose quantum computing devices?
  76. General-purpose vs. special-purpose quantum computers
  77. Don’t get confused by special-purpose quantum computing devices that promise much more than they actually can deliver
  78. Qubit technologies
  79. Qubit modalities
  80. Quantum computer technologies
  81. Qubit types
  82. Qutrits, qudits, and qumodes
  83. Ideal quantum computer type not yet discovered
  84. Ideal quantum computer technology not yet discovered
  85. Coherence and coherence time
  86. Gate execution time — determines how many gates can be executed within the coherence time
  87. Maximum quantum circuit size — limits size of quantum algorithms
  88. Another quantum computer technology: the simulator for a quantum computer
  89. Simulators for quantum computers
  90. Classical quantum simulator
  91. Two types of simulator and simulation
  92. Classical quantum simulator
  93. Simulation — simulating the execution of a quantum algorithm using a classical computer
  94. Context may dictate that simulation implies simulation of science
  95. Capabilities, limitations, and issues for quantum computing
  96. Quantum computers are inherently probabilistic rather than absolutely deterministic
  97. Quantum computers are a good choice when approximate answers are acceptable
  98. Statistical processing can approximate determinism, to some degree, even when results are probabilistic
  99. As challenging as quantum computer hardware is, quantum algorithms are just as big a challenge
  100. What is the best training for quantum computing?
  101. Getting started with IBM Qiskit Textbook
  102. Might a Quantum Winter be coming?
  103. No, Grover’s search algorithm can’t search or query a database
  104. No, Shor’s factoring algorithm probably can’t crack a large encryption key
  105. Quantum computer vs. quantum computing vs. quantum computation
  106. Quantum computer vs. quantum computer system vs. quantum processor vs. quantum processing unit vs. QPU
  107. Quantum computer as a coprocessor rather than a full-function computer
  108. Quantum computers cannot fully replace classical computers
  109. Noise, errors, error mitigation, error correction, logical qubits, and fault tolerant quantum computing
  110. NISQ — Noisy Intermediate-Scale Quantum computers
  111. Near-perfect qubits as a stepping stone to fault-tolerant quantum computing
  112. Quantum error correction (QEC) remains a distant promise, but not critical if we have near-perfect qubits
  113. Circuit repetitions as a poor man’s approximation of quantum error correction
  114. Beyond NISQ — not so noisy or not intermediate-scale
  115. Configurable packaged quantum solutions are the greatest opportunity for widespread adoption of quantum computing
  116. Quantum networking and quantum Internet — research topics, not a near-term reality
  117. What could you do with 1,000 qubits?
  118. 48 fully-connected near-perfect qubits may be the limit for practical quantum computers
  119. Universal quantum computer is an ambiguous term
  120. Practical quantum computing isn’t really near, like within one, two, or three years
  121. A practical quantum computer would be ready for production deployment to address production-scale practical real-world applications
  122. What is quantum computing?
  123. List of my papers on quantum computing
  124. Definitions from my Quantum Computing Glossary
  125. Jargon and acronyms — most of it can be ignored unless you really need it
  126. Quantum hype — enough said
  127. My original proposal for this topic
  128. Summary and conclusions

The elevator pitch on quantum computers

So, what’s a quantum computer?

A quantum computer is a specialized electronic device which is able to perform a fairly small calculation on a very large number of possible solution values all at once, producing a solution value in a very short amount of time. This parallel evaluation of a large number of alternatives is known as quantum parallelism.

A quantum computer is not a full-blown computer capable of the full range of computation of a classical computer, but can perform carefully chosen and crafted calculations at a rate far exceeding the performance of even the best classical supercomputers.

Quantum computers are still in their infancy, demonstrating rudimentary capabilities, and not even close to being able to address production-scale practical real-world applications and not even close to being ready for production deployment, but are available in limited capacities for prototyping and experimentation, even as significant research continues.

Quantum applications are a hybrid of classical code and quantum algorithms. Most of the application, including any complex logic, is classical, while small but critical and time-consuming calculations can be extracted and transformed into quantum algorithms which can be executed in a much more efficient manner than is possible with even the most powerful classical supercomputers.

Single sentence definition for quantum computer

A quantum computer is a specialized electronic device which is able to perform a fairly small calculation on a very large number of possible solution values all at once using a process known as quantum parallelism, producing a solution value in a very short amount of time.

Scope

Although this paper is about quantum computers in general, the main focus is about what a quantum computer can actually accomplish, namely, executing quantum algorithms and producing classical results which can then be used by a classical application. And the assumption is that these results can be achieved in a very tiny amount of time on a quantum computer compared to how long they would take using a classical computer.

The concern here is not so much all of the technical details under the hood — how a quantum computer actually works, such as how quantum operations are implemented, but what the quantum application programmer sees and can expect from a quantum computer — the perspective of quantum algorithm designers and quantum application developers.

Although this paper is billed as focusing on what quantum algorithm designers and quantum application developers can see and expect from a quantum computer, which is roughly known as the programming model, the details of the programming model are at a lower level than the level of this paper, which is intended to be a relatively light and high level introduction to quantum computers.

This paper is not intended to be an introduction to programming quantum computers or algorithm design.

The intention is that there will be a follow-on paper entitled What Is Quantum Computing? which will discuss more of the process of using a quantum computer than what the computer itself does.

Quantum computers in a nutshell

  1. Single sentence definition for quantum computer. A quantum computer is a specialized electronic device which is able to perform a fairly small calculation on a very large number of possible solution values all at once using a process known as quantum parallelism, producing a solution value in a very short amount of time.
  2. The secret sauce of a quantum computer is quantum parallelism — evaluating a vast number of alternative solutions all at once. A single modest computation executed once but operating on all possible values at the same time.
  3. Focus is on specialized calculations which are not easily performed on a classical computer, not because the calculation itself is hard, but because it must be performed a very large number of times.
  4. Perform calculations in mere seconds or minutes which classical computers might take many years, even centuries, or even millennia. Again, not because the individual calculation takes long, but because it must be performed a very large number of times.
  5. Essentially, a quantum computer is very good at searching for needles in haystacks. Very large haystacks, much bigger than even the largest classical computers could search. And doing it much faster.
  6. The optimal use of a quantum computer is for little data with a big solution space. A small amount of input data with a fairly simple calculation which will be applied to a very large solution space, producing a small amount of output. See little data with a big solution space below.
  7. But quantum parallelism is not automatic — the algorithm designer must cleverly deduce what aspect of the application can be evaluated in such a massively parallel manner. Not all algorithms can exploit quantum parallelism or exploit it fully.
  8. The degree of quantum parallelism is not guaranteed and will vary greatly between applications and even depending on the input data.
  9. Combinatorial explosion — moderate number of parameters but very many combinations. These are the applications which should be a good fit for quantum computers. Matching combinatorial explosion with quantum parallelism.
  10. What applications are suitable for a quantum computer?
  11. What can’t a quantum computer compute?
  12. How do you send input data to a quantum computer? You don’t…
  13. Any input data must be encoded in the quantum circuit for a quantum algorithm
  14. Quantum advantage expresses how much more powerful a quantum solution is compared to a classical solution. Typically expressed as either how many times faster the quantum computer is, or how many years, decades, centuries, millennia, or even millions or billions or trillions of years a classical computer would have to run to do what a quantum computer can do in mere seconds, minutes, or hours.
  15. Dramatic quantum advantage is the real goal. A truly mind-boggling performance advantage. One quadrillion or more times a classical solution.
  16. Quantum advantage — make the impossible possible, make the impractical practical. Just to emphasize that point more clearly.
  17. Fractional quantum advantage. A more modest advantage. Substantial or significant would be one million or more times a classical solution. Minimal would be 1,000 times a classical solution.
  18. Net quantum advantage — discount by repetition needed to get accuracy. Quantum advantage can be intoxicating — just k qubits gives you a computational leverage of 2^k, but… there’s a tax to be paid on that. Since quantum computing is inherently probabilistic by nature, you can’t generally do a computation once and have an accurate answer. Rather, you have to repeat the calculation multiple or even many times, called circuit repetitions, shot count, or just shots, and do some statistical analysis to determine the likely answer. Those repetitions are effectively a tax or discount on the raw computational leverage which gives you a net computational leverage, the net quantum advantage.
  19. To be clear, quantum parallelism and quantum advantage are a function of the algorithm. A quantum computer does indeed enable quantum parallelism and quantum advantage, but the actual and net quantum parallelism and quantum advantage are a function of the particular algorithm rather than the quantum computer itself.
  20. What production-scale practical real-world problems can a quantum computer solve — and deliver so-called quantum advantage, and deliver real business value? No clear answer or clearly-defined path to get an answer, other than trial and error, cleverness, and hard work. If you’re clever enough, you may find a solution. If you’re not clever enough, you’ll be unlikely to find a solution that delivers quantum advantage on a quantum computer.
  21. The goal is not simply to do things faster, but to make the impossible possible. To make the impractical practical. Many computations are too expensive today to be practical on a classical computer.
  22. Quantum effects and how they enable quantum computing.
  23. Quantum information. What it is. How it is represented. How it is stored. How it is manipulated in quantum computing.
  24. Quantum information science as the umbrella field over quantum computing. Also covers quantum communication, quantum networking, quantum metrology (measurement), quantum sensing, and quantum information.
  25. Quantum state. How quantum information is represented, stored, and manipulated.
  26. Measurement — getting classical results from a quantum computer.
  27. Extracting useful results from a massively parallel quantum computation.
  28. Quantum computers do exist today, but only in fairly primitive and simplistic form.
  29. They are evolving rapidly, but it will still be a few more years before they can be useful for practical applications.
  30. Practical quantum computing isn’t really near, like within one, two, or three years. Although quantum computers do exist today, they are not ready for production deployment to address production-scale practical real-world applications. And it’s unlikely that they will be in the next one, two, or three years. Sure, there may be some smaller niches where they can actually be used productively, but those would be the exception rather than the rule. Four to seven years is a better bet, and even then only for moderate benefits.
  31. A practical quantum computer would be ready for production deployment to address production-scale practical real-world applications. Just to clarify the terminology — we do have quantum computers today, but they haven’t achieved the status of being practical quantum computers since they are not yet ready for production deployment to address production-scale practical real-world applications.
  32. Much research is still needed. Theoretical, experimental, and applied. Basic science, algorithms, applications, and tools.
  33. Quantum computers are still in the pre-commercialization phase. Focus is on research, prototyping, and experimentation.
  34. Not ready for production-scale practical real-world applications. More capabilities and more refinement are needed.
  35. Production deployment is not appropriate at this time. Not for a few more years, at least.
  36. More suited for the lunatic fringe who will use anything than for normal, average technical staff. It’s still the wild west out there. Great and exciting for some, but not for most.
  37. Still a mere laboratory curiosity. Not ready for production-scale practical real-world applications or production deployment.
  38. Beware of premature commercialization. The technology just isn’t ready yet. Much more research is needed. Much more prototyping and experimentation is needed.
  39. Doubling down on pre-commercialization is the best path forwards. Research, prototyping, and experimentation should be the priorities, not premature commercialization, not production deployment.
  40. The ENIAC Moment — proof that quantum computer hardware is finally up to the task of real-world use. The first time a production-scale practical real-world quantum application can be run in something resembling a production environment. Proves that quantum computer hardware is finally up to the task of real-world use. We’re not there yet, not even close.
  41. The time to start is not now unless you’re the elite, the lunatic fringe. Most normal technical teams and management planners should wait a few years, specifically until the ENIAC Moment has occurred. Everything learned before then will need to be discarded — the ENIAC moment will be the moment when we can finally see the other side of the looking glass, where the real action will be and where the real learning needs to occur.
  42. Quantum computers cannot handle Big Data. They can handle only a small amount of input data and generate only a small amount of output data.
  43. Quantum computers cannot handle complex logic. Only very simple calculations, but applied to a very large number of possible solutions.
  44. Quantum computers cannot handle rich data types. Only very simple numeric calculations.
  45. Quantum computers are inherently probabilistic rather than absolutely deterministic. Not suitable for calculations requiring absolute precision, although statistical processing can approximate determinism.
  46. Quantum computers are a good choice when approximate answers are acceptable.
  47. Statistical processing can approximate determinism, to some degree, even when results are probabilistic. Run the quantum algorithm a bunch of times and statistically analyze the results to identify the more likely, deterministic result.
  48. As challenging as quantum computer hardware is, quantum algorithms are just as big a challenge. The rules for using a quantum computer are rather distinct from the rules governing classical computers, so entirely new approaches are needed for quantum algorithms.
  49. The process of designing quantum algorithms is extremely difficult and challenging. The final algorithm may be very simple, but getting to that result is a great challenge. And testing is really difficult as well.
  50. What is a qubit? Don’t worry about it at this stage! At this stage it isn’t necessary to get into esoteric details such as qubits and how they might be related to the classical bits of a classical computer. All that really matters is quantum parallelism. Qubits are just an element of the technology needed to achieve quantum parallelism.
  51. No, a qubit isn’t comparable to a classical bit. Any more than a car is comparable to a bicycle or a rocket is comparable to an airplane.
  52. A qubit is a hardware device comparable to a classical flip flop. It is used to store and manipulate a unit of quantum information represented as a unit of quantum state.
  53. Superposition, entanglement, and product states enable quantum parallelism. The details are beyond the scope of this paper, but the concepts of superposition, entanglement, and product states are what combine to enable quantum parallelism, the ability to operate on 2^k distinct values in parallel with only k qubits.
  54. k qubits enable a solution space of 2^k quantum states. The superposition, entanglement, and product states of k qubits combine to enable a solution space of 2^k quantum states.
  55. Product states are the quantum states of quantum parallelism. When superposition and entanglement of k qubits enables 2^k quantum states, each of those unique 2^k quantum states is known as a product state. These 2^k product states are the unique values used by quantum parallelism.
  56. k qubits enable a solution space of 2^k product states. More properly, a solution space for k qubits is composed of 2^k product states. Each product state is a unique value in the solution space.
  57. Qubit fidelity. How reliable the qubits are. Can they maintain their quantum state for a sufficiently long period of time and can operations be performed on them reliably.
  58. Qubit connectivity. How easily two qubits can operate on each other. Usually it has to do with the physical distance between the two qubits — if they are adjacent, they generally can operate on each other most efficiently, but if they are separated by some distance, it may be necessary to move one or both of them so that they are physically adjacent, and such movement takes time and can introduce further errors which impact qubit fidelity.
  59. May not be able to use all of the qubits in a quantum computer. Qubit fidelity and issues with qubit connectivity can limit how many qubits can be used in a single quantum computation.
  60. Quantum Volume (QV) measures how many of the qubits you can use.
  61. Isolated quantum system. The fundamental unit of existence in the quantum world.
  62. An isolated quantum system can be in any number of levels or states.
  63. Qubit is an isolated quantum system.
  64. Entangled qubits are an isolated quantum system. Multiple isolated quantum systems get merged into a single quantum system.
  65. Qubit as a two-level quantum system.
  66. Entangled qubits as a multi-level quantum system. Entangling k qubits generally results in 2^k levels or product states. The key factor in quantum parallelism.
  67. Programming model. The details are beyond the scope of this paper, but the rules for how to program a quantum computer are very technical and require great care.
  68. Ideal quantum computer programming model not yet discovered. Research and innovation is ongoing. Don’t get too invested in what we have today since it will likely be obsolete in a few to five to ten years.
  69. Quantum applications and quantum algorithms. Using a quantum computer.
  70. Post-processing of the results from a quantum algorithm. Put the results of the quantum algorithm in a form that classical application code can handle.
  71. Quantum circuits and quantum logic gates — the code for a quantum computer.
  72. Algorithmic building blocks, design patterns, and application frameworks are critical to successful use of a quantum computer. The level immediately above the programming model. But beyond the scope of this paper, which focuses on what the quantum computer itself does.
  73. Quantum Fourier transform (QFT) and quantum phase estimation (QPE) are critical to successful use of a quantum computer. These algorithmic building blocks are profoundly critical to effectively exploiting the computational power of a quantum computer, such as for quantum computational chemistry, but beyond the scope of this paper, which focuses on what the quantum computer itself does.
  74. Quantum computer, quantum processor, quantum processing unit, QPU, and quantum computer system are roughly synonyms. But a few distinctions.
  75. Quantum computer as a coprocessor rather than a full-function computer. Most quantum application code will run on a classical computer with only selected functions offloaded to a quantum processor.
  76. Quantum computers cannot fully replace classical computers. Although eventually they will be merged with classical computers as a universal quantum computer, but that’s far in the future.
  77. Quantum applications are mostly classical code with only selected portions which run on a quantum computer. Most application logic either cannot be performed on a quantum computer at all, or wouldn’t achieve any meaningful quantum advantage over performing it on a classical computer.
  78. A variety of types and technologies for quantum computers. Both general and special purpose. A variety of approaches to storing and manipulating quantum information.
  79. Qutrits, qudits, and qumodes. Alternatives to qubits for more than two quantum states.
  80. Ideal quantum computer type not yet discovered. Research and innovation is ongoing. Don’t get too invested in what we have today since it will likely be obsolete in a few to five to ten years.
  81. Ideal quantum computer technology not yet discovered. Research and innovation is ongoing. Don’t get too invested in what we have today since it will likely be obsolete in a few to five to ten years.
  82. Coherence and coherence time. The ability of a quantum computer to remain in its magical quantum state where quantum effects can be maintained in a coherent manner which enables the quantum parallelism needed to fully exploit quantum computation. Coherence time is generally fairly short for many quantum computer technologies, limiting the size and complexity of quantum algorithms. Some technologies are more coherent than others, meaning they have a longer coherence time, which enables greater size and complexity of quantum algorithms.
  83. Gate execution time — determines how many gates can be executed within the coherence time.
  84. Maximum quantum circuit size — limits size of quantum algorithms.
  85. General-purpose quantum computer. Can be applied to many different types of applications.
  86. Special-purpose quantum computer. Only applies to a relatively narrow niche of applications which meet criteria of the device. May perform some tasks better than a general-purpose quantum computer, but doesn’t perform as many tasks.
  87. Special-purpose quantum computers or special-purpose quantum computing devices? Whether to refer to special-purpose quantum computing devices as special-purpose quantum computers is an interesting semantic challenge and debate. There’s no clear, bright-line answer at this stage. Some will prefer the latter and even simply refer to them as quantum computers despite their lack of being general purpose.
  88. Don’t get confused by special-purpose quantum computing devices that promise much more than they actually can deliver.
  89. Simulators for quantum computers. You don’t need a real quantum computer to run relatively simple quantum algorithms. But complex quantum algorithms will run very slowly or not at all since the whole point of a quantum computer is to greatly outperform even the best classical supercomputers. Simulators are also good for debugging and experimenting with improved hardware before it is even available.
  90. Noise, errors, error mitigation, error correction, logical qubits, and fault tolerant quantum computing. Noise can cause errors. Sometimes errors can be mitigated and corrected. Sometimes they just have to be tolerated. But noise is just a fact of life for quantum computing, for the foreseeable future. Eventually we will get to true fault tolerance, but not soon. Near-perfect qubits will help sooner.
  91. NISQ — Noisy Intermediate-Scale Quantum devices (computers). Official acknowledgement that noise is a fact of life for quantum computing, for the foreseeable future.
  92. Near-perfect qubits as a stepping stone to fault-tolerant quantum computing. Dramatically better than current NISQ devices even if still well-short of true fault-tolerant quantum computing.
  93. Quantum error correction (QEC) remains a distant promise, but not critical if we have near-perfect qubits. Not within the next few years. But not critical as long as we achieve near-perfect qubits within a year or two.
  94. Circuit repetitions as a poor man’s approximation of quantum error correction. By executing the same quantum circuit a bunch of times and then examining the statistical distribution of the results, it is generally possible to determine which of the various results is the more likely result — which result occurs more frequently.
  95. Beyond NISQ — not so noisy or not intermediate-scale. NISQ is technically inaccurate for many current (and future) quantum computers. I’ve proposed some alternative terms to supplement NISQ.
  96. Configurable packaged quantum solutions are the greatest opportunity for widespread adoption of quantum computing. Combine prewritten algorithms and code with the ability to dynamically customize both using high-level configuration features rather than needing to dive deep into actual quantum algorithms or application code. This will likely be the main method by which most organizations exploit quantum computers.
  97. Quantum networking and quantum Internet — research topics, not a near-term reality.
  98. What could you do with 1,000 qubits? Nobody really knows for sure. An open question. Some possibilities can be mentioned.
  99. 48 fully-connected near-perfect qubits may be the limit for practical quantum computers. There are practical limits to real hardware, primarily at the analog interface level.
  100. Universal quantum computer is an ambiguous term. Two valid meanings. First, universal gate set, which means that the machine is capable of all possible functional manipulations of quantum information and implies general purpose, in contrast to special purpose. Second, a universal quantum computer, which is a proposal for a merger of quantum computing and classical computing into a single integrated machine with classical and quantum data coexisting.
  101. What is quantum computing? This paper focuses on what a quantum computer can do for you and generally how it can be used. A separate paper would discuss more of the process of using a quantum computer than what the computer itself does.
  102. No, quantum computers cannot crack encryption keys, today, in the next few years, and possibly ever.
  103. Quantum computers already excel at generating true random numbers. Actually commercially viable today.
  104. Might a Quantum Winter be coming? Not in the next couple of years. But if promised advances don’t materialize over two to three years, then a Quantum Winter might be possible.
  105. No, Grover’s search algorithm can’t search or query a database.
  106. No, Shor’s factoring algorithm probably can’t crack a large encryption key.
  107. The hardware is relatively simple compared to even a typical personal computer, tablet, or even a smartphone, but packaged in a very large system to accommodate cryogenic refrigeration or a vacuum chamber or lots of laser devices and a lot of specialized electronics which has not yet been miniaturized since it is so new and still under active research.
  108. Jargon and acronyms — most of it can be ignored unless you really need it.
  109. Quantum hype — enough said. There’s a lot of it out there. I do address a fair amount of it directly. But a lot of it doesn’t deserve our attention. Just ignore all of the noise.

Quantum effects and how they enable quantum computing

This paper is intended to be a relatively light and high level introduction to quantum computers, so it’s too much to delve deeply into the physics behind quantum computing. All you need to know at this stage is that quantum effects enable quantum parallelism.

But if you do wish to dive deep to understand the physics behind quantum computing, check out my paper:

Quantum information

Once again, this paper is intended to be a relatively light and high level introduction to quantum computers, so it’s too much to delve deeply into the physics behind quantum computing. All you need to know at this stage is that quantum effects enable classical information to be represented, stored, and manipulated in a form that enables quantum parallelism.

If you really want to dive deeply into this more, check out my paper:

Such as the section entitled “Unlike a classical bit, a qubit is a device”. Like I said, it gets complicated.

Quantum information science as the umbrella field over quantum computing

People sometimes treat quantum computing and quantum information science as if they were exact synonyms, but there is a clear distinction. Quantum information science is the umbrella field which covers:

  1. Quantum computing.
  2. Quantum communication.
  3. Quantum networking.
  4. Quantum metrology. Measurement.
  5. Quantum sensing. Including imaging.
  6. Quantum information.

So, quantum computing is certainly part of quantum information science, but there’s more to quantum information science than quantum computing alone.

For more detail on quantum information science, see my paper:

Quantum mechanics — can be ignored at this stage

Quantum mechanics along with quantum effects is the physics that enables quantum computers, but once again this paper is intended to be a relatively light and high level introduction to quantum computers, so it’s too much to delve deeply into the physics behind quantum computers.

But if you do wish to dive deep to understand the physics behind quantum computers, check out my paper on quantum effects:

Quantum state

Quantum state is the essence behind how quantum information is represented, stored, and manipulated in a quantum computer in a form that enables quantum parallelism. But once again this paper is intended to be a relatively light and high level introduction to quantum computing, so it’s too much to delve deeply into the physics behind quantum computers and quantum state.

Quantum state is covered to a significant degree in my paper on quantum information:

What is a qubit? Don’t worry about it at this stage!

At this stage it isn’t necessary to get into esoteric details such as qubits and how they might be related to the classical bits of a classical computer. All that really matters is quantum parallelism. Qubits are just an element of the technology needed to achieve quantum parallelism.

Some of the other esoteric details of quantum computers which we similarly don’t need to get into at this level include:

  1. Quantum state.
  2. Basis states.
  3. Rotation of quantum state about three axes.
  4. Bloch sphere.
  5. Quantum logic gates.
  6. Probability amplitudes.
  7. Phase angle.
  8. Superposition.
  9. Entanglement.
  10. Product states.
  11. Interference.
  12. Quantum mechanics.
  13. Wave function.
  14. Hamiltonian.
  15. Measurement.

No, a qubit isn’t comparable to a classical bit

Again, it isn’t necessary to get into esoteric details such as qubits at this stage — and you really don’t need to know anything about qubits to understand the essence of quantum computers, which is quantum parallelism.

Most puff pieces on quantum computing start by comparing quantum bits (qubits) to classical bits, but they simply aren’t comparable and it gets too complicated to unravel the differences.

Trying to compare quantum bits with classical bits is as useless as comparing:

  1. A car to a bicycle.
  2. A plane to a car.
  3. A boat to a car.
  4. A jet to a plane.
  5. A rocket to a jet.
  6. A rocket to a snail. Hmmm… maybe that’s not such a bad comparison after all! But it’s still more complicated than that.

See also the section above entitled Quantum information. Although if you’re just trying to get a high-level view of quantum computers — which really is the purpose and point of this paper, don’t waste your energy, at least yet, at this stage.

Qubits and quantum information are covered to a significant degree in my paper on quantum information:

A qubit is a hardware device comparable to a classical flip flop

The purpose of a qubit is to store and manipulate a unit of quantum state. This is in much the way that a classical digital electronic flip flop is used to store and manipulate a classical bit.

Quantum state is used to represent a unit of quantum information.

The distinction here is that a classical bit is the actual classical information (0 or 1) while a quantum qubit is a hardware device which stores and manipulates quantum information.

For more on quantum information, see my paper:

Superposition, entanglement, and product states enable quantum parallelism

The details of superposition, entanglement, and product states are beyond the scope of this paper, but they combine to enable quantum parallelism, which is the ability to operate on 2^k distinct values in parallel with only k qubits. Some examples:

  1. 10 qubits can operate on 2¹⁰ or approximately 1,000 distinct values simultaneously.
  2. 20 qubits can operate on 2²⁰ or approximately a million distinct values simultaneously.
  3. 30 qubits can operate on 2³⁰ or approximately a billion distinct values simultaneously.
  4. 40 qubits can operate on 2⁴⁰ or approximately a trillion distinct values simultaneously.
  5. 50 qubits can operate on 2⁵⁰ or approximately a quadrillion distinct values simultaneously.

k qubits enable a solution space of 2^k quantum states

As indicated by the previous section, the superposition, entanglement, and product states of k qubits combine to enable parallel computation on 2^k distinct values (quantum states) simultaneously. This is also referred to as a solution space of 2^k quantum states.

This isn’t quite the same as loading 2^k distinct values into memory, but does enable computations on a wide range of possible values simultaneously.

Product states are the quantum states of quantum parallelism

When superposition and entanglement of k qubits enables 2^k quantum states, each of those unique 2^k quantum states is known as a product state.

These 2^k product states are the unique values used by quantum parallelism.

k qubits enable a solution space of 2^k product states

As we said earlier, a solution space for k qubits is composed of 2^k quantum states, but it is a little more proper and meaningful to say that a solution space for k qubits is composed of 2^k product states, to emphasize that the quantum state requires more than a single qubit.

Each of the 2^k product states is a unique value in the solution space.

Qubit fidelity

Qubit fidelity refers to how reliable the qubits are. Can they maintain their quantum state for a sufficiently long period of time and can operations be performed on them reliably.

For more detail on qubit fidelity, see my paper:

Qubit connectivity

Qubit connectivity refers to how easily two qubits can operate on each other. Usually it has to do with the physical distance between the two qubits — if they are adjacent, they generally can operate on each other most efficiently, but if they are separated by some distance, it may be necessary to move one or both of them so that they are physically adjacent, and such movement takes time and can introduce further errors which impact qubit fidelity.

May not be able to use all of the qubits in a quantum computer

Qubit fidelity and qubit connectivity issues can limit how many qubits can be used in a single quantum computation.

If qubit fidelity and qubit connectivity are too low, errors can accumulate so that at some point it is no longer possible to accurately perform the desired computation. This implicitly limits the number of qubits of the quantum computer that can be used in a quantum computation.

Quantum Volume (QV) measures how many of the qubits you can use

IBM came up with a single performance metric, Quantum Volume (QV), which combines qubit fidelity and any limitations on qubit connectivity.

For more detail on Quantum Volume, see my paper:

Isolated quantum system

Any physical system which has a quantum state is an isolated quantum system.

The isolated quantum system is the fundamental unit of existence in the quantum world.

An isolated quantum system can be in any number of levels or states

A key attribute of quantum systems is that they can be in any of a number of levels or states, or in fact a combination of any of those levels or states.

And the combinations can be probabilistic. The quantum system has a probability of being in any of the quantum states or levels.

And there is no rule that the probabilities must be equal. They can be equal, but they do not have to be.

But there is one rule, that the probabilities for the various states or levels must add up to 1.0 — the quantum system always has to be in one of the states or levels.

Qubit is an isolated quantum system

The individual qubits of a quantum computer are designed to be isolated quantum systems.

They each have a quantum state independent of the other qubits.

At least as long as the qubits remain unentangled — independent of the other qubits.

Entangled qubits are an isolated quantum system

Once you entangle two or more qubits, they take on a single, merged, common, shared quantum state.

Multiple isolated quantum systems get merged into a single quantum system.

The individual qubits are no longer isolated quantum systems. Collectively, the entangled qubits are an isolated quantum system.

The individual qubits are no longer isolated from each other.

But the entangled qubits are still isolated from qubits that they are not entangled with.

Qubit as a two-level quantum system

Any quantum system can be in some number of quantum states, sometimes called levels.

The quantum system can be in a quantum state which is any of the levels or states or a combination of any of the levels. The latter is known as a superposition.

A qubit is a two-level quantum system, or a two-state quantum system if you prefer.

This means that the qubit can be in one of two states or levels, or a combination of the two states or levels.

The two levels or states of a qubit roughly correspond to the binary 0 and 1 of a classical bit.

And each of the two levels or states has a probability. The two probabilities don’t have to be the same, but they do have to add up to 1.0 — the system has to be in one of the two states or levels at all times.

Entangled qubits as a multi-level quantum system

If two or more qubits are entangled, their quantum states are merged into a single, multi-level quantum state. The number of levels can vary, but is generally 2^k for k entangled qubits.

The quantum state for each of the levels of a multi-level system is referred to as a product state.

So, entangling k qubits generally results in 2^k levels or product states.

This is the key factor in quantum parallelism. Performing a single, simple computation on the k bits will perform the computation on all 2^k product states, simultaneously.

Programming model

Although this paper is billed as focusing on what quantum algorithm designers and quantum application developers can see and expect from a quantum computer, which is roughly known as the programming model, the details of the programming model are at a lower level than the level of this paper, which is intended to be a relatively light and high level introduction to quantum computing.

This paper is not intended to be an introduction to programming quantum computers or algorithm design.

Although there are many online resources which can provide an introduction to programming quantum computers and algorithm design, one that stands out is the IBM Qiskit Textbook:

  • Learn Quantum Computation using Qiskit
  • Greetings from the Qiskit Community team! This textbook is a university quantum algorithms/computation course supplement based on Qiskit to help learn:
  • The mathematics behind quantum algorithms
  • Details about today’s non-fault-tolerant quantum devices
  • Writing code in Qiskit to implement quantum algorithms on IBM’s cloud quantum systems
  • https://qiskit.org/textbook/preface.html

There is also a section on Training later in this paper which lists a few training resources.

Ideal quantum computer programming model not yet discovered

Research and innovation for how to represent, store and manipulate quantum information is ongoing. Don’t get too invested in what we have today since it will likely be obsolete in a few to five to ten years.

Quantum applications and quantum algorithms

Quantum applications and quantum algorithms are how you use a quantum computer.

A quantum algorithm describes the functions to be performed by the quantum computer itself.

A quantum application is essentially a normal classical application which invokes quantum algorithms to perform some of its functions.

How much of the classical code is translated to quantum algorithms will vary from application to application. It might be a single function for some applications and many functions for other applications.

And to be clear, the translation process is strictly manual and very tedious, with little opportunity for automation since the programming models of classical computers and quantum computers are so radically different.

Post-processing of the results from a quantum algorithm

A quantum algorithm returns results from a quantum computation which typically then have to be post-processed to put them into a form that the classical code can process as normal classical application data. This post-processing would be performed using classical code in the application.

Quantum circuits and quantum logic gates — the code for a quantum computer

A quantum algorithm might be written in any notation that the quantum algorithm designer chooses to adequately express what the algorithm is trying to accomplish, but such an abstract notation won’t be directly executable by a quantum computer. Once an algorithm has been designed, it must be translated into the machine language of the quantum computer.

A quantum algorithm is translated to a quantum circuit, which is what a quantum computer directly executes.

A quantum circuit consists of a sequence or graph of quantum logic gates which are the elementary operations which a quantum computer can execute.

Quantum logic gates operate directly on qubits, revising their quantum state as dictated by the quantum algorithm.

Getting more technical, each quantum logic gate represents a unitary transformation matrix which specifies how the quantum state of the designated qubit should be rotated about the three axes. But most people can ignore this level of detail, at least at this stage.

Algorithmic building blocks, design patterns, and application frameworks are critical to successful use of a quantum computer

Algorithmic building blocks, design patterns, and application frameworks are the level immediately above the programming model, but they are a software layer which is not technically part of the quantum computer itself.

They are critical, but beyond the scope of this paper, which focuses on the quantum computer itself.

Quantum Fourier transform (QFT) and quantum phase estimation (QPE) are critical to successful use of a quantum computer

Quantum Fourier transform (QFT) and quantum phase estimation (QPE) are algorithmic building blocks which are profoundly critical to effectively exploiting the computational power of a quantum computer — quantum parallelism, especially for applications such as quantum computational chemistry, but beyond the scope of this paper, which focuses on what the quantum computer itself does.

There’s more to quantum computing than the bare hardware of the quantum computer itself.

Measurement — getting classical results from a quantum computer

It won’t do any good to perform a calculation on a quantum computer unless we can get some results which we can then use in the classical code of a quantum application. That’s where measurement comes in.

As each step of a quantum computation proceeds, each qubit contains a fragment of the computation in the form of quantum state. And, entangled qubits share a more complicated form of quantum state known as product state.

Quantum states and product states cannot be observed or measured directly. They aren’t the simple 0 and 1 of classical bits, but more complex forms with probability amplitudes and phase angles. But that’s beyond the scope of this informal paper.

In any case,measurement operations are used to obtain binary approximations of the quantum states of qubits and product states.

However complex the quantum state of a qubit or product state may be, measurement returns an exact binary 0 or 1 for each qubit. The probability of the probability amplitude will bias the result for each qubit more towards 0 or 1.

The loss of the additional information of quantum state and product state is known as the collapse of the wave function. The wave function is what maintains the complex quantum state of a qubit.

But in the end, the quantum application will receive a binary 0 or 1 for each qubit which is measured.

Extracting useful results from a massively parallel quantum computation

Quantum parallelism is a great tool, but after performing that massive number of simple computations in parallel, the question is how you obtain useful results which can be shipped back to the classical code of a quantum application. Unfortunately, there is no simple and pat answer. Great cleverness and care are needed. The details are beyond the scope off this paper, but some of the techniques involve:

  1. Phase angle.
  2. Interference.
  3. Quantum Fourier transform (QFT).
  4. Quantum phase estimation (QPE).
  5. Quantum amplitude amplification (QAA).
  6. Quantum amplitude estimation (QAE).

Components of a quantum computer

Once again, although this paper is about quantum computers in general, it is intended to be a relatively light and high level introduction to quantum computing rather than a peek under the hood at all of the gory internal hardware details. But it is helpful to understand at least the high-level structure of a quantum computer.

The major components of a quantum computer system:

  1. The physical enclosure. The box. The frame or rack holding the various components.
  2. The power supply. Electricity.
  3. Environmental control. General cooling.
  4. Cryostat (dilution refrigerator) or vacuum chamber. Where the actual quantum effects occur. Contains the quantum hardware — the qubits.
  5. Control electronics. Analog electronics to control the quantum electronics, and digital electronics to control the analog electronics.
  6. Microwaves and/or lasers to manipulate quantum state. Control the actual quantum computing, in conjunction with analog control electronics.
  7. Quantum processing unit (QPU). The components above which are actually involved with maintaining and manipulating the quantum states of the qubits.
  8. Cabling. To connect the control electronics to the quantum electronics of the quantum processing unit (QPU) contained in the cryostat or vacuum chamber.
  9. Classical computer. Inside the box. A component of the overall quantum computer system. Overall system management. Oversee execution of quantum algorithms. Interface to the control electronics to execute quantum algorithms. Interface to the network to manage the system and to receive requests to run quantum algorithms. May also permit local execution of all or a portion of the classical code for a quantum application, such as using Qiskit Runtime.
  10. Network access. A quantum computer is generally accessed over a network connection. It may simply be a local network connection or a connection to the Internet to enable cloud access.
  11. Algorithm execution. Software running on the classical computer within the quantum computer system which sequences through the definition of the quantum algorithm and transforms each step of the algorithm from a high-level matrix operation into a stream of requests which are sent to the control electronics to actually perform each step at the quantum level. After sequencing through the entire algorithm which may only take a small fraction of a second, the quantum results are read and sent back to the quantum application for processing by the classical code of the quantum application.
  12. Calibration. Special software running periodically within the quantum computer system which tests and adjusts the quantum components, namely the qubits since although they should be identical, in practice they tend to all operate a little differently.

Of course that’s an over-simplification, but those are the major components.

Generally you don’t need any of that to understand this paper, but some people wish to have that type of backdrop to give the high-level descriptions some context.

Access to a quantum computer

A quantum computer is generally accessed over a network connection.

It may simply be a local network connection or a connection to the Internet to enable cloud access.

A couple of examples:

  1. IBM Quantum. Provides cloud-based access to IBM’s in-house fleet of quantum computers.
  2. Amazon Braket. Provides a “managed quantum computing service” which permits you to access a wide variety of quantum computers from within AWS.
  3. Microsoft Azure Quantum.An open ecosystem to write and run code on a diverse selection of today’s quantum hardware.
  4. Google Quantum Computing Service.Our quantum computing service provides chaperoned access to NISQ processors and our simulator for researchers who aim to advance the state-of-the-art in quantum computing and publicly share their results in algorithms, applications, tools, and processor characterizations.

In theory, customers could have their own dedicated quantum computers in their own data centers, but that’s not appropriate at this stage since quantum computers are still under research and evolving too rapidly for most organizations to make an investment in dedicated hardware. And customers are focused on prototyping and experimentation rather than production deployment.

Access is really beyond the scope of this paper, which is focused on the quantum computer itself rather than how it is accessed or used.

Where are we at with quantum computing?

  1. Much research is still needed. Theoretical, experimental, and applied. Basic science, algorithms, applications, and tools.
  2. Quantum computers are still in the pre-commercialization phase. Focus is on research, prototyping, and experimentation.
  3. Not ready for production-scale practical real-world applications. More capabilities and more refinement are needed.
  4. Production deployment is not appropriate at this time. Not for a few more years, at least.
  5. More suited for the lunatic fringe who will use anything than for normal, average technical staff.
  6. Still a mere laboratory curiosity. Not ready for production-scale practical real-world applications or production deployment.
  7. Beware of premature commercialization. The technology just isn’t ready yet. Much more research is needed. Much more prototyping and experimentation is needed.
  8. Doubling down on pre-commercialization is the best path forwards. Research, prototyping, and experimentation should be the priorities, not premature commercialization.
  9. What production-scale practical real-world problems can a quantum computer solve — and deliver so-called quantum advantage, and deliver real business value? No clear answer or clearly-defined path to get an answer, other than trial and error, cleverness, and hard work. If you’re clever enough, you may find a solution. If you’re not clever enough, you’ll be unlikely to find a solution that delivers quantum advantage on a quantum computer.

Much research is still needed

Much more research is needed in all areas at all levels. Theoretical, experimental, and applied. Basic science, algorithms, applications, and tools.

For more details, see my paper:

Quantum computers are still in the pre-commercialization phase

Focus is on research, prototyping, and experimentation. Definitely not ready for commercialization or production deployment.

For more details on pre-commercialization, see my paper:

More suited for the lunatic fringe who will use anything than for normal, average technical staff

Eventually quantum computing will enter the mainstream of computing, but for now and the foreseeable future it will be suitable only for the lunatic fringe, those elite experts and early adopters who are able to master and exploit the most obscure and difficult to use technology that is far from ready for use by normal, average technical staff.

It’s still the wild west out there. It can be great and exciting, for some, but not for most.

For more on the lunatic fringe, see my paper:

Still a mere laboratory curiosity

Quantum computers are not ready for production-scale practical real-world applications or production deployment and won’t be for the foreseeable future. Sure, they do exist today, but more for prototyping, experimentation, and demonstration than practical use. This makes them mere laboratory curiosities — we can look at them and imagine their future potential, but that potential does not yet exist for production-scale practical real-world applications.

For more on quantum computing being a mere laboratory curiosity, see my paper:

So when will quantum computing advance beyond mere laboratory curiosity? That’s one of the great unknown questions at this stage. It could be a few years. It could be five to seven years. Maybe ten years. Or more. Nobody knows. And I mean nobody!

Beware of premature commercialization

The technology just isn’t ready yet. Much more research is needed. Much more prototyping and experimentation is needed. Premature commercialization at this stage is a really bad idea.

For more detail on premature commercialization, see my paper:

Doubling down on pre-commercialization is the best path forwards

Research, prototyping, and experimentation should be the priorities, not premature commercialization. And definitely not production deployment.

For more detail on this recommendation, see my paper:

What production-scale practical real-world problems can a quantum computer solve — and deliver so-called quantum advantage, and deliver real business value?

There is no clear answer or clearly-defined path to get an answer as to what application problems can effectively be solved using a quantum computer, other than trial and error, cleverness, and hard work.

If you’re clever enough, you may find a solution.

If you’re not clever enough, you’ll be unlikely to find a solution that delivers quantum advantage on a quantum computer.

The ENIAC Moment — proof that quantum computer hardware is finally up to the task of real-world use

The ENIAC Moment is defined as the first time a production-scale practical real-world quantum application can be run in something resembling a production environment. Proves that quantum computer hardware is finally up to the task of real-world use.

We’re not there yet. Not even close.

For more detail, see my paper:

The time to start is not now unless you’re the elite, the lunatic fringe

Most normal technical teams and management planners should wait a few years, specifically until the ENIAC Moment has occurred. Everything learned before then will need to be discarded.

The ENIAC moment will be the moment when we can finally see to the other side of the looking glass, where the real action will be and where the real learning needs to occur.

Little data with a big solution space

The ideal use case for a quantum computer has these qualities:

  1. A small amount of input data.
  2. A fairly simple calculation.
  3. Apply that simple calculation to a very large solution space. Many possible values. The calculation will be replicated for each value in that large solution space, in parallel. Very quickly.
  4. Producing a small amount of output.

Quantum computers have no ability to access files or databases, so they have no access to Big Data per se. The big solution space is the analog to Big Data in quantum computing.

Very good at searching for needles in haystacks

Essentially, a quantum computer is very good at searching for needles in haystacks. Very large haystacks, much bigger than even the largest classical computers could search. And doing it much faster.

Back to little data with a big solution space model, the huge solution space is the haystack to be searched and the solution is the needle to be found.

Quantum parallelism

As mentioned at the start, quantum parallelism is the secret sauce of quantum computing and involves evaluating a vast number of alternative solutions all at once. A single modest computation is executed once but operating on all possible values at the same time.

Essentially, a quantum computer is very good at searching for needles in haystacks. Very large haystacks, much bigger than even the largest classical computers could search. And doing it much faster.

And it was just mentioned that the optimal use of a quantum computer is for little data with a big solution space. A small amount of input data with a fairly simple calculation which will be applied to a very large solution space, producing a small amount of output.

But a difficulty with quantum parallelism is that it is not automatic — the algorithm designer must cleverly deduce what aspect of the application can be evaluated in such a massively parallel manner.

And the ugly truth is that not all algorithms can exploit quantum parallelism or exploit it fully.

Ultimately the degree of quantum parallelism is not guaranteed and will vary greatly between applications and even depending on the input data.

Quantum advantage expresses how much more powerful a quantum solution is compared to a classical solution. It is typically expressed as either how many times faster the quantum computer is, or how many years, decades, centuries, millennia, or even millions or billions or trillions of years a classical computer would have to run to do what a quantum computer can do in mere seconds, minutes, or hours.

Ultimately, the goal is not simply to do things faster, but to make the impossible possible. To make the impractical practical. Many computations are too expensive today to be practical on a classical computer. Quantum parallelism is the means by which this is accomplished.

The secret sauce of quantum computing is quantum parallelism

Just to emphasize the point clearly, the secret sauce of a quantum computer is quantum parallelism, where a vast number of alternative solutions are evaluated simultaneously, all at once. A single modest computation executed once but operating on all possible values at the same time.

Combinatorial explosion — moderate number of parameters but very many combinations

Another way of characterizing the sweet spot for quantum computing is applications which have a moderate number of parameters but a huge number of combinations or permutations of those parameters. What is called a combinatorial explosion.

The combinations of parameters can be evaluated in parallel with one simple computation, far faster than any classical computer or even any large classical supercomputer or large distributed computing cluster.

But not good for Big Data

Curiously, quantum computers have no ability to access files, databases, or network services, or any other source of Big Data, so Big Data is not the kind of haystack that a quantum algorithm can search. As just mentioned in little data with a big solution space, searching a huge solution space is the analog to Big Data for quantum computing. But it’s not Big Data in the classical sense.

The classical portion of a quantum application can indeed access files, databases, network services, and other sources of Big Data, but then only relatively small amounts of that data can be processed on any given invocation of a quantum algorithm, which greatly limits the value of quantum computing for processing that Big Data. Any quantum parallelism would be limited to the small amount of data contained in each chunk.

In fact, a quantum computer would only have value if the classical computing time to process a single element or chunk of Big Data was huge, which is generally not the case. Generally with Big Data the time cost comes from the large volume of data to be processed, not the time to process an individual item or modest chunk of data.

What applications are suitable for a quantum computer?

There are a lot of tricky and obscure criteria for what applications are most appropriate for a quantum computer, but some general categories of applications for quantum computers include:

  1. Optimization, planning, and logistics.
  2. Forecasting.
  3. Financial modeling.
  4. Drug design and discovery.
  5. Genomics.
  6. Cybersecurity and cryptography.
  7. Molecular modeling.
  8. Chemistry modeling, computational chemistry.
  9. Material design and modeling.
  10. Aerospace physics.
  11. Quantum simulation. Simulation of physical systems at the quantum mechanical level.
  12. Artificial intelligence, machine learning.
  13. Random number generation. Such as for public encryption keys.

Although these are generalizations — not all applications in any of these categories would necessarily be suitable for a quantum computer.

For more detail, see my paper:

What can’t a quantum computer compute?

Quantum computers offer some awesome features, but they lack most of the features of a general purpose Turing machine which are offered by all classical computers. A quantum computer is more of a specialized coprocessor than a general purpose computer. Some of the basic features of a classical computer can be mimicked by a quantum computer, but unless your algorithm exploits quantum parallelism to a dramatic degree, it will generally not gain any significant advantage over a classical computer.

A few of the constraints:

  1. No support for control structures. No conditionals, looping, function calls, or recursion.
  2. No rich data types. Even integer and real numbers are not built in. No ability to process raw text.
  3. Very limited algorithm size. Nothing that might take tens of thousands of lines of code.
  4. No support for Big Data.
  5. No support for I/O.
  6. No support for database access.
  7. No support for accessing network services.
  8. No high-level programming model.
  9. No high-level programming languages. For the quantum algorithms themselves, that is.

For more detail, see my paper:

How do you send input data to a quantum computer? You don’t…

It’s a good question, but the answer is simple — you can’t send any input data to a quantum computer, at least not as data.

Rather, any input data for a quantum algorithm must be encoded in the quantum circuit for the quantum algorithm. Tedious, but that’s how it’s done.

Any input data must be encoded in the quantum circuit for a quantum algorithm

As previously stated, you can’t send any input data to a quantum computer, at least not as data.

Rather, any input data for a quantum algorithm must be encoded in the quantum circuit for the quantum algorithm.

Yes, this is tedious, but necessary. That’s how it’s done.

Generally, this is all automated — the application developer writes classical code which generates extra quantum logic gates to incorporate the input data into the quantum circuit which is being generated for the quantum algorithm.

It’s still the responsibility of the application developer, but hopefully the algorithm designer provides classical code to generate the gates for initializing any input data.

Quantum advantage

Quantum advantage expresses how much more powerful a quantum solution is compared to a classical solution. Typically expressed as either how many times faster the quantum computer is, or how many years, decades, centuries, millennia, or even millions or billions or trillions of years a classical computer would have to run to do what a quantum computer can do in mere seconds, minutes, or hours.

The ultimate goal of quantum computing is dramatic quantum advantage, a quantum advantage that is truly mind-boggling. Not just 50% or 2X or 4X or even 100X faster, but upwards of a quadrillion X and more faster than a classical computer.

But short of that ultimate goal of dramatic quantum advantage, we can expect a fraction of that goal, which I call fractional quantum advantage.

Both of those goals are discussed next.

For more on quantum advantage, see my paper:

Dramatic quantum advantage is the real goal

The ultimate goal of quantum computing is dramatic quantum advantage, a quantum advantage that is truly mind-boggling. How big is that?

  • Not just 10 times faster.
  • Not just 100 times faster.
  • Not just 1,000 times faster.
  • Not just a million times faster.
  • Not just a billion times faster.
  • Not just a trillion times faster.
  • But at least one quadrillion times faster — and that’s just the starting point.

Why that much faster? Who really needs that?

The goal is not simply to get your computer to run faster, but to get a computer to run fast enough that you can tackle application problems which are so much more complex than problems which can be tackled today.

The goal is not simply to do things faster, but to make the impossible possible. To make the impractical practical.

For more detail on dramatic quantum advantage, see my paper:

Quantum advantage — make the impossible possible, make the impractical practical

Just to emphasize that point more clearly:

  • The goal of quantum computing is not to make computing faster.
  • But to make the impossible possible.
  • To make impractical applications practical.

Fractional quantum advantage

As previously mentioned, although the ultimate goal of quantum computing is mind-boggling dramatic quantum advantage, it may still be quite reasonable to be able to achieve only a fraction of that, a so-called fractional quantum advantage.

If dramatic quantum advantage of quantum computing starts at one quadrillion times a classical solution, fractional quantum advantage might be some not insignificant fraction of that and still have significant utility:

  1. 10 times.
  2. 100 times.
  3. 1,000 times.
  4. 10,000 times.
  5. 100,000 times.
  6. One million times.
  7. One billion times.
  8. One trillion times.

For more detail on fractional quantum advantage, see my paper:

Net quantum advantage — discount by repetition needed to get accuracy

Quantum advantage can be intoxicating — just k qubits gives you a computational leverage of 2^k, but… there’s a tax to be paid on that. Since quantum computing is inherently probabilistic by nature, you can’t generally do a computation once and have an accurate answer. Rather, you have to repeat the calculation multiple or even many times, called circuit repetitions, shot count, or just shots, and do some statistical analysis to determine the likely answer. Those repetitions are effectively a tax or discount on the raw computational leverage which gives you a net computational leverage, the net quantum advantage.

Shot counts of 100, 1,000, 10,000, or more are not uncommon.

For example:

  1. 10 qubits and a shot count of 100 means a raw quantum advantage of 2¹⁰ = 1024, but divide by the shot count of 100 and you get a net quantum advantage of… 10.24 or 10 X net advantage over a classical solution.
  2. 20 qubits and a shot count of 1,000 means a raw quantum advantage of 2²⁰ = one million, but divide by the shot count of 1,000 and you get a net quantum advantage of… 1,000 or 1,000 X net advantage over a classical solution.
  3. 20 qubits and a shot count of 10,000 means a raw quantum advantage of 2²⁰ = one million, but divide by the shot count of 10,000 and you get a net quantum advantage of… 100 or 100 X net advantage over a classical solution.
  4. 10 qubits and a shot count of 1024 means a raw quantum advantage of 2¹⁰ = 1024, but divide by the shot count of 1024 and you get a net quantum advantage of… 1.0 or no net advantage over a classical solution.

For more detail on circuit repetitions and shots, see my paper:

To be clear, quantum parallelism and quantum advantage are a function of the algorithm

A quantum computer does indeed enable quantum parallelism and quantum advantage, but the actual and net quantum parallelism and quantum advantage are a function of the particular algorithm rather than the quantum computer itself.

The quantum computer may have n qubits, but the particular algorithm running at a given moment may only be coded to use k of those n qubits.

For example, the quantum computer may have 50 qubits, but an algorithm might only use 20 qubits, giving it a quantum advantage of 2²⁰ rather than 2⁵⁰. Some other algorithm might use 10 bits, giving it a quantum advantage of 2¹⁰, while yet another algorithm might use 30 qubits giving it a quantum advantage of 2³⁰.

Also, k is the number of qubits used in an entangled parallel computation, not the total qubits used by the entire computation of an algorithm. The algorithm which uses 20 qubits in a parallel computation might use a total of 23 or 43 qubits. It is only the qubits which are used in an entangled parallel computation which give the quantum advantage.

Quantum supremacy

Quantum supremacy is sometimes simply a synonym for quantum advantage, or it expresses the fact that a quantum computer can accomplish a task that is impossible on a classical computer, or that could take so long, like many many years, that it is outright impractical on a classical computer.

Random number-based applications are actually commercially viable today

Although much of quantum computing is still subject to research and intensive pre-commercialization, there is one narrow niche that actually is commercially viable right now, today — generation of true random numbers. True random numbers are not mathematically computable, and hence cannot be computed using a Turing machine or classical computer. Special hardware is needed to access the level of entropy required for true random numbers. Quantum effects can supply the necessary entropy. And quantum computers are able to access the necessary quantum effects. No further research is required to make use of this simple capability right now, today.

This ability to generate true random numbers has significant applications for cybersecurity, such as encryption key generation.

For more detail on true random number generation and quantum computers, see my paper:

In fact, there is already at least one commercial product exploiting this specific feature of quantum computing:

Quantum supremacy now: Generation of true random numbers

Generation of true random numbers is one area where quantum computers have already achieved quantum supremacy — they are able to accomplish something that no classical computer can accomplish. Classical computers can generate pseudo-random numbers, but not true random numbers. Although special hardware can be attached to a classical computer which effectively mimics a little bit of what a quantum computer can do.

How many qubits does your quantum computer have?

As already cautioned, it is advisable not to be concerned with qubits at this stage to understand quantum computing at this level.

Qubit count is only a small portion of understanding how capable a quantum computer is — there are numerous other factors.

If you actually do want to get into all of that, check out my paper:

Need to summarize capabilities for quantum computers, algorithms, and applications

Just to highlight the general need to have helpful summaries of the capabilities of quantum computers, algorithms, and applications. My proposal for a label for capabilities for quantum computers, algorithms, and applications:

Quantum computer types and technologies

Not all quantum computers are created equal — there’s a lot of diversity. There are two main dimensions of diversity among quantum computers:

  1. Type. What functions the quantum computer performs. The programming model. What you can do with it — which applications it can handle and which applications it handles best. This is an abstraction of function rather than the physical implementation.
  2. Technology. The specific technical technologies used to implement the quantum computer. Especially the qubits. Different quantum computers of the same type can be implemented using different technologies — they still function the same and address the same applications in the same way, but the technical details under the hood may be subtly or radically distinct.

Quantum computer types

There are really two very distinct categories of quantum computers:

  1. General-purpose quantum computer. Can be applied to many different types of applications. May be referred to more technically as a universal general-purpose gate-based quantum computer.
  2. Special-purpose quantum computing device. Only applies to a relatively narrow niche of applications which meet criteria of the device. Some may refer to it as a special-purpose quantum computer as well, although its lack of generality argues against this. May also be referred to as a single-function quantum computing device or a single-function quantum computer.

For the most part, this paper focuses on the former, general-purpose quantum computer.

General-purpose quantum computers

General-purpose quantum computers are the most general. They are the most flexible. And generally the most useful.

A general-purpose quantum computer may also be more technically specifically described as a universal general-purpose gate-based quantum computer. The extra adjectives clarify the distinctions from special-purpose quantum computing devices.

For the purposes of this paper we are focused almost exclusively on general-purpose quantum computers.

Universal general-purpose gate-based quantum computer

Just to emphasize that universal general-purpose gate-based quantum computer is a technically specific term which distinguishes general-purpose quantum computers from special-purpose quantum computing devices (or special-purpose quantum computers).

Vendors of general-purpose quantum computers

Some of the vendors of general-purpose quantum computers include:

  1. IBM.
  2. Rigetti Computing.
  3. IonQ.
  4. Honeywell.
  5. Google.
  6. Intel.

That’s not intended to be an all-inclusive list, just some examples to help the reader navigate the field.

Special-purpose quantum computing devices

Some of the different types of special-purpose quantum computing devices (or special-purpose quantum computers) that exist today:

  1. Quantum annealers. Focused on quantum annealing (QA). Speciality is a niche of optimization problems. Not a general-purpose quantum computer for non-optimization applications. D-Wave Systems is the best example.
  2. Adiabatic quantum computers. Generalization of quantum annealers. Again, not general-purpose.
  3. Boson sampling devices. Another specialized form of quantum computing — a special-purpose quantum computer or special-purpose quantum computing device. Also known as Gaussian boson sampling (GBS).
  4. Photonic quantum computing. Sometimes simply a synonym for boson sampling device. Still too early in the research stage to judge whether it has potential as a general-purpose quantum computer or restricted to special purposes such as boson sampling devices.
  5. Physics simulators. Custom-designed, special-purpose quantum computing device designed to address a specific physics problem. Not a general-purpose quantum computer. Debatable whether it should even be called a quantum computer, but it is a specialized quantum computing device.

Special-purpose quantum computers or special-purpose quantum computing devices?

Whether to refer to special-purpose quantum computing devices as special-purpose quantum computers is an interesting semantic challenge and debate. There’s no clear, bright-line answer at this stage.

Some will prefer the latter and even simply refer to them as quantum computers despite their lack of being general purpose.

I will default to overall refer to them as special-purpose quantum computing devices, but I won’t object too strenuously if people refer to them as special-purpose quantum computers. I will object if people refer to them simply as quantum computers.

General-purpose vs. special-purpose quantum computers

Just to emphasize the point that when someone, especially in the media, but even in technical media, uses the term quantum computer that doesn’t immediately tell you whether they may be talking about a general-purpose quantum computer or a special-purpose quantum computing device (or special-purpose quantum computer) as distinguished in the preceding sections.

Don’t get confused by special-purpose quantum computing devices that promise much more than they actually can deliver

Special-purpose quantum computing devices can indeed deliver amazing capabilities, but only for a relatively narrow niche of functions. If your particular application problem can’t be easily mapped to that narrow niche, you’re out of luck. You’re probably better off with a general-purpose quantum computer, in general.

The catch is that we’re still very early in the development and evolution of quantum computers, so that even general-purpose quantum computers aren’t yet up to solving many application problems.

Qubit technologies

See quantum computer technologies. The technology of the qubit is the primary characteristic of the technology of a quantum computer. It can be easier (briefer) to refer to qubit technology rather than quantum computer technology.

Qubit modalities

Some people use the term qubit modality to refer to what I refer to as qubit technology or quantum computer technology.

They may also use the terms quantum computer modalities or quantum computing modalities.

But qubit technology, qubit modality, quantum computer technology, quantum computer modality, and quantum computing modality all mean essentially the same thing — what technology and science is used to implement the qubits of a quantum computer.

Quantum computer technologies

As mentioned above, quantum computers of the same type function the same (or at least similarly) although they may be implemented with different technologies. There are a variety of approaches to storing and manipulating quantum information. There are only a few main technologies in use today:

  1. Superconducting transmon qubits. IBM, Rigetti, Google.
  2. Trapped-ion qubits. IonQ, Honeywell.
  3. Neutral-atom qubits. Cold Quanta, Atom Computing.

Some other quantum computer technologies either under current or past research:

  1. Nuclear Magnetic Resonance (NMR). The earliest quantum computing technology. Used in the late 1990’s and early 2000’s, until superconducting transmon qubits became available. More recently, SpinQ is offering two and three-qubit NMR-based quantum computers for economical experimentation.
  2. Nitrogen-vacancy Center (NVC). Primarily in diamond, at present.
  3. Photonics. Great hopes and potential, but other than boson sampling devices, it has remained an elusive research effort.
  4. Silicon spin qubits. Intel.

These lists are not intended to be exhaustive, but simply intended to help the reader navigate the field.

Qubit types

See quantum computer technologies.

Qutrits, qudits, and qumodes

The information in this section is optional and not needed by most people trying to get a basic grasp of quantum computers.

The qubit is not the only possible device for storing and manipulating quantum state.

Technically, a qubit is known as a two-state quantum system. The “b” in qubit stands for binary, meaning two.

Some of the alternatives to qubits:

  1. Qutrit. Three-state quantum system.
  2. Qudit. Decimal or ten-state quantum system. Alternatively, a d-level quantum system where the letter d implies any number (integer), but typically not 2 — and not necessarily 10. This is more common for photonic quantum computers and sometimes or generally is really simply an alternative term for qumode.
  3. Qumode or mode. A continuous variable quantum system, with an arbitrary number of possible quantum states, such as in a photonic quantum computer. For example, a boson sampling device.

Ideal quantum computer type not yet discovered

We do have functional quantum computers today, but I am not convinced that the current types are the best that we can do. I strongly suspect that we will have any number of newer and better types of quantum computers five or ten years from now.

Research and innovation is ongoing. Don’t get too invested in what we have today since it will likely be obsolete in a few to five to ten years.

Ideal quantum computer technology not yet discovered

Research and innovation for how to represent, store and manipulate quantum information is ongoing. Don’t get too invested in what we have today since it will likely be obsolete in a few to five to ten years.

Coherence and coherence time

Coherence is the ability of a quantum computer to remain in its magical quantum state where quantum effects can be maintained in a coherent manner which enables the quantum parallelism needed to fully exploit quantum computation.

Coherence time is generally fairly short for many quantum computer technologies, limiting the size and complexity of quantum algorithms.

But some technologies are more coherent than others, meaning they have a longer coherence time, which enables greater size and complexity of quantum algorithms.

Gate execution time — determines how many gates can be executed within the coherence time

Coherence time alone does not determine the absolute size of a quantum algorithm — it also depends on how long it takes to execute each quantum logic gate.

The faster a quantum logic gate can be executed, the more of them that can be executed in the coherence time.

Maximum quantum circuit size — limits size of quantum algorithms

Although coherence time does in fact limit quantum circuit size and hence the size of a quantum algorithm, the coherence time alone doesn’t tell you the limit — you have to divide the coherence time by the gate execution time to get the maximum number of quantum logic gates which can be executed in the coherence time interval.

For example, if the coherence time was 100 microseconds and the gate execution time was 250 nanoseconds, then a maximum of 400 quantum logic gates could be executed during the coherence time interval. So the maximum quantum circuit size would be 400 quantum logic gates.

The maximum quantum circuit size is the limit to the size of quantum algorithms.

Another quantum computer technology: the simulator for a quantum computer

There is one particularly interesting quantum computer technology, a simulator for a quantum computer.

Simulators for quantum computers

In addition to having an actual real hardware implementation of a quantum computer, we can have simulators for quantum computers, which are software packages which run on classical computers to simulate the behavior of real quantum computer hardware.

You don’t need a real quantum computer to run simple quantum algorithms.

But complex quantum algorithms will run very slowly or not at all since the whole point of a quantum computer is to greatly outperform even the best classical supercomputers.

Simulators of quantum computers are also good for debugging and experimenting with improved hardware before it is even available.

In theory, a simulator for a quantum computer can be configured to very closely approximate the features, limits, and quirks of any real or proposed quantum computer, subject to limitations of performance and capacity of the classical computer on which the simulator is running.

There are several reasons to utilize a simulator for a quantum computer:

  1. The real quantum computer hardware does not exist yet.
  2. The real quantum computer hardware is not fully debugged yet. The simulator can function correctly even if the real hardware cannot.
  3. The real quantum computer hardware is too noisy. Researchers and evaluators want to know how the real hardware might perform if it was somewhat less noisy. Discover how much less noisy it needs to become before it can deliver useful results.
  4. To debug a quantum algorithm. By definition, the operations within a quantum circuit are not observable until the end of the circuit when the qubits are measured. A simulator will allow you to examine all aspects of quantum state at every step of the way.
  5. To test out ideas for proposed revisions to current quantum computers. Before the hardware is available.
  6. To test out ideas for entirely new quantum computers. Before the hardware is available.
  7. To perform algorithm research for ideal quantum computers. Even though such hardware cannot actually be created in reality. It is still useful to know what the limits of the capabilities of a quantum computer really are.
  8. For benchmarking. Such as calculating Quantum Volume (QV).

For additional information on uses of simulators for quantum computers, see my paper:

Classical quantum simulator

I also refer to a simulator for a quantum computer as a classical quantum simulator.

Two types of simulator and simulation

The terms simulator and simulation are actually ambiguous in quantum computing. they can have two distinct meanings:

  1. Simulating science. Especially simulating physics or simulating chemistry.
  2. Simulating a quantum computer on a classical computer. Either because real quantum computing hardware is not available, to facilitate debugging, or to research quantum algorithms abstractly on an ideal quantum computer. In my writing I refer to this as a classical quantum simulator or a simulator for a quantum computer.

Generally it should be clear from context which meaning is intended.

Classical quantum simulator

Just to emphasize that I use the term classical quantum simulator to refer to using classical software to simulate a quantum computer on a classical computer.

Simulation — simulating the execution of a quantum algorithm using a classical computer

As a general proposition, when I use the term simulation, I’m referring to the use of a classical quantum simulator to simulate the execution of a quantum algorithm using a classical computer rather than a real quantum computer.

Context may dictate that simulation implies simulation of science

My general rule that simulation implies simulation of a quantum circuit on a classical computer notwithstanding, if the context is applications and the simulation of science such as physics and chemistry, then the context may dictate that the naked term simulation implies simulation of science rather than simulation of a quantum computer.

Capabilities, limitations, and issues for quantum computing

Much of quantum computing can be categorized as capabilities, limitations, or issues. Those are my own three areas of interest as a technologist.

For a high-level summary and some detail on these three aspects of quantum computing, see my paper:

Quantum computers are inherently probabilistic rather than absolutely deterministic

Quantum computers are inherently probabilistic by nature rather than being strictly and absolutely deterministic as classical computers are. This means that they are not suitable for calculations requiring absolute precision, although statistical processing can approximate determinism, to some degree.

And this is beyond any errors due to noise, so even with flawless quantum hardware and full quantum error correction, quantum computers will still produce probabilistic results.

A lot of calculations, especially in the natural sciences, are completely compatible with calculations being probabilistic. Or approximate in general.

In fact, a lot of quantum algorithms explicitly rely on quantum computations being probabilistic. So this is actually a feature, not a bug.

It is common for quantum applications to run a given quantum algorithm multiple times and then to examine the results to see which has the highest probability of being correct. This is called circuit repetitions or shot count or just shots.

For more detail on circuit repetitions, see my paper:

Quantum computers are a good choice when approximate answers are acceptable

The preceding section highlighted how quantum computers are inherently probabilistic in nature. Superficially that sounds like a negative, but a lot of computations, especially in the natural sciences or where statistical approximations are used, probabilistic results can be quite acceptable.

And if achieving approximate answers is much faster than classical computing, that’s a very positive thing.

Of course, not all problems can be effectively solved with approximate answers, so the algorithm designer and application developer will have to do a careful analysis and use solid judgment to determine whether a probabilistic or approximate answer will be acceptable for a given application.

Statistical processing can approximate determinism, to some degree, even when results are probabilistic

As noted earlier, even though quantum computers are probabilistic by nature rather than strictly deterministic as classical computers are, statistical processing can enable us to achieve a close approximation to a deterministic answer in many cases.

Generally this simply means that a given quantum computation (algorithm or circuit) is run a bunch of times, possibly even hundreds or thousands of times, enough to get a decent statistical distribution of the results. An examination of that distribution can tell us whether there is in fact a single result or narrow range of results which have proven to be statistically more likely. If so, this is a close approximation of a deterministic result. If not, then maybe no deterministic result can be achieved.

In some cases, it may turn out that the classical solution is flawed and assumes that a deterministic result can be achieved and does in fact compute a single result, but it may in fact be only one of many possible results if the assumptions had been made correctly.

For more on the process of repeating the execution of a quantum computation and statistically processing the results, see my paper:

As challenging as quantum computer hardware is, quantum algorithms are just as big a challenge

The rules for using a quantum computer are rather different from the rules governing classical computers, so entirely new approaches are needed for quantum algorithms.

There are an qute a few areas where more research is needed in the design of quantum algorithms.

And hardware and algorithms are tied together, so advances in hardware are also needed to advance with algorithms.

For some detail, see my paper:

And for more on research needed, see my paper:

What is the best training for quantum computing?

Training is an important aspect of quantum computing, but beyond the scope of this informal paper, which focuses on the quantum computer itself.

There are so many training resources for quantum computing out there and it’s hard to say where to start or what’s best.

To a large extent it depends on your own background and what your objectives are.

There are plenty of paid training courses, but plenty of free online resources as well.

I’ll just mention a few professional resources here and you can use Google to find more:

  • QURECA
  • Now more than ever, we need a workforce that is ready for the quantum revolution. QURECA is dedicated to supporting the development of the quantum workforce. We are focused on educating the necessary skills and knowledge to individuals and businesses around the world.
  • https://qureca.com/

Another source is MIT’s xPro program ($$$):

And

Another commercial offering is Black Opal from Q-CTRL ($):

Please note that these are merely examples of what is available rather than recommendations or endorsements per se.

Getting started with IBM Qiskit Textbook

I don’t want to get too involved with recommending how to dive deeper into quantum computing, but one free online resource is the IBM Qiskit Textbook:

  • Learn Quantum Computation using Qiskit
  • Greetings from the Qiskit Community team! This textbook is a university quantum algorithms/computation course supplement based on Qiskit to help learn:
  • The mathematics behind quantum algorithms
  • Details about today’s non-fault-tolerant quantum devices
  • Writing code in Qiskit to implement quantum algorithms on IBM’s cloud quantum systems
  • https://qiskit.org/textbook/preface.html

Might a Quantum Winter be coming?

The term Quantum Winter refers to a period of disenchantment with the technology which would occur if promised advances fail to materialize or fail to meet sky-high expectations. Many grandiose promises have been made for quantum computing and expectations have been set very, very high, so the theoretical possibility of a Quantum Winter is quite possible. That said, I don’t expect a Quantum WInter in the next couple of years. But if promised advances don’t materialize over two to three years, then a Quantum Winter might be possible.

The risk of a Quantum Winter is currently fairly low, but it does in fact appear to be rising. It will be quite a horse race between rising expectations, rising risks, and actual delivery of technology that meets or exceeds those rising expectations.

For more on Quantum Winter, see my paper:

No, Grover’s search algorithm can’t search or query a database

Some naive introductions to quantum computing suggest or explicitly state that the Grover search algorithm can be used to search a database, but that simply isn’t true.

In fact, Grover’s search algorithm does exactly the opposite — it is able to search unstructured data, which is the exact opposite of a database, which is based on structured data.

So, don’t expect Google to replace its vast search engine infrastructure with a single 72-qubit quantum computer running the Grover search algorithm.

No, Shor’s factoring algorithm probably can’t crack a large encryption key

Everybody is loudly proclaiming that all encrypted data is at risk of being decrypted by a quantum computer running Shor’s factoring algorithm to crack public encryption keys, but:

  1. This isn’t true today.
  2. This won’t be true in the near future.
  3. This won’t be true in the foreseeable future.
  4. Is very unlikely to be true… ever.

There are detailed technical reasons why Shor’s factoring algorithm may indeed eventually work for smaller numbers up to maybe 10 to 20 bits, but not work for very large numbers beyond that, especially 1024, 2048, and 4096-bit public encryption keys.

The technical details are described in my paper:

See the section entitled What about Shor’s factoring algorithm? Sorry, but it will only work for small numbers, not very large numbers.

Quantum computer vs. quantum computing vs. quantum computation

The three terms quantum computer, quantum computing, and quantum computation are very closely related but are different aspects of the same phenomenon:

  1. Quantum computer. The machine. A device. The hardware. It does the actual work. It has capabilities, You feed it data and quantum code and it produces output. May be on the premises or accessed remotely in the cloud.
  2. Quantum computing. The overall process. Including the machine (the quantum computer), support software, tools, data, code, executing code, gathering results, using the results. Acquiring and maintaining the machine as well. And the people and organizations involved as well. And training and education. And conferences and publications.
  3. Quantum computation. There are two sides to quantum computation: the data and code that gets sent to the machine, the quantum computer, and then the results that are returned — the description of the task to be performed, and then the results of performing that task. And application software that prepares the quantum computation and consumes its results. The process of arranging and performing the parts of a quantum computation mentioned previously.

Some usage:

  1. You design and develop a quantum computation. A quantum algorithm.
  2. You execute a quantum computation on a quantum computer.
  3. Somebody needs to decide to acquire or arrange for access to a quantum computer.
  4. You design and develop a quantum application. It uses one or more quantum algorithms. But mostly it is classical software.
  5. You execute your quantum application, which in turn performs one or more quantum computations, whose results are used by the quantum application.
  6. Quantum computing is both the development and the use of quantum algorithms and quantum applications, as well as acquiring and maintaining the quantum computer.

Quantum computer vs. quantum computer system vs. quantum processor vs. quantum processing unit vs. QPU

These terms are frequently used as synonyms, but there are distinctions:

  1. Quantum computer system. All of the hardware. All of it. Including the fancy enclosure box with the vendor and system name, the cabling, power supply, cooling system and dilution refrigerator (if any), console, network connection, a classical computer and classical hardware needed to control the quantum hardware, and support software that runs on it. Everything needed to support a quantum computer.
  2. Quantum processor. The subset of the hardware which actually performs the quantum computation. Includes classical digital and analog circuitry to control the quantum circuitry.
  3. Quantum processing unit. Generally a reference to the quantum processor. Alternatively, a reference to the physical hardware or chip that holds the qubits of the quantum processor. Abbreviated as QPU.
  4. QPU. Initialism for quantum processing unit.
  5. Quantum computer. Alternatively this could simply be a synonym for the overall quantum computer system, or the subset of the overall quantum computer system that includes both the quantum processor and any hardware and software needed to process a quantum computation once it has been received by the quantum computer system. This would include transforming quantum circuits from unitary transformation matrices into classical electronic signals that would control the quantum processor. This also includes minimal processing of the results of a quantum computation so that they can be returned to whoever requested the quantum computation to be performed, either a person or a quantum application.

Usage:

  1. Quantum computer system is the proper term to refer to the actual hardware and the overall system.
  2. Quantum computer is the proper term for what a quantum software developer is concerned with when designing and developing quantum algorithms and quantum applications.
  3. Quantum computer is also the proper term for the subset of the overall quantum computer system which processes a quantum computation once it has been received from outside of the quantum computer system and is to be executed. The quantum computer will do only minimal processing of the results of a quantum computation, merely packaging the results so that they are ready to be shipped back to whoever requested the computation to be executed, either a person or a quantum application.
  4. QPU or quantum processor are proper terms to refer to just the raw qubit hardware, although technically they include the classical digital and analog circuitry which controls the qubits.
  5. Quantum processor is the proper term to refer to the subset of the overall quantum computer system which is only concerned with the processing and execution of quantum circuits (algorithms.)

Quantum computer as a coprocessor rather than a full-function computer

We commonly refer to a quantum computer as if it was a full-function computer system, but it falls far short of that. There are many functions which can be performed with even the simplest classical computer which are beyond what is possible with even the best quantum computers. But the whole point of a quantum computer or quantum processor if you will is that it performs only a small fraction of what a classical computer can do, but it performs that fraction extremely well, even far better than even the best classical computers.

Most of the function of a typical quantum application is performed on a classical processor, and only a small fraction of its function is offloaded to a quantum processor.

The quantum processor acts as an auxiliary processor.

This is similar to the way that graphical functions can be offloaded to a graphical processing unit (GPU).

The term coprocessor is a synonym for auxiliary processor.

So the bulk of the quantum application is processed by the classical computer as the main processor with a small fraction of the function offloaded to the quantum processor (quantum computer) as a coprocessor.

In short, what we commonly refer to as a quantum computer or quantum processor or quantum processing unit or QPU is in fact an auxiliary processor or coprocessor.

Quantum computers cannot fully replace classical computers

Quantum computers may sound as if they have great potential to fully replace classical computers, but that just isn’t true. Although quantum computers can do some tasks much better than classical computers, there are many tasks that classical computers can do that quantum computers simply can’t do at all.

Eventually quantum computers will be merged with classical computers as a universal quantum computer, but that’s far in the future.

For my own proposal for a universal quantum computer, see my paper:

Noise, errors, error mitigation, error correction, logical qubits, and fault tolerant quantum computing

There can be many sources of noise in a quantum computer. Classical computers can be easily designed so that most noise has no detectable effect on computation, but that’s not so easy to do with a quantum computer which is dependent on just the kinds of quantum effects that look virtually like noise. Eventually we will get to true fault tolerance, but not soon. Noise is just a fact of life for quantum computing, for the foreseeable future.

Noise can cause errors. It tends to cause errors.

Sometimes those errors can be mitigated and sometimes even corrected automatically.

But sometimes they just have to be tolerated.

Or sometimes you can simply run the same code multiple times and see which result is produced more frequently, and presume that this is likely the more correct result.

Research is ongoing for true quantum error correction (QEC) which will transparently and automatically detect and correct most errors. This will provide algorithm designers with perfect logical qubits. That will be great, but it will come at a significant cost — it may require substantially more hardware of substantially greater complexity. This will usher in the era of fault-tolerant quantum computing (FTQC), but no time soon.

This paper won’t go into the details here at this level, but for more detail see my paper:

NISQ — Noisy Intermediate-Scale Quantum computers

We won’t go into the details here beyond what was just described in the preceding section, but this whole era of quantum computers which are plagued by noise is referred to as noisy intermediate-scale quantum devices (NISQ). This is the reality of quantum computing, for the foreseeable future.

Near-perfect qubits as a stepping stone to fault-tolerant quantum computing

Fault-tolerant quantum computing is the ultimate solution to the noise problems which plague current and near-term quantum computers — so-called NISQ devices — but it’s too far over the distant horizon to do anybody much good any time soon. Near-perfect qubits are an intermediate stepping stone, dramatically better than current NISQ devices even if still well-short of true fault-tolerant quantum computing.

This paper won’t go into the details here at this level, but for more detail see my paper:

Quantum error correction (QEC) remains a distant promise, but not critical if we have near-perfect qubits

We’re not likely to see full, transparent, and automatic quantum error correction (QEC) within the next few years. Maybe five years. But it’s not critical as long as we achieve near-perfect qubits within a year or two.

Circuit repetitions as a poor man’s approximation of quantum error correction

While we’re waiting for full, automatic, and transparent quantum error correction in the coming years — and near-perfect qubits as well — we have another approach to hold us over, namely, using circuit repetitions to approximate full quantum error correction. In truth, both approaches are accomplishing roughly the same task.

By executing the same quantum circuit a bunch of times — dozens, hundreds, or even thousands of times, and then examining the statistical distribution of the results, it is generally possible to determine which of the various results is the more likely result — which result occurs more frequently. It’s not guaranteed to achieve a perfect result, but it’s certainly better than nothing.

For more details, see my paper:

Beyond NISQ — not so noisy or not intermediate-scale

The term NISQ is technically inaccurate for many current (and future) quantum computers. I’ve proposed some alternative terms to supplement NISQ.

The “IS” of NISQ stands for intermediate-scale, which technically means 50 to hundreds of qubits. Since most current quantum computers have fewer than 50 qubits, they technically aren’t intermediate-scale. So, I propose NSSQ for noisy small-scale quantum devices.

When we get to fault-tolerant computing with full quantum error correction, then I propose we replace the “N” of NISQ with “FT”. So, NISQ would become FTISQ. But, given that a large number of physical qubits are needed to construct even a single qubit, I expect that the initial fault-tolerant quantum computers will have fewer than 50 logical qubits, so they would be FTSSQ — small-scale fault-tolerant quantum devices.

Hopefully in the not too distant future we will achieve near-perfect qubits, in which case the “N” of NISQ can be replaced with “NP” for near-perfect. So, we would then have NPSSQ and NPISQ devices, depending on whether they had fewer than 50 qubits or 50 or more qubits.

For details, see my paper:

Configurable packaged quantum solutions are the greatest opportunity for widespread adoption of quantum computing

Designing quantum algorithms and developing quantum applications to exploit the capabilities of a quantum computer is a very challenging task and will remain beyond the reach of most organizations well after quantum applications become practical from a hardware perspective.

One promising solution is configurable packaged quantum solutions, which combine prewritten algorithms and code with the ability to dynamically customize both using high-level configuration features rather than needing to dive deep into actual quantum algorithms or application code.

This will likely be the main method by which most organizations exploit quantum computers.

For more details, see my paper:

Quantum networking and quantum Internet — research topics, not a near-term reality

Quantum communication uses quantum effects to securely transfer classical information. It’s not directly related to quantum computing per se. The endpoints would be classical computers, not quantum computers.

Quantum networking permits two or more quantum computers to share quantum informationquantum state. A larger quantum computation can be partitioned onto multiple quantum computers in a quantum network. Unlike quantum communication which is merely using quantum effects to securely transmit classical information, a quantum network is directly sharing full quantum state.

Quantum networking is mostly at the conceptual stage but definitely still at the research stage. There have been some prototype networks in the lab, but it remains a pure research topic at this stage. Don’t let anybody fool you into believing that quantum networking is ready for commercialization.

In many cases, someone may say quantum networking but really they are only referring to quantum communication — secure communication links that use quantum effects to protect classical data, but not for connecting quantum computers to allow them to share quantum state for quantum computations.

Quantum Internet is an ill-defined concept that is also in the earliest stages of research and far from being realized except in esoteric lab experiments. People toss the term around to mean a variety of things, sometimes just a spruced-up version of quantum communication.

Quantum networking will become of interest in a few more years, but it may not become a practical reality for production-scale practical real-world applications for five to seven years. People have enough trouble utilizing two dozen qubits on a single quantum computer, let alone coordinating multiple quantum computers.

Whether quantum Internet will be realized in five years (or longer) remains to be seen.

What could you do with 1,000 qubits?

This is an interesting question. Nobody really knows for sure what one could do with 1,000 qubits. It’s an open question.

Interesting applications exist for a couple of hundred qubits. I saw a reference for 110 and 125 qubits for quantum computational chemistry.

Quantum error correction (QEC) could use large numbers of physical qubits to implement a few perfect logical qubits. If it took 65 physical qubits to implement a single logical qubit, 1,000 physical qubits could implement 15 logical qubits.

People speculate that Shor’s factoring algorithm could use thousands of qubits, although I doubt the feasibility of the algorithm working for large numbers even if we had the qubits. See the section on that elsewhere in this paper — No, Shor’s factoring algorithm probably can’t crack a large encryption key.

Some oddball computer science experiments could conceivably use any number of qubits, but my interest is production-scale practical real-world applications.

For some perspective on at least one of the issues that arises when trying to use a larger number of qubits — impact of fine granularity of phase on quantum Fourier transform (QFT), see my paper:

48 fully-connected near-perfect qubits may be the limit for practical quantum computers

There are practical limits to real hardware, primarily at the analog interface level, so even though vendors have actually built quantum computers with 53, 65, 80, and 127 qubits with more to come, the ability of algorithms to effectively utilize all of these qubits for production-scale practical real-world applications has not yet materialized, and I surmise that it never will.

I suggest in another of my papers that 48 fully-connected near-perfect qubits may be the practical limit not for raw hardware, but for hardware that can meet the expectations for production-scale practical real-world application algorithms using all of those qubits. See my paper:

Universal quantum computer is an ambiguous term

Saying that a quantum computer is universal is ambiguous. There are two distinct meanings:

  1. Universal gate set. The machine is capable of all possible functional manipulations of quantum information. Implies general purpose, in contrast to special purpose. This fits for most current quantum computers. It’s now a standard feature. An expected feature.
  • Universal quantum computer. A proposal for a merger of quantum computing and classical computing into a single integrated machine. Not two separate machines interfacing, but fully integrated into a single machine with classical and quantum data coexisting.

For my own proposal for a universal quantum computer, see my paper:

Practical quantum computing isn’t really near, like within one, two, or three years

Although quantum computers do exist today, they are not ready for production deployment to address production-scale practical real-world applications. And it’s unlikely that they will be in the next one, two, or three years.

Sure, there may be some smaller niches where they can actually be used productively, but those would be the exception rather than the rule.

Four to seven years is a better bet, and even then only for moderate benefits.

Generation of true random numbers is one exception where quantum computers are actually commercially viable today, although technically a full-blown quantum computer is not needed just to use quantum effects to generate random numbers.

A practical quantum computer would be ready for production deployment to address production-scale practical real-world applications

Just to clarify the terminology — we do have quantum computers today, but they haven’t achieved the status of being practical quantum computers since they are not yet ready for production deployment to address production-scale practical real-world applications.

We’re unlikely to see a practical quantum computer in the next few years.

What is quantum computing?

This paper focuses on what a quantum computer can do for you and generally how it can be used. A separate paper — What Is Quantum Computing?will discuss more of the process of using a quantum computer than what the computer itself does.

Some topics that need to be discussed:

  1. How to access a quantum computer. Remote cloud access. Network service. Dedicated machine.
  2. Algorithms.
  3. Applications.
  4. Tools.
  5. Compilation, transpilation, optimization of quantum circuits.
  6. Support software.
  7. System management software.
  8. Algorithmic building blocks.
  9. Programming models.
  10. Programming languages.
  11. Design patterns.
  12. Application frameworks.
  13. Scalability of quantum algorithms.
  14. Debugging.
  15. Testing.
  16. Deployment.
  17. Monitoring applications.
  18. Performance.
  19. Capacity.
  20. Availability.
  21. Service level agreements (SLA).
  22. The ENIAC Moment. First production-scale quantum application.
  23. The FORTRAN Moment. Introduction of a high-level programming model and language which enables application development without needing to be a quantum expert.
  24. Configurable packaged quantum solutions. The greatest opportunity for widespread adoption of quantum computing.

That follow-on paper is now available:

List of my papers on quantum computing

The following document lists all of the informal papers I have written about quantum computing, although quite a few have already been mentioned and linked throughout this paper:

Definitions from my Quantum Computing Glossary

  1. quantum computation. Computation on a quantum computer. Execution of the quantum logic gates of a quantum program or quantum circuit, based on quantum code which implements quantum algorithms operating on quantum bits (qubits), which follow from the principles of quantum mechanics, including and especially superposition and entanglement. The essence of quantum computation is the precise control of the quantum states of qubits. See Chapter 6 Quantum Computation by John Preskill of CalTech. See the Wikipedia Quantum computing article. Abbreviated as QC.
  2. quantum computer. A machine or computer capable of quantum computation. A machine exploiting the principles of quantum mechanics to perform computation in a way that is significantly superior to a classical computer. A computer in which the basic unit of information is a superposition of 0 and 1, and supports entanglement of values. May be either a physical quantum computer or a quantum computer simulator. Generally, the former. See the Wikipedia Quantum computing article. Abbreviated as QC.
  3. quantum computing. Computing using a quantum computer. All of the activities which surround the use of a quantum computer, from design of quantum algorithms, to development of quantum programs, to execution on a quantum computer, to integration with classical computing, to post-processing of measured results from the quantum computer. And the entire quantum computing ecosystem. See also: quantum computation. Alternatively, includes design and development of the quantum computer itself rather than only the use of the quantum computer. Abbreviated as QC.

Source, my quantum computing glossary:

Jargon and acronyms — most of it can be ignored unless you really need it

At this stage, you can ignore all of these terms, but this gives you an idea what you are in for if you dive deeper into quantum computing.

If you do wish to understand the meaning of any of these terms, search for them in my glossary for quantum computing terms:

Alternatively, you can search for many of the terms or topics in the IBM Qiskit Textbook for tutorial information:

  • Learn Quantum Computation using Qiskit
  • Greetings from the Qiskit Community team! This textbook is a university quantum algorithms/computation course supplement based on Qiskit to help learn:
  • The mathematics behind quantum algorithms
  • Details about today’s non-fault-tolerant quantum devices
  • Writing code in Qiskit to implement quantum algorithms on IBM’s cloud quantum systems
  • https://qiskit.org/textbook/preface.html

The jargon:

  1. Algorithm
  2. Algorithmic building block
  3. Algorithmic complexity
  4. Amplitude
  5. Amplitude amplification
  6. Any to any connectivity
  7. Basis state
  8. Bell’s inequality, Bell’s theorem, and Bell state
  9. Bernstein-Vazirani algorithm
  10. Big-O
  11. Bit
  12. Bloch sphere
  13. Boson sampling device
  14. Bra-ket notation
  15. Cat state
  16. Cavity
  17. Circuit repetitions
  18. Cirq
  19. Clark gate
  20. Clark group
  21. Classical bit
  22. Classical computer
  23. CNOT gate
  24. Coherence
  25. Coherence time
  26. Collapse of the wave function
  27. Computational basis
  28. Computational complexity
  29. Cryostat
  30. Determinism, deterministic
  31. Deutsch-Jozsa algorithm
  32. Dilution refrigerator
  33. Eigenfunction
  34. Eigenstate
  35. Eigenvalue
  36. Eigenvector
  37. Entanglement
  38. Excited state
  39. Expectation value
  40. Exponential
  41. Exponential complexity
  42. Exponential speedup
  43. Fault tolerant quantum computing (FTQC)
  44. Fine granularity of phase
  45. Gate
  46. Gate execution time
  47. Gate-based quantum computer
  48. Gaussian Boson Sampling (GBS)
  49. GHZ state
  50. Ground state
  51. Grover’s search algorithm
  52. Hadamard gate
  53. Hadamard transform
  54. Hamiltonian
  55. Hermitian matrix, Hermitian operator
  56. Hilbert space
  57. Inner product
  58. Interference
  59. Josephson junction
  60. Ket
  61. Linear algebra
  62. Linear combination
  63. Logical qubit
  64. Majorana zero modes (MZM)
  65. Maximum quantum circuit size and depth
  66. Measurement
  67. Microwave pulse
  68. Millikelvin (mK)
  69. Mixed state
  70. Mode
  71. Nearest-neighbor connectivity
  72. Neutral-atom qubit
  73. Nitrogen-vacancy center in diamond (NVC)
  74. Noisy intermediate-scale quantum (NISQ) device, NISQ quantum computer
  75. Normal vector
  76. Normalization
  77. Nuclear magnetic resonance quantum computing (NMR)
  78. Optimization
  79. Oracle
  80. Order finding, order-finding algorithm
  81. Orthonormal, orthonormal vectors
  82. Pauli gate
  83. Period finding, period-finding algorithm
  84. Phase
  85. Phase kickback
  86. Phase shift
  87. Photonic quantum computer, photonic quantum computing
  88. Physical qubit
  89. Polynomial
  90. Probability
  91. Probability amplitude
  92. Product state
  93. Phase
  94. Phase kickback
  95. Photonic quantum computer
  96. Polynomial complexity
  97. Post-quantum cryptography (PQC)
  98. Product state
  99. Pure state
  100. Python
  101. Qiskit
  102. Qiskit Textbook
  103. Quadratic speedup
  104. Quantum advantage
  105. Quantum algorithm
  106. Quantum amplitude amplification (QAA)
  107. Quantum amplitude estimation (QAE)
  108. Quantum annealing
  109. Quantum application
  110. Quantum approximate optimization algorithm (QAOA)
  111. Quantum aware
  112. Quantum bit
  113. Quantum circuit
  114. Quantum communication
  115. Quantum computational chemistry
  116. Quantum computer
  117. Quantum computing
  118. Quantum effects
  119. Quantum error correction (QEC)
  120. Quantum Fourier transform (QFT)
  121. Quantum information
  122. Quantum information science (QIS)
  123. Quantum information science and technology (QIST)
  124. Quantum internet
  125. Quantum logic gate
  126. Quantum mechanics
  127. Quantum metrology
  128. Quantum networking
  129. Quantum optimization algorithms
  130. Quantum phase estimation (QPE)
  131. Quantum physics
  132. Quantum ready
  133. Quantum sensing
  134. Quantum state
  135. Quantum teleportation
  136. Quantum supremacy
  137. Quantum system
  138. Quantum technologies
  139. Quantum tomography
  140. Quantum Volume (QV)
  141. Qubit
  142. Qubit connectivity
  143. Qubit fidelity
  144. Qumode
  145. Readout
  146. Resonator
  147. Roots of unity
  148. Schor’s algorithm, Schor’s factoring algorithm
  149. Schrödinger’s cat
  150. Schrödinger equation
  151. Shot count, shots
  152. Silicon spin qubit
  153. Simon’s algorithm
  154. Spin qubit
  155. Squeezed states
  156. Superconducting transmon qubit
  157. Superposition
  158. SWAP network
  159. Time-dependent Schrödinger equation (TDSE)
  160. Time-independent Schrödinger equation (TISE)
  161. TKET
  162. Topological quantum computer, topological qubit
  163. Transmon qubit
  164. Transpilation, transpiler
  165. Trapped-ion qubit
  166. Uncertainty
  167. Unitarity
  168. Unitary transform, unitary transformation matrix (UTM)
  169. Universal gate set
  170. Universal quantum computer
  171. Variational methods
  172. Variational quantum eigensolver (VQE)
  173. Vector, vector space
  174. W state
  175. Wave function

Quantum hype — enough said

There’s certainly a lot of hype out there on all things quantum. I do address a fair amount of it directly in my writing. But a lot of it doesn’t deserve our attention. Just ignore all of the noise.

I can fully understand when mainstream media falls into the hype trap, but unfortunately even tech and STEM media falls into the hype trap as well.

And it’s certainly not helpful when quantum vendor press releases lapse into extravagant promises and set unreasonable expectations.

I don’t expect hype itself to lead to a Quantum Winter, but unfulfilled promises and expectations could do the trick. But I think we have another two to three years before any deep disenchantment is likely to set in, which is the predicate for a Quantum Winter. For now, most people are content to believe that the promises and expectations will be met just over the horizon, relatively soon even if not this year or next year.

For more on Quantum Winter, see my paper:

My original proposal for this topic

For reference, here is the original proposal I had for this topic. It may have some value for some people wanting a more concise summary of this paper.

  • What is a quantum computer? Short and sweet, but very, very precise. Still too many areas which are more than a bit foggy. Of one thing I am certain: Nobody needs another puff piece on quantum computing. The difficulty is that it’s problematic to reach many different audiences with one paper. Concepts. Operations. Effects. Components. Applications. Functions. Variations: One sentence. One paragraph. Three or four paragraphs. One page. Two pages. Five pages. Key terms, also put the terms in a mini glossary. Simple block diagram or at least bullet list of the major system components.

Summary and conclusions

  1. Single sentence definition for quantum computer. A quantum computer is a specialized electronic device which is able to perform a fairly small calculation on a very large number of possible solution values all at once using a process known as quantum parallelism, producing a solution value in a very short amount of time.
  2. The secret sauce of a quantum computer is quantum parallelism — evaluating a vast number of alternative solutions all at once. A single modest computation executed once but operating on all possible values at the same time.
  3. Focus is on specialized calculations which are not easily performed on a classical computer, not because the calculation itself is hard, but because it must be performed a very large number of times.
  4. Perform calculations in mere seconds or minutes which classical computers might take many years, even centuries, or even millennia. Again, not because the individual calculation takes long, but because it must be performed a very large number of times.
  5. Essentially, a quantum computer is very good at searching for needles in haystacks. Very large haystacks, much bigger than even the largest classical computers could search. And doing it much faster.
  6. The optimal use of a quantum computer is for little data with a big solution space. A small amount of input data with a fairly simple calculation which will be applied to a very large solution space, producing a small amount of output. See little data with a big solution space below.
  7. But quantum parallelism is not automatic — the algorithm designer must cleverly deduce what aspect of the application can be evaluated in such a massively parallel manner. Not all algorithms can exploit quantum parallelism or exploit it fully.
  8. The degree of quantum parallelism is not guaranteed and will vary greatly between applications and even depending on the input data.
  9. Combinatorial explosion — moderate number of parameters but very many combinations. These are the applications which should be a good fit for quantum computers. Matching combinatorial explosion with quantum parallelism.
  10. What applications are suitable for a quantum computer?
  11. What can’t a quantum computer compute?
  12. How do you send input data to a quantum computer? You don’t…
  13. Any input data must be encoded in the quantum circuit for a quantum algorithm
  14. Quantum advantage expresses how much more powerful a quantum solution is compared to a classical solution. Typically expressed as either how many times faster the quantum computer is, or how many years, decades, centuries, millennia, or even millions or billions or trillions of years a classical computer would have to run to do what a quantum computer can do in mere seconds, minutes, or hours.
  15. Dramatic quantum advantage is the real goal. A truly mind-boggling performance advantage. One quadrillion or more times a classical solution.
  16. Quantum advantage — make the impossible possible, make the impractical practical. Just to emphasize that point more clearly.
  17. Fractional quantum advantage. A more modest advantage. Substantial or significant would be one million or more times a classical solution. Minimal would be 1,000 times a classical solution.
  18. Net quantum advantage — discount by repetition needed to get accuracy. Quantum advantage can be intoxicating — just k qubits gives you a computational leverage of 2^k, but… there’s a tax to be paid on that. Since quantum computing is inherently probabilistic by nature, you can’t generally do a computation once and have an accurate answer. Rather, you have to repeat the calculation multiple or even many times, called circuit repetitions, shot count, or just shots, and do some statistical analysis to determine the likely answer. Those repetitions are effectively a tax or discount on the raw computational leverage which gives you a net computational leverage, the net quantum advantage.
  19. To be clear, quantum parallelism and quantum advantage are a function of the algorithm. A quantum computer does indeed enable quantum parallelism and quantum advantage, but the actual and net quantum parallelism and quantum advantage are a function of the particular algorithm rather than the quantum computer itself.
  20. What production-scale practical real-world problems can a quantum computer solve — and deliver so-called quantum advantage, and deliver real business value? No clear answer or clearly-defined path to get an answer, other than trial and error, cleverness, and hard work. If you’re clever enough, you may find a solution. If you’re not clever enough, you’ll be unlikely to find a solution that delivers quantum advantage on a quantum computer.
  21. The goal is not simply to do things faster, but to make the impossible possible. To make the impractical practical. Many computations are too expensive today to be practical on a classical computer.
  22. Quantum effects and how they enable quantum computing.
  23. Quantum information. What it is. How it is represented. How it is stored. How it is manipulated in quantum computing.
  24. Quantum information science as the umbrella field over quantum computing. Also covers quantum communication, quantum networking, quantum metrology (measurement), quantum sensing, and quantum information.
  25. Quantum state. How quantum information is represented, stored, and manipulated.
  26. Measurement — getting classical results from a quantum computer.
  27. Extracting useful results from a massively parallel quantum computation.
  28. Quantum computers do exist today, but only in fairly primitive and simplistic form.
  29. They are evolving rapidly, but it will still be a few more years before they can be useful for practical applications.
  30. Practical quantum computing isn’t really near, like within one, two, or three years. Although quantum computers do exist today, they are not ready for production deployment to address production-scale practical real-world applications. And it’s unlikely that they will be in the next one, two, or three years. Sure, there may be some smaller niches where they can actually be used productively, but those would be the exception rather than the rule. Four to seven years is a better bet, and even then only for moderate benefits.
  31. A practical quantum computer would be ready for production deployment to address production-scale practical real-world applications. Just to clarify the terminology — we do have quantum computers today, but they haven’t achieved the status of being practical quantum computers since they are not yet ready for production deployment to address production-scale practical real-world applications.
  32. Much research is still needed. Theoretical, experimental, and applied. Basic science, algorithms, applications, and tools.
  33. Quantum computers are still in the pre-commercialization phase. Focus is on research, prototyping, and experimentation.
  34. Not ready for production-scale practical real-world applications. More capabilities and more refinement are needed.
  35. Production deployment is not appropriate at this time. Not for a few more years, at least.
  36. More suited for the lunatic fringe who will use anything than for normal, average technical staff. It’s still the wild west out there. Great and exciting for some, but not for most.
  37. Still a mere laboratory curiosity. Not ready for production-scale practical real-world applications or production deployment.
  38. Beware of premature commercialization. The technology just isn’t ready yet. Much more research is needed. Much more prototyping and experimentation is needed.
  39. Doubling down on pre-commercialization is the best path forwards. Research, prototyping, and experimentation should be the priorities, not premature commercialization, not production deployment.
  40. The ENIAC Moment — proof that quantum computer hardware is finally up to the task of real-world use. The first time a production-scale practical real-world quantum application can be run in something resembling a production environment. Proves that quantum computer hardware is finally up to the task of real-world use. We’re not there yet, not even close.
  41. The time to start is not now unless you’re the elite, the lunatic fringe. Most normal technical teams and management planners should wait a few years, specifically until the ENIAC Moment has occurred. Everything learned before then will need to be discarded — the ENIAC moment will be the moment when we can finally see the other side of the looking glass, where the real action will be and where the real learning needs to occur.
  42. Quantum computers cannot handle Big Data. They can handle only a small amount of input data and generate only a small amount of output data.
  43. Quantum computers cannot handle complex logic. Only very simple calculations, but applied to a very large number of possible solutions.
  44. Quantum computers cannot handle rich data types. Only very simple numeric calculations.
  45. Quantum computers are inherently probabilistic rather than absolutely deterministic. Not suitable for calculations requiring absolute precision, although statistical processing can approximate determinism.
  46. Quantum computers are a good choice when approximate answers are acceptable.
  47. Statistical processing can approximate determinism, to some degree, even when results are probabilistic. Run the quantum algorithm a bunch of times and statistically analyze the results to identify the more likely, deterministic result.
  48. As challenging as quantum computer hardware is, quantum algorithms are just as big a challenge. The rules for using a quantum computer are rather distinct from the rules governing classical computers, so entirely new approaches are needed for quantum algorithms.
  49. The process of designing quantum algorithms is extremely difficult and challenging. The final algorithm may be very simple, but getting to that result is a great challenge. And testing is really difficult as well.
  50. What is a qubit? Don’t worry about it at this stage! At this stage it isn’t necessary to get into esoteric details such as qubits and how they might be related to the classical bits of a classical computer. All that really matters is quantum parallelism. Qubits are just an element of the technology needed to achieve quantum parallelism.
  51. No, a qubit isn’t comparable to a classical bit. Any more than a car is comparable to a bicycle or a rocket is comparable to an airplane.
  52. A qubit is a hardware device comparable to a classical flip flop. It is used to store and manipulate a unit of quantum information represented as a unit of quantum state.
  53. Superposition, entanglement, and product states enable quantum parallelism. The details are beyond the scope of this paper, but the concepts of superposition, entanglement, and product states are what combine to enable quantum parallelism, the ability to operate on 2^k distinct values in parallel with only k qubits.
  54. k qubits enable a solution space of 2^k quantum states. The superposition, entanglement, and product states of k qubits combine to enable a solution space of 2^k quantum states.
  55. Product states are the quantum states of quantum parallelism. When superposition and entanglement of k qubits enables 2^k quantum states, each of those unique 2^k quantum states is known as a product state. These 2^k product states are the unique values used by quantum parallelism.
  56. k qubits enable a solution space of 2^k product states. More properly, a solution space for k qubits is composed of 2^k product states. Each product state is a unique value in the solution space.
  57. Qubit fidelity. How reliable the qubits are. Can they maintain their quantum state for a sufficiently long period of time and can operations be performed on them reliably.
  58. Qubit connectivity. How easily two qubits can operate on each other. Usually it has to do with the physical distance between the two qubits — if they are adjacent, they generally can operate on each other most efficiently, but if they are separated by some distance, it may be necessary to move one or both of them so that they are physically adjacent, and such movement takes time and can introduce further errors which impact qubit fidelity.
  59. May not be able to use all of the qubits in a quantum computer. Qubit fidelity and issues with qubit connectivity can limit how many qubits can be used in a single quantum computation.
  60. Quantum Volume (QV) measures how many of the qubits you can use.
  61. Isolated quantum system. The fundamental unit of existence in the quantum world.
  62. An isolated quantum system can be in any number of levels or states.
  63. Qubit is an isolated quantum system.
  64. Entangled qubits are an isolated quantum system. Multiple isolated quantum systems get merged into a single quantum system.
  65. Qubit as a two-level quantum system.
  66. Entangled qubits as a multi-level quantum system. Entangling k qubits generally results in 2^k levels or product states. The key factor in quantum parallelism.
  67. Programming model. The details are beyond the scope of this paper, but the rules for how to program a quantum computer are very technical and require great care.
  68. Ideal quantum computer programming model not yet discovered. Research and innovation is ongoing. Don’t get too invested in what we have today since it will likely be obsolete in a few to five to ten years.
  69. Quantum applications and quantum algorithms. Using a quantum computer.
  70. Post-processing of the results from a quantum algorithm. Put the results of the quantum algorithm in a form that classical application code can handle.
  71. Quantum circuits and quantum logic gates — the code for a quantum computer.
  72. Algorithmic building blocks, design patterns, and application frameworks are critical to successful use of a quantum computer. The level immediately above the programming model. But beyond the scope of this paper, which focuses on what the quantum computer itself does.
  73. Quantum Fourier transform (QFT) and quantum phase estimation (QPE) are critical to successful use of a quantum computer. These algorithmic building blocks are profoundly critical to effectively exploiting the computational power of a quantum computer, such as for quantum computational chemistry, but beyond the scope of this paper, which focuses on what the quantum computer itself does.
  74. Quantum computer, quantum processor, quantum processing unit, QPU, and quantum computer system are roughly synonyms. But a few distinctions.
  75. Quantum computer as a coprocessor rather than a full-function computer. Most quantum application code will run on a classical computer with only selected functions offloaded to a quantum processor.
  76. Quantum computers cannot fully replace classical computers. Although eventually they will be merged with classical computers as a universal quantum computer, but that’s far in the future.
  77. Quantum applications are mostly classical code with only selected portions which run on a quantum computer. Most application logic either cannot be performed on a quantum computer at all, or wouldn’t achieve any meaningful quantum advantage over performing it on a classical computer.
  78. A variety of types and technologies for quantum computers. Both general and special purpose. A variety of approaches to storing and manipulating quantum information.
  79. Qutrits, qudits, and qumodes. Alternatives to qubits for more than two quantum states.
  80. Ideal quantum computer type not yet discovered. Research and innovation is ongoing. Don’t get too invested in what we have today since it will likely be obsolete in a few to five to ten years.
  81. Ideal quantum computer technology not yet discovered. Research and innovation is ongoing. Don’t get too invested in what we have today since it will likely be obsolete in a few to five to ten years.
  82. Coherence and coherence time. The ability of a quantum computer to remain in its magical quantum state where quantum effects can be maintained in a coherent manner which enables the quantum parallelism needed to fully exploit quantum computation. Coherence time is generally fairly short for many quantum computer technologies, limiting the size and complexity of quantum algorithms. Some technologies are more coherent than others, meaning they have a longer coherence time, which enables greater size and complexity of quantum algorithms.
  83. Gate execution time — determines how many gates can be executed within the coherence time.
  84. Maximum quantum circuit size — limits size of quantum algorithms.
  85. General-purpose quantum computer. Can be applied to many different types of applications.
  86. Special-purpose quantum computer. Only applies to a relatively narrow niche of applications which meet criteria of the device. May perform some tasks better than a general-purpose quantum computer, but doesn’t perform as many tasks.
  87. Special-purpose quantum computers or special-purpose quantum computing devices? Whether to refer to special-purpose quantum computing devices as special-purpose quantum computers is an interesting semantic challenge and debate. There’s no clear, bright-line answer at this stage. Some will prefer the latter and even simply refer to them as quantum computers despite their lack of being general purpose.
  88. Don’t get confused by special-purpose quantum computing devices that promise much more than they actually can deliver.
  89. Simulators for quantum computers. You don’t need a real quantum computer to run relatively simple quantum algorithms. But complex quantum algorithms will run very slowly or not at all since the whole point of a quantum computer is to greatly outperform even the best classical supercomputers. Simulators are also good for debugging and experimenting with improved hardware before it is even available.
  90. Noise, errors, error mitigation, error correction, logical qubits, and fault tolerant quantum computing. Noise can cause errors. Sometimes errors can be mitigated and corrected. Sometimes they just have to be tolerated. But noise is just a fact of life for quantum computing, for the foreseeable future. Eventually we will get to true fault tolerance, but not soon. Near-perfect qubits will help sooner.
  91. NISQ — Noisy Intermediate-Scale Quantum devices (computers). Official acknowledgement that noise is a fact of life for quantum computing, for the foreseeable future.
  92. Near-perfect qubits as a stepping stone to fault-tolerant quantum computing. Dramatically better than current NISQ devices even if still well-short of true fault-tolerant quantum computing.
  93. Quantum error correction (QEC) remains a distant promise, but not critical if we have near-perfect qubits. Not within the next few years. But not critical as long as we achieve near-perfect qubits within a year or two.
  94. Circuit repetitions as a poor man’s approximation of quantum error correction. By executing the same quantum circuit a bunch of times and then examining the statistical distribution of the results, it is generally possible to determine which of the various results is the more likely result — which result occurs more frequently.
  95. Beyond NISQ — not so noisy or not intermediate-scale. NISQ is technically inaccurate for many current (and future) quantum computers. I’ve proposed some alternative terms to supplement NISQ.
  96. Configurable packaged quantum solutions are the greatest opportunity for widespread adoption of quantum computing. Combine prewritten algorithms and code with the ability to dynamically customize both using high-level configuration features rather than needing to dive deep into actual quantum algorithms or application code. This will likely be the main method by which most organizations exploit quantum computers.
  97. Quantum networking and quantum Internet — research topics, not a near-term reality.
  98. What could you do with 1,000 qubits? Nobody really knows for sure. An open question. Some possibilities can be mentioned.
  99. 48 fully-connected near-perfect qubits may be the limit for practical quantum computers. There are practical limits to real hardware, primarily at the analog interface level.
  100. Universal quantum computer is an ambiguous term. Two valid meanings. First, universal gate set, which means that the machine is capable of all possible functional manipulations of quantum information and implies general purpose, in contrast to special purpose. Second, a universal quantum computer, which is a proposal for a merger of quantum computing and classical computing into a single integrated machine with classical and quantum data coexisting.
  101. What is quantum computing? This paper focuses on what a quantum computer can do for you and generally how it can be used. A separate paper would discuss more of the process of using a quantum computer than what the computer itself does.
  102. No, quantum computers cannot crack encryption keys, today, in the next few years, and possibly ever.
  103. Quantum computers already excel at generating true random numbers. Actually commercially viable today.
  104. Might a Quantum Winter be coming? Not in the next couple of years. But if promised advances don’t materialize over two to three years, then a Quantum Winter might be possible.
  105. No, Grover’s search algorithm can’t search or query a database.
  106. No, Shor’s factoring algorithm probably can’t crack a large encryption key.
  107. The hardware is relatively simple compared to even a typical personal computer, tablet, or even a smartphone, but packaged in a very large system to accommodate cryogenic refrigeration or a vacuum chamber or lots of laser devices and a lot of specialized electronics which has not yet been miniaturized since it is so new and still under active research.
  108. Jargon and acronyms — most of it can be ignored unless you really need it.
  109. Quantum hype — enough said. There’s a lot of it out there. I do address a fair amount of it directly. But a lot of it doesn’t deserve our attention. Just ignore all of the noise.

--

--

Freelance Consultant

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store