The Greatest Challenges for Quantum Computing Are Hardware and Algorithms

  1. Moderately more qubits. 64, 128, 192, 256, 512, 1024. As a start.
  2. Much larger numbers of qubits — tens of thousands, hundreds of thousands, even millions. A 1,000 by 1,000 lattice (grid) is one million qubits, but is still a rather modest amount of data by today’s standards.
  3. Much greater connectivity (entanglement) with far fewer, if any, restrictions.
  4. Much lower error rate.
  5. Much longer coherence.
  6. Much greater circuit depth.
  7. True fault tolerance — error correction, which requires significant redundancy for each qubit.
  8. Much lower cost for the full system.
  9. Non-cryogenic operating temperatures.

Topics

  1. Glossary
  2. Quantum computers are probabilistic rather than strictly deterministic
  3. Probability engine
  4. A qubit is more like a flip flop than a bit
  5. Quantum information
  6. Quantum states
  7. Quantum logic gates are instructions (software), unlike classical logic gates which are hardware
  8. Quantum logic circuits are instruction sequences, not electronic circuits
  9. Bits, gates, and instructions
  10. Not all qubits can be entangled together
  11. Need for fully-connected qubits
  12. Ride the wave function, until it collapses
  13. Major debugging challenges for a quantum program
  14. Quantum simulators to the rescue
  15. High-performance quantum simulators
  16. Trick for debugging on a real quantum computer
  17. Standard mode of operation
  18. Preprocessing and postprocessing
  19. Preparation and measurement
  20. Hybrid mode of operation
  21. Hybrid mode of operation over a network
  22. Quantum decoherence
  23. Quantum computer as a coprocessor
  24. Hybrid mode of operation with the quantum computer as a coprocessor
  25. Life without logging and tracing of events
  26. Lack of symmetry in quantum computers
  27. Need for linear memory
  28. Hybrid memory
  29. Hybrid memory for initialization of quantum state for big data
  30. Life no longer well above the bit, byte, word, instruction, address, register, and memory level
  31. Life without a stack
  32. Life without a memory heap
  33. Databases, files, and I/O of data
  34. Data modeling for the quantum world
  35. Raw physics vs. intellectual power of Turing machine, mathematics, logic, and rich data types
  36. Life without data types
  37. Life without object-oriented programming
  38. Life without algebraic expressions
  39. Life without hex numbers
  40. Life without rich mathematics
  41. What do you mean I can’t copy a qubit?!!
  42. The tedium of assembly language and machine language
  43. Richness of classic computing vs. extreme austerity of quantum computing
  44. Back to square one for algorithm design
  45. Need for new building blocks for quantum algorithms
  46. What are the essential Lego blocks for quantum computing?
  47. Need for co-design
  48. Need for new metaphors for quantum algorithms
  49. Need for new design patterns for quantum algorithms and code
  50. What’s the algorithm for designing an algorithm?
  51. Evolution vs. iteration
  52. Need for a quantum Turing machine
  53. Intellectual leverage is everything in computing
  54. Need for learning quantum intuition
  55. Need for libraries of quantum code
  56. Frameworks for interacting with quantum computers
  57. Open source software
  58. Need for global catalogs for algorithms, design patterns, and code
  59. Need for taxonomies for algorithms, design patterns, and problems
  60. Algorithms and code are not the same thing
  61. Mixing code and algorithms is not a good idea
  62. Algorithm as an outline for code
  63. Need for a reference implementation
  64. Commenting code — and algorithms
  65. Derivative algorithms
  66. Algorithms may need to be optimized for the specific hardware
  67. Plan for portability
  68. Hybrid algorithms
  69. Publication of algorithms
  70. Rich high-level programming languages
  71. Need for a true quantum programming language
  72. Need for rich higher-level programming languages
  73. Need for a natural language vocabulary for specifying real-world problems to be solved
  74. Need for quantum computer science
  75. Rerun, a number of times
  76. Need to partition larger problems into chunks
  77. Need for solid documentation
  78. Need for standardized convention for preset initialization of quantum state of qubits
  79. Need for formalized Principles of Operation documentation
  80. Need for formalized Programming Model documentation
  81. Issues of scalability
  82. What does networking mean in the quantum world?
  83. Need for quantum-inspired algorithms and quantum-inspired computing
  84. Media processing
  85. Artificial intelligence
  86. Internet of Things
  87. How much knowledge of quantum mechanics and linear algebra do you need?
  88. Need for multipartite entanglement?
  89. What exactly is entanglement good for?
  90. Consider qutrits and qudits?
  91. Security
  92. Cryptography
  93. Cryptocurrency and blockchain
  94. Applications vs. code and algorithms
  95. Need for a robust software architecture for quantum computing
  96. Need for a robust algorithmic infrastructure
  97. Need for trained quantum designers
  98. Sluggish pace of quantum hardware development and raw, physics-based algorithm design
  99. Multiprocessor quantum computers?
  100. Challenges of fixed-function and special-purpose quantum computers
  101. Role of the lunatic fringe
  102. Not even bleeding edge technology let alone leading edge
  103. Not yet Quantum Ready
  104. Quantum Research Ready
  105. Quantum Aware and Quantum Curious
  106. Too much hype and folklore
  107. Famous quantum algorithms — which haven’t panned out, so far
  108. When is quantum computing projected to be able to do anything interesting?
  109. Should students focus on quantum computing?
  110. Awaiting further advances and breakthroughs
  111. Pace of progress for quantum simulators
  112. Need for a universal quantum computer
  113. ENIAC moment for quantum computing
  114. FORTRAN moment for quantum computing
  115. What’s next — for me

