# Digital coherent control for superconducting qubits

Scripts in this folder demonstrate usage of QUA to implement measurements published in the paper "Digital coherent control for superconducting qubits" https://arxiv.org/pdf/1806.07930.pdf The device measured in this paper is a superconducting qubit which is interfaced to a DC-SFQ element which generates a train of pulses, each with 2 picosecond duration. Each pulse produces a finite and discrete rotation of the qubit, effectively providing the means for digital control of the qubit. The paper used this technique to demostrate coherent control of a qubit and characterization of the fidelity with which such digital operations can be performed.

### #

Introducing Single Flux Quantum (SFQ) controlIt is currently an open question in the theory of quantum control for superconducting qubits whether analog (usual microwave control encountered in many implementations) or digital control will allow the best performances regarding scalability and fault tolerance.

The objective of the paper mentioned above is to demonstrate the ability of digitizing the control of a flux tunable transmon qubit by using what is called the SFQ digital logic family.

In this framework, "classical bits of information are encoded in fluxons, propagating voltage pulses whose time integral is precisely quantized to $h/2e \equiv \Phi_0$, the superconducting flux quantum".

With the help of a dc/SFQ converter, one can think about digitalizing the control of the qubit by performing incremental rotations of the qubit state around the Bloch sphere, translated physically by very short pulse trains (of the order of 2 ps).

## #

The configuration fileIn the configuration, we hence define quantum elements according to the layout of the experiment shown in Fig 9.
We have then one element for the SFQ trigger (driver circuit), one other for the voltage source inducing the bias
current to be applied (called *SFQ_bias*), and usual quantum elements for probing the readout resonator and apply
usual analog microwave control on the qubit.
Multiple waveforms are defined and can be tuned to match the experimental characteristics of the setup.

## #

The QUA programsThe QUA scripts available are built to showcase how the experiments summarized by the plots done in Figure 3 in the reference above can be realized with the OPX.

The first script, *bias_current_sweep.py*, is the investigation conducted by Fig 3.a
to find the optimal bias current to be applied on the SFQ driver circuit to determine the period
of Rabi oscillations induced by the SFQ control.

The QUA program then consists in three QUA *for_* loops, the outer one iterating to
repeat the number of repetitions for sampling (stream processing then performs a direct averaging
operation to retrieve easily experiment statistics). The two other loops iterate over bias voltages
(corresponding to various current biases) and the duration of the pulse applied by the SFQ driver circuit
(which basically corresponds to a Time Rabi experiment, for each bias current chosen).

The two other scripts *frequency_sweep.py* and *ramsey_exp.py*, do a similar job but replace the
iteration over bias currents into a sweeping of drive frequency applied by the SFQ circuit
(realized by the QUA command update frequency, which updates the intermediate frequency in the configuration file).