-
Notifications
You must be signed in to change notification settings - Fork 0
/
biblatex.bib
2942 lines (2726 loc) · 276 KB
/
biblatex.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% Encoding: UTF-8
% Field sort order
% title,shorttitle,edition,author,year,month,day,date,journal,journaltitle,booktitle,editor,on,publisher,type,school,institution,address,location,series,volume,number,eid,pages,numpages,crossref,doi,archiveprefix,eprinttype,eprint,howpublished,url,urldate,abstract,keywords,copyright,category,note,metadata,timestamp,webnote,bibsource
% NOTE: keywords should be added in lowercase
% Publishers (involving more than one word)
@string{acm = "{Association for Computing Machinery}"}
@string{cup = "{Cambridge University Press}"}
@string{dagstuhl = "{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}"}
@string{ieee = "{IEEE Computer Society}"}
@string{iop = "{IOP Publishing}"}
@string{mk = "{Morgan Kaufmann}"}
@string{opa = "{Open Publishing Association}"}
@string{oup = "{Oxford University Press}"}
@string{sprintl = "{Springer International Publishing}"}
% Journals/Series (involving more than one word)
@string{afp = "Archive of Formal Proofs"}
@string{apal = "Annals of Pure and Applied Logic"}
@string{cacm = "Communications of the ACM"}
@string{cj = "The Computer Journal"}
@string{entcs = "Electronic Notes in Theoretical Computer Science"}
@string{epjd = "European Physical Journal D: Atomic, Molecular, Optical and Plasma Physics"}
@string{eptcs = "Electronic Proceedings in Theoretical Computer Science"}
@string{jacm = "Journal of the ACM"}
@string{jal = "Journal of Applied Logic"}
@string{jar = "Journal of Automated Reasoning"}
@string{jfp = "Journal of Functional Programming"}
@string{jlc = "Journal of Logic and Computation"}
@string{jpaa = "Journal of Pure and Applied Algebra"}
@string{jsc = "Journal of Symbolic Computation"}
@string{jsl = "The Journal of Symbolic Logic"}
@string{lipics = "Leibniz International Proceedings in Informatics (LIPIcs)"}
@string{lmcs = "Logical Methods in Computer Science"}
@string{lncs = "Lecture Notes in Computer Science"}
@string{mscs = "Mathematical Structures in Computer Science"}
@string{njp = "New Journal of Physics"}
@string{pacmpl = "Proceedings of the ACM on Programming Languages"}
@string{plos1 = "PLoS ONE"}
@string{qst = "Quantum Science and Technology"}
@string{rtac = "Reprints in Theory and Applications of Categories"}
@string{scp = "Science of Computer Programming"}
@string{tac = "Theory and Applications of Categories"}
@string{tcs = "Theoretical Computer Science"}
@string{tocl = "ACM Transactions on Computational Logic"}
@string{toplas = "ACM Transactions on Programming Languages and Systems"}
@string{tqc = "ACM Transactions on Quantum Computing"}
% Journals, only one entry, yet to be replaced
@string{np = "Nature Physics"}
@string{nrp = "Nature Reviews Physics"}
@string{oasics = "OpenAccess Series in Informatics (OASIcs)"}
@string{pc = "Parallel Computing"}
% bibsource
@string{qplbib = "Quantum Programming Languages \& Verification Bibliography, https://git.io/qpl-bib"}
@inproceedings{Abramsky2004,
title = {A Categorical Semantics of Quantum Protocols},
author = {Abramsky, Samson and Coecke, Bob},
date = {2004-07},
booktitle = {Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science},
publisher = ieee,
location = {Los Alamitos, CA, USA},
series = {{{LICS}} '04},
pages = {415--425},
doi = {10.1109/LICS.2004.1319636},
eprinttype = {arXiv},
eprint = {quant-ph/0402130},
abstract = {We study quantum information and computation from a novel point of view. Our approach is based on recasting the standard axiomatic presentation of quantum mechanics, due to von Neumann, at a more abstract level, of compact closed categories with biproducts. We show how the essential structures found in key quantum information protocols such as teleportation, logic-gate teleportation, and entanglement-swapping can be captured at this abstract level. Moreover, from the combination of the -- apparently purely qualitative -- structures of compact closure and biproducts there emerge 'scalars' and a 'Born rule'. This abstract and structural point of view opens up new possibilities for describing and reasoning about quantum systems. It also shows the degrees of axiomatic freedom: we can show what requirements are placed on the (semi)ring of scalars C(I,I), where C is the category and I is the tensor unit, in order to perform various protocols such as teleportation. Our formalism captures both the information-flow aspect of the protocols (see quant-ph/0402014), and the branching due to quantum indeterminism. This contrasts with the standard accounts, in which the classical information flows are 'outside' the usual quantum-mechanical formalism.},
keywords = {protocols, teleportation, performance evaluation, quantum computing, quantum entanglement, quantum mechanics, laboratories, communication channels, force measurement, measurement standards},
webnote = {Also see updated version: \cite{Abramsky2008}},
bibsource = qplbib
}
@incollection{Abramsky2008,
title = {Categorical Quantum Mechanics},
author = {Abramsky, Samson and Coecke, Bob},
date = {2008-11},
booktitle = {Handbook of Quantum Logic and Quantum Structures},
editor = {Engesser, Kurt and Gabbay, Dov M. and Lehmann, Daniel},
publisher = {Elsevier},
location = {Amsterdam},
pages = {261--323},
doi = {10.1016/B978-0-444-52869-8.50010-4},
eprinttype = {arXiv},
eprint = {0808.1023},
abstract = {This invited chapter in the Handbook of Quantum Logic and Quantum Structures consists of two parts: 1. A substantially updated version of quant-ph/0402130 by the same authors, which initiated the area of categorical quantum mechanics, but had not yet been published in full length; 2. An overview of the progress which has been made since then in this area.},
keywords = {protocols, teleportation, performance evaluation, quantum computing, quantum entanglement, quantum mechanics, laboratories, communication channels, force measurement, measurement standards},
webnote = {Substantially updated version of \cite{Abramsky2004} by the same authors.},
bibsource = qplbib
}
@inproceedings{Altenkirch2005,
title = {A Functional Quantum Programming Language},
author = {Altenkirch, Thorsten and Grattage, Jonathan},
date = {2005-06},
booktitle = {Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science},
publisher = ieee,
location = {Los Alamitos, CA, USA},
series = {{{LICS}} '05},
pages = {249--258},
doi = {10.1109/LICS.2005.1},
eprinttype = {arXiv},
eprint = {quant-ph/0409065},
abstract = {We introduce the language QML, a functional language for quantum computations on finite types. Its design is guided by its categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations, which provides a constructive semantics of irreversible quantum computations realisable as quantum gates. QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings explicit. Strict programs are free from decoherence and hence preserve superpositions and entanglement - which is essential for quantum parallelism.},
keywords = {quantum computing, quantum entanglement, functional programming, quantum gates, formal logic, quantum entanglement, functional languages},
webnote = {Introduces QML, see also \cite{Grattage2011}},
bibsource = qplbib
}
@inbook{Altenkirch2009,
title = {The {{Quantum IO Monad}}},
author = {Altenkirch, Thorsten and Green, Alexander S.},
date = {2009-11},
booktitle = {Semantic Techniques in Quantum Computation},
editor = {Gay, Simon J. and Mackie, Ian},
publisher = cup,
location = {Cambridge},
pages = {173--205},
crossref = {Gay2009},
doi = {10.1017/CBO9781139193313.006},
url = {https://www.cs.nott.ac.uk/~psztxa/g5xnsc/chapter.pdf},
abstract = {The quantum IO monad is a purely functional interface to quantum programming implemented as a Haskell library. At the same time it provides a constructive semantics of quantum programming. The QIO monad separates reversible (i.e., unitary) and irreversible (i.e., probabilistic) computations and provides a reversible let operation (ulet), allowing us to use ancillas (auxiliary qubits) in a modular fashion. QIO programs can be simulated either by calculating a probability distribution or by embedding it into the IO monad using the random number generator. As an example we present a complete implementation of Shor's algorithm.},
webnote = {Also see \cite{Green2010} for a reimplementation in Agda.},
bibsource = qplbib
}
@inproceedings{Amy2019,
title = {Towards Large-Scale Functional Verification of Universal Quantum Circuits},
author = {Amy, Matthew},
date = {2019-01},
booktitle = {Proceedings of the 15th International Conference on Quantum Physics and Logic (QPL), Halifax, Canada, June 3--7, 2018},
editor = {Selinger, Peter and Chiribella, Giulio},
publisher = opa,
location = {Waterloo, NSW, Australia},
series = eptcs,
volume = {287},
pages = {1--21},
doi = {10.4204/EPTCS.287.1},
abstract = {We introduce a framework for the formal specification and verification of quantum circuits based on the Feynman path integral. Our formalism, built around exponential sums of polynomial functions, provides a structured and natural way of specifying quantum operations, particularly for quantum implementations of classical functions. Verification of circuits over all levels of the Clifford hierarchy with respect to either a specification or reference circuit is enabled by a novel rewrite system for exponential sums with free variables. Our algorithm is further shown to give a polynomial-time decision procedure for checking the equivalence of Clifford group circuits. We evaluate our methods by performing automated verification of optimized Clifford+T circuits with up to 100 qubits and thousands of T gates, as well as the functional verification of quantum algorithms using hundreds of qubits. Our experiments culminate in the automated verification of the Hidden Shift algorithm for a class of Boolean functions in a fraction of the time it has taken recent algorithms to simulate.},
keywords = {sum-over-paths},
bibsource = qplbib
}
@thesis{Amy2019a,
title = {Formal Methods in Quantum Circuit Design},
author = {Amy, Matthew},
date = {2019-02},
type = {phdthesis},
institution = {University of Waterloo},
location = {Waterloo, Ontario, Canada},
url = {http://hdl.handle.net/10012/14480},
abstract = {The design and compilation of correct, efficient quantum circuits is integral to the future operation of quantum computers. This thesis makes contributions to the problems of optimizing and verifying quantum circuits, with an emphasis on the development of formal models for such purposes. We also present software implementations of these methods, which together form a full stack of tools for the design of optimized, formally verified quantum oracles. On the optimization side, we study methods for the optimization of Rz and CNOT gates in Clifford+Rz circuits. We develop a general, efficient optimization algorithm called phase folding, which reduces the number of Rz gates without increasing any metrics by computing its phase polynomial. This algorithm can further be combined with synthesis techniques for CNOT-dihedral operators to optimize circuits with respect to particular costs. We then study the optimal synthesis problem for CNOT-dihedral operators from the perspectives of Rz and CNOT gate optimization. In the case of Rz gate optimization, we show that the optimal synthesis problem is polynomial-time equivalent to minimum-distance decoding in certain Reed-Muller codes. For the CNOT optimization problem, we show that the optimal synthesis problem is at least as hard as a combinatorial problem related to Gray codes. In both cases, we develop heuristics for the optimal synthesis problem, which together with phase folding reduces T counts by 42\% and CNOT counts by 22\% across a suite of real-world benchmarks. From the perspective of formal verification, we make two contributions. The first is the development of a formal model of quantum circuits with ancillary bits based on the Feynman path integral, along with a concrete verification algorithm. The path integral model, with some syntactic sugar, further doubles as a natural specification language for quantum computations. Our experiments show some practical circuits with up to hundreds of qubits can be efficiently verified. Our second contribution is a formally verified, optimizing compiler for reversible circuits. The compiler compiles a classical, irreversible language to reversible circuits, with a formal, machine-checked proof of correctness written in the proof assistant F*. The compiler is structured as a partial evaluator, allowing verification to be carried out significantly faster than previous results.},
keywords = {quantum computing, quantum circuits, compiler optimization, formal verification, sum-over-paths},
bibsource = qplbib
}
@inproceedings{Amy2019b,
title = {Sized {{Types}} for {{Low}}-{{Level Quantum Metaprogramming}}},
author = {Amy, Matthew},
date = {2019-05},
booktitle = {Reversible Computation (RC '19)},
editor = {Thomsen, Michael Kirkedal and Soeken, Mathias},
publisher = sprintl,
location = {Cham},
series = lncs,
volume = {11497},
pages = {87--107},
doi = {10.1007/978-3-030-21500-2_6},
eprinttype = {arXiv},
eprint = {1908.02644},
abstract = {One of the most fundamental aspects of quantum circuit design is the concept of families of circuits parametrized by an instance size. As in classical programming, metaprogramming allows the programmer to write entire families of circuits simultaneously, an ability which is of particular importance in the context of quantum computing as algorithms frequently use arithmetic over non-standard word lengths. In this work, we introduce metaQASM, a typed extension of the openQASM language supporting the metaprogramming of circuit families. Our language and type system, built around a lightweight implementation of sized types, supports subtyping over register sizes and is moreover type-safe. In particular, we prove that our system is strongly normalizing, and as such any well-typed metaQASM program can be statically unrolled into a finite circuit.},
keywords = {quantum programming, circuit description languages, metaprogramming, openqasm, qasm},
bibsource = qplbib
}
@article{Amy2020,
title = {staq -- A full-stack quantum processing toolkit},
author = {Amy, Matthew and Gheorghiu, Vlad},
date = {2020-06},
journaltitle = qst,
volume = {5},
number = {3},
eid = {034016},
doi = {10.1088/2058-9565/ab9359},
eprinttype = {arXiv},
eprint = {1912.06070},
url = {https://github.com/softwareQinc/staq},
abstract = {We describe staq, a full-stack quantum processing toolkit written in standard C++. staq is a quantum compiler toolkit, comprising of tools that range from quantum optimizers and translators to physical mappers for quantum devices with restricted connectives. The design of staq is inspired from the UNIX philosophy of `less is more', i.e. staq achieves complex functionality via combining (piping) small tools, each of which performs a single task using the most advanced current state-of-the-art methods. We also provide a set of illustrative benchmarks.},
bibsource = qplbib
}
@article{ArdeshirLarijani2018,
title = {Automated Equivalence Checking of Concurrent Quantum Systems},
author = {{Ardeshir-Larijani}, Ebrahim and Gay, Simon J. and Nagarajan, Rajagopal},
date = {2018-11},
journaltitle = tocl,
volume = {19},
number = {4},
eid = {28},
doi = {10.1145/3231597},
url = {http://eprints.gla.ac.uk/166295/},
abstract = {The novel field of quantum computation and quantum information has gathered significant momentum in the last few years. It has the potential to radically impact the future of information technology and influence the development of modern society. The construction of practical, general purpose quantum computers has been challenging, but quantum cryptographic and communication devices have been available in the commercial marketplace for several years. Quantum networks have been built in various cities around the world and a dedicated satellite has been launched by China to provide secure quantum communication. Such new technologies demand rigorous analysis and verification before they can be trusted in safety- and security-critical applications. Experience with classical hardware and software systems has shown the difficulty of achieving robust and reliable implementations.We present CCSq, a concurrent language for describing quantum systems, and develop verification techniques for checking equivalence between CCSq processes. CCSq has well-defined operational and superoperator semantics for protocols that are functional, in the sense of computing a deterministic input-output relation for all interleavings arising from concurrency in the system. We have implemented QEC (Quantum Equivalence Checker), a tool that takes the specification and implementation of quantum protocols, described in CCSq, and automatically checks their equivalence. QEC is the first fully automatic equivalence checking tool for concurrent quantum systems. For efficiency purposes, we restrict ourselves to Clifford operators in the stabilizer formalism, but we are able to verify protocols over all input states. We have specified and verified a collection of interesting and practical quantum protocols, ranging from quantum communication and quantum cryptography to quantum error correction.},
keywords = {concurrency, process calculi, equivalence checking, quantum information processing, programming language semantics},
bibsource = qplbib
}
@article{Backens2014,
title = {The {ZX}-calculus is complete for stabilizer quantum mechanics},
author = {Backens, Miriam},
date = {2014-09},
journaltitle = njp,
volume = {16},
number = {9},
eid = {093021},
doi = {10.1088/1367-2630/16/9/093021},
abstract = {The ZX-calculus is a graphical calculus for reasoning about quantum systems and processes. It is known to be universal for pure state qubit quantum mechanics (QM), meaning any pure state, unitary operation and post-selected pure projective measurement can be expressed in the ZX-calculus. The calculus is also sound, i.e. any equality that can be derived graphically can also be derived using matrix mechanics. Here, we show that the ZX-calculus is complete for pure qubit stabilizer QM, meaning any equality that can be derived using matrices can also be derived pictorially. The proof relies on bringing diagrams into a normal form based on graph states and local Clifford operations.},
keywords = {zx-calculus},
bibsource = qplbib
}
@inproceedings{Badescu2015,
title = {Quantum Alternation: {{Prospects}} and Problems},
author = {B{\u a}descu, Costin and Panangaden, Prakash},
date = {2015-11},
booktitle = {Proceedings of the 12th International Workshop on Quantum Physics and Logic (QPL), Oxford, U.K., July 15--17, 2015},
editor = {Heunen, Chris and Selinger, Peter and Vicary, Jamie},
publisher = opa,
location = {Waterloo, NSW, Australia},
series = eptcs,
volume = {195},
pages = {33--42},
doi = {10.4204/EPTCS.195.3},
abstract = {We propose a notion of quantum control in a quantum programming language which permits the superposition of finitely many quantum operations without performing a measurement. This notion takes the form of a conditional construct similar to the IF statement in classical programming languages. We show that adding such a quantum IF statement to the QPL programming language simplifies the presentation of several quantum algorithms. This motivates the possibility of extending the denotational semantics of QPL to include this form of quantum alternation. We give a denotational semantics for this extension of QPL based on Kraus decompositions rather than on superoperators. Finally, we clarify the relation between quantum alternation and recursion, and discuss the possibility of lifting the semantics defined by Kraus operators to the superoperator semantics defined by Selinger.},
bibsource = qplbib
}
@inbook{Baez2010,
title = {Physics, Topology, Logic and Computation: {{A}} Rosetta Stone},
author = {Baez, John C. and Stay, Mike},
date = {2010-07},
booktitle = {New Structures for Physics},
editor = {Coecke, Bob},
publisher = {Springer},
location = {Berlin, Heidelberg},
pages = {95--172},
doi = {10.1007/978-3-642-12821-9_2},
eprinttype = {arXiv},
eprint = {0903.0340},
abstract = {In physics, Feynman diagrams are used to reason about quantum processes. In the 1980s, it became clear that underlying these diagrams is a powerful analogy between quantum physics and topology. Namely, a linear operator behaves very much like a ``cobordism'': a manifold representing spacetime, going between two manifolds representing space. This led to a burst of work on topological quantum field theory and ``quantum topology''. But this was just the beginning: similar diagrams can be used to reason about logic, where they represent proofs, and computation, where they represent programs. With the rise of interest in quantum cryptography and quantum computation, it became clear that there is extensive network of analogies between physics, topology, logic and computation. In this expository paper, we make some of these analogies precise using the concept of ``closed symmetric monoidal category''. We assume no prior knowledge of category theory, proof theory or computer science.},
keywords = {monoidal category, intuitionistic logic, lambda calculus},
bibsource = qplbib
}
@article{Bettelli2003,
title = {Toward an Architecture for Quantum Programming},
author = {Bettelli, Stefano and Calarco, Tommaso and Serafini, Luciano},
date = {2003-08},
journaltitle = epjd,
volume = {25},
number = {2},
pages = {181--200},
doi = {10.1140/epjd/e2003-00242-2},
eprinttype = {arXiv},
eprint = {cs/0103009},
abstract = {It is becoming increasingly clear that, if a useful device for quantum computation will ever be built, it will be embodied by a classical computing machine with control over a truly quantum subsystem, this apparatus performing a mixture of classical and quantum computation. This paper investigates a possible approach to the problem of programming such machines: a template high level quantum language is presented which complements a generic general purpose classical language with a set of quantum primitives. The underlying scheme involves a run-time environment which calculates the byte-code for the quantum operations and pipes it to a quantum device controller or to a simulator. This language can compactly express existing quantum algorithms and reduce them to sequences of elementary operations; it also easily lends itself to automatic, hardware independent, circuit simplification. A publicly available preliminary implementation of the proposed ideas has been realised using the language.},
bibsource = qplbib
}
@inproceedings{Bichsel2020,
title = {Silq: A High-Level Quantum Language with Safe Uncomputation and Intuitive Semantics},
shorttitle = {Silq},
author = {Bichsel, Benjamin and Baader, Maximilian and Gehr, Timon and Vechev, Martin},
date = {2020-06},
booktitle = {Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation},
publisher = acm,
location = {New York, NY, USA},
series = {{{PLDI}} '20},
pages = {286--300},
doi = {10.1145/3385412.3386007},
url = {https://files.sri.inf.ethz.ch/website/papers/pldi20-silq.pdf},
abstract = {Existing quantum languages force the programmer to work at a low level of abstraction leading to unintuitive and cluttered code. A fundamental reason is that dropping temporary values from the program state requires explicitly applying quantum operations that safely uncompute these values. We present Silq, the first quantum language that addresses this challenge by supporting safe, automatic uncomputation. This enables an intuitive semantics that implicitly drops temporary values, as in classical computation. To ensure physicality of Silq's semantics, its type system leverages novel annotations to reject unphysical programs. Our experimental evaluation demonstrates that Silq programs are not only easier to read and write, but also significantly shorter than equivalent programs in other quantum languages (on average -46\% for Q\#, -38\% for Quipper), while using only half the number of quantum primitives.},
keywords = {quantum language, semantics, uncomputation},
bibsource = qplbib
}
@inproceedings{Boender2015,
title = {Formalization of Quantum Protocols using Coq},
author = {Boender, Jaap and Kamm{\"u}ller, Florian and Nagarajan, Rajagopal},
date = {2015-11},
booktitle = {Proceedings of the 12th International Workshop on Quantum Physics and Logic (QPL), Oxford, U.K., July 15--17, 2015},
editor = {Heunen, Chris and Selinger, Peter and Vicary, Jamie},
publisher = opa,
location = {Waterloo, NSW, Australia},
series = eptcs,
volume = {195},
pages = {71--83},
doi = {10.4204/EPTCS.195.6},
abstract = {Quantum Information Processing, which is an exciting area of research at the intersection of physics and computer science, has great potential for influencing the future development of information processing systems. The building of practical, general purpose Quantum Computers may be some years into the future. However, Quantum Communication and Quantum Cryptography are well developed. Commercial Quantum Key Distribution systems are easily available and several QKD networks have been built in various parts of the world. The security of the protocols used in these implementations rely on information-theoretic proofs, which may or may not reflect actual system behaviour. Moreover, testing of implementations cannot guarantee the absence of bugs and errors. This paper presents a novel framework for modelling and verifying quantum protocols and their implementations using the proof assistant Coq. We provide a Coq library for quantum bits (qubits), quantum gates, and quantum measurement. As a step towards verifying practical quantum communication and security protocols such as Quantum Key Distribution, we support multiple qubits, communication and entanglement. We illustrate these concepts by modelling the Quantum Teleportation Protocol, which communicates the state of an unknown quantum bit using only a classical channel.},
bibsource = qplbib
}
@article{Bordg2020,
title = {Isabelle Marries Dirac: a Library for Quantum Computation and Quantum Information},
author = {Bordg, Anthony and Lachnitt, Hanna and He, Yijun},
date = {2020-11},
journaltitle = afp,
volume = {2020},
url = {https://isa-afp.org/entries/Isabelle_Marries_Dirac.html},
abstract = {This work is an effort to formalise some quantum algorithms and results in quantum information theory. Formal methods being critical for the safety and security of algorithms and protocols, we foresee their widespread use for quantum computing in the future. We have developed a large library for quantum computing in Isabelle based on a matrix representation for quantum circuits, successfully formalising the no-cloning theorem, quantum teleportation, Deutsch's algorithm, the Deutsch-Jozsa algorithm and the quantum Prisoner's Dilemma.},
webnote = {Formal proof development in Isabelle. Supplement to \cite{Bordg2020a}},
bibsource = qplbib
}
@article{Bordg2020a,
title = {Certified Quantum Computation in Isabelle/HOL},
author = {Bordg, Anthony and Lachnitt, Hanna and He, Yijun},
date = {2020-12},
journaltitle = jar,
volume = {65},
number = {5},
pages = {691--709},
doi = {10.1007/s10817-020-09584-7},
url = {https://www.isa-afp.org/entries/Isabelle_Marries_Dirac.html},
abstract = {In this article we present an ongoing effort to formalise quantum algorithms and results in quantum information theory using the proof assistant Isabelle/HOL. Formal methods being critical for the safety and security of algorithms and protocols, we foresee their widespread use for quantum computing in the future. We have developed a large library for quantum computing in Isabelle based on a matrix representation for quantum circuits, successfully formalising the no-cloning theorem, quantum teleportation, Deutsch's algorithm, the Deutsch--Jozsa algorithm and the quantum Prisoner's Dilemma. We discuss the design choices made and report on an outcome of our work in the field of quantum game theory.},
keywords = {isabelle/hol, certification, quantum computing, no-cloning, quantum teleportation, deutsch's algorithm, deutsch--jozsa algorithm, quantum prisoner's dilemma},
webnote = {See also: Isabelle AFP entry \cite{Bordg2020}},
bibsource = qplbib
}
@article{Briegel2009,
title = {Measurement-Based Quantum Computation},
author = {Briegel, Hans J. and Browne, Dan E. and D{\"u}r, Wolfgang and Rau{\ss}endorf, Robert and {Van den Nest}, Maarten},
date = {2009-01},
journaltitle = {Nature Physics},
volume = {5},
number = {1},
pages = {19--26},
doi = {10.1038/nphys1157},
eprinttype = {arXiv},
eprint = {0910.1116},
abstract = {Quantum computation offers a promising new kind of information processing, where the non-classical features of quantum mechanics are harnessed and exploited. A number of models of quantum computation exist. These models have been shown to be formally equivalent, but their underlying elementary concepts and the requirements for their practical realization can differ significantly. A particularly exciting paradigm is that of measurement-based quantum computation, where the processing of quantum information takes place by rounds of simple measurements on qubits prepared in a highly entangled state. We review recent developments in measurement-based quantum computation with a view to both fundamental and practical issues, in particular the power of quantum computation, the protection against noise (fault tolerance) and steps towards experimental realization. Finally, we highlight a number of connections between this field and other branches of physics and mathematics.},
bibsource = qplbib
}
@inproceedings{Chardonnet2021,
title = {{Geometry of Interaction for ZX-Diagrams}},
author = {Chardonnet, Kostia and Valiron, Beno{\^i}t and Vilmart, Renaud},
date = {2021-08},
booktitle = {46th International Symposium on Mathematical Foundations of Computer Science (MFCS 2021)},
editor = {Bonchi, Filippo and Puglisi, Simon J.},
publisher = dagstuhl,
location = {Dagstuhl, Germany},
series = lipics,
volume = {202},
eid = {30},
doi = {10.4230/LIPIcs.MFCS.2021.30},
url = {https://hal.archives-ouvertes.fr/hal-03154573/},
abstract = {ZX-Calculus is a versatile graphical language for quantum computation equipped with an equational theory. Getting inspiration from Geometry of Interaction, in this paper we propose a token-machine-based asynchronous model of both pure ZX-Calculus and its extension to mixed processes. We also show how to connect this new semantics to the usual standard interpretation of ZX-diagrams. This model allows us to have a new look at what ZX-diagrams compute, and give a more local, operational view of the semantics of ZX-diagrams.},
keywords = {quantum computation, linear logic, zx-calculus, geometry of interaction},
bibsource = qplbib
}
@inproceedings{Chareton2021,
title = {An Automated Deductive Verification Framework for Circuit-Building Quantum Programs},
author = {Chareton, Christophe and Bardin, S{\'e}bastien and Bobot, Fran{\c c}ois and Perrelle, Valentin and Valiron, Beno{\^i}t},
date = {2021-03},
booktitle = {Programming Languages and Systems, ESOP 2021},
editor = {Yoshida, Nobuko},
publisher = sprintl,
location = {Cham},
series = lncs,
volume = {12648},
pages = {148--177},
doi = {10.1007/978-3-030-72019-3_6},
eprinttype = {arXiv},
eprint = {2003.05841},
abstract = {While recent progress in quantum hardware open the door for significant speedup in certain key areas, quantum algorithms are still hard to implement right, and the validation of such quantum programs is a challenge. In this paper we propose Qbricks, a formal verification environment for circuit-building quantum programs, featuring both parametric specifications and a high degree of proof automation. We propose a logical framework based on first-order logic, and develop the main tool we rely upon for achieving the automation of proofs of quantum specification: PPS, a parametric extension of the recently developed path sum semantics. To back-up our claims, we implement and verify parametric versions of several famous and non-trivial quantum algorithms, including the quantum parts of Shor's integer factoring, quantum phase estimation (QPE) and Grover's search.},
keywords = {deductive verification, quantum programming, quantum circuits, sum-over-paths},
webnote = {See extended version for additional technical material.},
bibsource = qplbib
}
@misc{Chareton2021a,
title = {Formal Methods for Quantum Programs: A Survey},
author = {Chareton, Christophe and Bardin, S{\'e}bastien and Lee, Dongho and Valiron, Beno{\^i}t and Vilmart, Renaud and Xu, Zhaowei},
date = {2021-09},
eprinttype = {arXiv},
eprint = {2109.06493},
abstract = {While recent progress in quantum hardware open the door for significant speedup in certain key areas (cryptography, biology, chemistry, optimization, machine learning, etc), quantum algorithms are still hard to implement right, and the validation of such quantum programs is a challenge. Moreover, importing the testing and debugging practices at use in classical programming is extremely difficult in the quantum case, due to the destructive aspect of quantum measurement. As an alternative strategy, formal methods are prone to play a decisive role in the emerging field of quantum software. Recent works initiate solutions for problems occurring at every stage of the development process: high-level program design, implementation, compilation, etc. We review the induced challenges for an efficient use of formal methods in quantum computing and the current most promising research directions.},
note = {To appear as Chapter ``Formal methods for Quantum Algorithms'' in ``Handbook of Formal Analysis and Verification in Cryptography'', CRC},
webnote = {To appear as Chapter ``Formal methods for Quantum Algorithms'' in ``Handbook of Formal Analysis and Verification in Cryptography'', CRC.},
bibsource = qplbib
}
@article{Chen2023,
title = {An Automata-Based Framework for Verification and Bug Hunting in Quantum Circuits},
author = {Chen, Yu-Fang and Chung, Kai-Min and Leng{\'a}l, Ond{\v r}ej and Lin, Jyun-Ao and Tsai, Wei-Lun and Yen, Di-De},
date = {2023-06},
journaltitle = pacmpl,
volume = {7},
number = {PLDI},
eid = {156},
doi = {10.1145/3591270},
abstract = {We introduce a new paradigm for analysing and finding bugs in quantum circuits. In our approach, the problem is given by a triple {P} C {Q} and the question is whether, given a set P of quantum states on the input of a circuit C, the set of quantum states on the output is equal to (or included in) a set Q. While this is not suitable to specify, e.g., functional correctness of a quantum circuit, it is sufficient to detect many bugs in quantum circuits. We propose a technique based on tree automata to compactly represent sets of quantum states and develop transformers to implement the semantics of quantum gates over this representation. Our technique computes with an algebraic representation of quantum states, avoiding the inaccuracy of working with floating-point numbers. We implemented the proposed approach in a prototype tool and evaluated its performance against various benchmarks from the literature. The evaluation shows that our approach is quite scalable, e.g., we managed to verify a large circuit with 40 qubits and 141,527 gates, or catch bugs injected into a circuit with 320 qubits and 1,758 gates, where all tools we compared with failed. In addition, our work establishes a connection between quantum program verification and automata, opening new possibilities to exploit the richness of automata theory and automata-based verification in the world of quantum computing.},
keywords = {quantum circuits, tree automata, verification},
bibsource = qplbib
}
@article{Chong2017,
title = {Programming languages and compiler design for realistic quantum hardware},
author = {Chong, Frederic T. and Franklin, Diana and Martonosi, Margaret},
date = {2017-09},
journaltitle = {Nature},
volume = {549},
number = {7671},
pages = {180--187},
doi = {10.1038/nature23459},
abstract = {Quantum computing sits at an important inflection point. For years, high-level algorithms for quantum computers have shown considerable promise, and recent advances in quantum device fabrication offer hope of utility. A gap still exists, however, between the hardware size and reliability requirements of quantum computing algorithms and the physical machines foreseen within the next ten years. To bridge this gap, quantum computers require appropriate software to translate and optimize applications (toolflows) and abstraction layers. Given the stringent resource constraints in quantum computing, information passed between layers of software and implementations will differ markedly from in classical computing. Quantum toolflows must expose more physical details between layers, so the challenge is to find abstractions that expose key details while hiding enough complexity.},
note = {Review Article},
webnote = {Review Article},
bibsource = qplbib
}
@article{Choudhury2022,
title = {Symmetries in Reversible Programming: From Symmetric Rig Groupoids to Reversible Programming Languages},
author = {Choudhury, Vikraman and Karwowski, Jacek and Sabry, Amr},
date = {2022-01},
journaltitle = pacmpl,
volume = {6},
number = {POPL},
eid = {6},
doi = {10.1145/3498667},
url = {https://github.com/vikraman/popl22-symmetries-artifact},
abstract = {The Pi family of reversible programming languages for boolean circuits is presented as a syntax of combinators witnessing type isomorphisms of algebraic data types. In this paper, we give a denotational semantics for this language, using weak groupoids {\`a} la Homotopy Type Theory, and show how to derive an equational theory for it, presented by 2-combinators witnessing equivalences of type isomorphisms. We establish a correspondence between the syntactic groupoid of the language and a formally presented univalent subuniverse of finite types. The correspondence relates 1-combinators to 1-paths, and 2-combinators to 2-paths in the universe, which is shown to be sound and complete for both levels, forming an equivalence of groupoids. We use this to establish a Curry-Howard-Lambek correspondence between Reversible Logic, Reversible Programming Languages, and Symmetric Rig Groupoids, by showing that the syntax of Pi is presented by the free symmetric rig groupoid, given by finite sets and bijections. Using the formalisation of our results, we perform normalisation-by-evaluation, verification and synthesis of reversible logic gates, motivated by examples from quantum computing. We also show how to reason about and transfer theorems between different representations of reversible circuits.},
keywords = {groups, reversible computing, homotopy type theory, type isomorphisms, groupoids, univalent foundations, reversible programming languages, permutations, rewriting},
bibsource = qplbib
}
@misc{Choudhury2022a,
title = {Scheme Pearl: Quantum Continuations},
author = {Choudhury, Vikraman and Sabry, Amr and Agapiev, Borislav},
date = {2022-09},
url = {https://andykeep.com/SchemeWorkshop2022/scheme2022-final37.pdf},
abstract = {We advance the thesis that the simulation of quantum circuits is fundamentally about the efficient management of a large (potentially exponential) number of delimited continuations. The family of Scheme languages, with its efficient implementations of first-class continuations and with its imperative constructs, provides an elegant host for modeling and simulating quantum circuits.},
note = {2022 Workshop on Scheme and Functional Programming},
webnote = {2022 Workshop on Scheme and Functional Programming},
bibsource = qplbib
}
@misc{CirqDevelopers2018,
title = {Cirq},
author = {{Cirq Developers}},
date = {2018-07},
doi = {10.5281/zenodo.4062499},
url = {https://github.com/quantumlib/Cirq},
abstract = {Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators.},
webnote = {See full list of authors on Github: \url{https://github.com/quantumlib/Cirq/graphs/contributors}},
bibsource = qplbib
}
@article{Coecke2011,
title = {Interacting Quantum Observables: Categorical Algebra and Diagrammatics},
shorttitle = {Interacting Quantum Observables},
author = {Coecke, Bob and Duncan, Ross},
date = {2011-04},
journaltitle = njp,
volume = {13},
number = {4},
eid = {043016},
doi = {10.1088/1367-2630/13/4/043016},
abstract = {This paper has two tightly intertwined aims: (i) to introduce an intuitive and universal graphical calculus for multi-qubit systems, the ZX-calculus, which greatly simplifies derivations in the area of quantum computation and information. (ii) To axiomatize complementarity of quantum observables within a general framework for physical theories in terms of dagger symmetric monoidal categories. We also axiomatize phase shifts within this framework. Using the well-studied canonical correspondence between graphical calculi and dagger symmetric monoidal categories, our results provide a purely graphical formalisation of complementarity for quantum observables. Each individual observable, represented by a commutative special dagger Frobenius algebra, gives rise to an Abelian group of phase shifts, which we call the phase group. We also identify a strong form of complementarity, satisfied by the Z- and X-spin observables, which yields a scaled variant of a bialgebra.},
keywords = {zx-calculus},
webnote = {Corrects several errors in and supersedes the earlier ICALP 2008 conference paper.},
bibsource = qplbib
}
@book{Coecke2017,
title = {Picturing Quantum Processes: A First Course in Quantum Theory and Diagrammatic Reasoning},
author = {Coecke, Bob and Kissinger, Aleks},
date = {2017-03},
publisher = cup,
location = {Cambridge},
doi = {10.1017/9781316219317},
abstract = {The unique features of the quantum world are explained in this book through the language of diagrams, setting out an innovative visual method for presenting complex theories. Requiring only basic mathematical literacy, this book employs a unique formalism that builds an intuitive understanding of quantum features while eliminating the need for complex calculations. This entirely diagrammatic presentation of quantum theory represents the culmination of ten years of research, uniting classical techniques in linear algebra and Hilbert spaces with cutting-edge developments in quantum computation and foundations. Written in an entertaining and user-friendly style and including more than one hundred exercises, this book is an ideal first course in quantum theory, foundations, and computation for students from undergraduate to PhD level, as well as an opportunity for researchers from a broad range of fields, from physics to biology, linguistics, and cognitive science, to discover a new set of tools for studying processes and interaction.},
bibsource = qplbib
}
@misc{Colledan2022,
title = {{On Dynamic Lifting and Effect Typing in Circuit Description Languages (Extended Version)}},
author = {Colledan, Andrea and Dal Lago, Ugo},
date = {2022-02},
eprinttype = {arXiv},
eprint = {2202.07636},
abstract = {In the realm of quantum computing, circuit description languages represent a valid alternative to traditional QRAM-style languages. They indeed allow for finer control over the output circuit, without sacrificing flexibility nor modularity. We introduce a generalization of the paradigmatic lambda-calculus Proto-Quipper-M, itself modeling the core features of the quantum circuit description language Quipper. The extension, called Proto-Quipper-K, is meant to capture a very general form of dynamic lifting. This is made possible by the introduction of a rich type and effect system in which not only computations, but also the very types are effectful. The main results we give for the introduced language are the classic type soundness results, namely subject reduction and progress.},
keywords = {proto-quipper-k, proto-quipper-m, dynamic lifting},
bibsource = qplbib
}
@misc{Cross2017,
title = {Open {{Quantum Assembly Language}}},
author = {Cross, Andrew W. and Bishop, Lev S. and Smolin, John A. and Gambetta, Jay M.},
date = {2017-07},
eprinttype = {arXiv},
eprint = {1707.03429},
url = {https://github.com/Qiskit/openqasm/tree/OpenQASM2.x},
abstract = {This document describes a quantum assembly language (QASM) called OpenQASM that is used to implement experiments with low depth quantum circuits. OpenQASM represents universal physical circuits over the CNOT plus SU(2) basis with straight-line code that includes measurement, reset, fast feedback, and gate subroutines. The simple text language can be written by hand or by higher level tools and may be executed on the IBM Q Experience.},
keywords = {qasm, quantum assembly language, openqasm, quantum computing, quantum information},
webnote = {OpenQASM 2.0, see \cite{Cross2022} for OpenQASM 3},
bibsource = qplbib
}
@article{Cross2022,
title = {OpenQASM 3: A Broader and Deeper Quantum Assembly Language},
author = {Cross, Andrew W. and Javadi-Abhari, Ali and Alexander, Thomas and de Beaudrap, Niel and Bishop, Lev S. and Heidel, Steven and Ryan, Colm A. and Sivarajah, Prasahnt and Smolin, John and Gambetta, Jay M. and Johnson, Blake R.},
date = {2022-09},
journal = tqc,
volume = {3},
number = {3},
eid = {12},
doi = {10.1145/3505636},
eprinttype = {arXiv},
eprint = {2104.14722},
url = {https://openqasm.com/},
abstract = {Quantum assembly languages are machine-independent languages that traditionally describe quantum computation in the circuit model. Open quantum assembly language (OpenQASM 2) was proposed as an imperative programming language for quantum circuits based on earlier QASM dialects. In principle, any quantum computation could be described using OpenQASM 2, but there is a need to describe a broader set of circuits beyond the language of qubits and gates. By examining interactive use cases, we recognize two different timescales of quantum-classical interactions: real-time classical computations that must be performed within the coherence times of the qubits, and near-time computations with less stringent timing. Since the near-time domain is adequately described by existing programming frameworks, we choose in OpenQASM 3 to focus on the real-time domain, which must be more tightly coupled to the execution of quantum operations. We add support for arbitrary control flow as well as calling external classical functions. In addition, we recognize the need to describe circuits at multiple levels of specificity, and therefore we extend the language to include timing, pulse control, and gate modifiers. These new language features create a multi-level intermediate representation for circuit development and optimization, as well as control sequence implementation for calibration, characterization, and error mitigation.},
keywords = {qasm, quantum assembly language, openqasm, quantum computing, quantum information},
webnote = {See \cite{Cross2017} for OpenQASM 2.0},
bibsource = qplbib
}
@inproceedings{DalLago2017,
title = {The Geometry of Parallelism: Classical, Probabilistic, and Quantum Effects},
author = {{Dal Lago}, Ugo and Faggian, Claudia and Valiron, Beno{\^i}t and Yoshimizu, Akira},
date = {2017-01},
booktitle = {Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages},
publisher = acm,
location = {New York, NY, USA},
series = {POPL '17},
pages = {833--845},
doi = {10.1145/3009837.3009859},
eprinttype = {arXiv},
eprint = {1610.09629},
abstract = {We introduce a Geometry of Interaction model for higher-order quantum computation, and prove its adequacy for a fully fledged quantum programming language in which entanglement, duplication, and recursion are all available. This model is an instance of a new framework which captures not only quantum but also classical and probabilistic computation. Its main feature is the ability to model commutative effects in a parallel setting. Our model comes with a multi-token machine, a proof net system, and a -style language. Being based on a multi-token machine equipped with a memory, it has a concrete nature which makes it well suited for building low-level operational descriptions of higher-order languages.},
keywords = {memory structure, geometry of interaction, quantum computation, lambda calculus, probabilistic computation},
bibsource = qplbib
}
@misc{Dandy2021,
title = {Qimaera: Type-safe (Variational) Quantum Programming in Idris},
author = {Dandy, Liliane-Joy and Jeandel, Emmanuel and Zamdzhiev, Vladimir},
date = {2021-11},
eprinttype = {arXiv},
eprint = {2111.10867},
url = {https://github.com/zamdzhiev/Qimaera},
abstract = {Variational Quantum Algorithms are hybrid classical-quantum algorithms where classical and quantum computation work in tandem to solve computational problems. These algorithms create interesting challenges for the design of suitable programming languages. In this paper we introduce Qimaera, which is a set of libraries for the Idris 2 programming language that enable the programmer to implement (variational) quantum algorithms where the full power of the elegant Idris language works in synchrony with quantum programming primitives that we introduce. The two key ingredients of Idris that make this possible are (1) dependent types which allow us to implement unitary (i.e. reversible and controllable) quantum operations; and (2) linearity which allows us to enforce fine-grained control over the execution of quantum operations that ensures compliance with the laws of quantum mechanics. We demonstrate that Qimaera is suitable for variational quantum programming by providing implementations of the two most prominent variational quantum algorithms -- QAOA and VQE. To the best of our knowledge, this is the first implementation of these algorithms that has been achieved in a type-safe framework.},
bibsource = qplbib
}
@article{Danos2007,
title = {The {{Measurement Calculus}}},
author = {Danos, Vincent and Kashefi, Elham and Panangaden, Prakash},
date = {2007-04},
journaltitle = jacm,
volume = {54},
number = {2},
eid = {8},
doi = {10.1145/1219092.1219096},
url = {https://www.cs.mcgill.ca/~prakash/Pubs/jacm.pdf},
abstract = {Measurement-based quantum computation has emerged from the physics community as a new approach to quantum computation where the notion of measurement is the main driving force of computation. This is in contrast with the more traditional circuit model that is based on unitary operations. Among measurement-based quantum computation methods, the recently introduced one-way quantum computer [Raussendorf and Briegel 2001] stands out as fundamental. We develop a rigorous mathematical model underlying the one-way quantum computer and present a concrete syntax and operational semantics for programs, which we call patterns, and an algebra of these patterns derived from a denotational semantics. More importantly, we present a calculus for reasoning locally and compositionally about these patterns. We present a rewrite theory and prove a general standardization theorem which allows all patterns to be put in a semantically equivalent standard form. Standardization has far-reaching consequences: a new physical architecture based on performing all the entanglement in the beginning, parallelization by exposing the dependency structure of measurements and expressiveness theorems. Furthermore we formalize several other measurement-based models, for example, Teleportation, Phase and Pauli models and present compositional embeddings of them into and from the one-way model. This allows us to transfer all the theory we develop for the one-way model to these models. This shows that the framework we have developed has a general impact on measurement-based computation and is not just particular to the one-way quantum computer.},
keywords = {normalization, measurement-based quantum computing, quantum programming languages, models for quantum computing, term rewriting, teleportation-based quantum computing},
bibsource = qplbib
}
@inbook{Danos2009,
title = {Extended {{Measurement Calculus}}},
author = {Danos, Vincent and Kashefi, Elham and Panangaden, Prakash and Perdrix, Simon},
date = {2009-11},
booktitle = {Semantic Techniques in Quantum Computation},
editor = {Gay, Simon J. and Mackie, Ian},
publisher = cup,
location = {Cambridge},
pages = {235--310},
crossref = {Gay2009},
doi = {10.1017/CBO9781139193313.008},
abstract = {Measurement-based quantum computation (MBQC) has emerged as a new approach to quantum computation where the notion of measurement is the main driving force of computation. This is in contrast with the more traditional circuit model that takes unitary operations as fundamental. Among measurement-based quantum computation methods the recently introduced one-way quantum computer stands out as basic and fundamental. The key idea is to start from an entangled state and then use measurements and one-qubit unitaries, which may be dependent on the outcomes of measurements, to guide the computation. The main point is that one never has to perform unitaries on more than one qubit at a time after the initial preparation of an entangled state. The ``programs'' that one writes in this model are traditionally called ``patterns''. In this chapter, we develop a rigorous mathematical model underlying measurement-based quantum computation. We give syntax, operational semantics, denotational semantics, and an algebra of programs derived from the denotational semantics. We also present a rewrite theory and prove a general standardization theorem that allows all programs to be put in a semantically equivalent standard form. Standardization has far-reaching consequences: a new physical architecture based on performing all the entanglement in the beginning, parallelization by exposing the dependency structure of measurements, and expressiveness theorems.We use our general measurement calculus not just to formalize the one-way model but also several other measurement-based models, e.g., Teleportation, Phase, and Pauli models, and present compositional embeddings of them into and from the one-way model.},
bibsource = qplbib
}
@article{DHondt2006,
title = {Quantum {{Weakest Preconditions}}},
author = {D'Hondt, Ellie and Panangaden, Prakash},
date = {2006-06},
journaltitle = mscs,
volume = {16},
number = {3},
pages = {429--451},
doi = {10.1017/S0960129506005251},
url = {https://www.cs.mcgill.ca/~prakash/Pubs/weakest_mscs.pdf},
abstract = {We develop a notion of predicate transformer and, in particular, the weakest precondition, appropriate for quantum computation. We show that there is a Stone-type duality between the usual state-transformer semantics and the weakest precondition semantics. Rather than trying to reduce quantum computation to probabilistic programming, we develop a notion that is directly taken from concepts used in quantum computation. The proof that weakest preconditions exist for completely positive maps follows immediately from the Kraus representation theorem. As an example, we give the semantics of Selinger's language in terms of our weakest preconditions. We also cover some specific situations and exhibit an interesting link with stabilisers.},
bibsource = qplbib
}
@inproceedings{DiazCaro2011,
title = {Measurements and Confluence in Quantum Lambda Calculi With Explicit Qubits},
author = {D{\'i}az-Caro, Alejandro and Arrighi, Pablo and Gadella, Manuel and Grattage, Jonathan},
date = {2011-02},
booktitle = {Proceedings of the Joint 5th International Workshop on Quantum Physics and Logic and 4th Workshop on Developments in Computational Models (QPL/DCM 2008)},
publisher = {Elsevier},
series = entcs,
volume = {270/1},
pages = {59--74},
doi = {10.1016/j.entcs.2011.01.006},
abstract = {This paper demonstrates how to add a measurement operator to quantum λ-calculi. A proof of the consistency of the semantics is given through a proof of confluence presented in a sufficiently general way to allow this technique to be used for other languages. The method described here may be applied to probabilistic rewrite systems in general, and to add measurement to more complex languages such as QML [Grattage, J. and T. Altenkirch, A functional quantum programming language, in: LICS '05: Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science (2005), pp. 249--258] or Lineal [Arrighi, P. and G. Dowek, A computational definition of the notion of vectorial space, Electronic Notes in Theoretical Computer Science 117 (2005), pp. 249--261; Arrighi, P. and G. Dowek, Linear-algebraic lambda-calculus: higher-order, encodings and confluence, in: B. Buchberger, editor, Term Rewriting and Applications, 19th International Conference, RTA-08, To appear in LNCS (2008), eprint available at arXiv:quant-ph/0612199], which is the subject of further research.},
keywords = {measurement, quantum lambda calculus, confluence, probabilistic rewrite system},
bibsource = qplbib
}
@inproceedings{DiazCaro2017,
title = {Typing Quantum Superpositions and Measurement},
author = {D{\'i}az-Caro, Alejandro and Dowek, Gilles},
date = {2017-11},
booktitle = {Theory and Practice of Natural Computing (TPNC 2017)},
editor = {Mart{\'i}n-Vide, Carlos and Neruda, Roman and Vega-Rodr{\'i}guez, Miguel A.},
publisher = sprintl,
address = {Cham},
series = {Lecture Notes in Computer Science},
volume = {10687},
pages = {281--293},
doi = {10.1007/978-3-319-71069-3_22},
abstract = {We propose a way to unify two approaches of non-cloning in quantum lambda-calculi. The first approach is to forbid duplicating variables, while the second is to consider all lambda-terms as algebraic-linear functions. We illustrate this idea by defining a quantum extension of first-order simply-typed lambda-calculus, where the type is linear on superposition, while allows cloning base vectors. In addition, we provide an interpretation of the calculus where superposed types are interpreted as vector spaces and non-superposed types as their basis.},
keywords = {quantum computing, lambda calculus, algebraic linearity, linear logic, measurement},
bibsource = qplbib
}
@inproceedings{DiazCaro2017a,
title = {A Lambda Calculus for Density Matrices with Classical and Probabilistic Controls},
author = {D{\'i}az-Caro, Alejandro},
date = {2017-11},
booktitle = {Programming Languages and Systems (APLAS 2017)},
editor = {Chang, Bor-Yuh Evan},
publisher = sprintl,
address = {Cham},
series = {Lecture Notes in Computer Science},
volume = {10695},
pages = {448--467},
doi = {10.1007/978-3-319-71237-6_22},
abstract = {In this paper we present two flavors of a quantum extension to the lambda calculus. The first one, 𝜆𝜌, follows the approach of classical control/quantum data, where the quantum data is represented by density matrices. We provide an interpretation for programs as density matrices and functions upon them. The second one, 𝜆∘𝜌, take advantage of the density matrices presentation in order to follow the mixed trace of programs in a kind of generalised density matrix. Such a control can be seen as a weaker form of the quantum control and data approach.},
keywords = {lambda calculus, quantum computing, density matrices, classical control},
bibsource = qplbib
}
@inproceedings{DiazCaro2019,
title = {Realizability in the Unitary Sphere},
author = {D{\'i}az-Caro, Alejandro and Guillermo, Mauricio and Miquel, Alexandre and Valiron, Beno{\^i}t},
date = {2019-06},
booktitle = {Proceedings of the 34th Annual ACM/IEEE Symposium on Logic in Computer Science},
publisher = ieee,
address = {Los Alamitos, CA, USA},
series = {{{LICS}} '19},
eid = {56},
doi = {10.1109/LICS.2019.8785834},
eprinttype = {arXiv},
eprint = {1904.08785},
abstract = {In this paper we present a semantics for a linear algebraic lambda-calculus based on realizability. This semantics characterizes a notion of unitarity in the system, answering a long standing issue. We derive from the semantics a set of typing rules for a simply-typed linear algebraic lambda-calculus, and show how it extends both to classical and quantum lambda-calculi.},
keywords = {lambda calculus, linear algebra, realizability,
classical lambda-calculi, quantum lambda-calculi, unitary},
bibsource = qplbib
}
@article{DiazCaro2019a,
title = {Two linearities for quantum computing in the lambda calculus},
author = {D{\'i}az-Caro, Alejandro and Dowek, Gilles and Rinaldi, Juan Pablo},
date = {2019-12},
journaltitle = {Biosystems},
volume = {186},
eid = {104012},
doi = {10.1016/j.biosystems.2019.104012},
eprinttype = {arXiv},
eprint = {1601.04294},
abstract = {We propose a way to unify two approaches of non-cloning in quantum lambda-calculi: logical and algebraic linearities. The first approach is to forbid duplicating variables, while the second is to consider all lambda-terms as algebraic-linear functions. We illustrate this idea by defining a quantum extension of first-order simply-typed lambda-calculus, where the type is linear on superposition, while allows cloning base vectors. In addition, we provide an interpretation of the calculus where superposed types are interpreted as vector spaces and non-superposed types as their basis.},
keywords = {quantum computing, lambda calculus, algebraic linearity, linear logic, measurement},
note = {Selected papers from the International Conference on the Theory and Practice of Natural Computing (TPNC) 2017},
webnote = {Selected papers from the International Conference on the Theory and Practice of Natural Computing (TPNC) 2017},
bibsource = qplbib
}
@inproceedings{DiazCaro2021,
title = {A New Connective in Natural Deduction, and Its Application to Quantum Computing},
author = {D{\'i}az-Caro, Alejandro and Dowek, Gilles},
date = {2021-08},
booktitle = {Theoretical Aspects of Computing -- ICTAC 2021},
editor = {Cerone, Antonio and {\"O}lveczky, Peter Csaba},
publisher = sprintl,
address = {Cham},
series = {Lecture Notes in Computer Science},
volume = {12819},
pages = {175--193},
doi = {10.1007/978-3-030-85315-0_11},
eprinttype = {arXiv},
eprint = {2012.08994},
abstract = {We investigate an unsuspected connection between non-harmonious logical connectives, such as Prior's tonk, and quantum computing. We argue that non-harmonious connectives model the information erasure, the non-reversibility, and the non-determinism that occur, among other places, in quantum measurement. We introduce a propositional logic with a non-harmonious connective sup and show that its proof language forms the core of a quantum programming language.},
bibsource = qplbib
}
@inproceedings{DiazCaro2022,
title = {A Quick Overview on the Quantum Control Approach to the Lambda Calculus},
author = {D{\'i}az-Caro, Alejandro},
date = {2022-04},
booktitle = {Proceedings of the 16th Workshop on Logical and Semantic Frameworks with Applications (LSFA), Buenos Aires, Argentina (Online), Juky 23--24, 2021},
editor = {Ayala-Rincon, Mauricio and Bonelli, Eduardo},
publisher = opa,
address = {Waterloo, NSW, Australia},
series = eptcs,
volume = {357},
pages = {1--17},
doi = {10.4204/eptcs.357.1},
abstract = {In this short overview, we start with the basics of quantum computing, explaining the difference between the quantum and the classical control paradigms. We give an overview of the quantum control line of research within the lambda calculus, ranging from untyped calculi up to categorical and realisability models. This is a summary of the last 10+ years of research in this area, starting from Arrighi and Dowek's seminal work until today.},
bibsource = qplbib
}
@article{DiazCaro2022a,
title = {Quantum Control in the Unitary Sphere: Lambda-S1 and its Categorical Model},
author = {D{\'i}az-Caro, Alejandro and Malherbe, Octavio},
date = {2022-09},
journaltitle = lmcs,
volume = {18},
number = {3},
eid = {32},
doi = {10.46298/lmcs-18(3:32)2022},
abstract = {In a recent paper, a realizability technique has been used to give a semantics of a quantum lambda calculus. Such a technique gives rise to an infinite number of valid typing rules, without giving preference to any subset of those. In this paper, we introduce a valid subset of typing rules, defining an expressive enough quantum calculus. Then, we propose a categorical semantics for it. Such a semantics consists of an adjunction between the category of distributive-action spaces of value distributions (that is, linear combinations of values in the lambda calculus), and the category of sets of value distributions.},
bibsource = qplbib
}
@misc{Echenim2021,
title = {Quantum projective measurements and the {CHSH} inequality in Isabelle/HOL},
author = {Echenim, Mnacho and Mhalla, Mehdi},
date = {2021-03},
eprinttype = {arXiv},
eprint = {2103.08535},
abstract = {We present a formalization in Isabelle/HOL of quantum projective measurements, a class of measurements involving orthogonal projectors that is frequently used in quantum computing. We also formalize the CHSH inequality, a result that holds on arbitrary probability spaces, which can used to disprove the existence of a local hidden-variable theory for quantum mechanics.},
webnote = {See also: Isabelle AFP entry \cite{Echenim2021a}},
bibsource = qplbib
}
@article{Echenim2021a,
title = {Quantum projective measurements and the CHSH inequality},
author = {Echenim, Mnacho},
date = {2021-03},
journaltitle = afp,
volume = {2021},
url = {https://isa-afp.org/entries/Projective_Measurements.html},
abstract = {This work contains a formalization of quantum projective measurements, also known as von Neumann measurements, which are based on elements of spectral theory. We also formalized the CHSH inequality, an inequality involving expectations in a probability space that is violated by quantum measurements, thus proving that quantum mechanics cannot be modeled with an underlying local hidden-variable theory.},
webnote = {Formal proof development in Isabelle, supplement to \cite{Echenim2021}},
bibsource = qplbib
}
@article{Feng2021,
title = {Quantum Hoare Logic with Classical Variables},
author = {Feng, Yuan and Ying, Mingsheng},
date = {2021-12},
journaltitle = tqc,
volume = {2},
number = {4},
eid = {16},
doi = {10.1145/3456877},
eprinttype = {arXiv},
eprint = {2008.06812},
abstract = {Hoare logic provides a syntax-oriented method to reason about program correctness and has been proven effective in the verification of classical and probabilistic programs. Existing proposals for quantum Hoare logic either lack completeness or support only quantum variables, thus limiting their capability in practical use. In this article, we propose a quantum Hoare logic for a simple while language that involves both classical and quantum variables. Its soundness and relative completeness are proven for both partial and total correctness of quantum programs written in the language. Remarkably, with novel definitions of classical-quantum states and corresponding assertions, the logic system is quite simple and similar to the traditional Hoare logic for classical programs. Furthermore, to simplify reasoning in real applications, auxiliary proof rules are provided that support standard logical operation in the classical part of assertions and super-operator application in the quantum part. Finally, a series of practical quantum algorithms, in particular the whole algorithm of Shor's factorisation, are formally verified to show the effectiveness of the logic.},
keywords = {quantum while language, quantum programming, hoare logic},
bibsource = qplbib
}
@article{Feng2022,
title = {Verification of Distributed Quantum Programs},
author = {Feng, Yuan and Li, Sanjiang and Ying, Mingsheng},
date = {2022-07},
journaltitle = tocl,
volume = {23},
number = {3},
eid = {19},
doi = {10.1145/3517145},
eprinttype = {arXiv},
eprint = {2104.14796},
abstract = {Distributed quantum systems and especially the Quantum Internet have the ever-increasing potential to fully demonstrate the power of quantum computation. This is particularly true given that developing a general-purpose quantum computer is much more difficult than connecting many small quantum devices. One major challenge of implementing distributed quantum systems is programming them and verifying their correctness. In this paper, we propose a CSP-like distributed programming language to facilitate the specification and verification of such systems. After presenting its operational and denotational semantics, we develop a Hoare-style logic for distributed quantum programs and establish its soundness and (relative) completeness with respect to both partial and total correctness. The effectiveness of the logic is demonstrated by its applications in the verification of quantum teleportation and local implementation of non-local CNOT gates, two important algorithms widely used in distributed quantum systems.},
keywords = {distributed computing, quantum programming, formal verification, hoare logic},
bibsource = qplbib
}
@inproceedings{Fu2020,
title = {Linear {{Dependent Type Theory}} for {{Quantum Programming Languages}}: {{Extended Abstract}}},
shorttitle = {Linear {{Dependent Type Theory}} for {{Quantum Programming Languages}}},
author = {Fu, Peng and Kishida, Kohei and Selinger, Peter},
date = {2020-07},
booktitle = {Proceedings of the 35th Annual ACM/IEEE Symposium on Logic in Computer Science},
publisher = acm,
location = {New York, NY, USA},
series = {{{LICS}} '20},
pages = {440--453},
doi = {10.1145/3373718.3394765},
abstract = {Modern quantum programming languages integrate quantum resources and classical control. They must, on the one hand, be linearly typed to reflect the no-cloning property of quantum resources. On the other hand, high-level and practical languages should also support quantum circuits as first-class citizens, as well as families of circuits that are indexed by some classical parameters. Quantum programming languages thus need linear dependent type theory. This paper defines a general semantic structure for such a type theory via certain fibrations of monoidal categories. The categorical model of the quantum circuit description language Proto-Quipper-M by Rios & Selinger constitutes an example of such a fibration, which means that the language can readily be integrated with dependent types. We then devise both a general linear dependent type system and a dependently typed extension of Proto-Quipper-M, and provide them with operational semantics as well as a prototype implementation.},
keywords = {proto-quipper-d, fibration, categorical model, quantum programming languages, linear dependent types, proto-quipper-m},
webnote = {See expanded version at \cite{Fu2022b}},
bibsource = qplbib
}
@inproceedings{Fu2020a,
title = {A Tutorial Introduction to Quantum Circuit Programming in Dependently Typed Proto-Quipper},
author = {Fu, Peng and Kishida, Kohei and Ross, Neil J. and Selinger, Peter},
date = {2020-07},
booktitle = {Reversible Computation (RC '20)},
editor = {Lanese, Ivan and Rawski, Mariusz},
publisher = sprintl,
location = {Cham},
series = lncs,
volume = {12227},
pages = {153--168},
doi = {10.1007/978-3-030-52482-1_9},
eprinttype = {arXiv},
eprint = {2005.08396},
abstract = {We introduce dependently typed Proto-Quipper, or Proto-Quipper-D for short, an experimental quantum circuit programming language with linear dependent types. We give several examples to illustrate how linear dependent types can help in the construction of correct quantum circuits. Specifically, we show how dependent types enable programming families of circuits, and how dependent types solve the problem of type-safe uncomputation of garbage qubits. We also discuss other language features along the way.},
keywords = {quantum programming languages, linear dependent types, proto-quipper-d},
bibsource = qplbib
}
@inproceedings{Fu2022a,
title = {A biset-enriched categorical model for Proto-Quipper with dynamic lifting},
author = {Fu, Peng and Kishida, Kohei and Ross, Neil J. and Selinger, Peter},
date = {2022-04},
booktitle = {Proceedings of the 19th International Conference on Quantum Physics and Logic (QPL), Oxford, U.K., June 27--July 1, 2022},
publisher = opa,
eprinttype = {arXiv},
eprint = {2204.13039},
abstract = {Quipper and Proto-Quipper are a family of quantum programming languages that, by their nature as circuit description languages, involve two runtimes: one at which the program generates a circuit and one at which the circuit is executed, normally with probabilistic results due to measurements. Accordingly, the language distinguishes two kinds of data: parameters, which are known at circuit generation time, and states, which are known at circuit execution time. Sometimes, it is desirable for the results of measurements to control the generation of the next part of the circuit. Therefore, the language needs to turn states, such as measurement outcomes, into parameters, an operation we call dynamic lifting. The goal of this paper is to model this interaction between the runtimes by providing a general categorical structure enriched in what we call "bisets". We demonstrate that the biset-enriched structure achieves a proper semantics of the two runtimes and their interaction, by showing that it models a variant of Proto-Quipper with dynamic lifting. The present paper deals with the concrete categorical semantics of this language, whereas a companion paper [FKRS2022a] deals with the syntax, type system, operational semantics, and abstract categorical semantics.},
keywords = {proto-quipper-dyn, proto-quipper, quipper, categorical semantics},
note = {To appear},
webnote = {See the companion paper \cite{Fu2023}},
bibsource = qplbib
}
@article{Fu2022b,
title = {{Linear Dependent Type Theory for Quantum Programming Languages}},
author = {Fu, Peng and Kishida, Kohei and Selinger, Peter},
date = {2022-09},
journaltitle = lmcs,
volume = {18},
number = {3},
eid = {28},
doi = {10.46298/lmcs-18(3:28)2022},
abstract = {Modern quantum programming languages integrate quantum resources and classical control. They must, on the one hand, be linearly typed to reflect the no-cloning property of quantum resources. On the other hand, high-level and practical languages should also support quantum circuits as first-class citizens, as well as families of circuits that are indexed by some classical parameters. Quantum programming languages thus need linear dependent type theory. This paper defines a general semantic structure for such a type theory via certain fibrations of monoidal categories. The categorical model of the quantum circuit description language Proto-Quipper-M by Rios and Selinger (2017) constitutes an example of such a fibration, which means that the language can readily be integrated with dependent types. We then devise both a general linear dependent type system and a dependently typed extension of Proto-Quipper-M, and provide them with operational semantics as well as a prototype implementation.},
keywords = {proto-quipper-d, fibration, categorical model, quantum programming languages, linear dependent types, proto-quipper-m},
webnote = {Expanded version of \cite{Fu2020}},
bibsource = qplbib
}
@article{Fu2023,
title = {Proto-Quipper with Dynamic Lifting},
author = {Fu, Peng and Kishida, Kohei and Ross, Neil J. and Selinger, Peter},
date = {2023-01},
journaltitle = pacmpl,
volume = {7},
number = {POPL},
eid = {11},
doi = {10.1145/3571204},
eprinttype = {arXiv},
eprint = {2204.13041},
url = {https://gitlab.com/frank-peng-fu/dpq-remake},
abstract = {Quipper is a functional programming language for quantum computing. Proto-Quipper is a family of languages aiming to provide a formal foundation for Quipper. In this paper, we extend Proto-Quipper-M with a construct called dynamic lifting, which is present in Quipper. By virtue of being a circuit description language, Proto-Quipper has two separate runtimes: circuit generation time and circuit execution time. Values that are known at circuit generation time are called parameters, and values that are known at circuit execution time are called states. Dynamic lifting is an operation that enables a state, such as the result of a measurement, to be lifted to a parameter, where it can influence the generation of the next portion of the circuit. As a result, dynamic lifting enables Proto-Quipper programs to interleave classical and quantum computation. We describe the syntax of a language we call Proto-Quipper-Dyn. Its type system uses a system of modalities to keep track of the use of dynamic lifting. We also provide an operational semantics, as well as an abstract categorical semantics for dynamic lifting based on enriched category theory. We prove that both the type system and the operational semantics are sound with respect to our categorical semantics. Finally, we give some examples of Proto-Quipper-Dyn programs that make essential use of dynamic lifting.},
keywords = {proto-quipper-dyn, proto-quipper-m, proto-quipper, quipper, quantum programming languages, categorical semantics, dynamic lifting},
webnote = {POPL '23. Also see the companion paper \cite{Fu2022a}},
bibsource = qplbib
}
@inproceedings{Gay2005,
title = {Communicating Quantum Processes},
author = {Gay, Simon J. and Nagarajan, Rajagopal},
date = {2005-01},
booktitle = {Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
publisher = acm,
location = {New York, NY, USA},
series = {{{POPL}} '05},
pages = {145--157},
doi = {10.1145/1040305.1040318},
eprinttype = {arXiv},
eprint = {quant-ph/0409052},
url = {http://www.dcs.gla.ac.uk/~simon/publications/CQP-POPL.pdf},
abstract = {We define a language CQP (Communicating Quantum Processes) for modelling systems which combine quantum and classical communication and computation. CQP combines the communication primitives of the pi-calculus with primitives for measurement and transformation of quantum state; in particular, quantum bits (qubits) can be transmitted from process to process along communication channels. CQP has a static type system which classifies channels, distinguishes between quantum and classical data, and controls the use of quantum state. We formally define the syntax, operational semantics and type system of CQP, prove that the semantics preserves typing, and prove that typing guarantees that each qubit is owned by a unique process within a system. We illustrate CQP by defining models of several quantum communication systems, and outline our plans for using CQP as the foundation for formal analysis and verification of combined quantum and classical systems.},
keywords = {quantum computing, semantics, verification, types, quantum communication, formal language},
bibsource = qplbib
}
@article{Gay2006,
title = {Quantum Programming Languages: Survey and Bibliography},
author = {Gay, Simon J.},
date = {2006-08},
journaltitle = mscs,
volume = {16},
number = {4},
pages = {581--600},
doi = {10.1017/S0960129506005378},
url = {http://www.dcs.gla.ac.uk/~simon/quantum/},
abstract = {The field of quantum programming languages is developing rapidly and there is a surprisingly large literature. Research in this area includes the design of programming languages for quantum computing, the application of established semantic and logical techniques to the foundations of quantum mechanics, and the design of compilers for quantum programming languages. This article justifies the study of quantum programming languages, presents the basics of quantum computing, surveys the literature in quantum programming languages, and indicates directions for future research.},
bibsource = qplbib
}
@inproceedings{Gay2008,
title = {QMC: A Model Checker for Quantum Systems},
author = {Gay, Simon J. and Nagarajan, Rajagopal and Papanikolaou, Nikolaos},
date = {2008-07},
booktitle = {Computer Aided Verification (CAV '08)},
editor = {Gupta, Aarti and Malik, Sharad},
publisher = {Springer},
location = {Berlin, Heidelberg},
series = lncs,
volume = {5123},
pages = {543--547},
doi = {10.1007/978-3-540-70545-1_51},
eprinttype = {arXiv},
eprint = {0704.3705},
abstract = {The novel field of quantum computation and quantum information has been growing at a rapid rate; the study of quantum information in particular has led to the emergence of communication and cryptographic protocols with no classical analogues. Quantum information protocols have interesting properties which are not exhibited by their classical counterparts, but they are most distinguished for their applications in cryptography. Notable results include the unconditional security proof [1] of quantum key distribution. This result, in particular, is one of the reasons for the widespread interest in this field. Furthermore, the implementation of quantum cryptography has been demonstrated in non-laboratory settings and is already an important practical technology. Implementations of quantum cryptography have already been commercially launched and tested by a number of companies including MagiQ, Id Quantique, Toshiba, and NEC. The unconditional security of quantum key distribution protocols does not automatically imply the same degree of security for actual systems, of course; this justifies the need for systems modelling and verification in this setting.},
webnote = {Tool paper},
bibsource = qplbib
}
@collection{Gay2009,
title = {Semantic Techniques in Quantum Computation},
date = {2009-11},
editor = {Gay, Simon J. and Mackie, Ian},
publisher = cup,
location = {Cambridge},
doi = {10.1017/CBO9781139193313},
abstract = {The study of computational processes based on the laws of quantum mechanics has led to the discovery of new algorithms, cryptographic techniques, and communication primitives. This book explores quantum computation from the perspective of the branch of theoretical computer science known as semantics, as an alternative to the more well-known studies of algorithmics, complexity theory, and information theory. It collects chapters from leading researchers in the field, discussing the theory of quantum programming languages, logics and tools for reasoning about quantum systems, and novel approaches to the foundations of quantum mechanics. This book is suitable for graduate students and researchers in quantum information and computation, as well as those in semantics, who want to learn about a new field arising from the application of semantic techniques to quantum information and computation.},
bibsource = qplbib
}
@article{Gheorghiu2018,
title = {Quantum++: A modern C++ quantum computing library},
author = {Gheorghiu, Vlad},
date = {2018-12},
journaltitle = {PLoS ONE},
volume = {13},
number = {12},
eid = {e0208073},
doi = {10.1371/journal.pone.0208073},
url = {https://github.com/softwareQinc/qpp},
abstract = {Quantum++ is a modern general-purpose multi-threaded quantum computing library written in C++11 and composed solely of header files. The library is not restricted to qubit systems or specific quantum information processing tasks, being capable of simulating arbitrary quantum processes. The main design factors taken in consideration were the ease of use, portability, and performance. The library's simulation capabilities are only restricted by the amount of available physical memory. On a typical machine (Intel i5 8Gb RAM) Quantum++ can successfully simulate the evolution of 25 qubits in a pure state or of 12 qubits in a mixed state reasonably fast. The library also includes support for classical reversible logic, being able to simulate classical reversible operations on billions of bits. This latter feature may be useful in testing quantum circuits composed solely of Toffoli gates, such as certain arithmetic circuits.},
keywords = {quantum computing, libraries, logic circuits, open source software},
bibsource = qplbib
}
@inproceedings{Grattage2011,
title = {An Overview of QML With a Concrete Implementation in Haskell},
author = {Grattage, Jonathan},
date = {2011-02},
booktitle = {Proceedings of the Joint 5th International Workshop on Quantum Physics and Logic and 4th Workshop on Developments in Computational Models (QPL/DCM 2008)},
publisher = {Elsevier},
series = entcs,
volume = {270/1},
pages = {165--174},
doi = {10.1016/j.entcs.2011.01.015},
eprinttype = {arXiv},
eprint = {0806.2735},
abstract = {This paper gives an introduction to and overview of the functional quantum programming language QML. The syntax of this language is defined and explained, along with a new QML definition of the quantum teleport algorithm. The categorical operational semantics of QML is also briefly introduced, in the form of annotated quantum circuits. This definition leads to a denotational semantics, given in terms of superoperators. Finally, an implementation in Haskell of the semantics for QML is presented as a compiler. The compiler takes QML programs as input, which are parsed into a Haskell datatype. The output from the compiler is either a quantum circuit (operational), an isometry (pure denotational) or a superoperator (impure denotational). Orthogonality judgements and problems with coproducts in QML are also discussed.},
webnote = {See \cite{Altenkirch2005} for original description of QML},
bibsource = qplbib
}
@thesis{Green2010,
title = {Towards a Formally Verified Functional Quantum Programming Language},
author = {Green, Alexander S.},
date = {2010-07},
type = {phdthesis},
institution = {University of Nottingham},
url = {http://eprints.nottingham.ac.uk/11457/},
abstract = {This thesis looks at the development of a framework for a functional quantum programming language. The framework is first developed in Haskell, looking at how a monadic structure can be used to explicitly deal with the side-effects inherent in the measurement of quantum systems, and goes on to look at how a dependently-typed reimplementation in Agda gives us the basis for a formally verified quantum programming language. The two implementations are not in themselves fully developed quantum programming languages, as they are embedded in their respective parent languages, but are a major step towards the development of a full formally verified, functional quantum programming language. Dubbed the ``Quantum IO Monad'', this framework is designed following a structural approach as given by a categorical model of quantum computation.},
keywords = {quantum programming, haskell, monadic structure, quantum io monad},
bibsource = qplbib
}
@inproceedings{Green2013,
title = {Quipper: {{A Scalable Quantum Programming Language}}},
shorttitle = {Quipper},
author = {Green, Alexander S. and Lumsdaine, Peter LeFanu and Ross, Neil J. and Selinger, Peter and Valiron, Beno{\^i}t},
date = {2013-06},
booktitle = {Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation},
publisher = acm,
location = {New York, NY, USA},
series = {{{PLDI}} '13},
pages = {333--342},
doi = {10.1145/2491956.2462177},
eprinttype = {arXiv},
eprint = {1304.3390},
abstract = {The field of quantum algorithms is vibrant. Still, there is currently a lack of programming languages for describing quantum computation on a practical scale, i.e., not just at the level of toy problems. We address this issue by introducing Quipper, a scalable, expressive, functional, higher-order quantum programming language. Quipper has been used to program a diverse set of non-trivial quantum algorithms, and can generate quantum gate representations using trillions of gates. It is geared towards a model of computation that uses a classical computer to control a quantum device, but is not dependent on any particular model of quantum hardware. Quipper has proven effective and easy to use, and opens the door towards using formal methods to analyze quantum algorithms.},
keywords = {quipper, quantum programming languages},
bibsource = qplbib
}
@inproceedings{Green2013a,