Glossary

Quantum computers are probabilistic rather than strictly deterministic

Probability engine

A qubit is more like a flip flop than a bit

Quantum information

Quantum states

Quantum logic gates are instructions (software), unlike classical logic gates which are hardware

Quantum logic circuits are instruction sequences, not electronic circuits

Bits, gates, and instructions

  1. bit. Pure information, a 0 or a 1, not associated with hardware per se, although a representation of a bit can be stored, transmitted, and manipulated by hardware.
  2. classical bit. A bit on a classical electronic device or in a transmission medium.
  3. classical logic gate. Hardware device on an electronic circuit board or integrated circuit (chip) which can process and transmit bits, classical bits.
  4. flip flop. A classical logic gate which can store, manipulate, and transmit a single bit, a classical bit.
  5. register. A parallel arrangement of flip flops on a classical computer which together constitute a single value, commonly a 32-bit or 64-bit integer. Some programming tools on quantum computers may simulate a register as a sequence of contiguous qubits, but only for initialization and measurement and not for full-fledged bit and arithmetic operations as on a classical computer. Otherwise, a qubit is simply a 1-bit register, granted, with the capabilities of superposition and entanglement.
  6. memory cell. An addressable location in a memory chip or storage medium which is capable of storing a single bit, a classical bit.
  7. quantum information. Information on a quantum computer. Unlike a classical bit which is either a 0 or a 1, quantum information can be a 0 or a 1, or a superposition of both a 0 and a 1, or an entanglement with the quantum information of another qubit.
  8. qubit. Nominally a quantum bit, which represents quantum information, but also and primarily a hardware device capable of storing that quantum information. It is the quantum equivalent of both a bit and a flip flop or memory cell which stores that information. But first and foremost, a qubit is a hardware device, independent of what quantum information may be placed in that device.
  9. information. Either a bit (classical bit) or quantum information, which can be stored in a flip flop or memory cell on a classical computer or in a qubit on a quantum computer.
  10. instruction. A single operation to be performed in a computer. Applies to both classical computers and quantum computers.
  11. quantum logic gate. An instruction on a quantum computer. In no way comparable to a classical logic gate.
  12. logic gate. Ambiguous term whose meaning depends on context. On a classical computer it refers to hardware — a classical logic gate, while on a quantum computer it refers to software — an instruction.

