What Is a Quantum Computer?

  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?

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.

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.

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.

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.

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.

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.

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.

  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.

  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.

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.

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.

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.

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.

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.

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.

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.

Isolated quantum system

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

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.

Qubit is an isolated quantum system

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

Entangled qubits are an isolated quantum system

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

Qubit as a two-level quantum system

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

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.

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.

  • 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

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.

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.

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.

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.

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.

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.

  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.

Access to a quantum computer

A quantum computer is generally accessed over a network connection.

  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.

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.

Quantum computers are still in the pre-commercialization phase

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

  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.

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.

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.

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.

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.

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.

  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.

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.

  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.

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.

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.

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.

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.

General-purpose quantum computers

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

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.

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.

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.

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.

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.
  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.

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.

  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.

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.

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.

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.

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.

  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).

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.

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.

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.

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.

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.

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.

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.

  • 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/

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.

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.

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.

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.
  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.
  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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

  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.

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.

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.

  • 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
  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.

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

Love podcasts or audiobooks? Learn on the go with our new app.

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