
QUA
The Pulse-Level Language for Hybrid
Programming
Easily and quickly develop quantum-classical workflows
QUA is an intuitive pulse-level programming language used with Quantum Machines’ OPX hybrid controllers. It is the core of QM’s comprehensive hybrid development platform – which also features automated calibrations via QUAlibrate, and access to a vast library of control applications. QUA seamlessly merges quantum and classical programming. With QUA, quantum builders can easily program complex algorithms that were previously impossible, reaching milestones faster and accelerating the path to breakthrough results.
Comprehensive
QUA unifies quantum operations at the pulse level with classical resources, including Turing-complete computations and rich control flow (if/else, for, while loops and swith cahse, using real-time parameters). Unlike conventional programming models that separate quantum and classical code, QUA integrates both into a single, frictionless framework. This removes latency, optimizes performance, and enables real-time quantum-classical interaction – from simple pulse generation to the most advanced adaptive circuit execution. QUA further provides advanced upper-layer interfaces, ensuring smooth integration with industry-leading frameworks such as Qiskit, OpenQASM3 for circuit-level coding, and CUDA-Q (HPC-QC application development).
def two_point_Ramsey_Tracking():
with for_(n, 0, n < 2**any_power_of_two, n + 1):
assign(f, f_res_corr + plus_delta)
update_frequency("qubit", f)
Ramsey(t_fixed)
assign(state_1, I > ge_threshold)
assign(
state_1_avg,
state_1_avg_avg + (Cast.to_fixed(state_1) >> any_power_of_two),
)
assign(f, f_res_corr + minus_delta)
update_frequency("qubit", f)
Ramsey(t_fixed)
assign(state_2, I > ge_threshold)
assign(
state_2_avg,
state_2_avg_avg + (Cast.to_fixed(state_2) >> any_power_of_two),
)
corr = calculate_freq_correction(state_1_avg, state_2_avg)
with program() as any_quantum_sequence:
with for_(loops, 0, loops < loops_max, loops + 1):
two_point_Ramsey_Tracking()
your_advanced_sequence()
Expressive
Think it, do it! With Its Python-like sentex, program protocol as easily as writing pseudocode. Describe any quantum experiment natively, from active reset to AI-based multi-qubit calibration and quantum error correction.
def Ramsey(t):
play('pi_half', 'qubit')
wait(t)
play('pi_half', 'qubit')
align('qubit', 'resonator')
measure('qubit', 'resonator', ..., I)
with program() as 2D_Ramsey_Map:
with for_(n, 0, n < N_avg, n + 1):
with for_(f, f_min, f < f_max, f + df):
update_frequency('qubit', f)
with for_(t, t_min, t < t_max, t + dt):
Ramsey(t)
active_reset('qubit')
Scalable
QUA scales with your roadmap, allowing you to code a thousands of qubits as easily as a single one. No overhead, no rewriting codes – just seamless scaling by OPX controllers and updating your system configuration file. The QUA compiler will orchestrate all controllers as one, handling synchronization and data sharing.
for qubit_n in qubits:
measure(qubit_n, 'resonator', ..., I)
play('pi', qubit_n, condition=I > threshold)
with for_(t, t_min, t < t_max, t + dt):
Ramsey(qubit_n, t)
align()
Open Source
QUA is an open-source software. It is used by thousands of users in academia, national labs, and commercial companies worldwide, for quantum research and development. Explore QUA’s capabilities and get started with real-world examples on GitHub.

What’s Possible with QUA?

- Quantum Sensing
- Quantum Technologies Research & Development
- Quantum Communication
- Quantum Computing
- Hybrid Quantum – Classical Algorithmics
- Quantum Computing
- Quantum Firmware Development