Quantum Programming. Juliana K. Vizzotto 1 and Amr Sabry 2. 8 November Yale CS Colloquium Page 1. 1 Federal University of Rio Grande do Sul

Similar documents
Quantum Effects. Juliana K. Vizzotto 1 Thorsten Altenkirch 2. Amr Sabry January Yale CS Colloquium Page 1

Lecture 2: Introduction to Quantum Mechanics

Quantum data and control made easier

T he Science of. What exactly is quantum physics? Until the end of the nineteenth century, scientists thought

6.080/6.089 GITCS May 6-8, Lecture 22/23. α 0 + β 1. α 2 + β 2 = 1

Tutorial on Quantum Computing. Vwani P. Roychowdhury. Lecture 1: Introduction

Hacking Quantum Cryptography. Marina von Steinkirch ~ Yelp Security

Quantum Computing: Foundations to Frontier Fall Lecture 3

Quantum Computing. Thorsten Altenkirch

6.896 Quantum Complexity Theory September 9, Lecture 2

Lecture 14, Thurs March 2: Nonlocal Games

Towards a High Level Quantum Programming Language

Introduction to Quantum Computing for Folks

The Relativistic Quantum World

Odd Things about Quantum Mechanics: Abandoning Determinism In Newtonian physics, Maxwell theory, Einstein's special or general relativity, if an initi

Quantum Computing. Quantum Computing. Sushain Cherivirala. Bits and Qubits

- Why aren t there more quantum algorithms? - Quantum Programming Languages. By : Amanda Cieslak and Ahmana Tarin

Seminar 1. Introduction to Quantum Computing

QUANTUM COMPUTING & CRYPTO: HYPE VS. REALITY ABHISHEK PARAKH UNIVERSITY OF NEBRASKA AT OMAHA

Type Systems for Quantum Computation

1 Measurements, Tensor Products, and Entanglement

b) (5 points) Give a simple quantum circuit that transforms the state

Quantum Error Correcting Codes and Quantum Cryptography. Peter Shor M.I.T. Cambridge, MA 02139

Double slit questions

Concepts and Algorithms of Scientific and Visual Computing Advanced Computation Models. CS448J, Autumn 2015, Stanford University Dominik L.

A functional quantum programming language

A review on quantum teleportation based on: Teleporting an unknown quantum state via dual classical and Einstein- Podolsky-Rosen channels

Entanglement. arnoldzwicky.org. Presented by: Joseph Chapman. Created by: Gina Lorenz with adapted PHYS403 content from Paul Kwiat, Brad Christensen

On the role of Decoherence in Bohmian Mechanics

CS257 Discrete Quantum Computation

Are there Quantum Effects Coming from Outside Space-Time? Nonlocality, Free Will & no-many-worlds

QUANTUM ENTANGLEMENT AND ITS ASPECTS. Dileep Dhakal Masters of Science in Nanomolecular Sciences

Quantum Computers. Todd A. Brun Communication Sciences Institute USC

CSCI 2570 Introduction to Nanocomputing. Discrete Quantum Computation

Secrets of Quantum Information Science

Quantum Gates, Circuits & Teleportation

10 - February, 2010 Jordan Myronuk

226 My God, He Plays Dice! Entanglement. Chapter This chapter on the web informationphilosopher.com/problems/entanglement

Lecture 1: Introduction to Quantum Computing

CSE 599d - Quantum Computing The No-Cloning Theorem, Classical Teleportation and Quantum Teleportation, Superdense Coding

The Future. Currently state of the art chips have gates of length 35 nanometers.

Modern Physics notes Spring 2007 Paul Fendley Lecture 27

Single qubit + CNOT gates

228 My God - He Plays Dice! Schrödinger s Cat. Chapter 28. This chapter on the web informationphilosopher.com/problems/scrodingerscat

THE DELAYED CHOICE QUANTUM EXPERIMENT

Quantum Information & Quantum Computation

2 Quantum Mechanics. 2.1 The Strange Lives of Electrons

Great Ideas in Theoretical Computer Science. Lecture 28: A Gentle Introduction to Quantum Computation

Bell s Theorem 1964 Local realism is in conflict with quantum mechanics

Quantum Entanglement. Chapter Introduction. 8.2 Entangled Two-Particle States

about Quantum Physics Bill Poirier MVJS Mini-Conference Lawrence Hall of Science July 9, 2015

