a functional quantum programming languagepsztxa/talks/slides-tfp04.pdfwhat you always wanted to know...
TRANSCRIPT
![Page 1: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/1.jpg)
A Functional QuantumProgramming Language
Thorsten Altenkirch
University of Nottingham
based on joint work with Jonathan Grattage
and discussions with V.P. Belavkin
supported by EPSRC grant GR/S30818/01
A Functional Quantum Programming Language – p.1/??
![Page 2: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/2.jpg)
Alternative title
What you always wanted to know
about quantum computation
but never dared to ask.
A Functional Quantum Programming Language – p.2/??
![Page 3: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/3.jpg)
Another alternative title
Quantum programming
for the
lazy functional programmer
A Functional Quantum Programming Language – p.3/??
![Page 4: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/4.jpg)
Background
Simulation of quantum systems is expensive:Exponential time to simulate polynomial circuits.
Feynman: Can we exploit this fact to performcomputations more efficiently?
Shor: Factorisation in quantum polynomial time.
Grover: Blind search in
Can we build a quantum computer?
yes We can run quantum algorithms.
no Nature is classical after all!
Assumption: Nature is fair. . .
A Functional Quantum Programming Language – p.4/??
![Page 5: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/5.jpg)
BackgroundSimulation of quantum systems is expensive:Exponential time to simulate polynomial circuits.
Feynman: Can we exploit this fact to performcomputations more efficiently?
Shor: Factorisation in quantum polynomial time.
Grover: Blind search in
Can we build a quantum computer?
yes We can run quantum algorithms.
no Nature is classical after all!
Assumption: Nature is fair. . .
A Functional Quantum Programming Language – p.4/??
![Page 6: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/6.jpg)
BackgroundSimulation of quantum systems is expensive:Exponential time to simulate polynomial circuits.
Feynman: Can we exploit this fact to performcomputations more efficiently?
Shor: Factorisation in quantum polynomial time.
Grover: Blind search in
Can we build a quantum computer?
yes We can run quantum algorithms.
no Nature is classical after all!
Assumption: Nature is fair. . .
A Functional Quantum Programming Language – p.4/??
![Page 7: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/7.jpg)
BackgroundSimulation of quantum systems is expensive:Exponential time to simulate polynomial circuits.
Feynman: Can we exploit this fact to performcomputations more efficiently?
Shor: Factorisation in quantum polynomial time.
Grover: Blind search in
Can we build a quantum computer?
yes We can run quantum algorithms.
no Nature is classical after all!
Assumption: Nature is fair. . .
A Functional Quantum Programming Language – p.4/??
![Page 8: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/8.jpg)
BackgroundSimulation of quantum systems is expensive:Exponential time to simulate polynomial circuits.
Feynman: Can we exploit this fact to performcomputations more efficiently?
Shor: Factorisation in quantum polynomial time.
Grover: Blind search in� � � �
Can we build a quantum computer?
yes We can run quantum algorithms.
no Nature is classical after all!
Assumption: Nature is fair. . .
A Functional Quantum Programming Language – p.4/??
![Page 9: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/9.jpg)
BackgroundSimulation of quantum systems is expensive:Exponential time to simulate polynomial circuits.
Feynman: Can we exploit this fact to performcomputations more efficiently?
Shor: Factorisation in quantum polynomial time.
Grover: Blind search in� � � �
Can we build a quantum computer?
yes We can run quantum algorithms.
no Nature is classical after all!
Assumption: Nature is fair. . .
A Functional Quantum Programming Language – p.4/??
![Page 10: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/10.jpg)
BackgroundSimulation of quantum systems is expensive:Exponential time to simulate polynomial circuits.
Feynman: Can we exploit this fact to performcomputations more efficiently?
Shor: Factorisation in quantum polynomial time.
Grover: Blind search in� � � �
Can we build a quantum computer?
yes We can run quantum algorithms.
no Nature is classical after all!
Assumption: Nature is fair. . .
A Functional Quantum Programming Language – p.4/??
![Page 11: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/11.jpg)
BackgroundSimulation of quantum systems is expensive:Exponential time to simulate polynomial circuits.
Feynman: Can we exploit this fact to performcomputations more efficiently?
Shor: Factorisation in quantum polynomial time.
Grover: Blind search in� � � �
Can we build a quantum computer?
yes We can run quantum algorithms.
no Nature is classical after all!
Assumption: Nature is fair. . .
A Functional Quantum Programming Language – p.4/??
![Page 12: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/12.jpg)
BackgroundSimulation of quantum systems is expensive:Exponential time to simulate polynomial circuits.
Feynman: Can we exploit this fact to performcomputations more efficiently?
Shor: Factorisation in quantum polynomial time.
Grover: Blind search in� � � �
Can we build a quantum computer?
yes We can run quantum algorithms.
no Nature is classical after all!
Assumption: Nature is fair. . .
A Functional Quantum Programming Language – p.4/??
![Page 13: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/13.jpg)
The quantum software crisis
Quantum algorithms are usually presentedusing the circuit model.
Nielsen and Chuang, p.7, Coming up withgood quantum algorithms is hard.Richard Josza, QPL 2004: We need todevelop quantum thinking!
A Functional Quantum Programming Language – p.5/??
![Page 14: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/14.jpg)
The quantum software crisis
Quantum algorithms are usually presentedusing the circuit model.
Nielsen and Chuang, p.7, Coming up withgood quantum algorithms is hard.Richard Josza, QPL 2004: We need todevelop quantum thinking!
A Functional Quantum Programming Language – p.5/??
![Page 15: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/15.jpg)
The quantum software crisis
Quantum algorithms are usually presentedusing the circuit model.
Nielsen and Chuang, p.7, Coming up withgood quantum algorithms is hard.
Richard Josza, QPL 2004: We need todevelop quantum thinking!
A Functional Quantum Programming Language – p.5/??
![Page 16: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/16.jpg)
The quantum software crisis
Quantum algorithms are usually presentedusing the circuit model.
Nielsen and Chuang, p.7, Coming up withgood quantum algorithms is hard.Richard Josza, QPL 2004: We need todevelop quantum thinking!
A Functional Quantum Programming Language – p.5/??
![Page 17: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/17.jpg)
QML
QML: a first-order functional language for quantumcomputations on finite 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)
A Functional Quantum Programming Language – p.6/??
![Page 18: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/18.jpg)
QMLQML: a first-order functional language for quantumcomputations on finite 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)
A Functional Quantum Programming Language – p.6/??
![Page 19: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/19.jpg)
QMLQML: a first-order functional language for quantumcomputations on finite 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)
A Functional Quantum Programming Language – p.6/??
![Page 20: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/20.jpg)
QMLQML: a first-order functional language for quantumcomputations on finite 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)
A Functional Quantum Programming Language – p.6/??
![Page 21: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/21.jpg)
QMLQML: a first-order functional language for quantumcomputations on finite 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)
A Functional Quantum Programming Language – p.6/??
![Page 22: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/22.jpg)
QMLQML: a first-order functional language for quantumcomputations on finite 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)
A Functional Quantum Programming Language – p.6/??
![Page 23: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/23.jpg)
QMLQML: a first-order functional language for quantumcomputations on finite 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)
A Functional Quantum Programming Language – p.6/??
![Page 24: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/24.jpg)
Example: Hadamard operation
Matrix
QML
A Functional Quantum Programming Language – p.7/??
![Page 25: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/25.jpg)
Example: Hadamard operation
Matrix
� ��
� �� �
QML
A Functional Quantum Programming Language – p.7/??
![Page 26: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/26.jpg)
Example: Hadamard operation
Matrix
� ��
� �� �
QML �� �� � � ��� �� � �� � ������ ��� ��� �!" #$ � % � &(') " *
� +�, � ��� ��� �!" # � &(') " *
A Functional Quantum Programming Language – p.7/??
![Page 27: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/27.jpg)
Something we know well . . .
Classical computations on finite types.
Quantum mechanics is time-reversible. . .
. . . hence quantum computation is based on reversibleoperations.
However: Newtonian mechanics, Maxwellianelectrodynamics are also time-reversible. . .
. . . hence classical computation should be based onreversible operations.
A Functional Quantum Programming Language – p.8/??
![Page 28: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/28.jpg)
Something we know well . . .
Classical computations on finite types.
Quantum mechanics is time-reversible. . .
. . . hence quantum computation is based on reversibleoperations.
However: Newtonian mechanics, Maxwellianelectrodynamics are also time-reversible. . .
. . . hence classical computation should be based onreversible operations.
A Functional Quantum Programming Language – p.8/??
![Page 29: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/29.jpg)
Something we know well . . .
Classical computations on finite types.
Quantum mechanics is time-reversible. . .
. . . hence quantum computation is based on reversibleoperations.
However: Newtonian mechanics, Maxwellianelectrodynamics are also time-reversible. . .
. . . hence classical computation should be based onreversible operations.
A Functional Quantum Programming Language – p.8/??
![Page 30: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/30.jpg)
Something we know well . . .
Classical computations on finite types.
Quantum mechanics is time-reversible. . .
. . . hence quantum computation is based on reversibleoperations.
However: Newtonian mechanics, Maxwellianelectrodynamics are also time-reversible. . .
. . . hence classical computation should be based onreversible operations.
A Functional Quantum Programming Language – p.8/??
![Page 31: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/31.jpg)
Something we know well . . .
Classical computations on finite types.
Quantum mechanics is time-reversible. . .
. . . hence quantum computation is based on reversibleoperations.
However: Newtonian mechanics, Maxwellianelectrodynamics are also time-reversible. . .
. . . hence classical computation should be based onreversible operations.
A Functional Quantum Programming Language – p.8/??
![Page 32: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/32.jpg)
Something we know well . . .
Classical computations on finite types.
Quantum mechanics is time-reversible. . .
. . . hence quantum computation is based on reversibleoperations.
However: Newtonian mechanics, Maxwellianelectrodynamics are also time-reversible. . .
. . . hence classical computation should be based onreversible operations.
A Functional Quantum Programming Language – p.8/??
![Page 33: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/33.jpg)
Classical computation ( )
Given finite sets (input) and (output):
� �
a finite set of initial heaps ,
an initial heap ,
a finite set of garbage states ,
a bijection ,
A Functional Quantum Programming Language – p.9/??
![Page 34: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/34.jpg)
Classical computation ( )
Given finite sets (input) and (output):
- ./
0 � 1 2 �
a finite set of initial heaps ,
an initial heap ,
a finite set of garbage states ,
a bijection ,
A Functional Quantum Programming Language – p.9/??
![Page 35: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/35.jpg)
Classical computation ( )
Given finite sets (input) and (output):
- ./
0 � 1 2 �
a finite set of initial heaps ,
an initial heap354 ,
a finite set of garbage states ,
a bijection 4 6 7 6 ,
A Functional Quantum Programming Language – p.9/??
![Page 36: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/36.jpg)
Composing computations
�
>>>>
>>>>
8888
888 �
�
��������
������� �
A Functional Quantum Programming Language – p.10/??
![Page 37: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/37.jpg)
Composing computations
8. 98 �
>>>>
>>>>
8888
888 8�
9 �
��������
������� 9�
9 � 8
A Functional Quantum Programming Language – p.10/??
![Page 38: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/38.jpg)
Extensional equality
A classical computationinduces a function U by
//
��
OO
U//
We say that two computations areextensionally equivalent, if they give rise tothe same function.
A Functional Quantum Programming Language – p.11/??
![Page 39: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/39.jpg)
Extensional equality
A classical computation : �$ ; 3 ; ; %
induces a function U : 4 by
6 < // 6=?>
��
@BADC E FOO
U 8 //
We say that two computations areextensionally equivalent, if they give rise tothe same function.
A Functional Quantum Programming Language – p.11/??
![Page 40: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/40.jpg)
Extensional equality
A classical computation : �$ ; 3 ; ; %
induces a function U : 4 by
6 < // 6=?>
��
@BADC E FOO
U 8 //
We say that two computations areextensionally equivalent, if they give rise tothe same function.
A Functional Quantum Programming Language – p.11/??
![Page 41: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/41.jpg)
Extensional equality . . .
Theorem:
U
$ G : % �$ U
% G$ U : %
Hence, classical computations upto extensionalequality give rise to the category .
Theorem: Any function on finite setscan be realized by a computation.
Translation for Category Theoreticans:U is full and faithful.
A Functional Quantum Programming Language – p.12/??
![Page 42: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/42.jpg)
Extensional equality . . .
Theorem:
U
$ G : % �$ U
% G$ U : %
Hence, classical computations upto extensionalequality give rise to the category .
Theorem: Any function on finite setscan be realized by a computation.
Translation for Category Theoreticans:U is full and faithful.
A Functional Quantum Programming Language – p.12/??
![Page 43: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/43.jpg)
Extensional equality . . .
Theorem:
U
$ G : % �$ U
% G$ U : %
Hence, classical computations upto extensionalequality give rise to the category .
Theorem: Any function4
on finite sets; can be realized by a computation.
Translation for Category Theoreticans:U is full and faithful.
A Functional Quantum Programming Language – p.12/??
![Page 44: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/44.jpg)
Extensional equality . . .
Theorem:
U
$ G : % �$ U
% G$ U : %
Hence, classical computations upto extensionalequality give rise to the category .
Theorem: Any function4
on finite sets; can be realized by a computation.
Translation for Category Theoreticans:U is full and faithful.
A Functional Quantum Programming Language – p.12/??
![Page 45: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/45.jpg)
Example � :function HJI 4 $ � ; � % �
HKI $ � ; L % � �
computation
�
A Functional Quantum Programming Language – p.13/??
![Page 46: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/46.jpg)
Example � :function HJI 4 $ � ; � % �
HKI $ � ; L % � �
computation � �
� �
/NMO
A Functional Quantum Programming Language – p.13/??
![Page 47: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/47.jpg)
Example :
function P4 � $ � ; � %
P� �$ � ;� %
computation
� '&%$ !"#
A Functional Quantum Programming Language – p.14/??
![Page 48: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/48.jpg)
Example :
function P4 � $ � ; � %
P� �$ � ;� %
computation Q � � R Q � �
S � � � '&%$ !"# Q � �
T T 4 $ � ; � % $ � ; � %
T$ S ;� % �$ S ;� %
T$ � ;� % �$ � ; U � %
A Functional Quantum Programming Language – p.14/??
![Page 49: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/49.jpg)
Classical vs quantum
classical ( ) quantum ( )
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( ) tensor product ( )
functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 50: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/50.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( ) tensor product ( )
functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 51: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/51.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets
finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( ) tensor product ( )
functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 52: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/52.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( ) tensor product ( )
functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 53: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/53.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections
unitary operators
cartesian product ( ) tensor product ( )
functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 54: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/54.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( ) tensor product ( )
functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 55: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/55.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( V )
tensor product ( )
functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 56: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/56.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( V ) tensor product ( W)
functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 57: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/57.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( V ) tensor product ( W)functions
superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 58: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/58.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( V ) tensor product ( W)functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 59: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/59.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( V ) tensor product ( W)functions superoperators
projections
partial trace
A Functional Quantum Programming Language – p.15/??
![Page 60: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/60.jpg)
Classical vs quantum
classical (
� � �
) quantum (� �
)
finite sets finite dimensional Hilbert spaces
bijections unitary operators
cartesian product ( V ) tensor product ( W)functions superoperators
projections partial trace
A Functional Quantum Programming Language – p.15/??
![Page 61: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/61.jpg)
� X , classically
HDI G P� � �
� '&%$ !"# �
A Functional Quantum Programming Language – p.16/??
![Page 62: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/62.jpg)
� X , classically
HDI G P� � �Q � � R Q � �
S � � � '&%$ !"# �
/ZY /NMO
A Functional Quantum Programming Language – p.16/??
![Page 63: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/63.jpg)
� X , classically
HDI G P� � �Q � � R Q � �
S � � � '&%$ !"# �
/ZY /NMO[
� �
A Functional Quantum Programming Language – p.16/??
![Page 64: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/64.jpg)
� X , quantum
Q � � R Q � �
S � � � '&%$ !"# �
/\Y /]MO
input:
output:
Decoherence!
A Functional Quantum Programming Language – p.17/??
![Page 65: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/65.jpg)
� X , quantum
Q � � R Q � �
S � � � '&%$ !"# �
/\Y /]MOinput:
� I ^ � # S _ I^ � # � _ *
output:
Decoherence!
A Functional Quantum Programming Language – p.17/??
![Page 66: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/66.jpg)
� X , quantum
Q � � R Q � �
S � � � '&%$ !"# �
/\Y /]MOinput:
� I ^ � # S _ I^ � # � _ *output:
I � � # S _ * I � � # � _ *
Decoherence!
A Functional Quantum Programming Language – p.17/??
![Page 67: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/67.jpg)
� X , quantum
Q � � R Q � �
S � � � '&%$ !"# �
/\Y /]MOinput:
� I ^ � # S _ I^ � # � _ *output:
I � � # S _ * I � � # � _ *
Decoherence!
A Functional Quantum Programming Language – p.17/??
![Page 68: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/68.jpg)
Control of decoherence
QML is based on strict linear logic
Contraction is implicit and realized by .
Weakening is explicit and leads todecoherence.
A Functional Quantum Programming Language – p.18/??
![Page 69: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/69.jpg)
Control of decoherence
QML is based on strict linear logic
Contraction is implicit and realized by .
Weakening is explicit and leads todecoherence.
A Functional Quantum Programming Language – p.18/??
![Page 70: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/70.jpg)
Control of decoherence
QML is based on strict linear logic
Contraction is implicit and realized by T.
Weakening is explicit and leads todecoherence.
A Functional Quantum Programming Language – p.18/??
![Page 71: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/71.jpg)
Control of decoherence
QML is based on strict linear logic
Contraction is implicit and realized by T.Weakening is explicit and leads todecoherence.
A Functional Quantum Programming Language – p.18/??
![Page 72: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/72.jpg)
QML overview
Types
Terms
A Functional Quantum Programming Language – p.19/??
![Page 73: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/73.jpg)
QML overview
Types ` � � # ` a # ` a
Terms
A Functional Quantum Programming Language – p.19/??
![Page 74: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/74.jpg)
QML overview
Types ` � � # ` a # ` aTerms b �� # +� �� � b �� c # � �d# $ % #$ b ; c % # +� �$ � ; L % � b �� c# � egf b # � e f ' c#ih j, � b(k � ��� e f � c # � e f ' L c l *
#ih j, � � b(k � ��� e f � c # � e f ' L c l *
# �$ m % b # $�n % c *
A Functional Quantum Programming Language – p.19/??
![Page 75: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/75.jpg)
Qbits
� � � �
� &') " � � egf $ %
� ��� �!" � � egf ' $ %
�� b ����� c � +, � c l
�h j, � ��� e f c # � e f ' c l *
�� � b ���� � c � +, � c l
�h j, � � ��� e f c # � e f ' c l *
A Functional Quantum Programming Language – p.20/??
![Page 76: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/76.jpg)
QML overview . . .
Typing judgementsprograms
strict programs
Semantics
A Functional Quantum Programming Language – p.21/??
![Page 77: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/77.jpg)
QML overview . . .
Typing judgementso pq � ` programso p � q � ` strict programs
Semantics
A Functional Quantum Programming Language – p.21/??
![Page 78: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/78.jpg)
QML overview . . .
Typing judgementso pq � ` programso p � q � ` strict programs
Semantics o pq � `rq s 4 r o s r ` s
o p � q � `rq s 4 � r o s r ` s
A Functional Quantum Programming Language – p.21/??
![Page 79: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/79.jpg)
The let-rule
o pq � `; Q � ` p�t � a " &o pvu w x Q �q y{z t � a
;;;;
;
�
�����
�
;;;;
;;
9999
99�
�
������
������ �
A Functional Quantum Programming Language – p.22/??
![Page 80: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/80.jpg)
The let-rule
o pq � `; Q � ` p�t � a " &o pvu w x Q �q y{z t � a
o |~}�� � �;;
;;;
�
��C � � � ����� � � �
� �
;;;;
;;
9999
99 ��
� �
������
������ ��
A Functional Quantum Programming Language – p.22/??
![Page 81: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/81.jpg)
on contexts
if dom
�
A Functional Quantum Programming Language – p.23/??
![Page 82: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/82.jpg)
on contexts
o ; Q � ` ; Q � ` � $ o % ; Q � `o ; Q � ` � $ o % ; Q � ` if Q �4
domR �
�
A Functional Quantum Programming Language – p.23/??
![Page 83: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/83.jpg)
on contexts
o ; Q � ` ; Q � ` � $ o % ; Q � `o ; Q � ` � $ o % ; Q � ` if Q �4
domR �
o |~}�� � o
�C � �
A Functional Quantum Programming Language – p.23/??
![Page 84: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/84.jpg)
Another source of decoherence
mentions
but doesn’t use it.
Hence, it has to measure it!
A Functional Quantum Programming Language – p.24/??
![Page 85: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/85.jpg)
Another source of decoherence
��� � b mentions���� � b� � � �
��� � b� � �� � ����� � &') " � +, � � &(') "
but doesn’t use it.
Hence, it has to measure it!
A Functional Quantum Programming Language – p.24/??
![Page 86: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/86.jpg)
Another source of decoherence
��� � b mentions���� � b� � � �
��� � b� � �� � ����� � &') " � +, � � &(') "
but doesn’t use it.
Hence, it has to measure it!
A Functional Quantum Programming Language – p.24/??
![Page 87: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/87.jpg)
Another source of decoherence
��� � b mentions���� � b� � � �
��� � b� � �� � ����� � &') " � +, � � &(') "
but doesn’t use it.
Hence, it has to measure it!
A Functional Quantum Programming Language – p.24/??
![Page 88: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/88.jpg)
-elim
::::
:
�
�����
�
�
DDDD
DD�
�
zzzzzz �
A Functional Quantum Programming Language – p.25/??
![Page 89: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/89.jpg)
-elim
� ���� � ����� �� � ��� ��� �� � ��� � � �¡ ¢£¥¤� W � ��¦§ ¨© � ª « ¬®°¯ ± � ²� ³ °¯ ´ � ² � µ� �
::::
:
�
�����
�
�
DDDD
DD�
�
zzzzzz �
A Functional Quantum Programming Language – p.25/??
![Page 90: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/90.jpg)
-elim
� ���� � ����� �� � ��� ��� �� � ��� � � �¡ ¢£¥¤� W � ��¦§ ¨© � ª « ¬®°¯ ± � ²� ³ °¯ ´ � ² � µ� �
� W � /�¶¸·º¹ » �::
:::
/½¼¾ ¿ÁÀ Â1 �Äà � � � ����� /ÄÅ� Æ � �
Ç¸È ÉËÊ�1Å �
DDDD
DD
2�1¾¸Ì À �
zzzzzz
2ÍÅ�
A Functional Quantum Programming Language – p.25/??
![Page 91: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/91.jpg)
-elim decoherence-free
::::
:
�
�����
�
DDDD
DD�
�
zzzzzz �
A Functional Quantum Programming Language – p.26/??
![Page 92: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/92.jpg)
-elim decoherence-free
� �Î �� � � ��� �� � �Ï �� ��� �� � �Ï � � � � Ð� ��Ñ ¢£¥¤ Ï� W � �Î ¦§ ¨ © Ï � ª « ¬®°¯ ± � ²� ³ ¯ ´ � ² � µ� �
::::
:
�
�����
�
DDDD
DD�
�
zzzzzz �
A Functional Quantum Programming Language – p.26/??
![Page 93: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/93.jpg)
-elim decoherence-free
� �Î �� � � ��� �� � �Ï �� ��� �� � �Ï � � � � Ð� ��Ñ ¢£¥¤ Ï� W � �Î ¦§ ¨ © Ï � ª « ¬®°¯ ± � ²� ³ ¯ ´ � ² � µ� �
� W � /Ķ¸·º¹ » �
::::
:
/½¼Ò ¿ÁÓ Â1 �Äà � � � ����� /ÕÔ� Æ � Ö /¾ ×À �
ÇØÈ ÇØÈ1Ô �
DDDD
DD
2�1Ò Ì Ó �
zzzzzz
2ÙÔ�
A Functional Quantum Programming Language – p.26/??
![Page 94: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/94.jpg)
Ú G
This program has a type error, because.
This program typechecks, because.
A Functional Quantum Programming Language – p.27/??
![Page 95: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/95.jpg)
Ú G��� � b l� � � �
��� � b l� � �� � � ����� � &') " � +�, � � &') "
This program has a type error, because.
This program typechecks, because.
A Functional Quantum Programming Language – p.27/??
![Page 96: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/96.jpg)
Ú G��� � b l� � � �
��� � b l� � �� � � ����� � &') " � +�, � � &') "
This program has a type error, becauseÛ xDÜÝ w Û x ÜÝ w.
This program typechecks, because.
A Functional Quantum Programming Language – p.27/??
![Page 97: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/97.jpg)
Ú G��� � b l� � � �
��� � b l� � �� � � ����� � &') " � +�, � � &') "
This program has a type error, becauseÛ xDÜÝ w Û x ÜÝ w.
Þß � b� � � �
Þß � b� � �� � ����� � ��� �!" � +�, � � &') "
This program typechecks, because.
A Functional Quantum Programming Language – p.27/??
![Page 98: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/98.jpg)
Ú G��� � b l� � � �
��� � b l� � �� � � ����� � &') " � +�, � � &') "
This program has a type error, becauseÛ xDÜÝ w Û x ÜÝ w.
Þß � b� � � �
Þß � b� � �� � ����� � ��� �!" � +�, � � &') "
This program typechecks, becauseÛ àÁá u â w Û xDÜÝ w.A Functional Quantum Programming Language – p.27/??
![Page 99: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/99.jpg)
Conclusions
Our semantic ideas proved useful whendesigning a quantum programming language,analogous concepts are modelled by thesame syntactic constructs.
Our analysis also highlights the differencesbetween classical and quantumprogramming.
Quantum programming introduces theproblem of control of decoherence, which weaddress by making forgetting variablesexplicit and by having different if-then-elseconstructs.
A Functional Quantum Programming Language – p.28/??
![Page 100: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/100.jpg)
ConclusionsOur semantic ideas proved useful whendesigning a quantum programming language,analogous concepts are modelled by thesame syntactic constructs.
Our analysis also highlights the differencesbetween classical and quantumprogramming.
Quantum programming introduces theproblem of control of decoherence, which weaddress by making forgetting variablesexplicit and by having different if-then-elseconstructs.
A Functional Quantum Programming Language – p.28/??
![Page 101: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/101.jpg)
ConclusionsOur semantic ideas proved useful whendesigning a quantum programming language,analogous concepts are modelled by thesame syntactic constructs.
Our analysis also highlights the differencesbetween classical and quantumprogramming.
Quantum programming introduces theproblem of control of decoherence, which weaddress by making forgetting variablesexplicit and by having different if-then-elseconstructs.
A Functional Quantum Programming Language – p.28/??
![Page 102: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/102.jpg)
ConclusionsOur semantic ideas proved useful whendesigning a quantum programming language,analogous concepts are modelled by thesame syntactic constructs.
Our analysis also highlights the differencesbetween classical and quantumprogramming.
Quantum programming introduces theproblem of control of decoherence, which weaddress by making forgetting variablesexplicit and by having different if-then-elseconstructs.
A Functional Quantum Programming Language – p.28/??
![Page 103: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/103.jpg)
Further work
We have to analyze more quantum programsto evaluate the practical usefulness of ourapproach.
Are we able to come up with completely newalgorithms using QML?
How to deal with higher order programs?
How to deal with infinite datatypes?
Investigate the similarities/differencesbetween FCC and FQC from a categoricalpoint of view.
A Functional Quantum Programming Language – p.29/??
![Page 104: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/104.jpg)
Further work
We have to analyze more quantum programsto evaluate the practical usefulness of ourapproach.
Are we able to come up with completely newalgorithms using QML?
How to deal with higher order programs?
How to deal with infinite datatypes?
Investigate the similarities/differencesbetween FCC and FQC from a categoricalpoint of view.
A Functional Quantum Programming Language – p.29/??
![Page 105: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/105.jpg)
Further work
We have to analyze more quantum programsto evaluate the practical usefulness of ourapproach.
Are we able to come up with completely newalgorithms using QML?
How to deal with higher order programs?
How to deal with infinite datatypes?
Investigate the similarities/differencesbetween FCC and FQC from a categoricalpoint of view.
A Functional Quantum Programming Language – p.29/??
![Page 106: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/106.jpg)
Further work
We have to analyze more quantum programsto evaluate the practical usefulness of ourapproach.
Are we able to come up with completely newalgorithms using QML?
How to deal with higher order programs?
How to deal with infinite datatypes?
Investigate the similarities/differencesbetween FCC and FQC from a categoricalpoint of view.
A Functional Quantum Programming Language – p.29/??
![Page 107: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/107.jpg)
Further work
We have to analyze more quantum programsto evaluate the practical usefulness of ourapproach.
Are we able to come up with completely newalgorithms using QML?
How to deal with higher order programs?
How to deal with infinite datatypes?
Investigate the similarities/differencesbetween FCC and FQC from a categoricalpoint of view.
A Functional Quantum Programming Language – p.29/??
![Page 108: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/108.jpg)
Further work
We have to analyze more quantum programsto evaluate the practical usefulness of ourapproach.
Are we able to come up with completely newalgorithms using QML?
How to deal with higher order programs?
How to deal with infinite datatypes?
Investigate the similarities/differencesbetween FCC and FQC from a categoricalpoint of view.
A Functional Quantum Programming Language – p.29/??
![Page 109: A Functional Quantum Programming Languagepsztxa/talks/slides-tfp04.pdfWhat you always wanted to know about quantum computation but never dared to ask. A Functional Quantum Programming](https://reader033.vdocuments.us/reader033/viewer/2022060505/5f1e615473ac3c6e0e75bfbc/html5/thumbnails/109.jpg)
The end
Thank you for your attention.
A Functional Quantum Programming Language – p.30/??