MIT developed a programming language to describe and verify which pieces of data are entangled, preventing bugs in a quantum program. When qubits are entangled, action on one affects the other, also changing its value—even at a distance. The problem is if a program eliminates one qubit, it can also destroy data stored in the other if entangled.
Scientists from MIT’s Computer Science and Artificial Intelligence (CSAIL) created a programming language for quantum computing called Twist that can describe and verify which pieces of data are entangled in a quantum program. Using a concept called “purity” that enforces the absence of entanglement resulting in more intuitive programs, a programmer can use Twist to say that the temporary data generated as garbage by a program is not entangled with the program’s answer so that it is safe to throw away.
Twist allows a developer to write safer quantum programs by explicitly stating when a qubit must not be entangled with another. The scientists designed Twist to be expressive enough to write programs for well-known quantum algorithms and identify bugs in their implementations. They also measured how well the programs performed in practice in terms of runtime, which had less than 4 percent overhead over existing quantum programming techniques.