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)

Finding the least busy backend

When you run your quantum program on an IBM Quantum® backend, you will quickly realize that you might not be the only one attempting to use that same backend at the same time. Depending on the time and day of the week, and the type and purpose of the quantum programs being run, not all IBM Quantum® machines are used to the same degree.

If you are not concerned with which machine you should run the code on, you can use the least_busy method to automatically find the best backend to run your programs on. The least busy status of a backend generally means that you have the least wait time, but this is not necessarily true. Some programs run longer than others, and queues (just like in the supermarket) might move at different speeds.

Let's take a look at the following steps:

  1. Start by importing the required IBMQ and least_busy methods and load our account.
  2. Use the least_busy method to automatically select the generally available...