Functional Quantum Programming
Thorsten Altenkirch University of Nottingham based on joint work with Jonathan Grattage and discussions with V.P . Belavkin
Functional Quantum Programming – p. 1/44
Functional Quantum Programming Thorsten Altenkirch University of - - PowerPoint PPT Presentation
Functional Quantum Programming Thorsten Altenkirch University of Nottingham based on joint work with Jonathan Grattage and discussions with V.P . Belavkin Functional Quantum Programming p. 1/44 Background Functional Quantum Programming
Thorsten Altenkirch University of Nottingham based on joint work with Jonathan Grattage and discussions with V.P . Belavkin
Functional Quantum Programming – p. 1/44
Functional Quantum Programming – p. 2/44
Functional Quantum Programming – p. 2/44
Functional Quantum Programming – p. 2/44
Functional Quantum Programming – p. 2/44
Functional Quantum Programming – p. 2/44
Functional Quantum Programming – p. 2/44
yes We can run quantum algorithms.
Functional Quantum Programming – p. 2/44
yes We can run quantum algorithms. no Nature is classical after all!
Functional Quantum Programming – p. 2/44
yes We can run quantum algorithms. no Nature is classical after all!
Functional Quantum Programming – p. 2/44
Functional Quantum Programming – p. 3/44
Functional Quantum Programming – p. 3/44
Functional Quantum Programming – p. 3/44
Functional Quantum Programming – p. 3/44
Functional Quantum Programming – p. 4/44
Functional Quantum Programming – p. 4/44
Functional Quantum Programming – p. 4/44
Functional Quantum Programming – p. 4/44
Functional Quantum Programming – p. 4/44
Functional Quantum Programming – p. 4/44
Functional Quantum Programming – p. 4/44
Functional Quantum Programming – p. 4/44
Functional Quantum Programming – p. 5/44
Functional Quantum Programming – p. 5/44
P . Zuliani, 2001, Quantum Programming
S-C. Mu and R. S. Bird, 2001, Quantum functional programming
functional framework P . Selinger, 2002, Towards a Quantum Programming Language
Functional Quantum Programming – p. 6/44
Functional Quantum Programming – p. 7/44
Functional Quantum Programming – p. 7/44
Functional Quantum Programming – p. 7/44
Functional Quantum Programming – p. 7/44
Functional Quantum Programming – p. 7/44
Functional Quantum Programming – p. 7/44
Functional Quantum Programming – p. 8/44
Functional Quantum Programming – p. 8/44
Functional Quantum Programming – p. 8/44
Functional Quantum Programming – p. 8/44
Functional Quantum Programming – p. 8/44
Functional Quantum Programming – p. 9/44
Functional Quantum Programming – p. 9/44
Functional Quantum Programming – p. 9/44
Functional Quantum Programming – p. 10/44
φ B × G π1
(−,h)
B
Functional Quantum Programming – p. 10/44
φ B × G π1
(−,h)
B
Functional Quantum Programming – p. 10/44
φ B × G π1
(−,h)
B
Functional Quantum Programming – p. 10/44
Functional Quantum Programming – p. 11/44
Functional Quantum Programming – p. 11/44
Functional Quantum Programming – p. 11/44
Functional Quantum Programming – p. 11/44
Functional Quantum Programming – p. 12/44
Functional Quantum Programming – p. 13/44
Functional Quantum Programming – p. 13/44
Functional Quantum Programming – p. 13/44
Functional Quantum Programming – p. 13/44
Functional Quantum Programming – p. 13/44
Functional Quantum Programming – p. 14/44
Functional Quantum Programming – p. 14/44
Functional Quantum Programming – p. 14/44
Functional Quantum Programming – p. 15/44
Functional Quantum Programming – p. 15/44
Functional Quantum Programming – p. 15/44
Functional Quantum Programming – p. 15/44
Functional Quantum Programming – p. 15/44
Functional Quantum Programming – p. 16/44
Functional Quantum Programming – p. 16/44
Functional Quantum Programming – p. 17/44
Functional Quantum Programming – p. 17/44
φ B ⊗ G ???
−⊗h
B
Functional Quantum Programming – p. 17/44
φ B ⊗ G ???
−⊗h
B
Functional Quantum Programming – p. 17/44
Functional Quantum Programming – p. 18/44
Functional Quantum Programming – p. 19/44
Functional Quantum Programming – p. 19/44
Functional Quantum Programming – p. 19/44
Functional Quantum Programming – p. 19/44
Functional Quantum Programming – p. 20/44
B ⊗ G trG
−⊗ h
B
Functional Quantum Programming – p. 20/44
B ⊗ G trG
−⊗ h
B
Functional Quantum Programming – p. 20/44
B ⊗ G trG
−⊗ h
B
Functional Quantum Programming – p. 20/44
Functional Quantum Programming – p. 21/44
Functional Quantum Programming – p. 21/44
Functional Quantum Programming – p. 21/44
Functional Quantum Programming – p. 21/44
Functional Quantum Programming – p. 21/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 22/44
Functional Quantum Programming – p. 23/44
Functional Quantum Programming – p. 23/44
Functional Quantum Programming – p. 23/44
Functional Quantum Programming – p. 23/44
√ 2 |0 + 1 √ 2 |0}
Functional Quantum Programming – p. 23/44
√ 2 |0 + 1 √ 2 |0}
2{|0} + 1 2{|1}
Functional Quantum Programming – p. 23/44
Functional Quantum Programming – p. 24/44
Functional Quantum Programming – p. 24/44
Functional Quantum Programming – p. 24/44
Functional Quantum Programming – p. 24/44
Functional Quantum Programming – p. 25/44
Functional Quantum Programming – p. 25/44
Functional Quantum Programming – p. 25/44
Functional Quantum Programming – p. 26/44
Functional Quantum Programming – p. 26/44
Functional Quantum Programming – p. 26/44
Functional Quantum Programming – p. 27/44
Functional Quantum Programming – p. 27/44
Γ
∆
σ τ
Functional Quantum Programming – p. 28/44
Functional Quantum Programming – p. 28/44
Functional Quantum Programming – p. 29/44
Functional Quantum Programming – p. 29/44
Functional Quantum Programming – p. 30/44
Functional Quantum Programming – p. 30/44
Γ
σ
∆
τ
Functional Quantum Programming – p. 31/44
Functional Quantum Programming – p. 31/44
Γ
∆
σ τ C
Functional Quantum Programming – p. 32/44
Functional Quantum Programming – p. 32/44
Functional Quantum Programming – p. 33/44
Functional Quantum Programming – p. 33/44
σ
Functional Quantum Programming – p. 34/44
Functional Quantum Programming – p. 34/44
Γ
∆
σ ⊔ τ
Q2
Functional Quantum Programming – p. 35/44
Functional Quantum Programming – p. 35/44
Γ
∆
σ ⊔ τ S
Q2 Q2
Functional Quantum Programming – p. 36/44
Functional Quantum Programming – p. 37/44
Functional Quantum Programming – p. 38/44
Eq a : Q2, b : Q2 = let (x, y) = if◦ {qfalse | (−1)qtrue} then (qtrue, if a then {qfalse | (−1)qtrue} else {qfalse | qtrue}) else (qfalse,if b then {qfalse | (−1)qtrue} else {qfalse | qtrue}) in x : Q2
Functional Quantum Programming – p. 39/44
Functional Quantum Programming – p. 40/44
Functional Quantum Programming – p. 40/44
Functional Quantum Programming – p. 40/44
Functional Quantum Programming – p. 40/44
Functional Quantum Programming – p. 40/44