Not all qubits can be entangled together

Need for fully-connected qubits

  • Develop a quantum computer with a sufficiently large number of quantum bits (qubits) to solve a challenging calculation.
  • Ensure that every qubit interacts with all other qubits in the system, critical for solving fundamental problems in physics.

Ride the wave function, until it collapses

Major debugging challenges for a quantum program

  1. You can’t examine the wave function of a quantum system or qubit — you can only measure or observe a single observable, which then causes the rest of the wave function to collapse.
  2. You can’t examine the probability amplitudes for the basis vectors of a qubit.
  3. You can’t single step or set breakpoints in a quantum program, examine quantum state, possibly even change the quantum state, and then continue execution.
  4. Quantum decoherence means that even if you could stop and examine state, you could not pause and think about it since the quantum state will tend to decay within a very tiny fraction of a second — less than one 10,000th of a second, 90 microseconds, on the 50-qubit IBM quantum computer.

Quantum simulators to the rescue

  1. You can’t examine the wave function of a quantum system or qubit — you can only measure or observe a single observable, which then causes the rest of the wave function to collapse.
  2. You can’t examine the probability amplitudes for the basis vectors of a qubit.
  3. You can’t single step or set breakpoints in a quantum program, examine quantum state, and then continue execution.

High-performance quantum simulators

  1. A quantum simulator running on your low-end laptop computer.
  2. A quantum simulator running on your high-end laptop computer.
  3. A quantum simulator running on your high-end desktop computer.
  4. A quantum simulator running on a low-end cloud server.
  5. A quantum simulator running on a quantum cloud service provider’s server of unspecified performance.
  6. A quantum simulator running on a high-end, but still general-purpose cloud server.
  7. A quantum simulator running on a cloud server which has been optimized for quantum simulation.
  8. An unoptimized quantum simulator.
  9. A modestly optimized quantum simulator.
  10. A moderately optimized quantum simulator.
  11. A heavily optimized quantum simulator.
  12. Specialized classical hardware, such as GPUs, FPGAs, and even custom logic, all optimized around quantum simulation. Still not even close to competing with a real quantum computer in terms of raw physics, but still boosting simulation significantly.
  13. Simulation partitioned over multiple processors, even a large number of processors, even to the point of a single processor per qubit.
  1. Much better performance than other quantum simulators.
  2. Greater qubit count than readily available quantum computers.
  3. Better qubit connectivity (entanglement) than real quantum computers.
  4. Hybrid memory for easier initialization and measurement of qubit state, especially for higher qubit counts.
  5. Specialized quantum logic gates for higher performance and simpler code.
  6. Greatly facilitate debugging of more complex quantum programs, including single step and full access to all details of quantum state (wave function), including probability amplitudes.

Trick for debugging on a real quantum computer

Standard mode of operation

Preprocessing and post-processing

Preparation and measurement

Hybrid mode of operation

Hybrid mode of operation over a network

Quantum decoherence

Quantum computer as a coprocessor

Hybrid mode of operation with the quantum computer as a coprocessor

Life without logging and tracing of events

Lack of symmetry in quantum computers

  1. A moderate number of registers — all alike.
  2. Large amount of memory — and all alike.
  3. Large amount of disk storage — and it’s all alike.
  4. A file system — and folders and files are all alike.
  5. Rows of a database table — they all behave the same.
  6. Elements of an array or list — they all behave the same.
  7. Lots of variables — and they all behave alike, or at least those which are of the same type.

Need for linear memory

Hybrid memory

Hybrid memory for initialization of quantum state for big data

Life no longer well above the bit, byte, word, instruction, address, register, and memory level

Life without a stack

  1. Function calls, including built-in math functions.
  2. Recursive functions.
  3. Function arguments.
  4. Local variables and local memory management on nested functions.
  5. Support for modules, subsystems, and object-oriented programming.

