12 research outputs found
Sized Types for low-level Quantum Metaprogramming
One of the most fundamental aspects of quantum circuit design is the concept
of families of circuits parametrized by an instance size. As in classical
programming, metaprogramming allows the programmer to write entire families of
circuits simultaneously, an ability which is of particular importance in the
context of quantum computing as algorithms frequently use arithmetic over
non-standard word lengths. In this work, we introduce metaQASM, a typed
extension of the openQASM language supporting the metaprogramming of circuit
families. Our language and type system, built around a lightweight
implementation of sized types, supports subtyping over register sizes and is
moreover type-safe. In particular, we prove that our system is strongly
normalizing, and as such any well-typed metaQASM program can be statically
unrolled into a finite circuit.Comment: Presented at Reversible Computation 2019. Final authenticated
publication is available online at
https://doi.org/10.1007/978-3-030-21500-2_
Strawberry Fields: A Software Platform for Photonic Quantum Computing
We introduce Strawberry Fields, an open-source quantum programming
architecture for light-based quantum computers, and detail its key features.
Built in Python, Strawberry Fields is a full-stack library for design,
simulation, optimization, and quantum machine learning of continuous-variable
circuits. The platform consists of three main components: (i) an API for
quantum programming based on an easy-to-use language named Blackbird; (ii) a
suite of three virtual quantum computer backends, built in NumPy and
TensorFlow, each targeting specialized uses; and (iii) an engine which can
compile Blackbird programs on various backends, including the three built-in
simulators, and -- in the near future -- photonic quantum information
processors. The library also contains examples of several paradigmatic
algorithms, including teleportation, (Gaussian) boson sampling, instantaneous
quantum polynomial, Hamiltonian simulation, and variational quantum circuit
optimization.Comment: Try the Strawberry Fields Interactive website, located at
http://strawberryfields.ai . Source code available at
https://github.com/XanaduAI/strawberryfields. Accepted in Quantu
An Exploratory Study on the Usage of Quantum Programming Languages
Tese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de CiênciasAs in the classical realm, the usage of quantum programming languages in quantum computing allows one to instruct a quantum computer to perform certain tasks. Although several imperative, declarative, and multi-paradigm quantum programming languages with different features and goals have been developed in the last 25 years, no study
has been conducted on who, how, and what for does one use a quantum programming
language. In this thesis, we first identified and described several quantum programming
languages and then surveyed 251 quantum practitioners to answer several questions related to the usage of quantum programming languages. Further, an analysis of the results
obtained is presented and shows that most of the quantum practitioners use the languages
for research and that Qiskit (Python) is the most used one. Finally, we make recommendations for further development of quantum programming languages, such as building on
top of a classical programming language, running in real quantum computers, supporting
language documentation, and consulting developers’ needs
Computer Aided Verification
The open access two-volume set LNCS 11561 and 11562 constitutes the refereed proceedings of the 31st International Conference on Computer Aided Verification, CAV 2019, held in New York City, USA, in July 2019. The 52 full papers presented together with 13 tool papers and 2 case studies, were carefully reviewed and selected from 258 submissions. The papers were organized in the following topical sections: Part I: automata and timed systems; security and hyperproperties; synthesis; model checking; cyber-physical systems and machine learning; probabilistic systems, runtime techniques; dynamical, hybrid, and reactive systems; Part II: logics, decision procedures; and solvers; numerical programs; verification; distributed systems and networks; verification and invariants; and concurrency
Efficacy of hardware scheduling on current generation quantum computers
Quantum computing is a rapidly advancing field of computer science that is increasingly becoming more practical. With these devices becoming more realistic, frameworks are needed by which the hardware resources, both quantum and classical, of quantum computers can be utilized more efficiently. This research aims to fill gaps in the research examining the effectiveness of hardware scheduling on the current generation of quantum computers. A hardware scheduling strategy is implemented using the A* search algorithm for routing qubits to conform with hardware limitations, and this algorithm is tested against a wide variety of quantum programs and devices. The effectiveness of the scheduler is determined through analysis of metrics obtained from the scheduling process. This particular scheduler
proved to be effective for most of the tested algorithms and efficient for some, making it useful for general purposes, though some potential sources of improvement could increase the number of algorithms it is efficient for