Quantum Computing for Developers
A Java-based introduction
Johan Vos
  • MEAP began April 2019
  • Publication in Early 2021 (estimated)
  • ISBN 9781617296321
  • 300 pages (estimated)
  • printed in black & white

Want to learn about QC, while being able to pass through page 1? Read this book!

Carlos Aya
Quantum computing is on the horizon, ready to impact everything from scientific research to encryption and security. But you don’t need a physics degree to get started in quantum computing. Quantum Computing for Developers shows you how to leverage your existing Java skills into writing your first quantum software so you’re ready for the revolution.

About the Technology

Whilst quantum hardware is still on the edge of development, the underlying principles for writing quantum software are well-established. Right now developers can utilize quantum simulators, like Java-based Strange, to try quantum experiments on any platform that runs the JVM. Quantum computers store and process data in quantum bits, or ‘qubits’, which can represent more complex state than standard bits. Quantum systems promise to be significantly faster for certain types of algorithms, especially in numerical computing areas such as deep learning, scientific disciplines, and cryptography.

About the book

Quantum computing is on the horizon, showing incredible promise for accelerating AI and scientific research. Delivering on these promises requires new hardware as well as a new approach to writing software that takes into account the core ideas of quantum mechanics. Quantum Computing for Developers will make sure you’re prepared to start programming when quantum supercomputing becomes a practical reality for production systems.

Rather than a hardware manual or academic theory guide, this book is focused on practical implementations of quantum computing algorithms. Using Strange, a Java-based quantum computer simulator, you’ll go hands-on with quantum computing’s core components including qubits and quantum gates as you write your very first quantum code. By the end of the book you’ll be ahead of the game with the skills to create quantum algorithms using standard Java and your favorite IDE and build tools.
Table of Contents detailed table of contents

Part 1: Quantum Computing introductions

1 Evolution/Revolution/Hype?

1.1 Expectation Management

1.1.1 Hardware

1.1.2 Software

1.1.3 Algorithms

1.1.4 Why start with quantum computing today?

1.2 The disruptive parts of Quantum Computing, 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

2 Hello World, Quantum Computing

2.1 Introducing Strange

2.2 Running a first demo with Strange

2.2.1 Inspecting the code for HelloStrange

2.2.2 Java API’s versus implementations

2.3 Obtaining and installing the Strange code

2.3.1 Downloading the code

2.3.2 A first look into the library

2.4 Next steps

3 Qubits and Quantum Gates, the basic units in Quantum Computing

3.1 Classic bit versus Qubit

3.2 Qubit notations

3.2.1 One qubit

3.2.2 Multiple qubits

3.3 Gates: Manipulating and measuring qubits

3.4 A very first [quantum] gate: the Pauli-X gate

3.5 Playing with Qubits in Strange

3.5.1 QuantumExecutionEnvironment

3.5.2 Program

3.5.3 Steps and Gates

3.5.4 Results

3.6 Visualisation of Quantum circuits

3.7 What did we learn?

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.2 A matrix that works for all gates

4.4 The Hadamard Gate, the gate to superposition

4.5 Java code using the Hadamard gate

4.6 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 probabiliy vectors

5.5.2 CNot gate

5.6 Creating a Bell state: dependent probabilities

5.7 Mary had a little qubit

5.8 Summary

6 Quantum Networking, the basics

6.1 Quantum computing versus quantum networking.

6.1.1 From classical networks to quantum networks

6.1.2 Topology of a quantum network

6.2 Obstacles for quantum networking.

6.2.1 Classical networking in Java

6.2.2 No cloning theorem

6.2.3 Physical limitations on transfering 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 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

6.6 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

7.3.1 Resources

7.4 Strange: high-level and low-level approach

7.4.1 Top-level API

7.4.2 Low-level API

7.4.3 When to use what

7.5 StrangeFX, a development tool

7.5.1 Visualisation of circuits

7.5.2 Debugging Strange code

7.6 Simulators, cloud services and real hardware

7.7 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 Leveraging superposition

8.4.1 Applying 2 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

8.7 Introducing Simulaqron

8.8 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 Oracle

9.5.1 Constant functions

9.5.2 Balanced functions

9.6 Deutsch algorithm

9.7 Deutsch Josza algorithm

9.8 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.1 Running the sample code

10.4.2 Probabilities and amplitudes

10.4.3 Superposition

10.4.4 Quantum Oracle

10.4.5 Grover Diffusion Operator: Increasing the probability

10.5 Conclusion

11 Shor’s algorithm

11.1 A quick sample

11.2 The marketing hype

11.3 Classic factorization versus quantum factorization

11.4 A multi-disciplinary problem

11.5 Problem description

11.6 The rationale behind Shor’s algorithm

11.7 The quantum-based implementation.

11.7.1 Creating the periodic function

11.7.2 Calculate the periodicity

11.8 Implementation challenges

11.9 Summary


Appendix A: Installing Strange

A.1 Requirements

A.2 Obtaining and installing the demo code

A.3 The HelloStrange program

A.3.1 Running the program

Appendix B: Linear Algebra

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 at all levels who want an early start in quantum computing. No advanced math knowledge required.

About the author

Johan Vos is a cofounder of Gluon, a Java technology company that aims to offer Java solutions for all platforms including desktop, embedded, and mobile apps, and connect them to the cloud. He is a Java Champion and holds an MSc in Mining Engineering and a PhD in Applied Physics.

placing your order...

Don't refresh or navigate away from the page.
Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
print book $34.99 $49.99 pBook + eBook + liveBook
Additional shipping charges may apply
Quantum Computing for Developers (print book) added to cart
continue shopping
go to cart

eBook $27.99 $39.99 3 formats + liveBook
Quantum Computing for Developers (eBook) added to cart
continue shopping
go to cart

Prices displayed in rupees will be charged in USD when you check out.

FREE domestic shipping on three or more pBooks