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.
#2-point-Ramsey Real-Time Frequency Tracking
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
bool(false)
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.