Data from: Device characterization of Si/SiGe double quantum dots using exchange oscillations in Earth's magnetic field
Data files
Sep 08, 2026 version files 11.47 MB
-
Data_for_repository_exchange_paper.zip
11.46 MB
-
README.md
7.20 KB
Abstract
Exchange-based semiconductor qubits encompass a broad family of encodings constructed from singlet- and triplet-like spin states, several of which are compatible with operation at zero applied magnetic field. Their reliable operation requires characterization of environmental noise, residual idle interactions, and exchange-dependent decay, but this characterization often relies on multi-axis control calibration or deliberately engineered magnetic-field gradients. A simpler zero-applied field diagnostic is particularly valuable for hybrid semiconductor-superconductor systems, in which magnetic fields can degrade superconducting components. Here, we use the intrinsic magnetic-field gradient produced by residual nuclear spins in isotopically enriched Si/SiGe to implement exchange oscillations between two quantum dots, as a characterization tool without a micromagnet, dynamic nuclear polarization, or prior multi-axis calibration. Using Carr-Purcell-Meiboom-Gill exchange sequences, we extend the singlet coherence from T2*=1.17 +/- 0.02 us to T2CPMG=74.8 +/- 1.8 us with N=70 refocusing pulses. The oscillation phase resolves residual exchange in the tens-of-kilohertz regime and enables it to be mapped across the (1,1) charge cell. These results establish intrinsic-gradient exchange oscillations as a simple, more relevant zero-field diagnostic for exchange-only and related semiconductor qubit encodings that is amenable to rapid, high-throughput device characterization.
This dataset contains the experimental data and Python analysis code supporting the associated article 'Device characterization of Si/SiGe double quantum dots using exchange oscillations in Earth's magnetic field'. The data are organized by the figure in which they are used. Figures 1-5 correspond to the main text, and Figures 6-9 correspond to the Appendix. Panels that contain only schematics or illustrations do not have associated experimental data files.
Outline of the dataset
The top-level folder, 'Data_for_repository_exchange_paper.zip', contains the following directories:
Figure_1- exchange-oscillation measurements used in Figure 1.Figure_2- exchange-pulse-train and CPMG coherence measurements used in Figure 2.Figure_3- exchange-pulse-duration sweeps used to characterize residual exchange in Figure 3.Figure_4- charge-stability, Ramsey, Hahn-echo, CPMG, and one-to-four-pulse measurements acquired at three positions in the (1,1) charge region.Figure_5- exchange calibration and singlet-decay data used in Figure 5.Figure_6- experimental inputs to the residual-exchange simulations and fits in Appendix Figure 6.Figure_7- experimental data compared with the simulations in Appendix Figure 7.Figure_8- exchange oscillations measured as a function of the singlet-initialization position in Appendix Figure 8.Figure_9- exchange-frequency, decay-time, and quality-factor characterization as a function of exchange-gate voltage in Appendix Figure 9.Scripts/- the Jupyter notebooks used for data analysis, plotting, fitting, and simulation.
There are 82 HDF5 files and two Jupyter notebooks. Some HDF5 files are deliberately repeated in more than one figure folder because the same measurement is used in both a main-text figure and an Appendix figure. These byte-identical copies allow each figure folder to remain self-contained.
File-naming convention
Experimental files follow the convention
YYYYMMDD_measurement_name_NNNN.hdf5
where YYYYMMDD is the acquisition date, measurement_name describes the pulse sequence or scan, and NNNN is the run number assigned on that date. Run numbers are identifiers and need not be consecutive within this curated dataset.
HDF5 data format
The .hdf5 files use an HDF5/netCDF-compatible structure. Each file has a root attribute named metadata_json. This JSON object contains:
name- measurement name;description- short description of the measurement;created- acquisition timestamp;num_arrays- number of stored acquisition arrays; andparams_pickle- hexadecimal serialization of the measurement-parameter object.
Acquisition arrays are stored in groups named data_0, data_1, and so on. The load_data() function at the start of Scripts/Data_analysis.ipynb reads each group with xarray.open_dataset(..., engine="h5netcdf") and returns
data, params, description, metadata.
The main measured quantity is the complex demodulated readout signal. The analysis generally uses its magnitude, numpy.abs(...), in volts. Coordinates and their units can be read directly from each xarray object. Common coordinate names include:
g1_amp,g2_amp,gate1, andgate2- gate-voltage offsets in volts;x_ampandx_amp_one- X5 exchange-gate pulse amplitudes in volts;x_timeandpulse_time_one- exchange-pulse durations in seconds;wait_timeandwait_2_time- free-evolution interval(s) in seconds; andd0- swept initialization-gate value in volts.
Repeated-pulse datasets also contain scalar acquisitions named by pulse count, such as data_1_pulse, data_2_pulse, etc. See the plotting cells in Data_analysis.ipynb for the exact array, coordinate, slicing, normalization, and unit conversion used for each panel.
The parameter object is serialized with Python pickle.
Derived Figure 1 datasets
The files panel_d_500ns_acquisition_xarray.hdf5, panel_e_2us_acquisition_xarray.hdf5, and panel_f_6us_acquisition_xarray.hdf5 contain the complex-valued xarray.DataArray objects used to generate Figure 1(d–f), corresponding to free-evolution times of 500 ns, 2 µs, and 6 µs, respectively. They were derived from the corresponding raw acquisition files by reshaping the data along the g1_amp and x_amp coordinates. These derived files allow the analysis notebook to load the multidimensional arrays directly using xr.load_dataarray, without requiring the Qblox acq_coords_to_dims function. The original raw datasets are also retained.
Analysis and figure reproduction
The Scripts/Data_analysis.ipynb notebook contains the loading, reshaping, normalization, fitting, simulation, and plotting functions followed by sections for Figures 1-5 and Appendix Figures 6-9. Run the notebook from the beginning so that the shared functions are defined before executing an individual figure section.
Before running the notebook, replace the original absolute Windows path
C:\\measurement\_data\\2026-04-18_CD\\dot_tuneup\\Wirebonded_TQD\\Data_for_repository_exchange_paper\\
with the path to the downloaded Data_for_repository_exchange_paper folder on the local computer.
The analysis notebook performs the following principal operations:
- Reshapes Qblox acquisitions into labeled xarray dimensions.
- Plots charge-stability and exchange-oscillation maps.
- Fits decaying sinusoids to exchange oscillations.
- Fits exponential coherence and singlet-decay curves.
- Analyzes CPMG decays for N = 2-70.
- Calibrates exchange frequency versus X5 voltage.
- Uses bootstrap resampling for the singlet-decay analysis.
- Jointly fits Hamiltonian time-evolution simulations to estimate residual exchange, exchange during the pulses, and the quasi-static magnetic-gradient width.
The Scripts/N_1_2_3_4_time_evolution_simulation.ipynb notebook generates the N = 1, 2, 3, and 4 singlet-return simulations used in Appendix Figure 7. User-adjustable parameters are grouped near the start of the notebook. Frequencies are entered in Hz and converted internally to angular frequency. The simulation averages over a Gaussian quasi-static magnetic-gradient distribution and uses a fixed random seed, so repeated runs with unchanged parameters are reproducible. The default calculation uses 2,000 Monte Carlo samples and may take appreciably longer than the plotting-only sections.
Software requirements
The notebooks use Python 3 and Jupyter. The recorded notebook kernels used Python 3.12.9 for Data\_analysis.ipynb and Python 3.13.9 for N_1_2_3_4_time_evolution_simulation.ipynb. The analysis requires the following third-party packages, which are imported at the top of the analysis script:
numpyscipymatplotlibpandasxarrayh5pyh5netcdfjupyterorjupyterlabipython
The acquisition-reshaping functions needed from Qblox Scheduler are reproduced directly in Data_analysis.ipynb, so installation of Qblox Scheduler is not required for the supplied analysis. The standard-library modules pathlib, datetime, pickle, json, dataclasses, collections, and typing are also used.
