Proto-Quipper with dynamic lifting
- URL: http://arxiv.org/abs/2204.13041v2
- Date: Tue, 8 Nov 2022 20:56:01 GMT
- Title: Proto-Quipper with dynamic lifting
- Authors: Peng Fu, Kohei Kishida, Neil J. Ross, Peter Selinger
- Abstract summary: We extend Proto-Quipper-M with a construct called dynamic lifting, which is present in Quipper.
Dynamic lifting enables Proto-Quipper programs to interleave classical and quantum computation.
- Score: 1.5274311118568713
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Quipper is a functional programming language for quantum computing.
Proto-Quipper is a family of languages aiming to provide a formal foundation
for Quipper. In this paper, we extend Proto-Quipper-M with a construct called
dynamic lifting, which is present in Quipper. By virtue of being a circuit
description language, Proto-Quipper has two separate runtimes: circuit
generation time and circuit execution time. Values that are known at circuit
generation time are called parameters, and values that are known at circuit
execution time are called states. Dynamic lifting is an operation that enables
a state, such as the result of a measurement, to be lifted to a parameter,
where it can influence the generation of the next portion of the circuit. As a
result, dynamic lifting enables Proto-Quipper programs to interleave classical
and quantum computation. We describe the syntax of a language we call
Proto-Quipper-Dyn. Its type system uses a system of modalities to keep track of
the use of dynamic lifting. We also provide an operational semantics, as well
as an abstract categorical semantics for dynamic lifting based on enriched
category theory. We prove that both the type system and the operational
semantics are sound with respect to our categorical semantics. Finally, we give
some examples of Proto-Quipper-Dyn programs that make essential use of dynamic
lifting.
Related papers
- Dictionary Learning Improves Patch-Free Circuit Discovery in Mechanistic
Interpretability: A Case Study on Othello-GPT [59.245414547751636]
We propose a circuit discovery framework alternative to activation patching.
Our framework suffers less from out-of-distribution and proves to be more efficient in terms of complexity.
We dig in a small transformer trained on a synthetic task named Othello and find a number of human-understandable fine-grained circuits inside of it.
arXiv Detail & Related papers (2024-02-19T15:04:53Z) - Circuit Width Estimation via Effect Typing and Linear Dependency (Long
Version) [1.3597551064547502]
We present Proto-Quipper-R, a circuit description language endowed with a linear dependent type-and-effect system.
We show that our approach is expressive enough to verify realistic quantum algorithms.
arXiv Detail & Related papers (2023-10-29T18:10:31Z) - Generative Models as a Complex Systems Science: How can we make sense of
large language model behavior? [75.79305790453654]
Coaxing out desired behavior from pretrained models, while avoiding undesirable ones, has redefined NLP.
We argue for a systematic effort to decompose language model behavior into categories that explain cross-task performance.
arXiv Detail & Related papers (2023-07-31T22:58:41Z) - OrdinalCLIP: Learning Rank Prompts for Language-Guided Ordinal
Regression [94.28253749970534]
We propose to learn the rank concepts from the rich semantic CLIP latent space.
OrdinalCLIP consists of learnable context tokens and learnable rank embeddings.
Experimental results show that our paradigm achieves competitive performance in general ordinal regression tasks.
arXiv Detail & Related papers (2022-06-06T03:54:53Z) - A Biset-Enriched Categorical Model for Proto-Quipper with Dynamic
Lifting [0.0]
Quipper and Proto-Quipper are family of quantum programming languages.
Quipper and Proto-Quipper involve two runtimes: one at which the program generates a circuit and one at which the circuit is executed.
arXiv Detail & Related papers (2022-04-27T16:33:06Z) - On Dynamic Lifting and Effect Typing in Circuit Description Languages
(Extended Version) [0.0]
We introduce a generalization of the paradigmatic-calculus Proto-Quipper-M, itself modeling the core features of the quantum circuit description language Quipper.
The extension, called Proto-Quipper-K, is meant to capture a very general form of dynamic lifting.
arXiv Detail & Related papers (2022-02-15T18:33:41Z) - Concrete Categorical Model of a Quantum Circuit Description Language
with Measurement [7.439160287320074]
We introduce dynamic lifting to a quantum circuit-description language, following the Proto-Quipper language approach.
We propose a type system and an operational semantics for the language and we state safety properties.
Our approach is to construct on top of a concrete category of circuits with measurements a Kleisli category, capturing as a side effect the action of retrieving classical content out of a quantum memory.
arXiv Detail & Related papers (2021-10-06T12:29:03Z) - Searching for More Efficient Dynamic Programs [61.79535031840558]
We describe a set of program transformations, a simple metric for assessing the efficiency of a transformed program, and a search procedure to improve this metric.
We show that in practice, automated search can find substantial improvements to the initial program.
arXiv Detail & Related papers (2021-09-14T20:52:55Z) - High-performance symbolic-numerics via multiple dispatch [52.77024349608834]
Symbolics.jl is an extendable symbolic system which uses dynamic multiple dispatch to change behavior depending on the domain needs.
We show that by formalizing a generic API on actions independent of implementation, we can retroactively add optimized data structures to our system.
We demonstrate the ability to swap between classical term-rewriting simplifiers and e-graph-based term-rewriting simplifiers.
arXiv Detail & Related papers (2021-05-09T14:22:43Z) - On Abstract Machine Semantics for Proto-Quipper-M [0.0]
Quipper is a domain-specific programming language for the description of quantum circuits.
Because it is implemented as an embedded language in Haskell, Quipper is a very practical functional language.
Because Haskell lacks linear types, it is easy to write Quipper programs that violate the non-cloning property of quantum states.
arXiv Detail & Related papers (2021-05-07T22:16:11Z) - Representing Partial Programs with Blended Abstract Semantics [62.20775388513027]
We introduce a technique for representing partially written programs in a program synthesis engine.
We learn an approximate execution model implemented as a modular neural network.
We show that these hybrid neuro-symbolic representations enable execution-guided synthesizers to use more powerful language constructs.
arXiv Detail & Related papers (2020-12-23T20:40:18Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.