PLQUANT-PHNov 16, 2024

Qurts: Automatic Quantum Uncomputation by Affine Types with Lifetime

arXiv:2411.108353 citationsh-index: 27
AI Analysis

This work addresses the subtlety of automatic uncomputation in quantum programming for language designers and compiler developers, offering a uniform solution that bridges linear and affine type systems.

Qurts introduces a type system for automatic quantum uncomputation by parameterising types with lifetimes, enabling affine usage within lifetimes and linear usage outside. The framework provides two operational semantics, one for classical simulation and one independent of uncomputation strategy.

Uncomputation is a feature in quantum programming that allows the programmer to discard a value without losing quantum information, and that allows the compiler to reuse resources. Whereas quantum information has to be treated linearly by the type system, automatic uncomputation enables the programmer to treat it affinely to some extent. Automatic uncomputation requires a substructural type system between linear and affine, a subtlety that has only been captured by existing languages in an ad hoc way. We extend the Rust type system to the quantum setting to give a uniform framework for automatic uncomputation called Qurts (pronounced quartz). Specifically, we parameterise types by lifetimes, permitting them to be affine during their lifetime, while being restricted to linear use outside their lifetime. We also provide two operational semantics: one based on classical simulation, and one that does not depend on any specific uncomputation strategy.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes