Qurts: Automatic Quantum Uncomputation by Affine Types with Lifetime

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Hirata, Kengo, Heunen, Chris
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866917448833302528
author Hirata, Kengo
Heunen, Chris
author_facet Hirata, Kengo
Heunen, Chris
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2411_10835
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Qurts: Automatic Quantum Uncomputation by Affine Types with Lifetime
Hirata, Kengo
Heunen, Chris
Programming Languages
Quantum Physics
D.3.1; F.3.1; F.3.2
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.
title Qurts: Automatic Quantum Uncomputation by Affine Types with Lifetime
topic Programming Languages
Quantum Physics
D.3.1; F.3.1; F.3.2
url https://arxiv.org/abs/2411.10835