Dr Thorsten Wehber Deutscher Sparkassen - und Giroverband ...
Thorsten Altenkirch- Designing a Quantum Programming Language
Transcript of Thorsten Altenkirch- Designing a Quantum Programming Language
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
1/152
Designing aQuantum Programming Language
Thorsten AltenkirchUniversity of Nottingham
based on joint work with Jonathan Grattage
supported by EPSRC grant GR/S30818/01
QUOXIC Feb 05 p.1/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
2/152
Why . . .
QUOXIC Feb 05 p.2/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
3/152
Why . . .
. . . design a quantum programming language?
QUOXIC Feb 05 p.2/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
4/152
Why . . .
. . . design a quantum programming language?
Better intuitive understanding of quantumalgorithms.
QUOXIC Feb 05 p.2/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
5/152
Why . . .
. . . design a quantum programming language?
Better intuitive understanding of quantumalgorithms.
Simplify the design of quantum programs.
QUOXIC Feb 05 p.2/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
6/152
Why . . .
. . . design a quantum programming language?
Better intuitive understanding of quantumalgorithms.
Simplify the design of quantum programs.
Develop formal reasoning principles for
quantum programs.
QUOXIC Feb 05 p.2/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
7/152
Why . . .
. . . design a quantum programming language?
Better intuitive understanding of quantumalgorithms.
Simplify the design of quantum programs.
Develop formal reasoning principles for
quantum programs.Understanding the computational aspect ofquantum physics.
QUOXIC Feb 05 p.2/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
8/152
QML
QUOXIC Feb 05 p.3/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
9/152
QMLQML: a first order functional quantum
programming language for finite types
QUOXIC Feb 05 p.3/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
10/152
QML
QML: a first order functional quantum
programming language for finite typesReversible and irreversible quantum programs
QUOXIC Feb 05 p.3/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
11/152
QML
QML: a first order functional quantum
programming language for finite typesReversible and irreversible quantum programs
Quantum data and control
QUOXIC Feb 05 p.3/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
12/152
QML
QML: a first order functional quantum
programming language for finite typesReversible and irreversible quantum programs
Quantum data and controlOperational semantics: quantum circuits
QUOXIC Feb 05 p.3/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
13/152
QML
QML: a first order functional quantum
programming language for finite typesReversible and irreversible quantum programs
Quantum data and controlOperational semantics: quantum circuits
Denotational semantics: superoperators
QUOXIC Feb 05 p.3/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
14/152
Example: Hadamard operation
QUOXIC Feb 05 p.4/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
15/152
Example: Hadamard operation
Matrix
QUOXIC Feb 05 p.4/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
16/152
Example: Hadamard operation
Matrix
QML
"
#$
%&
'
(
)1
$
2
3
4
"
#$
%
(
)1
$
2
QUOXIC Feb 05 p.4/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
17/152
Deutsch algorithm5
68
9
@B
C
D
F
G
F
G
I
P
5
68
9
@B
C
R
S
T
V
W
Y
`
a
c
e
f
T
gh
i
p
q
r
s
t
uw
x
q
y
w
Y
W
`
q
y
w
c
gh
R
Y
W
p
q
r
s
t
uw
x `
f
q
y
w
W
V
W
p `
f
q
r
s
t
uw
x
q
y
w
W
V
W
`
q
r
s
t
uw
c
ghS
Y
W
p `
f
q
r
s
t
uw
x
q
y
w
W
V
W
p
q
r
s
t
uw
x `
f
q
y
w
g
a
QUOXIC Feb 05 p.5/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
18/152
Related Work
P. Zuliani, PhD 2001, Quantum Programming (QGCL)
P. Selinger, MSCS 2003, Towards a Quantum
Programming Language(QPL)
A. van Tonder, SIAM 2003, A Lambda Calculus for
Quantum Computation
A. Sabry, Haskell 2003, Modeling quantum computing
in Haskell
P. Selinger and B. Valiron, TLCA 2005, A lambda
calculus for quantum computation with classical control
QUOXIC Feb 05 p.6/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
19/152
Overview
1. Finite classical computation
2. Finite quantum computation
3. QML
4. Conclusions and further work
QUOXIC Feb 05 p.7/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
20/152
1. Finite classical computation
1. Finite classical computation
2. Finite quantum computation
3. QML
4. Conclusions and further work
QUOXIC Feb 05 p.8/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
21/152
Classical computations on finite types
QUOXIC Feb 05 p.9/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
22/152
Classical computations on finite types
Quantum mechanics is time-reversible. . .
QUOXIC Feb 05 p.9/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
23/152
Classical computations on finite types
Quantum mechanics is time-reversible. . .
. . . hence quantum computation is based on reversible
operations.
QUOXIC Feb 05 p.9/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
24/152
Classical computations on finite types
Quantum mechanics is time-reversible. . .
. . . hence quantum computation is based on reversible
operations.
However: Newtonian mechanics, Maxwellian
electrodynamics are also time-reversible. . .
QUOXIC Feb 05 p.9/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
25/152
Classical computations on finite types
Quantum mechanics is time-reversible. . .
. . . hence quantum computation is based on reversible
operations.
However: Newtonian mechanics, Maxwellian
electrodynamics are also time-reversible. . .
. . . hence classical computation should be based on
reversible operations.
QUOXIC Feb 05 p.9/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
26/152
Classical computation ( )
QUOXIC Feb 05 p.10/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
27/152
Classical computation ( )
Given finite sets (input) and (output):
1
1
QUOXIC Feb 05 p.10/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
28/152
Classical computation ( )
Given finite sets (input) and (output):
1
1
a finite set of initial heaps ,
an initial heap
,
a finite set of garbage states ,
a bijection
,QUOXIC Feb 05 p.10/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
29/152
Composing computations
QUOXIC Feb 05 p.11/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
30/152
Composing computations
1
bbbb
bbbb
VVVV
VVV
1
1
1
QUOXIC Feb 05 p.11/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
31/152
Extensional equality
QUOXIC Feb 05 p.12/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
32/152
Extensional equality
A classical computation &
'
induces a function U
by
j
//
k
l
n
o
OO
U
//
QUOXIC Feb 05 p.12/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
33/152
Extensional equality
A classical computation &
'
induces a function U
by
j
//
k
l
n
o
OO
U
//
We say that two computations areextensionally equivalent, if they give rise tothe same function.
QUOXIC Feb 05 p.12/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
34/152
Extensional equality . . .
Theorem:
U&
'
&
U'
&
U
'
QUOXIC Feb 05 p.13/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
35/152
Extensional equality . . .
Theorem:
U&
'
&
U'
&
U
'
Theorem: Any function
on finite
sets can be realized by a computation.
QUOXIC Feb 05 p.13/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
36/152
Example :
function
&
'
&
z
'
QUOXIC Feb 05 p.14/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
37/152
Example :
function
&
'
&
z
'
computation
1
{
}
QUOXIC Feb 05 p.14/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
38/152
Example :
function~
&
'
~
&
'
QUOXIC Feb 05 p.15/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
39/152
Example :
function~
&
'
~
&
'
computation
1 '&%$!"#
&
' &
'
&
'
&
'
&
'
&
'
QUOXIC Feb 05 p.15/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
40/152
2. Finite quantum computation
1. Finite classical computation
2. Finite quantum computation
3. QML basics
4. Compiling QML5. Conclusions and further work
QUOXIC Feb 05 p.16/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
41/152
Pure quantum values
QUOXIC Feb 05 p.17/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
42/152
Pure quantum values
A pure quantum value over a finite set is
given by by a vector represented as
with unit norm:% %
% %
%
%
QUOXIC Feb 05 p.17/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
43/152
Qbits
QUOXIC Feb 05 p.18/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
44/152
Qbits
Qbits are represented as
which
we write as&
' %
&
' %
QUOXIC Feb 05 p.18/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
45/152
Qbits
Qbits are represented as
which
we write as&
' %
&
' %
Exambles of Qbits
%
%
%
%
%
%
QUOXIC Feb 05 p.18/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
46/152
Tensor products
QUOXIC Feb 05 p.19/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
47/152
Tensor products
Tensor product = product of bases:
QUOXIC Feb 05 p.19/4
T d
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
48/152
Tensor products
Tensor product = product of bases:
E.g.
QUOXIC Feb 05 p.19/4
T d t
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
49/152
Tensor products
Tensor product = product of bases:
E.g.
Examples of :
EPR
%
%
&
'
%
%
%
%
QUOXIC Feb 05 p.19/4
R ibl t ti
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
50/152
Reversible quantum operations
QUOXIC Feb 05 p.20/4
R ibl t ti
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
51/152
Reversible quantum operations
Reversible operations on pure quantum
values are represented by unitary operators.
QUOXIC Feb 05 p.20/4
R ibl t ti
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
52/152
Reversible quantum operations
Reversible operations on pure quantum
values are represented by unitary operators.
id
QUOXIC Feb 05 p.20/4
R sibl t ti s
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
53/152
Reversible quantum operations
Reversible operations on pure quantum
values are represented by unitary operators.
id
E.g.
&
'
&
'
&
'
&
'
&
&
' '
&
&
' '
&
&
' '
&
&
' '
where&
'
.QUOXIC Feb 05 p.20/4
Reversible quantum operations
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
54/152
Reversible quantum operations. . .
Example :
:
QUOXIC Feb 05 p.21/4
Reversible quantum operations
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
55/152
Reversible quantum operations. . .
Example :
:
%
%
&
%
%
'
%
%
&
%
%
'
QUOXIC Feb 05 p.21/4
Reversible quantum operations
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
56/152
Reversible quantum operations. . .
Example :
:
%
%
&
%
%
'
%
%
&
%
%
'
On finite-dimensional spaces:
Unitary = norm-preserving isomorphismQUOXIC Feb 05 p.21/4
Quantum computations ( )
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
57/152
Quantum computations ( )
QUOXIC Feb 05 p.22/4
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
58/152
Quantum computations ( )
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
59/152
Quantum computations ( )Given finite sets (input) and (output):
1 1
a finite set , the base of the space of initialheaps,
a heap initialisation vector
,a finite set , the base of the space ofgarbage states,
a unitary operator
unitary .QUOXIC Feb 05 p.22/4
Composing quantum computations
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
60/152
Composing quantum computations
QUOXIC Feb 05 p.23/4
Composing quantum computations
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
61/152
Composing quantum computations
1
bbbb
bbbb
VVVV
VVV
1
1
1
QUOXIC Feb 05 p.23/4
Extensional equality?
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
62/152
Extensional equality?
QUOXIC Feb 05 p.24/4
Extensional equality?
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
63/152
Extensional equality?
. . . is a bit more subtle.
QUOXIC Feb 05 p.24/4
Extensional equality?
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
64/152
Extensional equality?
. . . is a bit more subtle.
There is no (sensible) operator on vectorspaces replacing
.
QUOXIC Feb 05 p.24/4
Extensional equality?
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
65/152
Extensional equality?
. . . is a bit more subtle.
There is no (sensible) operator on vectorspaces replacing
.
Indeed: Forgetting part of a pure state
results in a mixed state.
QUOXIC Feb 05 p.24/4
Density matrizes
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
66/152
Density matrizes
QUOXIC Feb 05 p.25/4
Density matrizes
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
67/152
e s ty at es
Mixed states can be represented by densitymatrizes
.
QUOXIC Feb 05 p.25/4
Density matrizes
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
68/152
y
Mixed states can be represented by densitymatrizes
.
Eigenvalues represent probabilities
System is in state
with prob.
QUOXIC Feb 05 p.25/4
Density matrizes
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
69/152
y
Mixed states can be represented by densitymatrizes
.
Eigenvalues represent probabilities
System is in state
with prob.
Eigenvalues have to be positive and their sum(the trace) is
.
QUOXIC Feb 05 p.25/4
Example: forgetting a qbit
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
70/152
p g g q
QUOXIC Feb 05 p.26/4
Example: forgetting a qbit
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
71/152
p g g q
EPR is represented by
:
P
P
P
P
QUOXIC Feb 05 p.26/4
Example: forgetting a qbit
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
72/152
p g g q
EPR is represented by
:
P
P
P
P
&
%
%
'
%
%
QUOXIC Feb 05 p.26/4
Example: forgetting a qbit . . .
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
73/152
After measuring one qbit we obtain
:
P
P
QUOXIC Feb 05 p.27/4
Example: forgetting a qbit . . .
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
74/152
After measuring one qbit we obtain
:
P
P
%
%
%
%
QUOXIC Feb 05 p.27/4
Superoperators
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
75/152
QUOXIC Feb 05 p.28/4
Superoperators
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
76/152
Morphisms on density matrizes are calledsuperoperators, these are linear maps, whichare
completely positive, and
trace preserving
QUOXIC Feb 05 p.28/4
Superoperators
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
77/152
Morphisms on density matrizes are calledsuperoperators, these are linear maps, whichare
completely positive, and
trace preservingEvery unitary operator gives rise to a
superoperator
.
QUOXIC Feb 05 p.28/4
Superoperators. . .
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
78/152
There is an operator
(
)
super
called partial trace.
QUOXIC Feb 05 p.29/4
Superoperators. . .
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
79/152
There is an operator
(
)
super
called partial trace.
E.g.(
)
super
isrepresented by a
matrix.
QUOXIC Feb 05 p.29/4
Extensional equality
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
80/152
QUOXIC Feb 05 p.30/4
Extensional equality
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
81/152
A quantum computation
givesrise to a superoperator U
super
j
//
o
OO
U
//
QUOXIC Feb 05 p.30/4
Extensional equality
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
82/152
A quantum computation
givesrise to a superoperator U
super
j
//
o
OO
U
//
We say that two computations areextensionally equivalent, if they give rise tothe same superoperator.
QUOXIC Feb 05 p.30/4
Extensional equality . . .
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
83/152
Theorem:
U
&
'
&
U
'
&
U
'
QUOXIC Feb 05 p.31/4
Extensional equality . . .
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
84/152
Theorem:
U
&
'
&
U
'
&
U
'
Theorem (?): Every superoperator
super (on finite dimensional Hilbertspaces) comes from a quantum computation.
QUOXIC Feb 05 p.31/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
85/152
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
86/152
classical (
) quantum (
)
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
87/152
classical (
) quantum (
)
finite sets
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
88/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spac
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
89/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spaccartesian product (
)
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
90/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spaccartesian product (
) tensor product (
)
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
91/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spaccartesian product (
) tensor product (
)
bijections
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
92/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spaccartesian product (
) tensor product (
)
bijections unitary operators
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
93/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spaccartesian product (
) tensor product (
)
bijections unitary operators
functions
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
94/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spaccartesian product (
) tensor product (
)
bijections unitary operators
functions superoperators
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
95/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spacecartesian product (
) tensor product (
)
bijections unitary operators
functions superoperators
injective functions (
i
)
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
96/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spacecartesian product (
) tensor product (
)
bijections unitary operators
functions superoperators
injective functions (
i
) isometries (
i
)
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
97/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spacecartesian product (
) tensor product (
)
bijections unitary operators
functions superoperators
injective functions (
i
) isometries (
i
)
projections
QUOXIC Feb 05 p.32/4
Classical vs quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
98/152
classical (
) quantum (
)
finite sets finite dimensional Hilbert spacecartesian product (
) tensor product (
)
bijections unitary operators
functions superoperators
injective functions (
i
) isometries (
i
)
projections partial trace
QUOXIC Feb 05 p.32/4
, classically
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
99/152
~
QUOXIC Feb 05 p.33/4
, classically
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
100/152
~
1 '&%$!"# 1
-
{
}
QUOXIC Feb 05 p.33/4
, classically
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
101/152
~
1 '&%$!"# 1
-
{
}
QUOXIC Feb 05 p.33/4
, quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
102/152
1 '&%$!"# 1
-
{
}
QUOXIC Feb 05 p.34/4
, quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
103/152
1 '&%$!"# 1
-
{
}
input:
%
%
2
QUOXIC Feb 05 p.34/4
, quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
104/152
1 '&%$!"# 1
-
{
}
input:
%
%
2
output:
%
2
%
2
QUOXIC Feb 05 p.34/4
, quantum
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
105/152
1 '&%$!"# 1
-
{
}
input:
%
%
2
output:
%
2
%
2
Decoherence!
QUOXIC Feb 05 p.34/4
Control of decoherence
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
106/152
QUOXIC Feb 05 p.35/4
Control of decoherence
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
107/152
QML is based on strict linear logic
QUOXIC Feb 05 p.35/4
Control of decoherence
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
108/152
QML is based on strict linear logic
Contraction is implicit and realized by
.
QUOXIC Feb 05 p.35/4
Control of decoherence
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
109/152
QML is based on strict linear logic
Contraction is implicit and realized by
.Weakening is explicit and leads todecoherence.
QUOXIC Feb 05 p.35/4
3. QML
Fi i l i l i
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
110/152
1. Finite classical computation
2. Finite quantum computation3. QML
4. Conclusions and further work
QUOXIC Feb 05 p.36/4
QML overview
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
111/152
QUOXIC Feb 05 p.37/4
QML overview
T
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
112/152
Types
%
%
QUOXIC Feb 05 p.37/4
QML overview
T
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
113/152
Types
%
%
Terms
%
3
%
% & ' %&
' %
3
&
z
'
%
"
%
)
%
4
"
%
) z
2
%
4
"
%
) z
2
% &
'
%&
'
2
QUOXIC Feb 05 p.37/4
Qbits
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
114/152
(
)1
$
"
& '
"
#$
)
& '
3
4
4
"
%
)
2
3
4
4
"
%
)
2
QUOXIC Feb 05 p.38/4
QML overview . . .
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
115/152
QUOXIC Feb 05 p.39/4
QML overview . . .
Typing judgements
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
116/152
Typing judgements
programs
strict programs
QUOXIC Feb 05 p.39/4
QML overview . . .
Typing judgements
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
117/152
Typing judgements
programs
strict programs
Semantics
QUOXIC Feb 05 p.39/4
The let-rule
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
118/152
"
$
(
QUOXIC Feb 05 p.40/4
The let-rule
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
119/152
"
$
(
YYYY
Y
1
1
YYYYYY
WWWWWW
1
1
1
QUOXIC Feb 05 p.40/4
on contexts
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
120/152
QUOXIC Feb 05 p.41/4
on contexts
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
121/152
&
'
&
'
if
dom
QUOXIC Feb 05 p.41/4
on contexts
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
122/152
&
'
&
'
if
dom
1
QUOXIC Feb 05 p.41/4
Another source of decoherence
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
123/152
QUOXIC Feb 05 p.42/4
Another source of decoherence
mentions
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
124/152
mentions
(
)1$
3
4
(
)1
$
QUOXIC Feb 05 p.42/4
Another source of decoherence
mentions
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
125/152
e t o s
(
)1$
3
4
(
)1
$
but doesnt use it.
QUOXIC Feb 05 p.42/4
Another source of decoherence
mentions
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
126/152
(
)1$
3
4
(
)1
$
but doesnt use it.
Hence, it has to measure it!
QUOXIC Feb 05 p.42/4
-elim
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
127/152
QUOXIC Feb 05 p.43/4
-elim
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
128/152
QUOXIC Feb 05 p.43/4
-elim
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
129/152
XXXX
X
!
"
$
1 $
%
&
'
(
0
1
2
3
1
!
%
1
hhhh
hh51
!
6
1
zzzzzz
5
%
1
QUOXIC Feb 05 p.43/4
-elim decoherence-free
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
130/152
QUOXIC Feb 05 p.44/4
-elim decoherence-free
8
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
131/152
9
9
@
9
8
9
QUOXIC Feb 05 p.44/4
-elim decoherence-free
8
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
132/152
9
9
@
9
8
9
XXXX
X
A
B
!
"
$
1 $
C
&
'
(
E
F
0
1
0
1
!
C
1
hhhh
hh
!
A
6
B
1
zzzzzz5
C
1
QUOXIC Feb 05 p.44/4
I
P
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
133/152
QUOXIC Feb 05 p.45/4
I
P
QRS T
U
V
W
Y
Y
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
134/152
QRS T
U
V
a
b
cd
e
a
f
g
hp
q
r
su
v h
w
x h
q
r
su
v
QUOXIC Feb 05 p.45/4
I
P
QRS T
U
V
W
Y
Y
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
135/152
QRS T
U
V
a
b
cd
e
a
f
g
hp
q
r
su
v h
w
x h
q
r
su
v
This program has a type error, becausey
y
.
QUOXIC Feb 05 p.45/4
I
P
QRS T
U
V
W
Y
Y
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
136/152
QRS T
U
V
a
b
cd
e
a
f
g
hp
q
r
su
v h
w
x h
q
r
su
v
This program has a type error, becausey
y
.
Q
U
W
Y
Y
Q
U
a
b
cd
e
a
f
g
hp
q
v h
w
x h
q
r
su
v
QUOXIC Feb 05 p.45/4
I
P
QRS T
U
V
W
Y
Y
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
137/152
QRS T
U
V
a
b
cd
e
a
f
g
hp
q
r
su
v h
w
x h
q
r
su
v
This program has a type error, becausey
y
.
Q
U
W
Y
Y
Q
U
a
b
cd
e
a
f
g
hp
q
v h
w
x h
q
r
su
v
This program typechecks, becausey
y
.
QUOXIC Feb 05 p.45/4
4. Conclusions
1. Finite classical computation
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
138/152
2. Finite quantum computation
3. QML
4. Conclusions and further work
QUOXIC Feb 05 p.46/4
Conclusions
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
139/152
QUOXIC Feb 05 p.47/4
Conclusions
Our semantic ideas proved useful whendesigning a quantum programming language,analogous concepts are modelled by the
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
140/152
a a ogous co cepts a e ode ed by t e
same syntactic constructs.
QUOXIC Feb 05 p.47/4
Conclusions
Our semantic ideas proved useful whendesigning a quantum programming language,analogous concepts are modelled by the
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
141/152
g p y
same syntactic constructs.Our analysis also highlights the differencesbetween classical and quantum
programming.
QUOXIC Feb 05 p.47/4
Conclusions
Our semantic ideas proved useful whendesigning a quantum programming language,analogous concepts are modelled by the
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
142/152
g p y
same syntactic constructs.Our analysis also highlights the differencesbetween classical and quantum
programming.Quantum programming introduces theproblem of control of decoherence, which we
address by making forgetting variablesexplicit and by having different if-then-elseconstructs.
QUOXIC Feb 05 p.47/4
Further work
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
143/152
QUOXIC Feb 05 p.48/4
Further work
Show that the operational semantics iscompositional by showing that it agrees with
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
144/152
compositional by showing that it agrees with
the denotational semantics.
QUOXIC Feb 05 p.48/4
Further work
Show that the operational semantics iscompositional by showing that it agrees with
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
145/152
compositional by showing that it agrees with
the denotational semantics.mostly done
QUOXIC Feb 05 p.48/4
Further work
Show that the operational semantics iscompositional by showing that it agrees with
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
146/152
compositional by showing that it agrees with
the denotational semantics.mostly done
An algebra of quantum programs, which is
complete wrt. the denotational semantics.
QUOXIC Feb 05 p.48/4
Further work
Show that the operational semantics iscompositional by showing that it agrees with
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
147/152
compositional by showing that it agrees with
the denotational semantics.mostly done
An algebra of quantum programs, which is
complete wrt. the denotational semantics.in progress
QUOXIC Feb 05 p.48/4
Further work
Show that the operational semantics iscompositional by showing that it agrees with
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
148/152
compositional by showing that it agrees with
the denotational semantics.mostly done
An algebra of quantum programs, which is
complete wrt. the denotational semantics.in progress
Add higher order types.
QUOXIC Feb 05 p.48/4
Further work
Show that the operational semantics iscompositional by showing that it agrees with
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
149/152
p y g g
the denotational semantics.mostly done
An algebra of quantum programs, which is
complete wrt. the denotational semantics.in progress
Add higher order types.sketchy
QUOXIC Feb 05 p.48/4
Further work
Show that the operational semantics iscompositional by showing that it agrees with
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
150/152
p y g g
the denotational semantics.mostly done
An algebra of quantum programs, which is
complete wrt. the denotational semantics.in progress
Add higher order types.sketchy
Indexed types and programs
QUOXIC Feb 05 p.48/4
Further work
Show that the operational semantics iscompositional by showing that it agrees with
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
151/152
p y g g
the denotational semantics.mostly done
An algebra of quantum programs, which is
complete wrt. the denotational semantics.in progress
Add higher order types.sketchy
Indexed types and programs
sketchy QUOXIC Feb 05 p.48/4
Thank you for your attention.
Draft papers, available from//www.cs.nott.ac.uk/txa/publ/
-
8/3/2019 Thorsten Altenkirch- Designing a Quantum Programming Language
152/152
A functional quantum programming language
with J.Grattage
Structuring Quantum Effects: Superoperators as Arrowswith J.Vizzotto and A.Sabry
A compiler for a functional quantum programming langua
with J.GrattageQML: Quantum data and control with J.Grattage
QUOXIC Feb 05 p.49/4