Easiley implement complex quantum sequences with precise control of timing and alignment of qubit operations. Feed quantum measurements to classical processing and back in real-time for a fully integrated quantum-classical solution. smoothly scale with no software redesign.

Expressive

Think it, Do it

Implement any protocol as easily as writing pseudocode while running it with the best possible performance. Describe any quantum experiment natively, from active reset to complex multi-qubit calibrations or quantum error correction sequences.

#2D Ramsey map

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, D + dt):
Ramsey(t)
active_reset('qubit')

Comprehensive

Encompassing Quantum and Classical

QUA unifies quantum operations at the pulse level with classical resources including Turing-complete processing and control flow, allowing expression of every quantum control sequence with ease.

def 2-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_max, loops + 1):
2-point-Ramsey_Tracking()
your_advanced_sequence()

Scalable

Grows with Your Setup

QUA scales with your roadmap, allowing you to code a thousand qubits as easily as a single qubit. No overhead, no rewriting codes, just seamless scaling. QUA removes any limitation in implementing your protocols, from the simplest to the most complex.

#Multi-qubit Active Reset and Ramsey

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, D + dt):
Ramsey(qubit_n, t)
align()

Quantum-Classical Programming

QUA combines quantum pulse-level operations with classical operations, making it Turing-complete for classical processing and providing comprehensive flow control. QUA is extremely intuitive and easy to use while still being comprehensive and powerful.

Executed in Real Time

Hosted within QM’s OPX+ controller and all OPX1000 control platform frontend modules is the unique PPU – classical processor that generates and manipulates in quantum pulses for qubits control and readout. It executes the codes formulated in QUA in real time for maximum performance and minimum latency.

Accelerating Community

QUA community rapidly accelerates. Experimentalists and software developers in hundreds of universities, national labs, HPC centers and enterprises all over the world share codes and results, allowing jumpstarting experiments, and reducing development time.

Parametric Pulse Programming

No long upload times and only minimal memory usage. Pulses are generated and manipulated on the fly.

Rich Workflows Library

From simple calibration and characterizations to QEC and real-time Bayesian estimations, numerus out-of-the-box workflows.

All Common Qubit Modalities

Superconducting, quantum dots, defect centers and optically addressable qubits.

What’s Possible with QUA?

Quantum Sensing

Quantum Technologies
Research & Development

Quantum Communication

Quantum Computing

Hybrid Quantum –
Classical Algorithmics

Quantum Computing

Quantum Firmware Development

QUA Community and Libraries

SWAP Spectroscopy Improved
with Predistortion Digital Filters

Find additional QUA examples from labs across the world in the QUA GitHub zone, Access Here >>
Talk to us to learn how QUA can help you, for a QUA demo and for access to the growing QUA community.

Accelerate the Realization
of Practical Quantum Computing

We use cookies to help personalize content, tailor and measure ads, and provide a safer experience. By continuing to use this website you consent to the use of the cookies in accordance with our Cookie Policy.