Slide 1

Slide 1 text

A (light) introduction to
 Quantum Computing Eric Marcos barcelonaqbit.com

Slide 2

Slide 2 text

What QC is?

Slide 3

Slide 3 text

Quantum cryptography Quantum simulation Quantum computing

Slide 4

Slide 4 text

Quantum cryptography Quantum simulation Quantum computing

Slide 5

Slide 5 text

What QC is NOT?

Slide 6

Slide 6 text

“QC can solve classically unsolvable problems”

Slide 7

Slide 7 text

“QC is exponentially faster than classical computation”

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

A little bit of history

Slide 10

Slide 10 text

1900 Max Plank E = ħv 1905 Albert Einstein Annus mirabilis 1924 Louis de Broglie λ = ħ / p 1927 Werner Heisenberg σxσp ≥ ħ / 2 1928 Paul Dirac (i - ∂ - m) ψ = 0 Quantum Mechanics

Slide 11

Slide 11 text

1931 Kurt Gödel Incompleteness Theorems 1936 Alan Turing Turing Machines 1952 Stephen Kleene Church-Turing Thesis 1956 Noam Chomsky Chomsky Hierarchy 1971 Stephen Cook Leonid Levin NP-Completeness Theory of Computation

Slide 12

Slide 12 text

1982 Yuri Manin Richard Feynmann Quantum Computing ideas… 1985 David Deutsch Quantum Turing Machines 1992 Deutsch-Josza Algorithm 1994 Peter Shor Shor’s Algorithm 1996 Lov Grover Grover’s Algorithm Quantum Computing 2001 IBM Stanford First physical implementation of Shor’s Algorithm

Slide 13

Slide 13 text

So… What QC is?

Slide 14

Slide 14 text

First… some thoughts on classical computing

Slide 15

Slide 15 text

What is a BIT?

Slide 16

Slide 16 text

BIT x ∈ { false , true } OPERATIONS NOT(x) = ¬x AND(x, y) = x ∧ y TRUTH VALUES

Slide 17

Slide 17 text

BIT x ∈ { 0 , 1 } OPERATIONS NOT(x) = 1 - x AND(x, y) = x · y INTEGER VALUES

Slide 18

Slide 18 text

VECTOR VALUES (0,1) (1,0)

Slide 19

Slide 19 text

( ) VECTOR VALUES (0,1) = True = |1> (1,0) = False = |0> x ∈ { , } 1 0 ( ) 0 1

Slide 20

Slide 20 text

( ) VECTOR VALUES x ∈ { , } 1 0 ( ) 0 1 OPERATIONS ?

Slide 21

Slide 21 text

( ) NOT( ) = 1 0 ( ) 0 1 NOT(x ̅) = x ̅ ( ) 0 1 1 0 VECTOR VALUES

Slide 22

Slide 22 text

In CQ bits are just vectors and operations are just matrices

Slide 23

Slide 23 text

In CQ bits are just unit vectors and operations are just unitary matrices

Slide 24

Slide 24 text

“I am a Quantum Engineer, but on Sundays I Have Principles.” John Stewart Bell

Slide 25

Slide 25 text

“Oh oh, mamma mia, here I go again, my my, how can I resist you” Benny Andersson (ABBA)

Slide 26

Slide 26 text

AND(x ̅, y ̅) = ?? VECTOR VALUES OPERATIONS

Slide 27

Slide 27 text

AND(x ̅, y ̅) = ?? We need to combine x ̅ and y ̅ into a joint state VECTOR VALUES OPERATIONS

Slide 28

Slide 28 text

COMBINING VECTOR BITS x ̅ ⊗ y ̅ = z ̅ In CQ the joint state of 2 vector bits is its tensor product

Slide 29

Slide 29 text

COMBINING VECTOR BITS w ̅ ⊗ x ̅ ⊗ y ̅ = z ̅ In CQ the joint state of N vector bits is its tensor product

Slide 30

Slide 30 text

COMBINING VECTOR BITS x ̅ ⊗ y ̅ = ( ) x0 · y0 x0 · y1 x1 · y0 x1 · y1

Slide 31

Slide 31 text

COMBINING VECTOR BITS |0> ⊗ |0>

Slide 32

Slide 32 text

COMBINING VECTOR BITS |0>|0>

Slide 33

Slide 33 text

COMBINING VECTOR BITS |00>

Slide 34

Slide 34 text

COMBINING VECTOR BITS ( ) 1 0 ( ) 1 0 ⊗

Slide 35

Slide 35 text

COMBINING VECTOR BITS ( ) 1 0 0 0 |00> =

Slide 36

Slide 36 text

COMBINING VECTOR BITS ( ) 0 1 0 0 |01> =

Slide 37

Slide 37 text

COMBINING VECTOR BITS ( ) 0 0 1 0 |10> =

Slide 38

Slide 38 text

COMBINING VECTOR BITS ( ) 0 0 0 1 |11> =

Slide 39

Slide 39 text

In CQ a register of N bits is represented by a vector space of 2N dimensions

Slide 40

Slide 40 text

We can store 2N bits of information with just N qbits!

Slide 41

Slide 41 text

AND(x ̅, y ̅) VECTOR VALUES OPERATIONS

Slide 42

Slide 42 text