Lecture 11 September 30, 2015

Quantum Computing. Vraj Parikh B.E.-G.H.Patel College of Engineering & Technology, Anand (Affiliated with GTU) Abstract HISTORY OF QUANTUM COMPUTING-

Physics is becoming too difficult for physicists. David Hilbert (mathematician)

Quantum Communication Complexity

Quantum information and quantum computing

SUPERDENSE CODING AND QUANTUM TELEPORTATION

Discrete Quantum Theories

Quantum Information Processing

Introduction to Quantum Computing

Quantum Information Processing

Simon s algorithm (1994)

92 CHAPTER III. QUANTUM COMPUTATION. Figure III.11: Diagram for swap (from NC).

Quantum Computing 101. ( Everything you wanted to know about quantum computers but were afraid to ask. )

The Measurement Problem of Quantum Mechanics Click to edit Master title style. Wells Wulsin SASS 24 September 2008

Quantum Information Types

Logical AND. Logical XOR

Hilbert Space, Entanglement, Quantum Gates, Bell States, Superdense Coding.

Ph 219/CS 219. Exercises Due: Friday 3 November 2006

Chapter 13: Photons for quantum information. Quantum only tasks. Teleportation. Superdense coding. Quantum key distribution

Conservation of Information

Quantum Computing. Part I. Thorsten Altenkirch

Orthogonality and Algebraic Lambda-Calculus

Using Quantum Effects for Computer Security

Short introduction to Quantum Computing

forty-two XLII Equivalent Computers? Lecture 40: Computing with Glue and Photons What is 42? cuarenta y dos Meaning of Numbers Meaning of Numbers

Problem Set: TT Quantum Information

6.896 Quantum Complexity Theory November 4th, Lecture 18

Lecture: Quantum Information

Quantum Mechanics: Interpretation and Philosophy

arxiv:quant-ph/ v5 19 Apr 2005

Advanced Cryptography Quantum Algorithms Christophe Petit

1.1 The Boolean Bit. Note some important things about information, some of which are illustrated in this example:

Why quantum mechanics is weird

Introduction. An Introduction to Quantum Computation and Quantum Communication. Why would we care? What approximation do we remove?

If quantum mechanics hasn t profoundly shocked you, you haven t understood it.

Logic gates. Quantum logic gates. α β 0 1 X = 1 0. Quantum NOT gate (X gate) Classical NOT gate NOT A. Matrix form representation

Universal quantum computers

Lecture 1: Introduction to Quantum Computing

B. BASIC CONCEPTS FROM QUANTUM THEORY 93

Quantum computing! quantum gates! Fisica dell Energia!

11/26/2018 Photons, Quasars and the Possibility of Free Will - Scientific American Blog Network. Observations

When I hear of Schrödinger s cat, I reach for my gun. --Stephen W. Hawking. Lecture 21, p 1

Fourier Sampling & Simon s Algorithm

Talk by Johannes Vrana

Focus of Week 5 The information loss paradox in black holes, an example of scientific controversy

Entanglement and information

Algorithms, Logic and Complexity. Quantum computation. basic explanations! &! survey of progress

Quantum Measurements: some technical background

Introduction to Quantum Information Processing QIC 710 / CS 768 / PH 767 / CO 681 / AM 871

Transcription:

Quantum Programming Juliana K. Vizzotto 1 and Amr Sabry 2 1 Federal University of Rio Grande do Sul 2 IU Computer Science Department 8 November 2004 Yale CS Colloquium Page 1

Quantum mechanics It is a bizarre place... normal laws of physics break Real Black Magic Calculus, Albert Einstein If quantum mechanics hasn t profoundly shocked you, you haven t understood it yet, Niels Bohr I think I can safely say that nobody today understands quantum mechanics, Richard Feynman I don t know what I am talking about, Amr Sabry Yale CS Colloquium Page 2

The Basics Yale CS Colloquium Page 3

Bits and qubits In a classical computer, a bit is either 0 or 1 In a quantum computer, a qubit could be both 0 and 1! q 1 = 0 = 587 0 same as a bit = 0 q 2 = 1 = 1.2 1 same as a bit = 1 q 2 = 1 2 0 + 1 2 1 = 8 0 + 8 1 q 3 = (0.3 + 0.4i) 0 + (0.3 0.4i) 1 huh? HUH? As soon as you look at the qubit to find out its value, it becomes either 0 or 1 and never changes after that. Yale CS Colloquium Page 4

