Understand the nuances of programming traditional quantum computers and solve the challenges of the future while building and executing quantum programs on IBM Quantum hardware and simulators
▶Book Description
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.
▶What You Will Learn
⦁Visualize a qubit in Python and understand the concept of superposition
⦁Install a local Qiskit® simulator and connect to actual quantum hardware
⦁Compose quantum programs at the level of circuits using Qiskit® Terra
⦁Compare and contrast Noisy Intermediate-Scale Quantum computing (NISQ) and Universal Fault-Tolerant quantum computing using simulators and IBM Quantum® hardware
⦁Mitigate noise in quantum circuits and systems using Qiskit® Ignis
⦁Understand the difference between classical and quantum algorithms by implementing Grover's algorithm in Qiskit®
▶Key Features
⦁Work your way up from writing a simple quantum program to programming complex quantum algorithms
⦁Explore the probabilistic nature of qubits by performing quantum coin tosses and using random number generators
⦁Delve into quantum algorithms and their practical applications in various domains
▶Who This Book Is For
This book is for developers, data scientists, machine learning researchers, or quantum computing enthusiasts who want to understand how to use IBM Quantum Experience® and Qiskit® to implement quantum solutions and gain practical quantum computing experience. Python programming experience is a must to grasp the concepts covered in the book more effectively. Basic knowledge of quantum computing will also be beneficial.
▶What this book covers
This cookbook is a problem-solution- and exploration-based approach to understanding the nuances of programming quantum computers with the help of IBM Quantum Experience®, Qiskit®, and Python.
⦁ Chapter 1, Preparing Your Environment, walks you through how to install Qiskit® as a Python 3.5 extension on your local workstation. You'll also register with IBM Quantum Experience®, get your API key, and grab the sample code.
⦁ Chapter 2, Quantum Computing and Qubits with Python, shows how to use Python to code simple scripts to walk you through the concept of bits and qubits and how quantum gates work without Qiskit® or IBM Quantum Experience®.
⦁ Chapter 3, IBM Quantum Experience® – Quantum Drag and Drop, looks at IBM Quantum Experience®, IBM Quantum's online, cloud-based drag-and-drop tool for programming quantum computers. Here you will code a simple program and learn how to move between Qiskit® and IBM Quantum Experience®.
⦁ Chapter 4, Starting at the Ground Level with Terra, explores a set of basic quantum programs, or circuits, to examine fundamental concepts such as probabilistic computing, superposition, entanglement, and more. We will also run our first programs on an actual physical IBM quantum computer.
⦁ Chapter 5, Touring the IBM Quantum® Hardware with Qiskit®, looks at the IBM Quantum® backends, exploring various physical aspects that impact the results of your quantum programs.
⦁ Chapter 6, Understanding the Qiskit® Gate Library, gives an overview of the quantum gates that are offered out of the box with Qiskit® to see what they do to your qubits. We take a look at the universal quantum gates from which all other quantum gates are built, and also expand from one-qubit gates, to the two-, three-, and more qubit gates needed for more advanced quantum circuits.
⦁ Chapter 7, Simulating Quantum Computers with Aer, helps you run your circuits on a collection of simulators that you can use locally or in the cloud. You can even set your simulators up to mimic the behavior of an IBM Quantum® backend, to test your circuits under realistic conditions on your local machine.
⦁ Chapter 8, Cleaning Up Your Quantum Act with Ignis, explains how to clean up your measurement results by understanding how our qubits behave, and looks at how we can correct for noise by using noise mitigation circuits such as the Shor code.
⦁ Chapter 9, Grover's Search Algorithm, builds Grover's search algorithm, a quadratic speedup of classical search algorithms. We will use a unique quantum tool, quantum phase kickback. We build several different versions of the algorithm to run on both simulators and IBM Quantum® backends.
⦁ Chapter 10, Getting to Know Algorithms with Aqua, uses premade Qiskit Aqua versions of two of the most well-known quantum algorithms: Grover's search algorithm and Shor's factoring algorithm. We also take a quick tour of the Qiskit Aqua algorithm library.