Quantum Computing Fundamentals

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

ONE-VOLUME INTRODUCTION TO QUANTUM COMPUTING
  • Clearly explains core concepts, terminology, and techniques
  • Covers the foundational physics, math, and information theory you need
  • Provides hands-on practice with quantum programming
  • The perfect beginner’s guide for anyone interested in a quantum computing career


Dr. Chuck Easttom brings together complete coverage of basic quantum computing concepts, terminology, and issues, along with key skills to get you started.

Drawing on 30+ years as a computer science instructor, consultant, and researcher, Easttom demystifies the field’s underlying technical concepts and math, shows how quantum computing systems are designed and built, explains their implications for cyber security, and previews advances in quantum-resistant cryptography. Writing clearly and simply, he introduces two of today’s leading quantum programming languages, Microsoft Q# and QASM, and guides you through sample projects. Throughout, tests, projects, and review questions help you deepen and apply your knowledge.

Whether you’re a student, professional, or manager, this guide will prepare you for the quantum computing revolution--and expand your career options, too.

  • Master the linear algebra and other mathematical skills you’ll need
  • Explore key physics ideas such as quantum states and uncertainty
  • Review data structures, algorithms, and computing complexity
  • Work with probability and set theory in quantum computing
  • Familiarize yourself with basic quantum theory and formulae
  • Understand quantum entanglement and quantum key distribution
  • Discover how quantum computers are architected and built
  • Explore several leading quantum algorithms
  • Compare quantum and conventional asymmetric algorithms
  • See how quantum computing might break traditional cryptography
  • Discover several approaches to quantum-resistant cryptography
  • Start coding with Q#, Microsoft’s quantum programming language
  • Simulate quantum gates and algorithms with QASM

Author(s): William (Chuck) Easttom II
Edition: 1
Publisher: Addison-Wesley Professional
Year: 2021

Language: English
Pages: 384
Tags: Quantum Computing; Quantum Algorithms; Linear Algebra; Information Theory; Quantum Theory; Quantum Entanglement; QKD; Quantum Architecture; Quantum Hardware; Cryptography; Asymmetric Algorithms; Lattice-Based Cryptography; Multivariate Cryptography; Quantum Resistant Cryptography; Quantum Programming; Q#; QASM

Preface

Part I Preparatory Material

Chapter 1: Introduction to Essential Linear Algebra

1.1 What Is Linear Algebra?

1.2 Some Basic Algebra

1.2.1 Groups, Rings, and Fields

1.3 Matrix Math

1.3.1 Matrix Addition and Multiplication

1.3.2 Matrix Transposition

1.3.3 Submatrix

1.3.4 Identity Matrix

1.3.5 Deeper Into the Matrix

1.4 Vectors and Vector Spaces

1.5 Set Theory

1.6 Summary

Test Your Skills

Chapter 2: Complex Numbers

2.1 What Are Complex Numbers?

2.2 Algebra of Complex Numbers

2.3 Complex Numbers Graphically

2.4 Vector Representations of Complex Numbers

2.5 Pauli Matrices

2.5.1 Algebraic Properties of Pauli Matrices

2.6 Transcendental Numbers

2.7 Summary

Test Your Skills

Chapter 3: Basic Physics for Quantum Computing

3.1 The Journey to Quantum

3.2 Quantum Physics Essentials

3.2.1 Basic Atomic Structure

3.2.2 Hilbert Spaces

3.2.3 Uncertainty

3.2.4 Quantum States

3.2.5 Entanglement

3.3 Summary

Test Your Skills

Chapter 4: Fundamental Computer Science for Quantum Computing

4.1 Data Structures

4.1.1 List

4.1.2 Binary Tree

4.2 Algorithms

4.2.1 Sorting Algorithms

4.3 Computational Complexity

4.3.1 Cyclomatic Complexity

4.3.2 Halstead Metrics

4.4 Coding Theory

4.5 Logic Gates

4.5.1 AND

4.5.2 OR

4.5.3 XOR

4.5.4 Application of Logic Gates

4.6 Computer Architecture

4.7 Summary

Test Your Skills

Chapter 5: Basic Information Theory

5.1 Basic Probability

5.1.1 Basic Probability Rules

5.2 Set Theory

5.3 Information Theory

5.3.1 Theorem 1: Shannon’s Source Coding Theorem

5.3.2 Theorem 2: Noisy Channel Theorem

5.3.3 Information Entropy

5.3.4 Information Diversity

5.4 Quantum Information

5.5 Summary

Test Your Skills

Part II Basic Quantum Computing

Chapter 6: Basic Quantum Theory

6.1 Further with Quantum Mechanics

6.1.1 Bra-Ket Notation

6.1.2 Hamiltonian

6.1.3 Wave Function Collapse

6.1.4 Schrödinger’s Equation

6.2 Quantum Decoherence

6.3 Quantum Electrodynamics

6.4 Quantum Chromodynamics

6.5 Feynman Diagram

6.6 Summary

Test Your Skills

Chapter 7: Quantum Entanglement and QKD

7.1 Quantum Entanglement

7.2 Interpretation

7.2.1 The Copenhagen Interpretation

7.2.2 The Many-Worlds Interpretation

7.2.3 Decoherent Histories

7.2.4 Objective Collapse Theory

7.3 QKE

7.3.1 BB84 Protocol

7.3.2 B92 Protocol

7.3.3 SARG04

7.3.4 Six-State Protocol

7.3.5 E91

7.3.6 Implementations

7.4 Summary

Test Your Skills

Chapter 8: Quantum Architecture

8.1 Further with Qubits

8.2 Quantum Gates

