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)

Visualizing quantum gates

To help us understand quantum gates, we can use the ch6_r1_quantum_gate_ui.py sample program.

This recipe differs a bit from the ones that we have seen so far. Up until now, we have mainly just used Qiskit® commands inside a Python wrapper, with no actual coding beyond that. This time, we start out by building a rudimentary Python implementation to create a very basic before-after gate exploration UI. When you run the program, it prompts you to select an initial qubit state and a gate to apply to your qubit; then it creates a visualization to show you the gate action on the qubit.

The script builds your circuit for you and then shows the basic minimum circuit that supports the gate, the state vector, and a Bloch sphere or Q-sphere visualization that corresponds to the gate action. The visualization highlights the qubit's state before the gate, and how the state changes after the gate.

Hybrid classical/quantum programs

So, what we are...