ENGLISH

Learn Quantum Computing with Python and IBM Quantum Experience: A hands-on introduction to quantum computing and writing your own quantum programs with Python

Book information

Publisher
Packt Publishing
Year
2020
ISBN
1838981004, 9781838981006
Language
english
Format
PDF
Filesize
13 MB (14101974 bytes)
Pages
510\510
Time added
2022-03-28 23:29:14

Description

A step-by-step guide to learning the implementation and associated methodologies in quantum computing with the help of the IBM Quantum Experience, Qiskit, and Python that will have you up and running and productive in no time Key FeaturesDetermine the difference between classical computers and quantum computersUnderstand the quantum computational principles such as superposition and entanglement and how they are leveraged on IBM Quantum Experience systemsRun your own quantum experiments and applications by integrating with QiskitBook Description 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. What you will learnExplore quantum computational principles such as superposition and quantum entanglementBecome familiar with the contents and layout of the IBM Quantum ExperienceUnderstand quantum gates and how they operate on qubitsDiscover the quantum information science kit and its elements such as Terra and AerGet to grips with quantum algorithms such as Bell State, Deutsch-Jozsa, Grover's algorithm, and Shor's algorithmHow to create and visualize a quantum circuitWho this book is for This book is for Python developers who are looking to learn quantum computing and put their knowledge to use in practical situations with the help of IBM Quantum Experience. Some background in computer science and high-school-level physics and math is required. Table of ContentsThe Dashboard-Exploring the IBM Quantum ExperienceCircuit Composer - Creating a Quantum CircuitCreating Quantum Circuits using Quantum Lab NotebooksUnderstanding Basic Quantum Computing PrinciplesUnderstanding the Quantum Bits (Qubit)Understanding Quantum Logic GatesIntroducing Qiskit and its ElementsProgramming with Qiskit TerraMonitoring and Optimizing Quantum CircuitsExecuting Circuits Using Qiskit AerMitigating Quantum Errors Using IgnisLearning about Qiskit AquaUnderstanding Quantum AlgorithmsApplying Quantum AlgorithmsAppendix Cover Title Page Copyright and Credits About Packt Contributors Table of Contents Preface Section 1: Tour of the IBM Quantum Experience (QX) Chapter 1: Exploring the IBM Quantum Experience Technical requirements Navigating the IBM Quantum Experience Registering to the IBM Quantum Experience Understanding the Personal profile tab Getting started with IBM Quantum Experience Learning about your backends Learning about pending and latest results Exploring My Account Summary Questions Chapter 2: Circuit Composer – Creating a Quantum Circuit Technical requirements Creating a quantum circuit using the Composer Launching the Composer editor Familiarizing yourself with the Circuit Composer components Creating our first quantum circuit Building a quantum circuit with classical bit behaviors Building a coin-flipping experiment Entangling two coins together Summary Questions Chapter 3: Creating Quantum Circuits using Quantum Lab Notebooks Technical requirements Creating a quantum circuit using Quantum Lab Notebooks Launching a Notebook from the Quantum Lab Familiarizing yourself with the Quantum Lab components Opening and importing existing Quantum Lab Notebook Developing a quantum circuit on Quantum Lab Notebooks Reviewing the results of your quantum circuit on Quantum Lab Notebooks Executing a quantum circuit on a quantum computer Summary Questions Section 2: Basics of Quantum Computing Chapter 4: Understanding Basic Quantum Computing Principles Technical requirements Introducing quantum computing Understanding superposition Learning about classical randomness Preparing a qubit in a superposition state Understanding entanglement Learning about the effects of interference between qubits Creating a quantum teleportation circuit Executing the quantum teleportation circuit Summary Questions Chapter 5: Understanding the Quantum Bit (Qubit) Technical requirements Learning about quantum bits (qubits) Reviewing the classic bit Understanding the qubit Visualizing the state vector of a qubit Creating the Bloch sphere representation of a qubit Understanding multi-qubits Learning about superconducting qubits Coupling the qubits together Summary Questions Chapter 6: Understanding Quantum Logic Gates Technical requirements Reviewing classical logic gates Understanding unitary operators Summary Questions Section 3: Algorithms, Noise, and Other Strange Things in Quantum World Chapter 7: Introducing Qiskit and its Elements Technical requirements Understanding quantum and classical system interconnections Reviewing the quantum programming process Understanding how to organize and interact with Qiskit Understanding Qiskit basics and its elements Terra Aer Ignis Aqua Installing and configuring Qiskit on your local machine Preparing the installation Installing Anaconda Installing Qiskit Configuring your local Qiskit environment Getting support from the Qiskit community Introducing the Qiskit community Contributing to the Qiskit community Summary Questions Chapter 8: Programming with Qiskit Terra Technical requirements Understanding quantum circuits Creating a quantum circuit Obtaining circuit properties and analysis Customizing and parameterizing circuit libraries Generating pulse schedules on hardware Learning about instructions Understanding pulses and Pulse libraries Generating and executing schedules Scheduling existing quantum circuits Leveraging provider information Learning about the IBM Quantum Experience components Summary Questions Chapter 9: Monitoring and Optimizing Quantum Circuits Technical requirements Monitoring and tracking jobs Optimizing circuits using the Transpiler Transformation of a quantum circuit Optimizing the circuit by leveraging the layout optimizer Leaning about backend configuration and optimization Understanding passes and pass managers Visualizing and enhancing circuit graphs Learning about customized visual circuits Drawing the DAG of a circuit Summary Questions Chapter 10: Executing Circuits Using Qiskit Aer Technical requirements Understanding the differences between the Aer simulators Viewing all available backends Running circuits on the Qasm simulator Adding parameters to the backend options Initializing the qubits on a circuit Running circuits on the statevector simulator Running circuits on the unitary simulator Running circuits on the pulse simulator Generating noise models Understanding decoherence (T1 and T2) Understanding single-gate, multi-gate, and readout errors Building your own noise model Executing quantum circuits with custom noise models Adding custom noise models to our circuits Summary Questions Chapter 11: Mitigating Quantum Errors Using Ignis Technical requirements Generating noise effects of relaxation Generating noise models and test circuits Estimating T1 decoherence times Generating the noise effects of dephasing Generating and executing T2 circuits Estimating T2 decoherence times Generating and executing T2* test circuits Estimating the T2* dephasing time Mitigating readout errors Summary Questions Further reading Chapter 12: Learning about Qiskit Aqua Technical requirements Understanding the components and their usability Initializing a fixed quantum state Creating a neural network discriminator Implementing state function operators Using Aqua utilities to simplify your work Familiarizing yourself with the quantum algorithms in Aqua Implementing the Logical Expression Oracle Implementing a truth table Oracle Creating your first classical/quantum application (Simon's) Stating Simon's problem Implementing Simon's algorithm Summary Questions Chapter 13: Understanding Quantum Algorithms Technical requirements Understanding the meaning of outperforming classical systems Understanding the Bell states algorithm Learning about Deutsch's algorithm Understanding the Deutsch-Jozsa algorithm Learning about the foundational oracle-based quantum algorithm Learning about the Bernstein-Vazirani algorithm Summary Questions Chapter 14: Applying Quantum Algorithms Technical requirements Understanding periodic quantum algorithms Learning Simon's algorithm Learning about the Quantum Fourier Transform algorithm Understanding Shor's algorithm Learning about Grover's search algorithm Learning about the problem Understanding Grover's search algorithm Implementing Grover's search algorithm Summary Questions Appendix A: Resources Assessments Other Books You May Enjoy Index

Similar books