James L. Weaver
Developer Advocate


 

jweaver@pivotal.io
JavaFXpert.com

CulturedEar.com

@JavaFXpert

Quantum Computing

Hacking Nature's Computer

About Presenter James Weaver

Java Champion, JavaOne Rockstar, plays well with others, etc :-)

Author of several Java/JavaFX/RaspPi books

Developer Advocate & International Speaker for Pivotal

Mission: "Transform how the world builds software"

Mission: "Transform how the world builds software"

You are cordially invited to ...

Concepts we'll address today

Introduction to quantum computing

Axioms of quantum mechanics (with cats)

  • Superposition principle
  • Measurement
  • Unitary evolution

Quantum mechanical demo (with photons)

Abstracting cats and photons with qubits

Quantum computing algorithms

Quantum entanglement

More algorithms

Supplementary resources

Deutsch's algorithm (1985)

Literally the Hello World of quantum algorithms

Deutsch's algorithm

Determine if function is constant or balanced

Input  a Constant  f(a) Constant  f(a) Balanced  f(a) Balanced  f(a)
0 0 1 0 1
1 0 1 1 0

Deutsch's algorithm

How many queries of the oracle to solve?

Classical:

This oracle requires 2 queries classically

 

Quantum:

We create a superposition of inputs to the oracle for constructive/destructive interference.

 

1
11
2
22

Querying the oracle classically

\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{bmatrix} \cdot \begin{bmatrix} 0 \\ 1 \\ 0 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix}
[1000000100100100][0100]=[0001]\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{bmatrix} \cdot \begin{bmatrix} 0 \\ 1 \\ 0 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix}
\vert01\rangle
01\vert01\rangle
\vert11\rangle
11\vert11\rangle

example: f (0) = 0 and f (1) = 1   balanced

Quantum parallelism

what is it, really?

Double-slit experiment

constructive and destructive interference

Text

Choreographing interference

to increase the chance of getting the right answer

Text

Querying the oracle quantumly

\begin{bmatrix} +\frac{1}{2} & +\frac{1}{2} & +\frac{1}{2} & +\frac{1}{2} \\ +\frac{1}{2} & -\frac{1}{2} & +\frac{1}{2} & -\frac{1}{2} \\ +\frac{1}{2} & +\frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} \\ +\frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} & +\frac{1}{2} \end{bmatrix} \cdot \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \end{bmatrix} = \begin{bmatrix} +\frac{1}{2} \\ +\frac{1}{2} \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix}
[+12+12+12+12+1212+1212+12+121212+121212+12][0010]=[+12+121212]\begin{bmatrix} +\frac{1}{2} & +\frac{1}{2} & +\frac{1}{2} & +\frac{1}{2} \\ +\frac{1}{2} & -\frac{1}{2} & +\frac{1}{2} & -\frac{1}{2} \\ +\frac{1}{2} & +\frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} \\ +\frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} & +\frac{1}{2} \end{bmatrix} \cdot \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \end{bmatrix} = \begin{bmatrix} +\frac{1}{2} \\ +\frac{1}{2} \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix}

example: f (0) = 0 and f (1) = 1   balanced

\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{bmatrix} \cdot \begin{bmatrix} +\frac{1}{2} \\ +\frac{1}{2} \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix} = \begin{bmatrix} +\frac{1}{2} \\ -\frac{1}{2} \\ -\frac{1}{2} \\ +\frac{1}{2} \end{bmatrix}
[1000000100100100][+12+121212]=[+121212+12]\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{bmatrix} \cdot \begin{bmatrix} +\frac{1}{2} \\ +\frac{1}{2} \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix} = \begin{bmatrix} +\frac{1}{2} \\ -\frac{1}{2} \\ -\frac{1}{2} \\ +\frac{1}{2} \end{bmatrix}
\begin{bmatrix} +\frac{1}{2} & +\frac{1}{2} & +\frac{1}{2} & +\frac{1}{2} \\ +\frac{1}{2} & -\frac{1}{2} & +\frac{1}{2} & -\frac{1}{2} \\ +\frac{1}{2} & +\frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} \\ +\frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} & +\frac{1}{2} \end{bmatrix} \cdot \begin{bmatrix} +\frac{1}{2} \\ -\frac{1}{2} \\ -\frac{1}{2} \\ +\frac{1}{2} \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix}
[+12+12+12+12+1212+1212+12+121212+121212+12][+121212+12]=[0001]\begin{bmatrix} +\frac{1}{2} & +\frac{1}{2} & +\frac{1}{2} & +\frac{1}{2} \\ +\frac{1}{2} & -\frac{1}{2} & +\frac{1}{2} & -\frac{1}{2} \\ +\frac{1}{2} & +\frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} \\ +\frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} & +\frac{1}{2} \end{bmatrix} \cdot \begin{bmatrix} +\frac{1}{2} \\ -\frac{1}{2} \\ -\frac{1}{2} \\ +\frac{1}{2} \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix}
= \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{bmatrix}
=[12121212]= \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{bmatrix}

