Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

arXiv:2305.02311

JaqalPaw: A Guide to Defining Pulses and Waveforms for Jaqal

Daniel Lobser, Joshua Goldberg, Andrew J. Landahl, Peter Maunz, Benjamin Morrison, Kenneth Rudinger, Antonio Russo, Brandon Ruzic, Daniel Stick, Jay Wesley Van Der Wall, Susan Clark

Published May 3, 2023• 7 citations
arXivHTMLPDF

Abstract

One of the many challenges of developing an open user testbed such as QSCOUT is providing an interface that maintains simplicity without compromising expressibility or control. This interface comprises two distinct elements: a quantum assembly language designed for specifying quantum circuits at the gate level, and a low-level counterpart used for describing gates in terms of waveforms that realize specific quantum operations. Jaqal, or "Just another quantum assembly language," is the language used in QSCOUT for gate-level descriptions of quantum circuits. JaqalPaw, or "Jaqal pulses and waveforms," is its pulse-level counterpart. This document concerns the latter, and presents a description of the tools needed for precisely defining the underlying waveforms associated with a gate primitive.

DOI
10.48550/arxiv.2305.02311

Related papers

Just Another Quantum Assembly Language (Jaqal)

Benjamin Morrison, Andrew J. Landahl, Daniel Lobser +4 more

The Quantum Scientific Computing Open User Testbed (QSCOUT) is a trapped-ion quantum computer testbed realized at Sandia National Laboratories on behalf of the Department of Energy's Office of Science and its Advanced Scientific Computing (ASCR) program. Here we describe Jaqal, for Just another quantum assembly language, the programming language we invented to specify programs executed on QSCOUT. Jaqal is useful beyond QSCOUT-it can support mutliple hardware targets because it offloads gate names and their pulse-sequence definitions to external files. We describe the capabilities of the Jaqal language, our approach in designing it, and the reasons for its creation. To learn more about QSCOUT, Jaqal, or JaqalPaq, the metaprogramming Python package we developed for Jaqal, please visit qscout.sandia.gov, gitlab.com/jaqal, or send an e-mail to qscout@sandia.gov.

arXiv:2008.08042•IEEE International Conference on Quantum Computing and Engineering (QCE)•Oct 1, 2020•19 citations

QSCOUT's Qubit-Boson Gate Set

Edward C. Tortorici, Ethan C. McGarrigle, Brian K. McFarland +6 more

The Quantum Scientific Computing Open User Testbed (QSCOUT) has developed a qubit-boson gate set for hybrid continuous-discrete variable (CV-DV) quantum computing. This document outlines how to utilize these gates on QSCOUT using Just Another Quantum Assembly Language, Jaqal\textsuperscript{TM}.

quant-pharXiv:2607.08560•Jul 10, 2026•0 citations

Just Another Quantum Assembly Language (Jaqal(TM)).

Benjamin Morrison

QSCOUT is the Quantum Scientific Computing Open User Testbed, a trapped-ion quantum computer testbed realized at Sandia National Laboratories on behalf of the Department of Energy's Office of Science and its Advanced Scientific Computing (ASCR) program.Jaqal, for Just Another Quantum Assembly Language, is the programming language used to specify programs executed on QSCOUT.We describe the capabilities of the Jaqal language, our approach in designing it, and the reasons for its creation.To learn more about QSCOUT and the Jaqal language developed for it, please visit qscout.sandia.goVor send an e-mail to qscout@sandia.go

•May 10, 2021•0 citations

OpenQASM 3: A Broader and Deeper Quantum Assembly Language

Andrew W. Cross, Ali Javadi-Abhari, Thomas Alexander +8 more

Quantum assembly languages are machine-independent languages that traditionally describe quantum computation in the circuit model. Open quantum assembly language (OpenQASM 2) was proposed as an imperative programming language for quantum circuits based on earlier QASM dialects. In principle, any quantum computation could be described using OpenQASM 2, but there is a need to describe a broader set of circuits beyond the language of qubits and gates. By examining interactive use cases, we recognize two different timescales of quantum-classical interactions: real-time classical computations that must be performed within the coherence times of the qubits, and near-time computations with less stringent timing. Since the near-time domain is adequately described by existing programming frameworks, we choose in OpenQASM 3 to focus on the real-time domain, which must be more tightly coupled to the execution of quantum operations. We add support for arbitrary control flow as well as calling external classical functions. In addition, we recognize the need to describe circuits at multiple levels of specificity, and therefore we extend the language to include timing, pulse control, and gate modifiers. These new language features create a multi-level intermediate representation for circuit development and optimization, as well as control sequence implementation for calibration, characterization, and error mitigation.

arXiv:2104.14722•ACM Transactions on Quantum Computing•Mar 2, 2022•253 citations

Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments

David C. McKay, Thomas Alexander, Luciano Bello +17 more