AND(x ̅ ⊗ y ̅) VECTOR VALUES OPERATIONS

Slide 43

Slide 43 text

VECTOR VALUES OPERATIONS quantum gates AND x ̅ y ̅ x ̅ (output) y ̅ (trash)

Slide 44

Slide 44 text

VECTOR VALUES OPERATIONS quantum circuits AND x ̅ y ̅ w ̅ OR

Slide 45

Slide 45 text

VECTOR VALUES OPERATIONS quantum circuits AND x ̅ y ̅ w ̅ OR I I

Slide 46

Slide 46 text

VECTOR VALUES OPERATIONS quantum circuits AND x ̅ y ̅ w ̅ OR I I I ⊗ AND = Uand OR ⊗ I = Uor

Slide 47

Slide 47 text

(OR ⊗ I) × (I ⊗ AND) × (w ̅ ⊗ x ̅ ⊗ y ̅)

Slide 48

Slide 48 text

Uor × Uand × z ̅0 = z ̅1

Slide 49

Slide 49 text

Reversible computation

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

(reminder) In CQ bits are just unit vectors and operations are just unitary matrices

Slide 52

Slide 52 text

UNIT VECTOR ||v|| = = √( ∑ vi 2 ) = 1

Slide 53

Slide 53 text

( ) 1 0 0 0 |00> =

Slide 54

Slide 54 text

( ) 0.5 0.5 0.5 0.5 |??> =

Slide 55

Slide 55 text

( ) 1 0 0 0 0.5 × ( ) 0 1 0 0 + 0.5 × ( ) 0 0 1 0 + 0.5 × ( ) 0 0 0 1 + 0.5 ×

Slide 56

Slide 56 text

0.5 × |00> + 0.5 × |01> + 0.5 × |10> + 0.5 × |11>

Slide 57

Slide 57 text

|Ψ> = |0> + |1> = THE QUBIT , ∈ ℂ ( )

Slide 58

Slide 58 text

|Ψ> = |0> + |1> = THE QUBIT , ∈ ℂ ( ) Quantum superposition

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

Operating on a qubit in a superposition state means operating on all the values at once THE GOOD NEWS

Slide 61

Slide 61 text

THE GOOD NEWS ( ) 0.5 0.5 0.5 0.5 Uf × This is like applying Uf to |00>, |01>, |10> and |11> in just one computation step!

Slide 62

Slide 62 text

Quantum parallelism THE GOOD NEWS

Slide 63

Slide 63 text

Superposition only works if the quantum system is isolated THE BAD NEWS

Slide 64

Slide 64 text

THE BAD NEWS ( ) 0.5 0.5 0.5 0.5 Uf × = ( ) ?? ?? ?? ??

Slide 65

Slide 65 text

Reading the qubit destroys superposition and makes it collapse to one of the base states randomly THE BAD NEWS

Slide 66

Slide 66 text

THE BAD NEWS ( ) 0.5 0.5 0.5 0.5 Uf × = |Ψ> read(|Ψ>) p(|00>) = ?? p(|01>) = ?? p(|10>) = ?? p(|11>) = ?? p = ||||2

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

How can we build a superposition state?

Slide 69

Slide 69 text

HADAMARD GATE ( ) 1 1 1 -1 H = 1/√2

Slide 70

Slide 70 text

HADAMARD GATE H |0> = ( ) 1/√2 1/√2 |0> H |0> + |1> √2 H |0> H |1> = ( ) 1/√2 -1/√2

Slide 71

Slide 71 text

CNOT GATE ( ) 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 CNOT =

Slide 72

Slide 72 text

CNOT GATE |0> |0> H |0> + |1> √2 CNOT |00> + |11> √2

Slide 73

Slide 73 text

Quantum entanglement

Slide 74

Slide 74 text

No content

Slide 75

Slide 75 text

COMPUTING FUNCTIONS :|> → |()> Generally not possible because of reversible computation : {0,1} → {0,1}

Slide 76

Slide 76 text

COMPUTING FUNCTIONS :|>|0> → |x>|()> : {0,1} → {0,1}

Slide 77

Slide 77 text

COMPUTING FUNCTIONS |0> |0> H |0> + |1> √2 U |(0)> + |(1)> √2

Slide 78

Slide 78 text

COMPUTING FUNCTIONS |0> H |0> + |1> √2 U |0> - |1> √2 |Ψ> = 1/2[(-1)f(0)+(-1)f(1)]|0> + 1/2[(-1)f(0)-(-1)f(1)]|1> H |Ψ>

Slide 79

Slide 79 text

The Deutsch algorithm : {0,1} → {0,1} Given , tell me whether is constant (all outputs are the same for whatever input) or balanced (same number of 1s and 0s)

Slide 80

Slide 80 text

Uses the phase kick-back technique and quantum interference to determine whether a function is constant or balanced in just one call The Deutsch algorithm

Slide 81

Slide 81 text

The Deutsch-Josza algorithm : {0,1}n → {0,1} Given , tell me whether is constant (all outputs are the same for whatever input) or balanced (same number of 1s and 0s)

Slide 82

Slide 82 text

“I think I can safely say that nobody understands quantum mechanics.” Richard Feynman

Slide 83

Slide 83 text

@ericmarcosp [email protected] github.com/ericmarcos/pyqu