How can a qubit be both true and false? Yale CS Colloquium Page 5

The double-slit experiment Even if we send one photon per second, there is still interference. At this rate, a photon cannot be interacting with other photons to produce the interference pattern. Each photon must be interacting with itself. The math says that the photon must somehow go through both slits at the same time: 1 go to left slit + 1 go to right slit 2 2 Yale CS Colloquium Page 6

Can we try to find out which way the photon goes? We can try... Let s put any measuring device of your choice by one of the slits. The interference disappears! The measurement changes the behavior of the photons. If you look at the quantum value: 1 go to left slit + 1 go to right slit 2 2 you either get go to left slit or go to right slit and it never changes after that. Yale CS Colloquium Page 7

Maybe photons are weird. Who cares? Yale CS Colloquium Page 8

Schrödinger s cat After some time the state of one of the radioactive atoms is: 1 no decay + 1 decay 2 2 Because we are in the state 1 2 decay, the counter tube discharges, turns the relay on, releases a hammer, shatters the flask of acid, and kills the cat. Because we are in the state 1 2 no decay the counter tube does not discharge, does not turn the relay on, does not release a hammer, does not shatter the flask of acid, and does not kill the cat. Because we are in a superposition of the two states, the state of the cat is: 1 alive + 1 dead 2 2 Yale CS Colloquium Page 9

So... if we accept that a small particle can be both true and false, we must also accept that: a cat can be both dead and alive; our dinner is both here and not here; this door is both open and closed; etc; And that s the easy part of quantum mechanics! Yale CS Colloquium Page 10

Entanglement Two particles A and B A is both true and false B is both true and false But they are entangled to always have opposite values: 1 01 + 1 10 2 2 Yale CS Colloquium Page 11

The EPR experiment Put particle A on a spaceship going to the -quadrant. Keep particle B in Lindley Hall. When particle A reaches the Enterprise in 100 light-years, they look at it and observe that it is, say false. Instantaneously, particle B becomes true. Einstein was not happy! This appears to violate special relativity where nothing can propagate faster than light. Einstein called this spooky action at a distance Yale CS Colloquium Page 12

Interpretations All of what we discussed has been verified experimentally. But what does it mean? How does it happen? Copenhagen: don t ask; we can observe the world but it is beyond comprehension Collapse: Particles act sometimes as waves but when you observe them the wave collapses instantaneously Multiple universes: the universe splits all the time; the cat is alive in one universe and dead in another Transactional: Messages send back from the future to the past; if you see the cat is dead the message is sent back to the particle to decay Many more ideas but just as strange or unhelpful Yale CS Colloquium Page 13

Programming with this Crazy Model? Yale CS Colloquium Page 14

Why? Understanding Nature Hardware is getting smaller and smaller that quantum effects will become visible Efficiency: quantum computing can use massive parallelism and entanglement to solve problems faster than any classical computing model. The two most famous examples are Shor s algorithm to factor numbers quickly (breaks RSA) and Grover s search algorithm Yale CS Colloquium Page 15

Deutsch s algorithm There are four functions from booleans to booleans: f 1 F = F f 1 T = F f 3 F = F f 3 T = T f 2 F = T f 2 T = T f 4 F = T f 4 T = F Functions f 1 and f 2 are constant but f 3 and f 4 are balanced. Problem: given one of f 1, f 2, f 3, or f 4, is it constant or balanced? Classical solution λf.f T == f F requires two calls to f. Quantum solution requires one call to f with an argument that 1 is both true and false: 2 F + 1 2 T Doing such tricks in loops changes the complexity of programs Yale CS Colloquium Page 16

A Low-Level Programming Model Yale CS Colloquium Page 17

Classical circuits vs. quantum circuits wires carry bits wires carry qubits gates are boolean functions gates are reversible boolean functions registers (memory) are used to build sequential functions impossible to copy a qubit observing the value of a bit does not change anything observing a qubit collapses its wave function and might affect every other qubit it is always possible not to use a bit that we have access to not using a qubit is the same as erasing it which is the same as measuring it Yale CS Colloquium Page 18

