Graph-Based Pulse Representation for Diverse Quantum Control Hardware
Aniket S. Dalvi, Leon Riesebos, Jacob Whitlow, Kenneth R. Brown
TL;DR
The paper addresses the challenge of representing and transforming pulse-level quantum controls across diverse hardware. It introduces pulselib, a graph-based, parametric pulse representation that preserves high-level pulse information through Scalars, Waveforms, Clocks, and Schedules, and provides compiler-like transformations and pipelines to lower descriptions to hardware. Key contributions include an AST-like DAG architecture, explicit phase synchronization via clock waveforms and clock sequences, multi-channel scheduling, and a Python implementation with visitors and maximal-munch transformations demonstrated on trapped-ion pulse schemes such as AC-Stark compensation and shelving. This approach enables flexible, target- and application-agnostic pulse descriptions that can evolve with hardware needs, improving expressiveness and transformability of complex pulse sequences.
Abstract
Pulse-level control of quantum systems is critical for enabling gate implementations, calibration procedures, and Hamiltonian evolution which fundamentally are not supported by the traditional circuit model. This level of control necessitates both efficient generation and representation. In this work, we propose pulselib - a graph-based pulse-level representation. A graph structure, with nodes consisting of parametrized fundamental waveforms, stores all the high-level pulse information while staying flexible for translation into hardware-specific inputs. We motivate pulselib by comparing its feature set and information flow through the pulse layer of the software stack with currently available pulse representations. We describe the architecture of this proposed representation that mimics the abstract syntax tree (AST) model from classical compilation pipelines. Finally, we outline applications like trapped-ion-specific gate and shelving pulse schemes whose constraints and implementation can be written and represented due to pulselib's graph-based architecture.
