liveBook · Manning

Technology stack

As explained in Quantum Programming in Depth

A software stack is a layered collection of software components that collectively supports application execution on a computing platform.

A software stack is a layered collection of components that connects theoretical algorithms with hardware capable of running them. In quantum computing, it supports application development, testing, evaluation, and execution while providing access to quantum systems through the cloud. section 1.10 section 1.3.3

A quantum software stack separates responsibilities across several layers:

  • Application software implements quantum algorithms for practical problems, such as evaluating molecular properties with quantum chemistry. section 1.3.3
  • System software provides the platform on which application software runs, complementing the application layer. section 1.3.3
  • Programming tools express algorithms through hardware-agnostic ideas such as qubit allocation and gate application, enabling reuse across different hardware platforms. section 1.3.3
  • Toolkits may provide a standalone domain-specific language such as Q#, or libraries embedded in classical languages such as Qiskit for Python. section 1.3.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

Use the stack diagram to trace how quantum algorithms and applications connect through software layers to quantum hardware. section 1.3.3

How Quantum Programming in Depth covers it

How deep it goes
Defines application, system, and programming-tool roles, but stops short of detailing the lower middle-layer conversion process.
Examples
Uses quantum chemistry applications, Q#, Qiskit, Python, qubit allocation, and gate application as concrete examples.
What it assumes
Assumes familiarity with theoretical algorithms, quantum hardware, qubits, and gates while introducing their software interface.
What you can do after
Build, test, evaluate, and execute quantum applications across potentially different hardware platforms.
How it connects
Ties quantum algorithms to application software, system software, programming languages, quantum libraries, cloud access, and quantum hardware.

Also explained in

Compare how 6 books explain technology stack →

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.