Life without a memory heap

Databases, files, and I/O of data

Data modeling for the quantum world

Raw physics vs. intellectual power of Turing machine, mathematics, logic, and rich data types

  1. The intellectual power and intellectual leverage of Turing machines.
  2. Operations which closely mimic traditional mathematics, with basic arithmetic and mathematical functions like square root, exponentials, logarithms, and trigonometric functions.
  3. Logical operations and Boolean logic, such as AND, OR, NOT, exclusive OR, and complex parenthesized expressions.
  4. Rich data types — integers, real numbers, complex numbers, symbols, words, characters, arbitrary strings of characters, and even natural language text.
  5. Object-oriented programming with user-defined classes of objects.
  6. Algebraic expressions.
  7. Vast libraries of functions, classes, modules, and frameworks which can be used across many applications.
  8. Wealth of high-level programming languages, each adapted to particular needs and capabilities, with sophisticated control structures and data structures.
  9. Multiple processors and multiple processing cores for parallel processing.
  10. Parallel processes and interprocess communication.
  11. Shared memory for super-efficient sharing of information.
  12. Sophisticated file systems for storing and organizing information.
  13. Sophisticated databases for creating and querying complex data relationships.
  14. Distributed computing across diverse networks, including the Internet.
  15. Complex digital electronic circuits based on very few basic circuit elements wired up in a combinatorial manner to perform complex and sophisticated operations at the speed of switching a transistor.

Life without data types

  1. Bit strings
  2. Bytes
  3. Integers
  4. Enumerations
  5. Reals
  6. Complex numbers
  7. Characters and text
  8. Classes and objects
  9. Arrays, lists, trees
  10. Databases

Life without object-oriented programming

Life without algebraic expressions

  1. Add
  2. Subtract
  3. Multiply
  4. Divide
  1. Square root
  2. Exponentials
  3. Logarithms
  4. Trigonometric functions
  5. Statistical functions

Life without hex numbers

Life without rich mathematics

What do you mean I can’t copy a qubit?!!

The tedium of assembly language and machine language

Richness of classic computing vs. extreme austerity of quantum computing

Back to square one for algorithm design

Need for new building blocks for quantum algorithms

What are the essential Lego blocks for quantum computing?

  1. Transistors.
  2. Boolean logic gates.
  3. Machine language instructions.
  4. Macro assembly language.
  5. Algebraic expressions and statements in high-level languages.
  6. Objects and classes in object-oriented programming languages.
  7. Modules.
  1. Extremely limited hardware limits the degree of software abstraction which can be supported.
  2. Lack of imagination on the software front starves the hardware guys from receiving any useful input about what is really needed on the hardware front to unshackle quantum software.

Need for co-design

  1. Software is infinitely malleable.
  2. Limited hardware can severely limit the application of that otherwise unlimited malleability.

Need for new metaphors for quantum algorithms

  1. They don’t have direct, efficient, powerful analogies in the quantum world.
  2. They don’t exploit the potential and capabilities of the quantum world.

Need for new design patterns for quantum algorithms and code

  • A metaphor draws a strong mental image or even a visual image which is an analogy to some real-world phenomenon which the designer will be intuitively familiar with. There are rules to be followed, but they parallel the real-world phenomenon.
  • A design pattern is a collection of rules which make sense once you learn them and gain experience using them, but initially have no visceral appeal or meaning per se. Sometimes there are indeed metaphors behind design patterns, but that may be more the exception than the rule. The point is that design patterns represent abstractions, unconstrained by any real-world phenomena or visual imagery.

