<i>Learn Quantum Computing with Python and Q#</i> demystifies quantum computing. Using Python and the new quantum programming language Q#, youโll build your own quantum simulator and apply quantum programming techniques to real-world examples including cryptography and chemical analysis. About th
Learn Quantum Computing with Python and IBM Quantum Experience: A hands-on introduction to quantum computing and writing your own quantum programs with Python
โ Scribed by Robert Loredo
- Publisher
- Packt Publishing
- Year
- 2020
- Tongue
- English
- Leaves
- 510
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
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 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. 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.Key Features
Book Description
What you will learn
Who this book is for
Table of Contents
โฆ Table of Contents
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 VOLUMES
<b><i>Learn Quantum Computing with Python and Q#</i> introduces quantum computing from a practical perspective.</b> <b>Summary</b> <i>Learn Quantum Computing with Python and Q#</i> demystifies quantum computing. Using Python and the new quantum programming language Q#, youโll build your own qu
<p><b>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</b></p><h4>Key Features</h4><ul><li>Work your way up from writing a simple quantum program to programm
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