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.
The filter_functions package implements the efficient numerical calculation of generalized filter functions for sequences of quantum gates. Filter functions capture a driven quantum system's susceptibility to noise with a given power spectral density. The formalism can be extended to treat unitary quantum operations and perturbatively compute the process matrix in the presence of universal classical noise. From this, various quantities of interest such as the average gate fidelity, leakage, or measurement probabilities can be derived.
The software is written in Python and allows the fast calculation of filter functions and the Liouville representation of a noisy quantum channel for piecewise-constant control pulses. Pulses implementing quantum gates can be easily sequenced and their composite filter function computed from those of the original pulses, allowing for the simple assembly of sequences of quantum gates such as algorithms. The package is extensively documented and provides various convenience routines for plotting and analysis.
The qopt package is written for numerical efficient quantum simulation and quantum optimal control of noisy quantum bits (qubits). The simulation functionalities facilitate the design of qubit devices by estimating expected error rates, quantum gate times, and other useful parameters. The software can also be used to optimize control pulses by combining error estimation with optimal control techniques.
The package excels at realistic modeling of noise sources by Monte Carlo simulations, the treatment of open quantum systems, leakage calculation, and the compatibility with the use of generalized filter functions. It is also capable of taking experimental restrictions into account such as the finite bandwidth of arbitrary waveform generators used to create control signals.