The quantum computing market is predicted to grow by nearly $1.3 billion over the next five years. Why? Given their quantum mechanical nature, quantum computers are expected to solve difficult problems in chemistry, optimization, finance, and machine learning that classical computers find impossible to unravel.
This pocket guide provides software developers with a quick reference to Qiskit, an open source SDK for working with quantum computers. Packed with helpful programming examples, tables, figures, and lists, this handy book helps you find the information you need to develop and debug quantum programs.
Whether you're focused on business, engineering, or scientific applications, you'll learn how to choose and apply appropriate Qiskit classes, methods, and functions.
• Learn how to create quantum circuits, define quantum gates, and leverage the transpiler
• Explore modules for implementing quantum information concepts and quantum algorithms
• Survey features of Qiskit that abstract and facilitate working with various quantum computers and simulators
• Learn how to use the latest version of the Open Quantum Assembly Language
Author(s): James Weaver, Francis Harkins
Edition: 1
Publisher: O'Reilly Media
Year: 2022
Language: English
Commentary: Vector PDF
Pages: 218
City: Sebastopol, CA
Tags: Quantum Computing; Quantum Algorithms; Qiskit; OpenQASM
Cover
Copyright
Table of Contents
Preface
Part I. Qiskit Fundamentals
Chapter 1. Quantum Circuits and Operations
Constructing Quantum Circuits
Using the QuantumCircuit Class
Using the QuantumRegister Class
Using QuantumRegister Attributes
Using the ClassicalRegister Class
Using ClassicalRegister Attributes
Instructions and Gates
The Instruction Class
The Gate Class
The ControlledGate Class
Parameterized Quantum Circuits
Creating a Parameter Instance
Using the ParameterVector Class
Chapter 2. Running Quantum Circuits
Using the BasicAer Simulators
Using the BasicAer qasm_simulator Backend
Using the BasicAer statevector_simulator Backend
Using the BasicAer unitary_simulator Backend
Using the Aer Simulators
Using the Aer Legacy Simulators
Using the AerSimulator Backend
Monitoring Job Status and Obtaining Results
Chapter 3. Visualizing Quantum Measurements and States
Visualizing Measurement Counts
Using the plot_histogram Function
Visualizing Quantum States
Using the plot_state_qsphere Function
Using the plot_state_city Function
Using the plot_bloch_multivector Function
Using the plot_state_hinton Function
Using the plot_state_paulivec Function
Chapter 4. Using the Transpiler
Quickstart with Transpile
Transpiler Passes
The PassManager
Compiling/Translating Passes
Routing Passes
Optimization Passes
Initial Layout Selection Passes
Preset PassManagers
Part II. Quantum Information and Algorithms
Chapter 5. Quantum Information
Using Quantum Information States
Using the Statevector Class
Using the DensityMatrix Class
Using Quantum Information Operators
Using the Operator Class
Using the Pauli Class
Using Quantum Information Channels
Using Quantum Information Measures
Using the state_fidelity Function
Chapter 6. Operator Flow
Creating Operator Flow Expressions
Using the Operator Flow State Function Classes
Using the StateFn Class
Using the Operator Flow Primitive Operators Classes
Using the PrimitiveOp Class
Chapter 7. Quantum Algorithms
Background on Quantum Algorithms
Using the Algorithms Module
Quickstart
The Algorithms Interface
Traditional Quantum Algorithms
Grover’s Algorithm
Phase Estimation Algorithms
Amplitude Estimation Algorithms
Eigensolvers
NumPy Eigensolvers
The Variational Quantum Eigensolver
Parameterized Circuits
Optimizers
Part III. Additional Essential Functionality
Chapter 8. Qiskit Circuit Library Standard Operations
Standard Instructions
Barrier
Measure
Reset
Standard Single-Qubit Gates
HGate
IGate
PhaseGate
RXGate
RYGate
RZGate
SGate
SdgGate
SXGate
SXdgGate
TGate
TdgGate
UGate
XGate
YGate
ZGate
Standard Multiqubit Gates
C3XGate
C3SXGate
C4XGate
CCXGate
CHGate
CPhaseGate
CRXGate
CRYGate
CRZGate
CSwapGate
CSXGate
CUGate
CXGate
CYGate
CZGate
DCXGate
iSwapGate
MCPhaseGate
MCXGate
SwapGate
Chapter 9. Working with Providers and Backends
Graphical Tools
Text-Based Tools
Getting System Info Programmatically
Interacting with Quantum Systems on the Cloud
Convenience Tools
Runtime Services
Chapter 10. OpenQASM
Building Quantum Circuits in QASM
Comments
Version Strings
Basic Syntax
Implicit Looping
Quantum Gates and Instructions
Building Higher-Level Gates
Modifying Existing Gates
Defining New Gates
Classical Types and Instructions
Constants
Shorthands
Arrays of Classical Types
Built-in Classical Instructions
Building Quantum Programs
Subroutines
Inputs and Outputs
Index