8.2.1 Hadamard Gate

8.2.2 Phase Shift Gates

8.2.3 Pauli Gates

8.2.4 Swap Gates

8.2.5 Fredkin Gate

8.2.6 Toffoli Gates

8.2.7 Controlled Gates

8.2.8 Ising Gates

8.2.9 Gottesman–Knill Theorem

8.3 More with Gates

8.4 Quantum Circuits

8.5 The D-Wave Quantum Architecture

8.5.1 SQUID

8.6 Summary

Test Your Skills

Chapter 9: Quantum Hardware

9.1 Qubits

9.1.1 Photons

9.1.2 Electron

9.1.3 Ions

9.1.4 NMRQC

9.1.5 Bose-Einstein Condensate Quantum Computing

9.1.6 GaAs Quantum Dots

9.2 How Many Qubits Are Needed?

9.3 Addressing Decoherence

9.3.1 Supercooling

9.3.2 Dealing with Noise

9.3.3 Filtering Noise

9.4 Topological Quantum Computing

9.4.1 Basic Braid Theory

9.4.2 More on Braid Theory

9.4.3 More on Topological Computing

9.5 Quantum Essentials

9.5.1 Quantum Data Plane

9.5.2 Measurement Plane

9.5.3 Control Processor Plane

9.6 Quantum Networking

9.6.1 Tokyo QKD

9.6.2 Beijing-Shanghai Quantum Link

9.6.3 Micius Satellite

9.6.4 Distributed Quantum Computing

9.7 Summary

Test Your Skills

Chapter 10: Quantum Algorithms

10.1 What Is an Algorithm?

10.2 Deutsch’s Algorithm

10.3 Deutsch-Jozsa Algorithm

10.4 Bernstein-Vazirani Algorithm

10.5 Simon’s Algorithm

10.6 Shor’s Algorithm

10.6.1 The Quantum Period-Finding Function

10.7 Grover’s Algorithm

10.8 Summary

Test Your Skills

Part III Quantum Computing and Cryptography

Chapter 11: Current Asymmetric Algorithms

11.1 RSA

11.1.1 RSA Example 1

11.1.2 RSA Example 2

11.1.3 Factoring RSA Keys

11.2 Diffie-Hellman

11.2.1 Elgamal

11.2.2 MQV

11.3 Elliptic Curve

11.3.1 ECC Diffie-Hellman

11.3.2 ECDSA

11.4 Summary

Test Your Skills

Chapter 12: The Impact of Quantum Computing on Cryptography

12.1 Asymmetric Cryptography

12.1.1 How Many Qubits Are Needed?

12.2 Specific Algorithms

12.2.1 RSA

12.2.2 Diffie-Hellman

12.2.3 ECC

12.2.4 Symmetric Ciphers

12.2.5 Cryptographic Hashes

12.3 Specific Applications

12.3.1 Digital Certificates

12.3.2 SSL/TLS

12.3.4 Public Key Infrastructure (PKI)

12.3.5 VPN

12.3.6 SSH

12.4 Summary

Test Your Skills

Chapter 13: Lattice-based Cryptography

13.1 Lattice-Based Mathematical Problems

13.1.1 Shortest Integer Problem

13.1.2 Shortest Vector Problem

13.1.3 Closest Vector Problem

13.2 Cryptographic Algorithms

13.2.1 NTRU

13.2.2 GGH

13.2.3 Peikert’s Ring

13.3 Solving Lattice Problems

13.3.1 Lenstra-Lenstra-Lovász (LLL)

13.4 Summary

Test Your Skills

Chapter 14: Multivariate Cryptography

14.1 Mathematics

14.2 Matsumoto-Imai

14.3 Hidden Field Equations

14.4 Multivariate Quadratic Digital Signature Scheme (MQDSS)

14.5 SFLASH

14.6 Summary

Test Your Skills

Chapter 15: Other Approaches to Quantum Resistant Cryptography

15.1 Hash Functions

15.1.1 Merkle-Damgaard

15.1.2 SWIFFT

15.1.3 Lamport Signature

15.2 Code-Based Cryptography

15.2.1 McEliece

15.2.2 Niederreiter Cryptosystem

15.3 Supersingular Isogeny Key Exchange

15.3.1 Elliptic Curves

15.3.2 SIDH

15.4 Summary

Test Your Skills

Part IV Quantum Programming

Chapter 16: Working with Q#

16.1 Basic Programming Concepts

16.1.1 Variables and Statements

16.1.2 Control Structures

16.1.3 Object-Oriented Programming

16.2 Getting Started with Q#

16.3 Grover’s Algorithm

16.3.1 Grover’s Algorithm Reviewed

16.3.2 The Code for Grover’s Algorithm

16.4 Deutsch-Jozsa Algorithm

16.4.1 Deutsch-Jozsa Algorithm Reviewed

16.4.2 The Code for Deutsch-Jozsa Algorithm

16.5 Bit Flipping

16.6 Summary

Test Your Skills

Chapter 17: Working with QASM

17.1 Basic Programming Concepts

17.1.1 Instructions

17.1.2 Commands

17.2 Getting Started with QASM

17.3 Quantum Error Correction

17.4 Grover’s Algorithm

17.4.1 Grover’s Algorithm Reviewed

17.4.2 The Code for Grover’s Algorithm

17.5 Deutsch-Jozsa Algorithm

17.5.1 Deutsch-Jozsa Algorithm Reviewed

17.5.2 The Code for the Deutsch-Jozsa Algorithm

17.6 Summary

Test Your Skills

Appendix: Answers to Test Your Skills Questions

Index