Book Image

Quantum Computing in Practice with Qiskit® and IBM Quantum Experience®

By : Hassi Norlen
5 (1)
Book Image

Quantum Computing in Practice with Qiskit® and IBM Quantum Experience®

5 (1)
By: Hassi Norlen

Overview of this book

IBM Quantum Experience® is a leading platform for programming quantum computers and implementing quantum solutions directly on the cloud. This book will help you get up to speed with programming quantum computers and provide solutions to the most common problems and challenges. You’ll start with a high-level overview of IBM Quantum Experience® and Qiskit®, where you will perform the installation while writing some basic quantum programs. This introduction puts less emphasis on the theoretical framework and more emphasis on recent developments such as Shor’s algorithm and Grover’s algorithm. Next, you’ll delve into Qiskit®, a quantum information science toolkit, and its constituent packages such as Terra, Aer, Ignis, and Aqua. You’ll cover these packages in detail, exploring their benefits and use cases. Later, you’ll discover various quantum gates that Qiskit® offers and even deconstruct a quantum program with their help, before going on to compare Noisy Intermediate-Scale Quantum (NISQ) and Universal Fault-Tolerant quantum computing using simulators and actual hardware. Finally, you’ll explore quantum algorithms and understand how they differ from classical algorithms, along with learning how to use pre-packaged algorithms in Qiskit® Aqua. By the end of this quantum computing book, you’ll be able to build and execute your own quantum programs using IBM Quantum Experience® and Qiskit® with Python.
Table of Contents (12 chapters)

Technical requirements

The recipes that we will discuss in this chapter can be found here:

You can run the recipes in this book in your local Qiskit® environment that you set up as a part of this chapter. You can also run most of them in the Quantum Lab environment of the online IBM Quantum Experience®. This is also true for the recipe in this chapter, which lists the installed version of Qiskit® in the environment in which you run the recipe.

For information about how to download the recipes, see Downloading the code samples.

The local environment in which you choose to install Qiskit® must have Python 3.5 or higher installed (as of this book's writing). For detailed information about the most current requirements for Qiskit® installation, see the Qiskit® requirements page at

IBM Quantum® recommends using the Anaconda distribution of Python (, and to use virtual environments to keep your Qiskit® installation isolated from your usual Python environment.

New to virtual environments?

Virtual environments provide isolated Python environments that you can modify separately from each other. For example, you can create an isolated environment for your Qiskit® installation. You will then install Qiskit® only in that environment, and not touch the Python framework in the base environment which will then contain an untarnished version of Python.

As Qiskit® releases new versions of their packages, there is technically nothing stopping you from creating a new isolated environment for each updated version of Qiskit® to retain your old and stable version for your Qiskit® quantum programming, and a new environment where you can test updated versions of Qiskit®. You will find more on this in the Keeping your Qiskit® environment up to date recipe.