You are on page 1of 152

Functional Quantum Programming

Thorsten Altenkirch University of Nottingham based on joint work with Jonathan Grattage supported by EPSRC grant GR/S30818/01

Tallinn Feb 06 p.1/44

Background

Tallinn Feb 06 p.2/44

Background
Simulation of quantum systems is expensive: PSPACE complexity for polynomial circuits.

Tallinn Feb 06 p.2/44

Background
Simulation of quantum systems is expensive: PSPACE complexity for polynomial circuits. Feynman: Can we exploit this fact to perform computations more efciently?

Tallinn Feb 06 p.2/44

Background
Simulation of quantum systems is expensive: PSPACE complexity for polynomial circuits. Feynman: Can we exploit this fact to perform computations more efciently? Shor: Factorisation in quantum polynomial time.

Tallinn Feb 06 p.2/44

Background
Simulation of quantum systems is expensive: PSPACE complexity for polynomial circuits. Feynman: Can we exploit this fact to perform computations more efciently? Shor: Factorisation in quantum polynomial time. Grover: Blind search in

Tallinn Feb 06 p.2/44

Background
Simulation of quantum systems is expensive: PSPACE complexity for polynomial circuits. Feynman: Can we exploit this fact to perform computations more efciently? Shor: Factorisation in quantum polynomial time. Grover: Blind search in

Can we build a quantum computer?

Tallinn Feb 06 p.2/44

Background
Simulation of quantum systems is expensive: PSPACE complexity for polynomial circuits. Feynman: Can we exploit this fact to perform computations more efciently? Shor: Factorisation in quantum polynomial time. Grover: Blind search in

Can we build a quantum computer?


yes

We can run quantum algorithms.

Tallinn Feb 06 p.2/44

Background
Simulation of quantum systems is expensive: PSPACE complexity for polynomial circuits. Feynman: Can we exploit this fact to perform computations more efciently? Shor: Factorisation in quantum polynomial time. Grover: Blind search in

Can we build a quantum computer?


yes no

We can run quantum algorithms. Nature is classical after all!

Tallinn Feb 06 p.2/44

The quantum software crisis

Tallinn Feb 06 p.3/44

The quantum software crisis


Quantum algorithms are usually presented using the circuit model.

Tallinn Feb 06 p.3/44

The quantum software crisis


Quantum algorithms are usually presented using the circuit model. Nielsen and Chuang, p.7, Coming up with good quantum algorithms is hard.

Tallinn Feb 06 p.3/44

The quantum software crisis


Quantum algorithms are usually presented using the circuit model. Nielsen and Chuang, p.7, Coming up with good quantum algorithms is hard. Richard Josza, QPL 2004: We need to develop quantum thinking!

Tallinn Feb 06 p.3/44

QML

Tallinn Feb 06 p.4/44

QML
QML: a functional language for quantum computations on nite types.

Tallinn Feb 06 p.4/44

QML
QML: a functional language for quantum computations on nite types. Quantum control and quantum data.

Tallinn Feb 06 p.4/44

QML
QML: a functional language for quantum computations on nite types. Quantum control and quantum data. Design guided by semantics

Tallinn Feb 06 p.4/44

QML
QML: a functional language for quantum computations on nite types. Quantum control and quantum data. Design guided by semantics Analogy with classical computation Finite classical computations Finite quantum computations

Tallinn Feb 06 p.4/44

QML
QML: a functional language for quantum computations on nite types. Quantum control and quantum data. Design guided by semantics Analogy with classical computation Finite classical computations Finite quantum computations

Important issue: control of decoherence

Tallinn Feb 06 p.4/44

QML
QML: a functional language for quantum computations on nite types. Quantum control and quantum data. Design guided by semantics Analogy with classical computation Finite classical computations Finite quantum computations

Important issue: control of decoherence Compiler under construction (Jonathan)

Tallinn Feb 06 p.4/44

Example: Hadamard operation

Tallinn Feb 06 p.5/44

Example: Hadamard operation


Matrix

Tallinn Feb 06 p.5/44

QML
    $ D %C $ ( )' 1 0 34%2 ( 5 9A @8 4 B 1 0 4%2 3 56 ( 7 9A @8 4 B ( )' &%" # $  !        

