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)

Preface

IBM Quantum Experience® with Qiskit® together form a popular and easy-to-use quantum computing platform. They let you access and program actual IBM quantum computer hardware in the cloud, but you can also run your code on local and cloud-based simulators.

This book is designed to teach you how to implement quantum programming in a Python® environment, first at an elementary level, and later moving to more advanced examples. The locally installable Quantum Information Science Toolkit (Qiskit) software is built on Python and represents the most accessible tool available today for learning quantum computing.

Throughout the recipes of this book, we will introduce the Qiskit classes and methods step by step, starting with the very basic concepts such as installing and upgrading Qiskit, checking which version you are running, and so on. We then move on to understanding the building blocks that are required to create and run quantum programs and how to integrate these Qiskit components in your own hybrid quantum/classical programs to leverage Python's powerful programming features.

We'll explore, compare and contrast Noisy Intermediate-Scale Quantum (NISQ) computers and universal fault-tolerant quantum computers using simulators and actual hardware, looking closely at simulating noisy backends and how to mitigate for noise and errors on actual hardware, implementing the Shor code method for quantum error correction of a single qubit.

Finally, we'll take a look at quantum algorithms to see how they differ from classical algorithms. We will take a closer look at coding Grover's algorithm, and then use Qiskit Aqua to run versions of Grover's and Shor's algorithms to show how you can reuse already constructed algorithms directly in your Qiskit code. We do all of this as a sweeping tour of Qiskit, IBM's quantum information science toolkit, and its constituent layers: Terra, Aer, Ignis, and Aqua.

We will also use the online IBM Quantum Experience® user interface for drag-and-drop quantum computing. Everything we do in this book, and way more, can be coded in the cloud on IBM Quantum Experience®.

Each chapter contains code samples to explain the principles taught in each recipe.