Quantum programming develops programs that specify or control quantum computations. Practical applications commonly combine quantum subroutines with classical code, so development involves tightly coupled quantum and classical components. section 1.3.4
A quantum programming workflow typically includes:
- Designing and implementing an algorithm, including both quantum and classical portions when appropriate. section 1.3.4
- Validating correctness with unit tests and quantum simulators, which expose internal states on small problem instances. section 1.3.4 section 1.5
- Estimating qubit, gate, and noise requirements before running a program on limited quantum hardware. 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.
The workflow diagram maps quantum application development from algorithm implementation through testing, resource evaluation, and execution, highlighting simulator-assisted validation. section 1.3.4
Hands-on quantum projects
Projects can implement quantum-library routines such as state preparation and unitary transformations, or apply algorithms such as eigenvalue estimation and Grover search to simple puzzles. Mathematical reasoning leads to tested implementations in Qiskit and Q#. section 1.5