As interest in quantum computing grows, there is a pressing need for standardized API's so that algorithm designers, circuit designers, and physicists can be provided a common reference frame for designing, executing, and optimizing experiments. There is also a need for a language specification that goes beyond gates and allows users to specify the time dynamics of a quantum experiment and recover the time dynamics of the output. In this document we provide a specification for a common interface to backends (simulators and experiments) and a standarized data structure (Qobj --- quantum object) for sending experiments to those backends via Qiskit. We also introduce OpenPulse, a language for specifying pulse level control (i.e. control of the continuous time dynamics) of a general quantum device independent of the specific hardware implementation.

arXiv:1809.03452•Sep 10, 2018•100 citations

Open Quantum Assembly Language

Kostia Chardonnet, Emmanuel Hainry F, Romain Péchoux +1 more

This document describes a quantum assembly language (QASM) called OpenQASM that is used to implement experiments with low depth quantum circuits. OpenQASM represents universal physical circuits over the CNOT plus SU(2) basis with straight-line code that includes measurement, reset, fast feedback, and gate subroutines. The simple text language can be written by hand or by higher level tools and may be executed on the IBM Q Experience.

arXiv:1707.03429•Jul 11, 2017•309 citations
One of the many challenges of developing an open user testbed such as QSCOUT is providing an interface that maintains simplicity without compromising expressibility or control. This interface comprises two distinct elements: a quantum assembly language designed for specifying quantum circuits at the gate level, and a low-level counterpart used for describing gates in terms of waveforms that realize specific quantum operations. Jaqal, or "Just another quantum assembly language," is the language used in QSCOUT for gate-level descriptions of quantum circuits. JaqalPaw, or "Jaqal pulses and waveforms," is its pulse-level counterpart. This document concerns the latter, and presents a description of the tools needed for precisely defining the underlying waveforms associated with a gate primitive.
The Quantum Scientific Computing Open User Testbed (QSCOUT) is a trapped-ion quantum computer testbed realized at Sandia National Laboratories on behalf of the Department of Energy's Office of Science and its Advanced Scientific Computing (ASCR) program. Here we describe Jaqal, for Just another quantum assembly language, the programming language we invented to specify programs executed on QSCOUT. Jaqal is useful beyond QSCOUT-it can support mutliple hardware targets because it offloads gate names and their pulse-sequence definitions to external files. We describe the capabilities of the Jaqal language, our approach in designing it, and the reasons for its creation. To learn more about QSCOUT, Jaqal, or JaqalPaq, the metaprogramming Python package we developed for Jaqal, please visit qscout.sandia.gov, gitlab.com/jaqal, or send an e-mail to qscout@sandia.gov.
QSCOUT is the Quantum Scientific Computing Open User Testbed, a trapped-ion quantum computer testbed realized at Sandia National Laboratories on behalf of the Department of Energy's Office of Science and its Advanced Scientific Computing (ASCR) program.Jaqal, for Just Another Quantum Assembly Language, is the programming language used to specify programs executed on QSCOUT.We describe the capabilities of the Jaqal language, our approach in designing it, and the reasons for its creation.To learn more about QSCOUT and the Jaqal language developed for it, please visit qscout.sandia.goVor send an e-mail to qscout@sandia.go
Quantum assembly languages are machine-independent languages that traditionally describe quantum computation in the circuit model. Open quantum assembly language (OpenQASM 2) was proposed as an imperative programming language for quantum circuits based on earlier QASM dialects. In principle, any quantum computation could be described using OpenQASM 2, but there is a need to describe a broader set of circuits beyond the language of qubits and gates. By examining interactive use cases, we recognize two different timescales of quantum-classical interactions: real-time classical computations that must be performed within the coherence times of the qubits, and near-time computations with less stringent timing. Since the near-time domain is adequately described by existing programming frameworks, we choose in OpenQASM 3 to focus on the real-time domain, which must be more tightly coupled to the execution of quantum operations. We add support for arbitrary control flow as well as calling external classical functions. In addition, we recognize the need to describe circuits at multiple levels of specificity, and therefore we extend the language to include timing, pulse control, and gate modifiers. These new language features create a multi-level intermediate representation for circuit development and optimization, as well as control sequence implementation for calibration, characterization, and error mitigation.
As interest in quantum computing grows, there is a pressing need for standardized API's so that algorithm designers, circuit designers, and physicists can be provided a common reference frame for designing, executing, and optimizing experiments. There is also a need for a language specification that goes beyond gates and allows users to specify the time dynamics of a quantum experiment and recover the time dynamics of the output. In this document we provide a specification for a common interface to backends (simulators and experiments) and a standarized data structure (Qobj --- quantum object) for sending experiments to those backends via Qiskit. We also introduce OpenPulse, a language for specifying pulse level control (i.e. control of the continuous time dynamics) of a general quantum device independent of the specific hardware implementation.