Click
Subscribe to the “IEEE Electrical and Electronics Engineers” public account above to gather global cutting-edge technology trends and open up new ideas for scientific research and entrepreneurship.

Without quantum computing software and hardware, quantum computing can be said to be an immature form of computation. An open-source quantum computing project at Sandia National Laboratories in Albuquerque, New Mexico, aims to address this issue through a custom quantum assembly language.
In the coming years, physicist Susan Clark and her team at Sandia plan to run code provided by academic, commercial, and independent researchers worldwide on their “QSCOUT” platform, funded by a $25 million, 5-year grant from the U.S. Department of Energy. By 2023, the platform will steadily upgrade from its current 3 qubits to 32 qubits.
QSCOUT stands for Quantum Scientific Computing Open User Testbed, consisting of ionized ytterbium atoms suspended in a vacuum chamber. Pulses of ultraviolet laser light make these atoms rotate, executing algorithms written in the quantum assembly code that the team has just started, named Just Another Quantum Assembly Language (JAQAL). In fact, they have registered the trademark for Jaqal with a lowercase “aqal,” so all further references will use that handle.
Although Google, IBM, and several other companies have manufactured larger quantum machines and produced their own programming languages, Clark says QSCOUT offers some advantages for those eager to explore the frontiers of computer science.
Like the superconducting gates on Google and IBM machines, it is also very fast. However, they are also unstable, losing coherence and data in less than a second.
Clark says that due to the ion trapping technology similar to that developed by IonQ, QSCOUT can maintain the consistency of its computations—think of it as an equivalent of a computation that can maintain thoughts for up to 10 seconds. “This is the best currently available,” Clark says, “but our quantum logic is a bit slower.”
However, the true advantage of QSCOUT lies not in performance, but in the power it gives users to control computer operations, allowing them to manipulate the computer’s operations at will, even adding new or modified operations to the computer’s basic instruction set architecture. Andrew Landahl, head of the QSCOUT software team, says, “QSCOUT is like a testbed, while the products offered by companies are like printed circuits.”

“Our users are scientists who want to conduct controlled experiments,” he says. “They request two quantum logic gates to happen simultaneously, while commercial systems often optimize users’ programs to improve their performance.” Clark says, “But they won’t give you too many details to tell you what’s happening behind the scenes.” In the early stages, how to best handle major issues like noise, data persistence, and scalability remains unknown, and the role of quantum machines is to execute your commands.
Landahl says that to achieve a combination of accuracy and flexibility, they created Jaqal, which includes commands to initialize ions as qubits, rotate them individually or collectively to various states, entangle them into superposition, and read the final state as output data.
The first line of any Jaqal program, for example:
from qscout.v1.std usepulses *
loads a gate pulse file that defines the standard operations (“gates,” in the lingo of quantum computing).
This scheme allows for easy scalability. Landahl says the next version will add new instructions to support more than 10 qubits and introduce new features. Additionally, he says users can even write their own functions.
Clark says a feature that ought to exist in classical computing is local measurement of ongoing computations, allowing adjustments based on intermediate states. In the quantum realm, due to the interconnectedness of qubits, this local measurement approach is difficult to achieve, but experimenters have demonstrated that it is possible.
Utility will mix quantum and classical operations, so the QSCOUT team has also released a Python package called JaqalPaq on Github, which provides a Jaqal simulator and commands to include Jaqal code as objects in a larger Python program.
Sandia National Laboratories accepted the first five project proposals from the initial 15 applicants, most of which will conduct various benchmark tests on other quantum computers. However, Clark says, “One group, led by Phil Richerme from Indiana University Bloomington, is solving a small quantum chemistry problem by finding the ground state of a specific molecule.”
After the team upgrades the machine from 3 qubits to 10 qubits, Clark plans to invite a second round of proposals in March.
Jaqal Programming Language Outputs “Hello World”
Landahl says that a simplest non-trivial program typically runs on a new quantum computer, which is code that entangles two qubits into a so-called Bell state, a superposition of the classical binary states of 0 and 1. The Jaqal documentation provides an example of a 15-line program that defines two textbook operations, executes these instructions to prepare a Bell state, and then reads the measurement values of the result states of the two qubits.
However, as an ion trap computer, QSCOUT supports a beautiful operation called the Mølmer–Sørensen gate, which provides a shortcut. Utilizing this, the following 6-line program can accomplish the same task and repeat it 1024 times:
register q[2] // Define a 2-qubit register loop 1024 { // Sequential statements, repeated 1024x prepare_all // Prepare each qubit in the |0⟩ state Sxx q[0] q[1] // Perform the Mølmer–Sørensen gate measure_all // Measure each qubit and output results }

Recommended Past Articles
Recommended Reading

How Sensors Monitor Bridges to Ensure Our Safety
3-01 IEEE Transmitter

New Multifunctional Skin Patches Track Blood Pressure and Heart Rate While Monitoring Alcohol and Caffeine Levels
3-03 Megan Scudellari

Improved Laser Cutters Create Fully Functional Drones
3-09 Evan Ackerman

Beyond Burgers: Combining Plant and Animal Cells to 3D Print Steak
3-10 Prachi Patel