
Quantum Computing in Action
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
In Quantum Computing in Action you will learn:
An introduction to the core concepts of quantum computing
Qubits and quantum gates
Superposition, entanglement, and hybrid computing
Quantum algorithms including Shor's, Deutsch-jozsa, and Grover's search
Quantum Computing in Action shows you how to leverage your existing Java skills into writing your first quantum software, so you're ready for the quantum revolution. This book is focused on practical implementations of quantum computing algorithms-there's no deep math or confusing theory. Using Strange, a Java-based quantum computer simulator, you'll go hands-on with quantum computing's core components including qubits and quantum gates.
About the technology
Quantum computing promises unimaginably fast performance for tasks like encryption, scientific modeling, manufacturing logistics, financial modeling, and AI. Developers can explore quantum computing now using free simulators, and increasingly powerful true quantum systems are gradually becoming available for production use. This book gives you a head start on quantum computing by introducing core concepts, key algorithms, and the most beneficial use cases.
About the book
Quantum Computing in Action is a gentle introduction to the ideas and applications of quantum computing. After briefly reviewing the science that makes quantum tick, it guides you through practical implementations of quantum computing algorithms. You'll write your first quantum code and explore qubits and quantum gates with the Java-based Strange quantum simulator. You'll enjoy the interesting examples and insightful explanations as you create quantum algorithms using standard Java and your favorite IDE and build tools.
What's inside
An introduction to the core concepts of quantum computing
Qubits and quantum gates
Superposition, entanglement, and hybrid computing
Quantum algorithms including Shor's, Deutsch-jozsa, and Grover's search
About the reader
For Java developers. No advanced math knowledge required.
About the author
Johan Vos is a cofounder of Gluon, a Java technology company. He is a Java Champion and holds an MSc in Mining Engineering and a PhD in Applied Physics.
Table of Contents
PART 1 QUANTUM COMPUTING INTRODUCTION
1 Evolution, revolution, or hype?
2 "Hello World," quantum computing style
3 Qubits and quantum gates: The basic units in quantum computing
PART 2 FUNDAMENTAL CONCEPTS AND HOW THEY RELATE TO CODE
4 Superposition
5 Entanglement
6 Quantum networking: The basics
PART 3 QUANTUM ALGORITHMS AND CODE
7 Our HelloWorld, explained
8 Secure communication using quantum computing
9 Deutsch-Jozsa algorithm
10 Grover's search algorithm
11 Shor's algorithm
More details
Content
- Intro
- Quantum Computing in Action
- Copyright
- brief contents
- contents
- front matter
- preface
- acknowledgments
- about this book
- Who should read this book?
- How this book is organized: a roadmap
- About the code
- liveBook discussion forum
- about the author
- about the cover illustration
- Part 1. Quantum computing introduction
- 1 Evolution, revolution, or hype?
- 1.1 Expectation management
- 1.1.1 Hardware
- 1.1.2 Software
- 1.1.3 Algorithms
- 1.1.4 Why start with QC today?
- 1.2 The disruptive parts of QC: Getting closer to nature
- 1.2.1 Evolutions in classical computers
- 1.2.2 Revolution in quantum computers
- 1.2.3 Quantum physics
- 1.3 Hybrid computing
- 1.4 Abstracting software for quantum computers
- 1.5 From quantum to computing or from computing to quantum
- Summary
- 2 "Hello World," quantum computing style
- 2.1 Introducing Strange
- 2.2 Running a first demo with Strange
- 2.3 Inspecting the code for HelloStrange
- 2.3.1 The build procedures
- 2.3.2 The code
- 2.3.3 Java APIs vs. implementations
- 2.4 Obtaining and installing the Strange code
- 2.4.1 Downloading the code
- 2.4.2 A first look at the library
- 2.5 Next steps
- Summary
- 3 Qubits and quantum gates: The basic units in quantum computing
- 3.1 Classic bit vs. qubit
- 3.2 Qubit notation
- 3.2.1 One qubit
- 3.2.2 Multiple qubits
- 3.3 Gates: Manipulating and measuring qubits
- 3.4 A first [quantum] gate: Pauli-X
- 3.5 Playing with qubits in Strange
- 3.5.1 The QuantumExecutionEnvironment interface
- 3.5.2 The Program class
- 3.5.3 Steps and gates
- 3.5.4 Results
- 3.6 Visualizing quantum circuits
- Summary
- Part 2. Fundamental concepts and how they relate to code
- 4 Superposition
- 4.1 What is superposition?
- 4.2 The state of a quantum system as a probability vector
- 4.3 Introducing matrix gate operations
- 4.3.1 The Pauli-X gate as a matrix
- 4.3.2 Applying the Pauli-X gate to a qubit in superposition
- 4.3.3 A matrix that works for all gates
- 4.4 The Hadamard gate: The gate to superposition
- 4.5 Java code using the Hadamard gate
- Summary
- 5 Entanglement
- 5.1 Predicting heads or tails
- 5.2 Independent probabilities: The classic way
- 5.3 Independent probabilities: The quantum way
- 5.4 The physical concept of entanglement
- 5.5 A gate representation for quantum entanglement
- 5.5.1 Converting to probability vectors
- 5.5.2 CNot gate
- 5.6 Creating a Bell state: Dependent probabilities
- 5.7 Mary had a little qubit
- Summary
- 6 Quantum networking: The basics
- 6.1 Topology of a quantum network
- 6.2 Obstacles to quantum networking
- 6.2.1 Classical networking in Java
- 6.2.2 No-cloning theorem
- 6.2.3 Physical limitations on transferring qubits
- 6.3 Pauli-Z gate and measurement
- 6.3.1 Pauli-Z gate
- 6.3.2 Measurements
- 6.4 Quantum teleportation
- 6.4.1 The goal of quantum teleportation
- 6.4.2 Part 1: Entanglement between Alice and Bob
- 6.4.3 Part 2: Alice's operations
- 6.4.4 Part 3: Bob's operations
- 6.4.5 Running the application
- 6.4.6 Quantum and classical communication
- 6.5 A quantum repeater
- Summary
- Part 3. Quantum algorithms and code
- 7 Our HelloWorld, explained
- 7.1 From hardware to high-level languages
- 7.2 Abstractions at different levels
- 7.3 Other languages for quantum computing simulators
- 7.3.1 Approaches
- 7.3.2 Resources for other languages
- 7.4 Strange: High-level and low-level approaches
- 7.4.1 Top-level API
- 7.4.2 Low-level APIs
- 7.4.3 When to use what
- 7.5 StrangeFX: A development tool
- 7.5.1 Visualization of circuits
- 7.5.2 Debugging Strange code
- 7.6 Creating your own circuits with Strange
- 7.6.1 Quantum arithmetic as an introduction to Shor's algorithm
- 7.6.2 Adding two qubits
- 7.6.3 Quantum arithmetic with a carry bit
- 7.6.4 Next steps
- 7.7 Simulators, cloud services, and real hardware
- Summary
- 8 Secure communication using quantum computing
- 8.1 The bootstrap problem
- 8.1.1 Issues with sending bits over a network
- 8.1.2 One-time pad to the rescue
- 8.1.3 Sharing a secret key
- 8.2 Quantum key distribution
- 8.3 Naive approach
- 8.4 Using superposition
- 8.4.1 Applying two Hadamard gates
- 8.4.2 Sending qubits in superposition
- 8.5 BB84
- 8.5.1 Confusing Eve
- 8.5.2 Bob is confused, too
- 8.5.3 Alice and Bob are talking
- 8.6 QKD in Java
- 8.6.1 The code
- 8.6.2 Running the application
- Summary
- 9 Deutsch-Jozsa algorithm
- 9.1 When the solution is not the problem
- 9.2 Properties of functions
- 9.2.1 Constant and balanced functions
- 9.3 Reversible quantum gates
- 9.3.1 Experimental evidence
- 9.3.2 Mathematical proof
- 9.4 Defining an oracle
- 9.5 From functions to oracles
- 9.5.1 Constant functions
- 9.5.2 Balanced functions
- 9.6 Deutsch algorithm
- 9.7 Deutsch-Jozsa algorithm
- 9.8 Conclusion
- Summary
- 10 Grover's search algorithm
- 10.1 Do we need yet another search architecture?
- 10.1.1 Traditional search architecture
- 10.1.2 What is Grover's search algorithm?
- 10.2 Classical search problems
- 10.2.1 General preparations
- 10.2.2 Searching the list
- 10.2.3 Searching using a function
- 10.3 Quantum search: Using Grover's search algorithm
- 10.4 Probabilities and amplitudes
- 10.4.1 Probabilities
- 10.4.2 Amplitudes
- 10.5 The algorithm behind Grover's search
- 10.5.1 Running the example code
- 10.5.2 Superposition
- 10.5.3 Quantum oracle
- 10.5.4 Grover diffusion operator: Increasing the probability
- 10.6 Conclusion
- Summary
- 11 Shor's algorithm
- 11.1 A quick example
- 11.2 The marketing hype
- 11.3 Classic factorization vs. quantum factorization
- 11.4 A multidisciplinary problem
- 11.5 Problem description
- 11.6 The rationale behind Shor's algorithm
- 11.6.1 Periodic functions
- 11.6.2 Solving a different problem
- 11.6.3 Classic period finding
- 11.6.4 The post-processing step
- 11.7 The quantum-based implementation
- 11.8 Creating a periodic function using quantum gates
- 11.8.1 The flow and circuit
- 11.8.2 The steps
- 11.9 Calculating the periodicity
- 11.10 Implementation challenges
- Summary
- Appendix A. Getting started with Strange
- A.1 Requirements
- A.2 Obtaining and installing the demo code
- A.3 The HelloStrange program
- Running the program
- Appendix B. Linear algebra
- B.1 Matrix-vector multiplication
- B.2 Matrix-matrix multiplication
- B.3 Tensor product
- index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.