liveBook · Manning

Quantum computer

As explained in Quantum Programming in Depth

Quantum hardware is physical computing equipment that stores and manipulates information in quantum states.

A quantum computer is physical equipment for performing computations with quantum-mechanical phenomena. It is one component of a quantum computing system alongside algorithms and software; in the gate-based model, computation is expressed as a sequence of single- and multiqubit gates. Hardware alone does not make a useful application: algorithms determine what problem to solve, while software translates, tests, evaluates, and executes programs on a device. section 1.3 section 1.3.3

Quantum computers are not general replacements for classical machines. A large enough device can in principle run classical computations, but ordinary tasks such as email or database search remain better suited to classical computing. Practical quantum advantage requires a meaningful problem that classical best-known algorithms cannot solve usefully in time, while a quantum solution can; likely candidates include materials science and simulations of quantum systems in chemistry and physics. section 1.2 section 1.10

Figure 1.1 Quantum advantage might be achievable if the time a quantum computer takes to solve a certain problem grows at a slower rate as the problem size increases than the time a classical computer takes to do the same. In this case, problem instances that are much larger than the crossover size might be good candidates for quantum solutions. If the crossover time is months or more, quantum computing offers no practical advantage, since larger problem instances take much longer to solve, and running a quantum computer for months or years to solve a single problem is not practical.
figure

Compare growth rates rather than assuming that a quantum result is useful: advantage depends on a favorable crossover at a practical runtime and sufficiently large problem instances. section 1.2

Current devices are in the noisy intermediate-scale quantum (NISQ) era: they are large enough that classical simulation cannot capture their behavior, yet too small and noisy to solve practical problems. Major hardware approaches include superconducting circuits, trapped ions, neutral atoms, and photons. Development has progressed from proof-of-concept devices and artificial demonstrations beyond classical reach toward fault-tolerant machines capable of long computations, with practical problems as the final goal. section 1.3.2 section 1.10

Figure 1.2 The major milestones of quantum hardware development. The first two, showing the use of quantum mechanics to perform a computation and having a quantum computer solve an artificial problem that a classical computer cannot, have already been achieved. The next milestone, building a fault-tolerant quantum computer that can run long computations, is the current focus. The final goal is to build a quantum computer that can solve practical problems that a classical computer cannot.
figure

Track hardware maturity from proof of concept through demonstrations and fault tolerance to practical quantum advantage. section 1.3.2

Working with current hardware is a constrained development and validation process:

  • Write hybrid applications that combine quantum subroutines for heavy computation with tightly coupled classical code for tasks better handled classically. section 1.3.4
  • Test small instances on quantum simulators, which permit inspection of internal state that direct observation of hardware cannot provide. section 1.3.4
  • Estimate qubit and gate requirements before execution, checking whether a program fits the device and can finish before noise obscures results. section 1.3.4
  • Run on hardware as validation under current NISQ limits, rather than assuming the run produces a practically important answer. section 1.3.4
Figure 1.4 Quantum application software development workflow. From the developer perspective, it is similar to the classical software development workflow, with some differences to account for the nature of quantum computing. For example, using quantum simulators instead of the hardware makes testing quantum code on small problems faster and easier because it eliminates the need to account for noise.
figure

Use the workflow to place hardware execution after coding, simulator-based validation, and resource evaluation. section 1.3.4

The software stack makes hardware usable. Hardware-agnostic programming tools express qubit allocation and gate application without commands tied to one physical platform, allowing the same code to target different devices. Q# is a standalone domain-specific language, while Qiskit is a Python library; middle layers convert high-level code into a representation suitable for execution. section 1.3.3 section 1.3

Figure 1.3 A quantum software stack serves as an interface between the quantum algorithms and the hardware running them. Its components mirror those of the classical software stack.
figure

Locate quantum hardware beneath the software layers that connect abstract algorithms to executable device operations. section 1.3.3

How Quantum Programming in Depth covers it

How deep it goes
Explains NISQ limitations, hardware approaches, maturity milestones, and device-constrained testing without detailing physical implementations.
Examples
Uses quantum-system simulation, molecular-property evaluation, and early Deutsch, Deutsch-Jozsa, and Grover implementations as examples.
What it assumes
Introduces a physics-free, problem-solving approach while using mathematics to reason about unfamiliar quantum-mechanical phenomena.
What you can do after
Evaluate/understand whether a workload and implementation fit current hardware limits rather than assuming quantum advantage.
How it connects
Connects quantum computers with quantum algorithms, the quantum software stack, hybrid algorithms, simulators, and fault tolerance.

Also explained in

Compare how 3 books explain quantum computer →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Quantum Programming in Depth. The section links point to the parts of the book it draws on.