Quilcis an open-source, optimizing compiler for gate-based quantum programs written in Quil or QASM, two popular quantum programming languages. The compiler was designed with attention toward NISQ-era quantum computers, specifically recognizing that each quantum gate has a non-negligible and often irrecoverable cost toward a program's successful execution.Quilc's primary goal is to make authoring quantum software a simpler exercise by making architectural details less burdensome to the author. UsingQuilcallows one to write programs faster while usually not compromising-and indeed sometimes improving-their execution fidelity on a given hardware architecture. In this paper, we describe many of the principles behindQuilc's design, and demonstrate the compiler with various examples.
For a native gate set which includes all single-qubit gates, we apply results from symplectic geometry to analyze the spaces of two-qubit programs accessible within a fixed number of gates. These techniques yield an explicit description of this subspace as a convex polytope, presented by a family of linear inequalities themselves accessible via a finite calculation. We completely describe this family of inequalities in a variety of familiar example cases, and as a consequence we highlight a certain member of the "XY-family" for which this subspace is particularly large, i.e., for which many two-qubit programs admit expression as low-depth circuits.
We describe computational considerations of the Pauli and Clifford groups “including efficient data structures” for the purpose of randomized benchmarking of superconducting quantum computers.We then show particular implementation details in Common Lisp, including embedded domain-specific languages for specifying complex mathematical objects as Lisp macros
We show that parametric coupling techniques can be used to generate selective entangling interactions for multi-qubit processors. By inducing coherent population exchange between adjacent qubits under frequency modulation, we implement a universal gate set for a linear array of four superconducting qubits. An average process fidelity of ℱ = 93% is estimated for three two-qubit gates via quantum process tomography. We establish the suitability of these techniques for computation by preparing a four-qubit maximally entangled state and comparing the estimated state fidelity with the expected performance of the individual entangling gates. In addition, we prepare an eight-qubit register in all possible bitstring permutations and monitor the fidelity of a two-qubit gate across one pair of these qubits. Across all these permutations, an average fidelity of ℱ = 91.6 ± 2.6% is observed. These results thus offer a path to a scalable architecture with high selectivity and low cross-talk.
We describe how the Common Lisp Object System can be used to define a protocol for a machine called the quantum abstract machine, a mechanism used to simulate the operational semantics of a quantum instruction language called Quil[7]. Furthermore, we describe implementations of ideal and noisy simulators for hybrid classical/quantum program execution.
Machine learning techniques have led to broad adoption of a statistical model of computing. The statistical distributions natively available on quantum processors are a superset of those available classically. Harnessing this attribute has the potential to accelerate or otherwise improve machine learning relative to purely classical performance. A key challenge toward that goal is learning to hybridize classical computing resources and traditional learning techniques with the emerging capabilities of general purpose quantum processors. Here, we demonstrate such hybridization by training a 19-qubit gate model processor to solve a clustering problem, a foundational challenge in unsupervised learning. We use the quantum approximate optimization algorithm in conjunction with a gradient-free Bayesian optimization to train the quantum machine. This quantum/classical hybrid algorithm shows robustness to realistic noise, and we find evidence that classical optimization can be used to train around both coherent and incoherent imperfections.
We talk about the right way to order amplitudes in a wavefunction, and the right way to interpret operator matrices in quantum computation.
Early devices must solve real-world problems, urge Will Zeng and colleagues.
We introduce an abstract machine architecture for classical/quantum computations---including compilation---along with a quantum instruction language called Quil for explicitly writing these computations. With this formalism, we discuss concrete implementations of the machine and non-trivial algorithms targeting them. The introduction of this machine dovetails with ongoing development of quantum computing technology, and makes possible portable descriptions of recent classical/quantum algorithms.