What is it about?

Computers are devices we use to make nature solve problems for us. Quantum computers use properties of quantum systems to compute the answers for us. This allows them to do some things much faster and better than current computers, that only use the laws of Newtonian mechanics. Now, the rules of quantum theory are reversible. So in principle you could run a quantum program backwards and turn the output back into the input. But not when you want to actually know the answer. Asking a quantum program for its answer to your question is fundamentally irreversible. Therefore this usually happens only at the very end of the computation. This research gives a quantum programming language where you can ask for answers at any time. Moreover, it gives a way to translate such a quantum program into a fully reversible one where you never ask for an answer. This means you can tell, without looking at a quantum program, if it measures data while running or not. The catch is that the reversible version is larger, and you have to ignore parts of its input and output to get your answers. The main insight is to track exactly how data gets copied and deleted.

Featured Image

Why is it important?

The nice thing about this programming language is that it is not only about quantum programs. It works just as well for other computational settings where it turns an irreversible program into a reversible one with garbage input and output. In that sense it explains exactly the universal status of measurement in quantum computation. It is unclear how to build a good quantum programming language yet, because it is unclear what the best building blocks of such a language should be, which should both be intuitive to human programmers and scalable, but also map onto physical operations that are easy to implement. This research is an important contribution to this search.

Read the Original

This page is a summary of: Quantum information effects, Proceedings of the ACM on Programming Languages, January 2022, ACM (Association for Computing Machinery), DOI: 10.1145/3498663.
You can read the full text:



The following have contributed to this page