Example: Hadamard operation


Matrix

Tallinn Feb 06 p.5/44

u g hf i rspq PR QI b GS t d g g y r g hf g y qx y
Tallinn Feb 06 p.6/44

FH GE

FH GE PR QI T US

d ec i uv g y r w y qx X

W XV W V

hf

Deutsch algorithm
` aY y g c y x i uv g g hf x y i g y qx b uv

X y

X y

Overview
1. Finite classical computation 2. Finite quantum computation 3. QML basics 4. Compiling QML 5. Conclusions and further work

Tallinn Feb 06 p.7/44

1. Semantics
1. Finite classical computation 2. Finite quantum computation 3. QML basics 4. Compiling QML 5. Conclusions and further work

Tallinn Feb 06 p.8/44

Something we know well . . .

Tallinn Feb 06 p.9/44

Something we know well . . .


Start with classical computations on nite types.

Tallinn Feb 06 p.9/44

Something we know well . . .


Start with classical computations on nite types. Quantum mechanics is time-reversible. . .

Tallinn Feb 06 p.9/44

Something we know well . . .


Start with classical computations on nite types. Quantum mechanics is time-reversible. . . . . . hence quantum computation is based on reversible operations.

Tallinn Feb 06 p.9/44

Something we know well . . .


Start with classical computations on nite types. Quantum mechanics is time-reversible. . . . . . hence quantum computation is based on reversible operations. However: Newtonian mechanics, Maxwellian electrodynamics are also time-reversible. . .

Tallinn Feb 06 p.9/44

Something we know well . . .


Start with classical computations on nite 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.

Tallinn Feb 06 p.9/44

Classical computation (

Tallinn Feb 06 p.10/44

Classical computation (
Given nite sets (input) and
d

)
(output):

Tallinn Feb 06 p.10/44

Classical computation (
Given nite sets (input) and
d

)
(output):

a nite set of initial heaps

Tallinn Feb 06 p.10/44

Classical computation (
Given nite sets (input) and
d

)
(output):

a nite set of initial heaps an initial heap ,


j ki

Tallinn Feb 06 p.10/44

Classical computation (
Given nite sets (input) and
d

)
(output):

a nite set of initial heaps an initial heap ,


j ki

, ,

a nite set of garbage states

Tallinn Feb 06 p.10/44

Classical computation (
Given nite sets (input) and
d

)
(output):

a nite set of initial heaps an initial heap a bijection


j

, , ,

,
l m l

a nite set of garbage states

j ki

Tallinn Feb 06 p.10/44

Composing classical computations

Tallinn Feb 06 p.11/44

Composing classical computations


d o

1 1

bb bb bbb b
n ! o

VV VV VVV 1

Tallinn Feb 06 p.11/44

Composing classical computations


d o

1 1

bb bb bbb b
n ! o

VV VV VVV 1

Theorem: U U U
6 7 6 p 6 7 pq q 7

Tallinn Feb 06 p.11/44

Extensional equality

Tallinn Feb 06 p.12/44

Extensional equality
A classical computation induces a function U
q j l 6 q r r i

by
/
l

O
zx {yw |}

vut

Tallinn Feb 06 p.12/44

Extensional equality
A classical computation induces a function U
q j l 6 q r r i

by
/
l

O
zx {yw |}

We say that two computations are extensionally equivalent, if they give rise to the same function.

vut

Tallinn Feb 06 p.12/44

Extensional equality . . .
Theorem:
U U U
6 7 6 p 6 7 pq q 7

Tallinn Feb 06 p.13/44

Extensional equality . . .
Theorem:
U U U
6 7 6 p 6 7 pq q 7

Hence, classical computations upto extensional equality give rise to the category .

Tallinn Feb 06 p.13/44

Extensional equality . . .
Theorem:
U U U
6 7 6 p 6 7 pq q 7

Hence, classical computations upto extensional equality give rise to the category . Theorem: Any function on nite sets can be realized by a computation.
r j

Tallinn Feb 06 p.13/44

Extensional equality . . .
Theorem:
U U U
6 7 6 p 6 7 pq q 7

Hence, classical computations upto extensional equality give rise to the category . Theorem: Any function on nite sets can be realized by a computation. Translation for Category Theoreticians: U is full and faithful.
r j

Tallinn Feb 06 p.13/44

Example
function
 ~ j 6  ~ 6

:
7

7 

Tallinn Feb 06 p.14/44

Example
function
 ~ j 6  ~ 6

:
7

computation

1
e

Tallinn Feb 06 p.14/44

Example :
function
j  6 6  r  7 r 7

Tallinn Feb 06 p.15/44

function

computation
 j 6  6 r   7 r 7

6 j 6 7 7 6  6 r r  r  7 6

Example :

r  7 r 7 7

r 

'!"# &%$
 

Tallinn Feb 06 p.15/44

2. Finite quantum computation


1. Finite classical computation 2. Finite quantum computation 3. QML basics 4. Compiling QML 5. Conclusions and further work

Tallinn Feb 06 p.16/44

Linear algebra revision

Tallinn Feb 06 p.17/44

Linear algebra revision


Given a nite set (the base) is a Hilbert space.

Tallinn Feb 06 p.17/44

Linear algebra revision


Given a nite set (the base) is a Hilbert space. Linear operators: induces we write
j j j 

Tallinn Feb 06 p.17/44

Linear algebra revision


Given a nite set (the base) is a Hilbert space. Linear operators: induces we write Norm of a vector: ,
j j j  6 76 j 7

Tallinn Feb 06 p.17/44

Linear algebra revision


Given a nite set (the base) is a Hilbert space. Linear operators: induces . we write Norm of a vector: , Unitary operators: A unitary operator is a linear isounitary morphism that preserves the norm.
j j j  6 76 j j 7 

Tallinn Feb 06 p.17/44

Basics of quantum computation

Tallinn Feb 06 p.18/44

Basics of quantum computation


A pure state over unit norm .
)

is a vector

with

Tallinn Feb 06 p.18/44

Basics of quantum computation


A pure state over unit norm .
) j

is a vector

with

A reversible computation is given by a unitary operator . unitary




Tallinn Feb 06 p.18/44

Quantum computations (

Tallinn Feb 06 p.19/44

Quantum computations (
Given nite sets (input) and
e d

(output):

Tallinn Feb 06 p.19/44

Quantum computations (
Given nite sets (input) and
e d

(output):

a nite set heaps,

, the base of the space of initial

Tallinn Feb 06 p.19/44

Quantum computations (
Given nite sets (input) and
e d

(output):

a nite set heaps,

, the base of the space of initial ,


ji

a heap initialisation vector

Tallinn Feb 06 p.19/44

Quantum computations (
Given nite sets (input) and
e d

(output):

a nite set heaps,

, the base of the space of initial ,


ji

a heap initialisation vector

a nite set , the base of the space of garbage states,

Tallinn Feb 06 p.19/44

Quantum computations (
Given nite sets (input) and
e d

(output):

a nite set heaps,

, the base of the space of initial ,


ji

a heap initialisation vector

a nite set , the base of the space of garbage states, a unitary operator
unitary

Tallinn Feb 06 p.19/44

Composing quantum computations

Tallinn Feb 06 p.20/44

Composing quantum computations


d o

1 1

bb bb bbb b
n ! o

VV VV VVV 1

Tallinn Feb 06 p.20/44

Semantics of quantum computations. .

Tallinn Feb 06 p.21/44

Semantics of quantum computations. .


. . . is a bit more subtle.

Tallinn Feb 06 p.21/44

Semantics of quantum computations. .


. . . is a bit more subtle. There is no (sensible) operator on vector spaces, replacing .
j ~ l

Tallinn Feb 06 p.21/44

Semantics of quantum computations. .


. . . is a bit more subtle. There is no (sensible) operator on vector spaces, replacing .
j ~ l

Indeed: Forgetting part of a pure state results in a mixed state.

Tallinn Feb 06 p.21/44

Density matrizes

Tallinn Feb 06 p.22/44

Density matrizes
Mixed states can be represented by density matrizes .
j 

Tallinn Feb 06 p.22/44

Density matrizes
Mixed states can be represented by density matrizes .
j 

Eigenvalues represent probabilities


System is in state

with prob.

Tallinn Feb 06 p.22/44

Density matrizes
Mixed states can be represented by density matrizes .
j 

Eigenvalues represent probabilities


System is in state

with prob.

Eigenvalues have to be positive and their sum (the trace) is .

Tallinn Feb 06 p.22/44

Example: forgetting a qbit

Tallinn Feb 06 p.23/44

Example: forgetting a qbit


EPR
j

is represented by
   

:
`

