Gottesman Types for Quantum Programs

09/06/2021
by   Robert Rand, et al.
0

The Heisenberg representation of quantum operators provides a powerful technique for reasoning about quantum circuits, albeit those restricted to the common (non-universal) Clifford set H, S and CNOT. The Gottesman-Knill theorem showed that we can use this representation to efficiently simulate Clifford circuits. We show that Gottesman's semantics for quantum programs can be treated as a type system, allowing us to efficiently characterize a common subset of quantum programs. We also show that it can be extended beyond the Clifford set to partially characterize a broad range of programs. We apply these types to reason about separable states and the superdense coding algorithm.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/22/2021

Static Analysis of Quantum Programs via Gottesman Types

The Heisenberg representation of quantum operators provides a powerful t...
research
03/02/2018

QWIRE Practice: Formal Verification of Quantum Circuits in Coq

We describe an embedding of the QWIRE quantum circuit language in the Co...
research
02/01/2023

InQuIR: Intermediate Representation for Interconnected Quantum Computers

Various physical constraints limit the number of qubits that can be impl...
research
10/09/2020

SchWARMA: A model-based approach for time-correlated noise in quantum circuits

Temporal noise correlations are ubiquitous in quantum systems, yet often...
research
10/26/2018

Reasoning about Parallel Quantum Programs

We initiate the study of parallel quantum programming by defining the op...
research
04/13/2021

Gleipnir: Toward Practical Error Analysis for Quantum Programs (Extended Version)

Practical error analysis is essential for the design, optimization, and ...
research
08/02/2021

LIMDD A Decision Diagram for Simulation of Quantum Computing Including Stabilizer States

Efficient methods for the representation of relevant quantum states and ...

Please sign up or login with your details

Forgot password? Click here to reset