What’s the algorithm for designing an algorithm?

  1. Clear understanding of the requirements. What are the expectations for what the algorithm is supposed to accomplish?
  2. Clear understanding of the raw materials at hand. The machine and its basic features.
  3. Review of the literature. What existing algorithms accomplish something similar or parts of what is needed?
  4. Intuition.
  5. Creative insight.
  6. Experience.
  7. Deep technical knowledge.
  8. Willingness to take risks.
  9. Willingness to think outside the box. Try something completely and fundamentally new.
  10. Diligence.
  11. Persistence.
  12. Perseverance.
  13. Trial and error.
  14. Willing to “wing it” on occasion, as often as necessary.
  15. Testing.
  16. Feedback.
  17. Willingness and presence of mind to throw it all away when an approach is unworkable and start over, possibly even from scratch.
  18. Willingness to set ego and pride aside and switch to a competing approach when merit suggests better opportunities.

Evolution vs. iteration

Need for a quantum Turing machine

Intellectual leverage is everything in computing

  1. Intellectual leverage to produce richer, better, and more powerful algorithms as basic building blocks.
  2. Intellectual leverage to use those algorithms as basic building blocks to build higher-levels of structure for even more powerful applications.

Need for learning quantum intuition

Need for libraries of quantum code

Frameworks for interacting with quantum computers

  1. Libraries of code which runs on quantum computers.
  2. Libraries for frameworks or utility functions which make it easier to interface with a quantum computer from a classical computer.

Open source software

Need for global catalogs for algorithms, design patterns, and code

Need for taxonomies for algorithms, design patterns, and problems

Algorithms and code are not the same thing

  1. Natural language.
  2. Pseudo-code. A cross between code and natural language. It superficially looks code-like, but can be as loosely structured as natural language.
  3. Flow charts.
  4. Specialized design languages. They can certainly look as if they could be translated into executable code, but not quite or not completely.
  5. Mathematical equations.
  6. Informal or semi-formal rules, commonly in semi-structured natural language.
  7. State machines.
  8. Diagrams.
  9. Tables.
  10. Grammars.
  11. Patterns.
  12. Any of the above, as comments embedded in code.
  1. A single algorithm may have more than one code implementation.
  2. A single program or even a single function may utilize more than one algorithm.

Mixing code and algorithms is not a good idea

  1. What is this code trying to do? What is its purpose? Besides stating this in natural language, it is very helpful to simply reference the name of the algorithm or algorithms being implemented by the code.
  2. What’s the algorithm which this code implements? Commonly, the details of the code needed to implement an algorithm obscure the algorithm itself.

Algorithm as an outline for code

Need for a reference implementation

Commenting code — and algorithms

Derivative algorithms

  1. Discard the algorithm and design a fresh algorithm from scratch.
  2. Tinker with the existing algorithm, keeping as much as possible without change, but making minimal changes to satisfy our needs.
  3. Making major, maybe even radical, or at least significant refinements to the existing algorithm.

Algorithms may need to be optimized for the specific hardware

  1. Let the code deviate from the algorithm, but keep the algorithm intact.
  2. First create a derivative algorithm which can be more readily implemented on the target machine.

Plan for portability

  1. No change required. The code runs without modification on at least some other types of machines.
  2. Some configuration changes required. Change some symbolic parameters but the code itself runs without change.
  3. Very minor changes.
  4. Modest changes.
  5. Moderate changes.
  6. Extensive changes.
  7. Radical changes.
  8. Complete rewrite — but basic algorithm(s) remain intact.
  9. Complete redesign, including adaptation of algorithm(s).
  10. Start from scratch, including the need for new algorithm(s).

Hybrid algorithms

Publication of algorithms

  1. A text file in a code repository, such as GitHub.
  2. A formatted document in GitHub.
  3. An unreviewed paper submission to ArXiv.org.
  4. A white paper on a technology website.
  5. Comments in code.
  6. Less formal book, such as a cookbook.
  7. Presentation slides for a technology conference.

Rich high-level programming languages

Need for a true quantum programming language

Need for rich higher-level programming languages

Need for a natural language vocabulary for specifying real-world problems to be solved

Need for quantum computer science

Rerun, a number of times

Need to partition larger problems into chunks

Need for solid documentation

Need for standardized convention for preset initialization of quantum state of qubits

