chapter one

1 A few words about quantum computing

 

This chapter covers

  • The kinds of problems quantum computing might solve better than classical computing
  • Three main components of quantum computing systems
  • Quantum software development workflow

Quantum computing uses quantum-mechanical phenomena to perform computations. It is a new computing paradigm that is fundamentally different from "classical computing" — the traditional model that powers our world, from home computers and smartphones we use on a daily basis to supercomputers that solve scientific problems.

Classical computing relies on the concepts that are familiar to us from our daily lives, and thus it feels intuitive to us, even if we often don’t know the exact algorithms our computers employ to solve the problems we ask of them. For example, we can plan a trip using a paper map of the area, so a map application doing the same thing doesn’t feel odd.

In contrast with that, we don’t have a frame of reference for quantum-mechanical phenomena in our lives, so we don’t have an opportunity to develop intuition for a model of computation that relies on them. This means that we have to reason about quantum computing using mathematics and an occasional analogy which may or may not be helpful. Add to that the often-emphasized belief in the importance of mastering quantum physics for understanding quantum computing, and it’s no wonder that this topic can feel mysterious and intimidating!

1.1 Your second book on quantum computing: the prerequisites

1.2 The hype and the promise: what kinds of problems can quantum computing solve?

1.3 A peek inside the fridge: how does quantum computing work?

1.3.1 Algorithms

1.3.2 Hardware

1.3.3 Software

1.3.4 Quantum application software development workflow

1.4 Why learn quantum computing?

1.5 Learn by doing: learning quantum computing through quantum programming with Qiskit and Q#

1.6 Further reading

1.7 Summary