/quantumjava

Samples related to "Quantum Computing for Java Developers"

Primary LanguageJavaBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Quantum Computing samples in Java

This repository contains the source code for the samples discussed in Quantum Computing for Developers

Quantum Computing for Developers

It is based on the Strange Quantum Simulator, which provides an execution environment for quantum algorithms in Java.
Some samples use a UI, e.g. to visualize the quantum circuit. In that case, StrangeFX is used, which is a JavaFX-based framework that allows the visualisation of quantum circuits.

The samples in this repository correspond to the chapters in the book. Don't worry if you don't have the book, you can still run the samples.

Chapter 2: HelloWorld, Quantum Computing

HelloStrange

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

Pauli X
Pauli X with user interface

Chapter 4: Superposition

Hadamard

Chapter 5: Entanglement

Classic coins
Quantum coins
CNot gate
Bell state

Chapter 6: Quantum networking, the basics

Classic network
No-cloning theorem
Quantum Teleportation
Quantum Repeater

Chapter 7: Our HelloWorld explained

RandomBit
RandomBit with debug
Quantum Adder
Quantum Adder with carry bit

Chapter 8: Secure Communication using quantum computing

A first (naive) approach
Applying 2 Hadamard gates
Using superposition
Guess the possibilities
QKD in Java

Chapter 9: Deutsch-Jozsa algorithm

Constant and balanced functions
Reversible gates
Quantum oracle
Applying a Quantum oracle
Deutsch algorithm
Deutsch Jozsa algorithm

Chapter 10: Grover's Search Algorithm

A classic search function
Quantum search
The algorithm behind Grover's search
The algorithm, step by step
The quantum Oracle in Grover's search

Chapter 11: Shor's Algorithm

A classic factoring approach
A classic implementation of a quantum factoringapproach
A quantum factoring approach