一句话:为混合经典-量子变分编程语言建立可靠且计算充分的指称语义,连接概率与量子模型。
本文研究一个可同时处理经典与量子信息的类型安全语言,面向变分量子编程这一经典-量子混合计算范式。经典子系统采用 Probabilistic FixPoint Calculus(PFPC),包含混合变差递归类型、项递归与概率选择;量子子系统是一阶线性类型系统,用于操作量子信息。两者通过混合经典/量子项关联:量子测量诱导经典概率效应,经典概率程序也可影响量子动力学。作者给出该语言的可靠且计算充分的指称语义:经典概率效应由 DCPO 上近期提出的交换概率 monad 解释,量子效应与资源在 von Neumann 代数范畴中解释,并证明该范畴对连续 domain 富集。利用这一富集结构,论文对经典概率编程与量子编程的 domain 论模型进行了细致关联分析。
We consider a programming language that can manipulate both classical and quantum information. Our language is type-safe and designed for variational quantum programming, which is a hybrid classical-quantum computational paradigm. The classical subsystem of the language is the Probabilistic FixPoint Calculus (PFPC), which is a lambda calculus with mixed-variance recursive types, term recursion and probabilistic choice. The quantum subsystem is a first-order linear type system that can manipulate quantum information. The two subsystems are related by mixed classical/quantum terms that specify how classical probabilistic effects are induced by quantum measurements, and conversely, how classical (probabilistic) programs can influence the quantum dynamics. We also describe a sound and computationally adequate denotational semantics for the language. Classical probabilistic effects are interpreted using a recently-described commutative probabilistic monad on DCPO. Quantum effects and resources are interpreted in a category of von Neumann algebras that we show is enriched over (continuous) domains. This strong sense of enrichment allows us to develop novel semantic methods that we use to interpret the relationship between the quantum and classical probabilistic effects. By doing so we provide a very detailed denotational analysis that relates domain-theoretic models of classical probabilistic programming to models of quantum programming.
@article{paperbot1585,
title = {Semantics for variational Quantum programming},
author = {Xiaodong Jia and Andre Kornell and Bert Lindenhovius and Michael Mislove and Vladimir Zamdzhiev},
journal = {Proceedings of the ACM on Programming Languages},
volume = {6},
number = {POPL},
year = {2022},
doi = {10.1145/3498687}
}