Quantum computation and quantum information
Quantum computation and quantum information
Towards a quantum programming language
Mathematical Structures in Computer Science
A Functional Quantum Programming Language
LICS '05 Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
A lambda calculus for quantum computation with classical control
Mathematical Structures in Computer Science
Quantum programming languages: survey and bibliography
Mathematical Structures in Computer Science
Hi-index | 0.00 |
A block is a language construct in programming that temporarily enlarges the state space. It is typically opened by initialising some local variables, and closed via a return statement. The ''scope'' of these local variables is then restricted to the block in which they occur. In quantum computation such temporary extensions of the state space also play an important role. This paper axiomatises ''logical'' blocks in a categorical manner. Opening a block may happen via a measurement, so that the block captures the various possibilities that result from the measurement. Following work of Coecke and Pavlovic we sho that von Neumann projective measurements can be described as an Eilenberg-Moore coalgebra of a comonad associated with a particular kind of block structure. Closing of a block involves a collapse of options. Such blocks are investigated in non-deterministic, probabilistic, and quantum computation. In the latter setting it is shown that there are two block structures in the category of C^@?-algebras, via copowers and via matrices.