We are happy to welcome the QDevil team, now officially a part of Quantum Machines!
READ MORE

QUA

A Powerful Language
Designed for Seamless
Quantum Programming

QUA is a cross-platform software development kit for quantum research & development.

Why QUA?

Write quantum programs as naturally and seamlessly as writing pseudocode.

Comprehensive

Encompassing Quantum and Classical

QUA unifies universal quantum operations in their ‘raw’ format (at the pulse-level) with universal classical operations used in classical processing (Turing-complete)
and comprehensive control flow.

#Randomized Benchmarking

with program() as ActiveReset:
    with for_(n, 0, n < N, n + 1):
        play("pi", "qubit", condition=I > th)
        align('qubit', 'rr')
        measure('readout', 'rr', None, demod.full('integW1', I), demod.full('integW2', Q))
        save(I, I_stream)
        save(Q, Q_stream)

Expressive

AS MUCH AS IT GETS

Implement the protocols of your wildest dreams as easily as writing pseudocode. Code even the most advanced programs and run them with the best possible performance. Natively describe your most challenging experiments, from complex AI-based multi-qubit calibrations to quantum error correction.

#Active Reset

with program() as ActiveReset:
    with for_(n, 0, n < N, n + 1):
        play("pi", "qubit", condition=I > th)
        align('qubit', 'rr')
        measure('readout', 'rr', None, demod.full('integW1', I), demod.full('integW2', Q))
        save(I, I_stream)
        save(Q, Q_stream)

Scalable

GROWS WITH YOU

QUA scales with you to enhance your quantum experiments of today and of tomorrow. Whether you’re coding 1 qubit or 1,000 qubits, QUA removes any limitations in implementing your protocols, from the simplest to the most complex. For trapped Ions/Atoms, Topological, NV Centers, Superconducting, Quantum Dots, and more.

 

#Adiabatic Passage

with program() as AdiabaticPassage:
    with for_(a,0,n<N,N+1):
        with for_(rate,100_000,rate<1_000_000,rate+5_000):
            play('gaussian_pulse'*amp(a), 'control')
            play('gaussian_pulse', 'probe', chirp=(rate, 'Hz/nsec'))
            measure('fluorescence', 'PMT',None,integration.sliced('integW1',F,10))
            wait(10*T1,*elements)

What’s Possible with QUA?

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

Start Shaping the Future of Quantum

Power New Possibilities

RUN EXPERIMENTS THAT WERE IMPOSSIBLE BEFORE
ACCELERATE YOUR EXPERIMENTS
NO DEVELOPMENT OR DESIGN NEEDED
COMPATIBLE WITH ANY QUANTUM TECHNOLOGY