` `

Tallinn Feb 06 p.23/44

Example: forgetting a qbit


EPR
j

is represented by
   

:
`

`    ` 6 5 5 7 5  5    

Tallinn Feb 06 p.23/44

Example: forgetting a qbit . . .


After measuring one qbit we obtain :
j    ` `

Tallinn Feb 06 p.24/44

Example: forgetting a qbit . . .


After measuring one qbit we obtain :
j    ` ` 5 5 5 5

Tallinn Feb 06 p.24/44

Superoperators

Tallinn Feb 06 p.25/44

Superoperators
Morphisms on density matrizes are called superoperators, these are linear maps, which are completely positive, and trace preserving

Tallinn Feb 06 p.25/44

Superoperators
Morphisms on density matrizes are called superoperators, these are linear maps, which are completely positive, and trace preserving Every unitary operator superoperator .

gives rise to a

Tallinn Feb 06 p.25/44

Superoperators. . .
There is an operator
98 j z 

super

called partial trace.

Tallinn Feb 06 p.26/44

Superoperators. . .
There is an operator
98 j z 

super

called partial trace. E.g. represented by a


@8 9 j  z

matrix.

super

is

Tallinn Feb 06 p.26/44

Semantics

Tallinn Feb 06 p.27/44

Semantics
Every quantum computation gives rise to a superoperator U super
q j  q

O
| x

Tallinn Feb 06 p.27/44

Semantics
Every quantum computation gives rise to a superoperator U super
q j  q

O
| x

Theorem: Every superoperator super (on nite Hilbert spaces) comes from a quantum computation.
j 

Tallinn Feb 06 p.27/44

Classical vs quantum

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets

nite dimensional Hilbert space

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( )

nite dimensional Hilbert space

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( )

nite dimensional Hilbert space tensor product ( )

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( ) bijections

nite dimensional Hilbert space tensor product ( )

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( )

nite dimensional Hilbert space tensor product ( ) unitary operators

bijections

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( )

nite dimensional Hilbert space tensor product ( ) unitary operators

bijections functions

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( )

nite dimensional Hilbert space tensor product ( ) unitary operators superoperators

bijections functions

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( )

nite dimensional Hilbert spaces tensor product ( ) unitary operators superoperators )


w

bijections functions injective functions (

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( )

nite dimensional Hilbert spaces tensor product ( ) unitary operators superoperators ) isometries ( )
w w

bijections functions injective functions (

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( )

nite dimensional Hilbert spaces tensor product ( ) unitary operators superoperators ) isometries ( )
w w

bijections functions injective functions ( projections

Tallinn Feb 06 p.28/44

Classical vs quantum
classical ( ) quantum ( )

nite sets cartesian product ( )

nite dimensional Hilbert spaces tensor product ( ) unitary operators superoperators ) isometries ( )
w w

bijections functions injective functions ( projections

partial trace

Tallinn Feb 06 p.28/44

Decoherence

Tallinn Feb 06 p.29/44

Decoherence

'!"# &%$
e e

Tallinn Feb 06 p.29/44

Decoherence

'!"# &%$
e ~ p e

Classically

Tallinn Feb 06 p.29/44

Decoherence

'!"# &%$
e ~ p e

Classically Quantum

Tallinn Feb 06 p.29/44

Decoherence

'!"# &%$
e ~ p B e

Classically Quantum


input:

'

   5

Tallinn Feb 06 p.29/44

Decoherence

'!"# &%$
e ~ p B B e

Classically Quantum


input:

'

  

output:

'5

   '5

Tallinn Feb 06 p.29/44

3. QML basics
1. Finite classical computation 2. Finite quantum computation 3. QML basics 4. Compiling QML 5. Conclusions and further work

Tallinn Feb 06 p.30/44

QML basics

Tallinn Feb 06 p.31/44

QML basics
QML is a rst order functional languages, i.e. programs are well-typed expressions.

Tallinn Feb 06 p.31/44

QML basics
QML is a rst order functional languages, i.e. programs are well-typed expressions. QML types are
r r 

Tallinn Feb 06 p.31/44

QML basics
QML is a rst order functional languages, i.e. programs are well-typed expressions. QML types are Qbytes
        r r 

Tallinn Feb 06 p.31/44

QML basics . . .
A QML program is an expression in a context of typed variables, e.g.
    !    $ &%" # D C ( 9A @8 4 $ $ ( 1 0 34 2

Tallinn Feb 06 p.32/44

QML basics . . .
A QML program is an expression in a context of typed variables, e.g.
    !    $ &%" # D C (

We can compile QML programs into quantum computations (i.e. quantum circuits).

9A @8 4

1 0 34 2

Tallinn Feb 06 p.32/44

QML basics . . .
Forgetting variables has to be explicit.

Tallinn Feb 06 p.33/44

QML basics . . .
Forgetting variables has to be explicit. E.g.
    6  7

is illegal,

Tallinn Feb 06 p.33/44

QML basics . . .
Forgetting variables has to be explicit. E.g.
    6  7

is illegal, but
    6 7 '  

is ok.

Tallinn Feb 06 p.33/44

QML basics . . .

There are two different if-then-else constructs.

Tallinn Feb 06 p.34/44

QML basics . . .
    &%" # $  !   

There are two different if-then-else constructs.




is just the identity,

1 0 34%2

D C

9A @8 4 (

Tallinn Feb 06 p.34/44

QML basics . . .
    &%" # $  !   

There are two different if-then-else constructs.




is just the identity, but


      $ &%" #   

introduces a measurement (end hence decoherence).

1 0 34 2

D %C

9A @8 4 (

1 0 34%2

D C

9A @8 4 (

Tallinn Feb 06 p.34/44

QML basics . . .
 !

Using is only allowed, if the branches are orthogonal, i.e. observable different.

Tallinn Feb 06 p.35/44

QML basics . . .
   ! 

Using is only allowed, if the branches are orthogonal, i.e. observable different.
     6 7    ! r  6 $ &%" # 6 r  D C $ $ 

is illegal,

Tallinn Feb 06 p.35/44

QML basics . . .
   ! 

Using is only allowed, if the branches are orthogonal, i.e. observable different.
     6 7    ! r  6 $ &%" # 6 r  D C $ $ 

is illegal, but
        6  6 7    ! r  6 6 $ &%" # 9A @8 4 ( 6 6 r  r ( 1 0 34 2 D C $ $  r 7

is ok.

Tallinn Feb 06 p.35/44

QML basics . . .
We can introduce superpositions, e.g.
       ! ( )'      

56

( 7

&%" # $

1 0 34%2

( )'

( 5

1 0 34%2

D %C

9A @8 4

9A @8 4

Tallinn Feb 06 p.36/44

QML basics . . .
We can introduce superpositions, e.g.
       ! ( )'      

56

( 7

&%" # $

1 0 34%2

( )'

( 5

1 0 34%2

D %C

However, the terms in the superposition have to be orthogonal.

9A @8 4

9A @8 4

Tallinn Feb 06 p.36/44

4. Compiling QML
1. Finite classical computation 2. Finite quantum computation 3. QML basics 4. Compiling QML 5. Conclusions and further work

Tallinn Feb 06 p.37/44

Compilation

Tallinn Feb 06 p.38/44

Compilation
Correct QML programs are dened by typing rules, e.g.
  r  r  

Tallinn Feb 06 p.38/44

Compilation
Correct QML programs are dened by typing rules, e.g.
  r  r  

For each rule we can construct a quantum computation, i.e. a circuit.

Tallinn Feb 06 p.38/44

-elim
r  

r  7   

4 2

Tallinn Feb 06 p.39/44

-elim
  r  r   6 7 2 4 r

YY YYY

1 1

YY YY YY

YY YY YY 1

Tallinn Feb 06 p.39/44

Compiler

Tallinn Feb 06 p.40/44

Compiler
A compiler is currently being implemented by my student Jonathan Grattage (in Haskell).

Tallinn Feb 06 p.40/44

Compiler
A compiler is currently being implemented by my student Jonathan Grattage (in Haskell). The output of the compiler are quantum circuits which can be simulated by a quantum circuit simulator.

Tallinn Feb 06 p.40/44

Compiler
A compiler is currently being implemented by my student Jonathan Grattage (in Haskell). The output of the compiler are quantum circuits which can be simulated by a quantum circuit simulator. Amr Sabry and Juliana Vizotti (Indiana University) embarked on an independent implementation of QML based on our paper.

Tallinn Feb 06 p.40/44

5. Conclusions
1. Semantics of nite classical and quantum computation 2. QML basics 3. Compiling QML 4. Conclusions and further work

Tallinn Feb 06 p.41/44

Conclusions

Tallinn Feb 06 p.42/44

Conclusions

Our semantic ideas proved useful when designing a quantum programming language, analogous concepts are modelled by the same syntactic constructs.

Tallinn Feb 06 p.42/44

Conclusions

Our semantic ideas proved useful when designing a quantum programming language, analogous concepts are modelled by the same syntactic constructs.

Our analysis also highlights the differences between classical and quantum programming.

Tallinn Feb 06 p.42/44

Conclusions

Our semantic ideas proved useful when designing a quantum programming language, analogous concepts are modelled by the same syntactic constructs.

Our analysis also highlights the differences between classical and quantum programming. We have developed an algebra of quantum programs which for pure programs is complete wrt the semantics and a normalisation algorithm.

Tallinn Feb 06 p.42/44

Conclusions

Our semantic ideas proved useful when designing a quantum programming language, analogous concepts are modelled by the same syntactic constructs.

Our analysis also highlights the differences between classical and quantum programming. We have developed an algebra of quantum programs which for pure programs is complete wrt the semantics and a normalisation algorithm. Quantum programming introduces the problem of control of decoherence, which we address by making forgetting variables explicit and by having different if-then-else constructs.

Tallinn Feb 06 p.42/44

Further work

Tallinn Feb 06 p.43/44

Further work

We have to analyze more quantum programs to evaluate the practical usefulness of our approach.

Tallinn Feb 06 p.43/44

Further work

We have to analyze more quantum programs to evaluate the practical usefulness of our approach.

We should be able to extend our algebra and normalisation to the full language (including measurements).

Tallinn Feb 06 p.43/44

Further work

We have to analyze more quantum programs to evaluate the practical usefulness of our approach.

We should be able to extend our algebra and normalisation to the full language (including measurements). Are we able to come up with completely new algorithms using QML?

Tallinn Feb 06 p.43/44

Further work

We have to analyze more quantum programs to evaluate the practical usefulness of our approach.

We should be able to extend our algebra and normalisation to the full language (including measurements). Are we able to come up with completely new algorithms using QML? How to deal with higher order programs?

Tallinn Feb 06 p.43/44

Further work

We have to analyze more quantum programs to evaluate the practical usefulness of our approach.

We should be able to extend our algebra and normalisation to the full language (including measurements). Are we able to come up with completely new algorithms using QML? How to deal with higher order programs? How to deal with innite datatypes?

Tallinn Feb 06 p.43/44

Further work

We have to analyze more quantum programs to evaluate the practical usefulness of our approach.

We should be able to extend our algebra and normalisation to the full language (including measurements). Are we able to come up with completely new algorithms using QML? How to deal with higher order programs? How to deal with innite datatypes? Investigate the similarities/differences between FCC and FQC from a categorical point of view.

Tallinn Feb 06 p.43/44

The end Thank you for your attention.


Papers, available from //www.cs.nott.ac.uk/txa/publ/
A functional quantum programming language

LICS 2005

with J.Grattage
Structuring Quantum Effects: Superoperators as Arrows

MFCS 2006 with J.Vizzotto and A.Sabry


An Algebra of Pure Quantum Programming

QPL 2005 with J.Grattage, J.Vizzotto and A.Sabry

Tallinn Feb 06 p.44/44