×

Distributed quantum programming. (English) Zbl 1251.68115

Summary: In this paper we explore the structure and applicability of the distributed measurement calculus (DMC), an assembly language for distributed measurement-based quantum computations. We describe the formal language’s syntax and semantics, both operational and denotational, and state several properties that are crucial to the practical usability of our language, such as equivalence of our semantics, as well as compositionality and context-freeness of DMC programs. We show how to put these properties to use by constructing a composite program that implements distributed controlled operations, in the knowledge that the semantics of this program does not change under the various composition operations. Our formal model is the basis of a quantum virtual machine construction for distributed quantum computations, which we elaborate upon in the latter part of this work. This virtual machine embodies the formal semantics of DMC such that programming execution no longer needs to be analysed by hand. Far from a literal translation, it requires a substantial concretisation of the formal model at the level of data structures, naming conventions and abstraction mechanisms. At the same time we provide automatisation techniques for program specification where possible to obtain an expressive and user-friendly programming environment.

MSC:

68Q12 Quantum algorithms and complexity in the theory of computing
68Q55 Semantics in the theory of computing
81P68 Quantum computation

Software:

QPL

References:

[1] Adão P, Mateus P (2005) A process algebra for reasoning about quantum security. In: Selinger P (ed) Proceedings of the 3rd workshop on quantum programming languages (QPL04), pp 3–20 · Zbl 1277.68157
[2] Bennett C, Brassard G (1984) Quantum cryptography: public key distribution and coin tossing. In: Proceedings of the IEEE international conference on computers, systems and signal processing, Bangalore, India · Zbl 1306.81030
[3] Bose S, Vedral V, Knight PL (1998) Multiparticle generalization of entanglement swapping. Phys Rev A 57(2):822–829 · doi:10.1103/PhysRevA.57.822
[4] Brock J, Ackerman W (1981) Scenarios: a model of non-determinate computation. In: Diaz J, Ramos I (eds) Formalizations of programming concepts, vol 107. Springer-Verlag, New York
[5] Danos V, D’Hondt E, Kashefi E, Panangaden P (2005) Distributed measurement-based quantum computation. In: Selinger P (ed) Proceedings of the 3rd international workshop on quantum programming languages (QPL 2005), volume 170 of ENTCS, pp 73–94, quant-ph/0506070 · Zbl 1277.68174
[6] Danos V, Kashefi E, Panangaden P (2007) The measurement calculus. JACM 54(2). doi: 10.1145/1219092.1219096 . quant-ph/0704.1263v1 · Zbl 1311.81076
[7] Desmet B, D’Hondt E, Costanza P, D’Hondt T (2006) Simulation of quantum computations in Lisp. In: Lisp workshop at ECOOP (submitted)
[8] D’Hondt E (2005) Distributed quantum computation–a measurement-based approach. PhD thesis, Vrije Universiteit Brussel
[9] Gay SJ, Nagarajan R (2004) Communicating quantum processes. In: Selinger P (ed) Proceedings of the 2nd workshop on quantum programming languages (QPL04), Turku, Finland. Turku Centre for Computer Science, TUCS General Publication no. 33 · Zbl 1369.68207
[10] Gay SJ, Nagarajan R, Papanikolaou N (2005) Probabilistic model-checking of quantum protocols. In: Proceedings of the 2nd international workshop on developments in computational models (DCM 2006)
[11] Gordon M, Thies W, and Amarasinghe S (2006) Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. ACM SIGOPS Oper Syst Rev 40(5):162
[12] Jorrand P, Lalire M (2005) Toward a quantum process algebra. In: Proceedings of the first conference on computing frontiers. ACM Press, pp 111–119
[13] Lalire M, Jorrand P (2004) A process algebraic approach to concurrent and distributed quantum computation: operational semantics. In: Selinger P (ed) Proceedings of the 2nd workshop on Quantum Programming Languages (QPL04), Turku, Finland. Turku Centre for Computer Science, TUCS General Publication no. 33
[14] McCarthy J (1960) Recursive functions of symbolic expressions and their computation by machine. Commun ACM 3:184–195 · Zbl 0101.10413
[15] Nielsen MA, Chuang I (2000) Quantum computation and quantum information. Cambridge University Press, Cambridge · Zbl 1049.81015
[16] Raedt KD, Michielsen K, Raedt HD, Trieu B, Arnold G, Richter M, Lippert T, Watanabe H, Ito N (2006) Massive parallel quantum computer simulator. quant-ph/0608239
[17] Raussendorf R, Browne DE, Briegel HJ (2003) Measurement-based quantum computation on cluster states. Phys Rev A 68(2):022312 · doi:10.1103/PhysRevA.68.022312
[18] Selinger P (2003) Towards a quantum programming language. Math Struct Comput Sci 14(4):527–586 · Zbl 1085.68014
[19] Svore KM, Aho AV, Cross AW, Chuang IL, Markov IL (2006) A layered software architecture for quantum computing design tools. IEEE Comput 39(1):74–83 · doi:10.1109/MC.2006.4
[20] Verhaegen S (2009) Stream programming for quantum computing. Master’s thesis, Vrije Universiteit Brussel
[21] Yimsiriwattana A, Lomonaco SJ (2005) Generalized GHZ states and distributed quantum computing. AMS Contemp Math 381:131–147 · Zbl 1081.68023
[22] Zukowski M, Zeilinger A, Horne MA, Ekert A (1993) ”Event-ready detectors” Bell experiment via entanglement swapping. Phys Rev Lett 71(26):4287–4290 · doi:10.1103/PhysRevLett.71.4287
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.