Qurt.jl: Compiling Quantum Circuits (in Julia)

07/26/2023, 3:40 PM — 3:50 PM UTC
32-G449 (Kiva)

Abstract:

I'll present Qurt.jl, a package for creating and transforming quantum circuits. I'll do a brief demo, including the obligatory, slick, macro-enabled builder interface. I'll show how it is faster than some Python-Rust and C++ implementations.

Description:

I'll talk about the design in light of the goals and requirements for Qurt. These include: It should be easy to round-trip translate between Qurt and Qiskit, and to reproduce Qiskit functionality, including compiling circuits. The interfaces should be straightforward and employ familiar concepts, similar to Qiskit or Circ. It should be easy to quickly define and use a custom gate. It should be designed with minimal barriers to achieving high performance; for instance runtime dispatch must be avoided when handling circuit elements; Data should be, to the extent possible, stored in vectors of bitstypes. Obviously some of these goals are in conflict, so trade-offs will be adjusted as Qurt evolves. In fact, another goal of Qurt is to explore data structures dictated by these trade-offs and use this exploration to inform implementations in static languages where experimentation is expensive.

Platinum sponsors

JuliaHub

Gold sponsors

ASML

Silver sponsors

Pumas AIQuEra Computing Inc.Relational AIJeffrey Sarnoff

Bronze sponsors

Jolin.ioBeacon BiosignalsMIT CSAILBoeing

Academic partners

NAWA

Local partners

Postmates

Fiscal Sponsor

NumFOCUS