QUA
QUA is a cross-platform software development kit for quantum research & development.
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)
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)
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)