Examples of reversible gates Not (obviously reversible) Not(T ) = F Not(F ) = T Hadamard H: Not( T ) = F Not( F ) = T Not(α F + β T ) = β F + α T ) H(α F + β T ) = (α + β) F + (α β) T For example: H( F + T ) = F If we look at the coefficients of α and β in the output, we can specify Not and H using the matrices: ( ) ( ) 0 1 1 1 1 0 1 1 Yale CS Colloquium Page 19

How about non-reversible classical gates? The classic function: is not reversible And(F, F ) = F And(F, T ) = F And(T, F ) = F And(T, T ) = T Trick. Add garbage outputs to make it reversible: And-r(F, F ) = (F, (F, F )) And-r(F, T ) = (F, (F, T )) And-r(T, F ) = (F, (T, F )) And-r(T, T ) = (T, (T, T )) Yale CS Colloquium Page 20

Controlled gates For any function f, a controlled-f gate (U f ): takes two inputs: a control qubit c and a value qubit v if the control qubit is false, the output is the same as the input (c, v) if the control qubit is true, the output is (c, f v) Something like: U f (c, v) = if c then (c, f v) else (c, v) But the control qubit can be both false and true: U Not ( F + T, F ) = F F + T T In this case, we get an entangled pair of particles. Yale CS Colloquium Page 21

Deutsch s algorithm False H H measure True H U_f Tracing with the four possible functions, we find: If we are given a constant function the top output is F If we are given a balanced function the top output is T with one application of f to a superposition of true and false. Yale CS Colloquium Page 22

Is this a good programming model It is accurate and correct but it is low-level (at the level of gates) and exposes physical properties of information. We usually think of information as abstract but it is in reality a form of energy When erasing information (like formatting your hard disk), the energy representing information must dissipate somehow (cf. First law of thermodynamics which is a statement about the conservation of energy) If the energy dissipates as entropy (heat) then the process is irreversible Reversible functions preserve energy We don t want to think about information as a form of energy. We want to have an abstract view of computers. Yale CS Colloquium Page 23

A Compiler Yale CS Colloquium Page 24

Hide some of the physical properties The general problem is hard. Let s focus on something simple: Quantum circuits are built from reversible functions High-level languages should not be restricted to reversible functions Yale CS Colloquium Page 25

Reversible functions in Scheme (define f1-f (lambda (x) x)) (define f1-r (lambda (x) x)) (define f2-f (lambda (x) (+ x 4))) (define f2-r (lambda (y) (- y 4))) (define f3-f (lambda (x) 5)) (define f3-r (lambda (y)???)) Yale CS Colloquium Page 26

Adding garbage output (define f3-f (lambda (x) (cons 5 x))) (define f3-r (lambda (y) (cdr y))) x f3-f f3-r (cons 5 x) The compiler can do that. We can write any function we want and the compiler can make it reversible by adding garbage outputs. You can run your program forward for a little, then rewind, then continue, etc. Yale CS Colloquium Page 27

Reversible Computing Reversible computing makes sense even in classical (non-quantum) computing. (In principle you can use it to control how much energy your computer consumes) Similar to computation done by enzymes. For example, copying the genetic information in DNA genes to an RNA transcript proceeds forwards and backwards. At equilibrium nothing gets copied and no energy is spent. To drive the computation in one way, the concentration of some phosphate reactants is varied. DNA computing, biocomputing, etc Fascinating subject but not for today... Yale CS Colloquium Page 28

A High-Level Programming Model Yale CS Colloquium Page 29

Many proposals qgcl [J. W. Sanders and P. Zuliani, 2000] Extended version of Dijkstra s guarded-command language including three high-level quantum commands: initialization, evolution, and finalization QCL [B. Omer, 2001] Procedural quantum programming language QPL [P. Selinger, 2003] Functional quantum programming language based on the slogan quantum data, classical control control state is always classical QML [T. Altenkirch and J. Grattage, 2004] Functional quantum language based on the slogan quantum data, quantum control Yale CS Colloquium Page 30

QML Classical Core Basic expressions: e : : = x let x=e 1 in e 2 (e 1, e 2 ) let (x 1, x 2 )=e in e qtrue qfalse if e 1 then e 2 else e 3 Compiler can take care of making things reversible No dynamic data structures (no higher-order procedures, lists, etc): the model of quantum computing usually assumes data structures of fixed size; relaxing this constraint is possible but quite a challenge Yale CS Colloquium Page 31

