Tower: Data Structures in Quantum Superposition

05/20/2022
by   Charles Yuan, et al.
0

Emerging quantum algorithms for problems such as element distinctness, subset sum, and closest pair demonstrate computational advantages by relying on abstract data structures. Practically realizing such an algorithm as a program for a quantum computer requires an efficient implementation of the data structure whose operations correspond to unitary operators that manipulate quantum superpositions of data. To correctly operate in superposition, an implementation must satisfy three properties – reversibility, history independence, and bounded-time execution. Standard implementations, such as the representation of an abstract set as a hash table, fail these properties, calling for tools to develop specialized implementations. In this work, we present Core Tower, the first language for quantum programming with random-access memory. Core Tower enables the developer to implement data structures as pointer-based, linked data. It features a reversible semantics enabling every valid program to be translated to a unitary quantum circuit. We present Boson, the first memory allocator that supports reversible, history-independent, and constant-time dynamic memory allocation in quantum superposition. We also present Tower, a language for quantum programming with recursively defined data structures. Tower features a type system that bounds all recursion using classical parameters as is necessary for a program to execute on a quantum computer. Using Tower, we implement Ground, the first quantum library of data structures, including lists, stacks, queues, strings, and sets. We provide the first executable implementation of sets that satisfies all three mandated properties of reversibility, history independence, and bounded-time execution.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/19/2022

Quantum implementation of circulant matrices and its use in quantum string processing

Strings problems in general can be solved faster by using special data s...
research
11/21/2021

Qimaera: Type-safe (Variational) Quantum Programming in Idris

Variational Quantum Algorithms are hybrid classical-quantum algorithms w...
research
10/20/2022

Noisy Tree Data Structures and Quantum Applications

The paper presents a technique for constructing noisy data structures ca...
research
04/14/2021

Engineering Predecessor Data Structures for Dynamic Integer Sets

We present highly optimized data structures for the dynamic predecessor ...
research
05/19/2022

Primrose: Selecting Container Data Types by their Properties

Container data types are ubiquitous in computer programming, enabling de...
research
02/05/2020

Nomen Mum Earl: yet another route to intelligent machine behavior

Abstract—A unifying machine learning algorithm is proposed, in which ...
research
03/10/2022

Memory Compression with Quantum Random-Access Gates

In the classical RAM, we have the following useful property. If we have ...

Please sign up or login with your details

Forgot password? Click here to reset