The qupulse project aims to produce a software toolkit facilitating experiments involving pulse driven state manipulation of physical qubits.
It provides a high-level hardware-independent representation of pulses as well as means to translate this representation to hardware-specific device instructions and waveforms, execute these instructions and perform corresponding measurements.
Pulses can be assembled from previously defined subpulses, allowing easy construction of high-level from low-level pulses and re-use of previous work. Additionally, all pulses are parameterizable allowing users to fine-tune and adapt pulse templates to specific hardware or functionality without redefining an entire pulse sequence. To ensure meaningful parameter values, constraints can be put on parameters on a per-pulse basis.
The qtune package is designed for the automation of fine-tuning gate-defined quantum dots which includes the optimization of the sensing dot contrast, the chemical potential and tunnel couplings between dots and electron reservoirs. The optimization algorithm can be chosen for each parameter or group of parameters individually. The package also containes a quasi-Newton method using the Kalman filter for gradient updates .
qtune features an HDF5 storage system and a GUI. Its general implementation makes it usefull for the design of an algorithm for any optimization problem with constraints.