Book Image

Learn Quantum Computing with Python and IBM Quantum Experience

By : Robert Loredo
Book Image

Learn Quantum Computing with Python and IBM Quantum Experience

By: Robert Loredo

Overview of this book

IBM Quantum Experience is a platform that enables developers to learn the basics of quantum computing by allowing them to run experiments on a quantum computing simulator and a real quantum computer. This book will explain the basic principles of quantum mechanics, the principles involved in quantum computing, and the implementation of quantum algorithms and experiments on IBM's quantum processors. You will start working with simple programs that illustrate quantum computing principles and slowly work your way up to more complex programs and algorithms that leverage quantum computing. As you build on your knowledge, you’ll understand the functionality of IBM Quantum Experience and the various resources it offers. Furthermore, you’ll not only learn the differences between the various quantum computers but also the various simulators available. Later, you’ll explore the basics of quantum computing, quantum volume, and a few basic algorithms, all while optimally using the resources available on IBM Quantum Experience. By the end of this book, you'll learn how to build quantum programs on your own and have gained practical quantum computing skills that you can apply to your business.
Table of Contents (21 chapters)
Section 1: Tour of the IBM Quantum Experience (QX)
Section 2: Basics of Quantum Computing
Section 3: Algorithms, Noise, and Other Strange Things in Quantum World
Appendix A: Resources

Building your own noise model

There may be times where you wish to build your own custom noise models. Whether it's to generate specific errors to test your error-mitigation methods or to create something resembling a specific device, having the ability to customize your own noise model is a handy feature to have available.

In the following steps, we will create single- and multi-qubit errors, along with readout errors. The single-qubit error will have an amplitude dampening error, the multi-qubit error will have a depolarizing error, and the readout error will be applied to one of the two qubits in the circuit:

  1. We'll begin by defining the single- and multi-qubit probability error values, followed by initializing and setting the depolarizing errors. First to the single qubit, and then to the multi-qubit error:
    # Import the error classes and methods
    from qiskit.providers.aer.noise import depolarizing_error
    from qiskit.providers.aer.noise import ReadoutError
    # Single...