QML extension I: superpositions Need a syntax for values that are both true and false {(α)e 1 (β)e 2 } are α and β are any expressions that evaluate to complex numbers But e 1 and e 2 cannot be arbitrary expressions. They must be orthogonal Examples: {qtrue qfalse} {(qtrue, qtrue) (qfalse, qfalse)} {{qfalse ( 1)qTrue} {qfalse qtrue}} Non-example {qtrue qtrue} Yale CS Colloquium Page 32

QML extension II: quantum control operators Given a value v which corresponds to a superposition like: {qtrue qfalse} The expression qif v then e 1 else e 2 produces {e 1 e 2 } as follows: v is partly qtrue so the true-branch is evaluated; v is partly qfalse so the false-branch is evaluated; the results of both branches are combined using the appropriate probability amplitudes. if v then e 1 else e 2 is very different from qif v then e 1 else e 2 if v then e 1 else e 2 is a classical control operator which operates on classical values: it first measures v to produces either true or false, and then selects the appropriate branch. Yale CS Colloquium Page 33

Examples Not(b) = qif b then qfalse else qtrue Z(b) = qif b then ( 1)qTrue else qfalse Hadamard: H(x) = qif x then {qfalse ( 1)qTrue} else {qfalse qtrue} Controlled not: U Not (p) = let (x, y)=p in qif x then (x, Not(y)) else (x, y) Yale CS Colloquium Page 34

Ignoring values What if we had written: F (p) = let (x, y)=p in x What happens to y? In a classical language, y becomes garbage. In a quantum language, this is a measurement. Ok so we measure y and throw away the result But x and y may be entangled; measuring y might change the value of x Yale CS Colloquium Page 35

Explicit control of variables F 1 (y) = let x=y in x is the identity function F 2 (y) = let x=y in let z=y in x measures z (and hence y) For example F 1 ({qfalse qtrue}) = ({qfalse qtrue}) But F 2 ({qfalse qtrue}) = qfalse or F 2 ({qfalse qtrue}) = qtrue with equal probability. Can I measure y without having to introduce a new name z and then ignore it? New syntax for explicit measurement: F 2 (y) = let x=y in x {y} Yale CS Colloquium Page 36

Examples Swapping two (possibly entangled) quantum values: S(p) = let (x, y)=p in (y {}, x {} ) Measure the two qubits, and then swap the resulting classical values: MS(p) = let (x, y)=p in (y {p}, x {p} ) Need a type system to keep track of all that. Yale CS Colloquium Page 37

Type system Keep track of all variables in scope If variables x, y, and z are in scope and we want to type (e 1, e 2 ), we can pass all three variables to both e 1 and e 2. If e 1 only uses x then y and z will be measured. Alternatively we could pass only x to e 1 and pass y and z to e 2 and perhaps avoid measurements not explicitly given by the programmer. Yale CS Colloquium Page 38

Summary of programmer s model Classical functional language (with no dynamic data-structures) Superpositions Quantum control operators Explicit measurement and specialized type system Yale CS Colloquium Page 39

Example: Teleportation of qubit q let epr={(qfalse, qfalse) (qtrue, qtrue)} in let (x, y)=epr in let msg=alice(q, x) in bob(msg, y) Alice and Bob each have one of two entangled qubits Alice has a qubit q that she wants to teleport to Bob Alice cannot measure q as this will destroy it Alice does a small computation using q and her half of the entangled pair and then sends a message with classical bits to Bob Bob uses the message and his half of the entangled pair to reconstitute q which apparates at his site. Yale CS Colloquium Page 40

Example: Teleportating qubit q Code for Alice: alice(q, x) = let (a, b)=u Not (x, q) in let c=h(a) in (c {b,c}, b {b,c} ) Code for Bob: bob((m 1, m 2 ), y) = if m 1 then if m 2 then Z(Not(y)) else Z(y) else if m 2 then Not(y) else y Yale CS Colloquium Page 41

or using circuits. M1 Qubit H. M2 EPR { X Z Yale CS Colloquium Page 42

Conclusion Yale CS Colloquium Page 43

We have a programming model. Where is the computer? Quantum computers exist today! They can find the prime factors of a given number But only if the input number is less than fifteen The λ-calculus (the foundation of functional languages) was discovered at least twenty years before electronic computers. Yale CS Colloquium Page 44