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.
Use the stack diagram to trace how quantum algorithms and applications connect through software layers to quantum hardware. section 1.3.3