Deutsch (slightly modified)

Why constant vs. balance require only one query

Inp Con
0 0
1 0
Inp Con
0 1
1 1
Inp Bal
0 0
1 1
Inp Bal
0 1
1 0

Deutsch's algorithm

with oracle having constant function

Leverages phase-kickback from the bottom wire to choreograph constructive and destructive interference

Expected result is 100% probability of measuring

\vert0\rangle
0\vert0\rangle

Deutsch's algorithm

with oracle having balanced function

Expected result is 0% probability of measuring

\vert0\rangle
0\vert0\rangle

Leverages phase-kickback from the bottom wire to choreograph constructive and destructive interference

Deutsch-Jozsa algorithm

exponentially faster than classical

Deutsch-Jozsa algorithm, 1992

Determine if function is constant or balanced

Input Constant Constant Balanced Balanced
000 0 1 0 1
001 0 1 1 0
010 0 1 0 1
011 0 1 1 0
100 0 1 0 1
101 0 1 1 0
110 0 1 0 1
111 0 1 1 0

Results when querying our example oracle

Deutsch-Jozsa algorithm

How many invocations of the oracle to solve?

Classical:

Our oracle (black box) requires 5 invocations classically

 

Quantum:

We create a superposition of inputs to the oracle, and use the phase-kickback trick, for constructive/destructive interference.  See:

Lecture 5: A simple searching algorithm; the Deutsch-Jozsa algorithm by John Watrous, University of Calgary

see also: Wikipedia Deutsch-Jozsa Decoherence section

 

2^{(n-1)}+1
2(n1)+12^{(n-1)}+1
1
11

(Exponentially faster!)

Deutsch-Jozsa algorithm

with oracle having constant function

Deutsch-Jozsa algorithm

example oracle with constant function

Deutsch-Jozsa algorithm

with oracle having balanced function

Deutsch-Jozsa algorithm

example oracle with balanced function

Deutsch-Jozsa implemented in Quil

Deutsch-Jozsa implemented in Quil

Concepts we'll address today

Introduction to quantum computing

Axioms of quantum mechanics (with cats)

  • Superposition principle
  • Measurement
  • Unitary evolution

Quantum mechanical demo (with photons)

Abstracting cats and photons with qubits

Quantum computing algorithms

Quantum entanglement

More algorithms

Supplementary resources

Quantum entanglement

Alice and Bob's long running relationship

Quantum entanglement

basic circuit

Quantum teleportation

and the no cloning theorem

Superdense coding

example circuit

Bell inequality test 

(CHSH game)

Concepts we'll address today

Introduction to quantum computing

Axioms of quantum mechanics (with cats)

  • Superposition principle
  • Measurement
  • Unitary evolution

Quantum mechanical demo (with photons)

Abstracting cats and photons with qubits

Quantum computing algorithms

Quantum entanglement

More algorithms

Supplementary resources

Bernstein-Vazirani algorithm

basic circuit

Simon's algorithm

the quantum portion

Shor's algorithm

Period finding

using Quantum Fourier Transform

Grover's search

finding a needle in a haystack

Concepts we'll address today

Introduction to quantum computing

Axioms of quantum mechanics (with cats)

  • Superposition principle
  • Measurement
  • Unitary evolution

Quantum mechanical demo (with photons)

Abstracting cats and photons with qubits

Quantum computing algorithms

Quantum entanglement

More algorithms

Supplementary resources

Complex numbers

aren't complicated

Complex numbers encode

amplitude and phase

Roots of unity

are useful for Shor

Matrices

think two-dimensional arrays

Vector spaces

a home for vectors and scalars

Classic textbook on Quantum Computing

by "Mike & Ike"

By Source (WP:NFCC#4), Fair use,

James L. Weaver
Developer Advocate


 

jweaver@pivotal.io
JavaFXpert.com

CulturedEar.com

@JavaFXpert

Quantum Computing

{\frac{1}{\sqrt2}}
12{\frac{1}{\sqrt2}}
\vert{Q}\rangle
Q\vert{Q}\rangle
+
++
\vert{A}\rangle
A\vert{A}\rangle
{\frac{1}{\sqrt2}}
12{\frac{1}{\sqrt2}}

Quantum Computing Exposed: Hacking Nature's Computer

By javafxpert

Quantum Computing Exposed: Hacking Nature's Computer

Part two of a gentle introduction to quantum computing

  • 2,740