Chapter 6. Running Q# Programs

This chapter starts by discussing the structure of quantum applications and the typical stages of the quantum software development process. Some of these steps you’ll recognize from classical software development, and some are uniquely quantum.

After that I introduce quantum simulators—tools commonly used for testing and evaluating quantum programs prior to running them on quantum hardware. Quantum simulators are an integral part of quantum software development workflows, and understanding their capabilities and role will be essential for the rest of this book.

The main part of this chapter describes the various ways to run Q# programs, on their own or interwoven with classical programs, in different environments, and the ways to choose the best environment for your purposes.

Quantum Applications

Quantum computers are often considered to be a type of coprocessor—a specialized processor used to augment the functions of the main processor. A coprocessor, such as a GPU, performs certain kinds of processor-intensive tasks, like graphics acceleration, better than the main processor, and offloading those tasks to the coprocessor can improve overall system performance. Similarly, quantum computers will offer quantum speedups for certain types of problems, but by no means for all of them.

Most quantum computing applications will use a hybrid workflow, combining classical and quantum code. This way, the quantum computer solves the computationally heavy subtasks ...

Get Q# Pocket Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.