Need for formalized Principles of Operation documentation

Need for formalized Programming Model documentation

Issues of scalability

What does networking mean in the quantum world?

Need for quantum-inspired algorithms and quantum-inspired computing

  1. Use existing classical programming languages, or is there some particular intellectual advantage and leverage which can be achieved by designing a whole new language focused on quantum computing?
  2. What to do about data types and units of value other than simple bits, even though they can be superimposed and entangled.
  3. How to assure a bias towards quantum-style features rather than purely classical-style features so that as much of the algorithms and code as possible can be shifted over to a real quantum computer in the hybrid mode of operation.
  1. A reasonable bulk of the quantum-inspired algorithms and code can be seamlessly shifted over to a real quantum computer in the hybrid mode of operation.
  2. Even without access to a real quantum computer, the quantum-inspired algorithms and code run as fast, almost as fast, or even faster than traditional classical algorithms and code which was not quantum-inspired.

Media processing

  1. Image processing
  2. Graphics processing.
  3. Audio processing.
  4. Video processing.

Artificial intelligence

  1. Perception — recognizing objects and complex scenes.
  2. Knowledge.
  3. Machine learning (complex data and visual patterns).
  4. Learning (concepts, not just visual or numerical patterns).
  5. Tasks.
  6. Goals.
  7. Reasoning.
  8. Creativity and imagination.
  9. Interaction in the real world — robotics — manipulation of objects, motion.

Internet of Things

How much knowledge of quantum mechanics and linear algebra do you need?

Need for multipartite entanglement?

What exactly is entanglement good for?

  1. Should it be used sparingly?
  2. Should it be used widely and as often as possible?
  3. What intellectual leverage does it provide?
  4. What larger operations can be constructed using it?
  5. Given very limited connectivity of existing quantum computers, what tradeoffs should be used when it cannot be used as widely as desired?
  6. What are the best example algorithms and programs which use it?
  7. How much more connectivity is needed than on current quantum computers?
  8. How specifically can a quantum algorithm designer argue for the need for greater connectivity?
  9. How specifically can a quantum algorithm designer argue for the need for a quantum computer with a larger number of qubits, such as the need for greater connectivity even if a current machine does indeed have more than enough raw qubits for a given algorithm?
  10. How much connectivity is a typical quantum program likely to need?

Consider qutrits and qudits?

  1. What are some great examples of how realistic algorithms and could exploit three or ten quantum states?
  2. Would this provide greater intellectual leverage?
  3. How feasible is this?
  4. How much more difficult (or easier) would this make algorithm design and coding?
  5. Is a qutrit (three states) enough?
  6. Is a qudit (ten states) really that much better?
  7. How much compatibility would there be between algorithms and code for qubits, qutrits, and qudits?

Security

Cryptography

Cryptocurrency and blockchain

Applications vs. code and algorithms

  1. Data. It lives somewhere and comes from somewhere, but not on the quantum computer itself.
  2. User interaction and user experience. Again, this happens on classical computers, not the quantum computer.
  3. Algebraic computation. Maybe someday quantum computers will support this, but not soon.
  4. Complex control flow. Requires the hybrid mode of operation.
  5. Complex data structures. Ditto.
  6. Transforming real data to and from the form of data that exists on a quantum computer — qubits in the |0> and |1> quantum states. All of this must be performed on a classical computer.
  7. Networking and distributed computing. Outside the realm of quantum computing. Someday there may be forms of quantum networking, but not soon.

Need for a robust software architecture for quantum computing

Need for a robust algorithmic infrastructure

  1. Better building blocks for algorithms.
  2. More basic algorithms as building blocks.
  3. Better hardware functions.
  4. Better hardware architectures.
  5. Greater hardware capacity. Both qubits and connectivity.
  6. Better metaphors.
  7. Better design patterns.
  8. Reference implementations.
  9. Taxonomies.
  10. Catalogs.
  11. Documentation.
  12. Education.
  13. Training.

Need for trained quantum designers

