Skip to content

Christopher-K-Long/From-virtual-Z-gates-to-virtual-Z-pulses-source-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

From virtual Z gates to virtual Z pulses source code

DOI

This repository contains the source code required to reproduce and plot the data presented in:

C. K. Long and C. H. W. Barnes, From virtual Z gates to virtual Z pulses, 2025. arXiv: 2509.13453 [quant-ph]. https://arxiv.org/abs/2509.13453.

Installation

The required Python packages can be installed by executing

pip install -r requirements.txt
pip install -e ./

in the root directory of this repository. To ensure reproducibility, all packages in requirements.txt are version pinned, and Python 3.13.5 should be used.

Downloading the data

The data for the article can be found at:

Long, C. K., & Barnes, C. H. W. (2025). From virtual Z gates to virtual Z pulses data [Data set]. Zenodo. https://doi.org/10.5281/zenodo.17113741

and can be downloaded to the correct directories for plotting by running

bash scripts/download_data_from_zenodo.sh

Reproducing the data

Alternatively, all the data can be collected and plotted by executing

python scripts/collect_and_plot_all_data.py

To only collect the data you can execute

python scripts/data_collection/collect_all_data.py

in the root directory of this repository. Alternatively, if you only wish to collect the data for Figure X in our article, then you can execute

# Replace X with the figure number
python scripts/data_collection/figure_X.py 

in the root directory of this repository.

Plotting the data

All the figures can be plotted from the collected data by executing

python scripts/plotting/plot_all_data.py

in the root directory of this repository. Alternatively, if you only wish to reproduce Figure X in our article then you can execute

# Replace X with the figure number
python scripts/plotting/figure_X.py 

in the root directory of this repository.

Updates

This repository will only be updated to fix bugs that prevent reproducing the data presented in the article, to update citations, or if the article is updated. To ensure reproducibility of the article any bugs that are found that have impacted the data in the article will not be fixed unless our article is also updated.