Sluggish pace of quantum hardware development and raw, physics-based algorithm design

Multiprocessor quantum computers?

Challenges of fixed-function and special-purpose quantum computers

  1. Assuring that the problem niche matches the machine niche.
  2. The complexity of transforming problem data into machine data and transforming results back into a form that people or classical machines can handle.
  3. The risk that solutions formulated in terms of a specialized machine will not be readily ported to newer machines which may not have the same machine architecture.

Role of the lunatic fringe

Not even bleeding edge technology let alone leading edge

Not yet Quantum Ready

Quantum Research Ready

Quantum Aware and Quantum Curious

  1. Read a few white papers.
  2. View a few slide presentations.
  3. Become slightly familiar with both its promises and its pitfalls.
  4. Do some small experiments. Optionally, since this requires some real effort.
  5. Send a few individuals — but not entire teams or large groups — to technical conferences to absorb some technical detail on the potential and status of quantum computing.
  6. Occasionally invite a guest technical expert to give a talk about quantum computing.
  7. Chat with colleagues at other organizations to get a sense of how they are looking at quantum computing.
  8. Have some discussions about what applications might benefit from quantum computing.
  9. Write up a report about how quantum computing might or could impact a particular organization.
  10. Schedule a re-review of the state of quantum computing another two to three years hence.
  11. Designate a few individuals to have responsibility for occasionally checking up on progress in the field of quantum computing — not as full-time jobs or to qualify as experts, but maybe at the level of a very few hours a month. Not to be cheerleaders for every minor advance in the field, but simply to be watching in case a true breakthrough actually does occur.
  12. Annually ask the question: has any truly dramatic development occurred this year to warrant changing the watch and wait posture?

Too much hype and folklore

Famous quantum algorithms — which haven’t panned out, so far

  1. Quantum computers break current encryption schemes. Not even close.
  2. Shor’s algorithm is able to factor large prime numbers — to crack encryption schemes. Not even close. Researchers are still struggling with integer factorization schemes.
  3. Grover’s algorithm can search databases. No, not really. Most databases are a lot more complex than simple, linear bit strings.

When is quantum computing projected to be able to do anything interesting?

Should students focus on quantum computing?

Awaiting further advances and breakthroughs

  1. Moderately more qubits. 64, 128, 192, 256, 512, 1024. As a start.
  2. Much larger numbers of qubits — tens of thousands, hundreds of thousands, even millions. A 1,000 by 1,000 lattice (grid) is one million qubits, but is still a rather modest amount of data by today’s standards.
  3. Much greater connectivity (entanglement) with far fewer, if any, restrictions.
  4. Much lower error rate.
  5. Much longer coherence.
  6. Much greater circuit depth.
  7. True fault tolerance — error correction, which requires significant redundancy for each qubit.
  8. Much lower cost for the full system.
  9. Non-cryogenic operating temperatures.
  1. New discoveries for technologies for qubits.
  2. Breakthroughs for fabricating qubits.
  3. Photonic computing?
  4. Room temperature quantum computing?
  5. A quantum computer in a shoebox?
  6. New architectures for qubits and qubit operations.
  7. Radical advances in classical computing which can spillover into quantum computing.
  8. Metaphors, design patterns, and programming languages for quantum computing.
  9. New discoveries in physics and quantum mechanics.
  10. Opportunities for tighter integration between classical and quantum computing.
  11. Opportunities for quantum-inspired algorithms which work well on classical computers.

Need for a universal quantum computer

Pace of progress for quantum simulators

ENIAC moment for quantum computing

FORTRAN moment for quantum computing

What’s next — for me

--

--

--

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
Jack Krupansky

Jack Krupansky

Freelance Consultant

More from Medium

How (Not) To Use Today’s Noisy Intermediate-Scale Quantum Computers

Classiq’s Toffoli Problem

Are Quantum Computers the answer to me never having to solve another algebra assignment?

The Hype of Quantum Algorithms