Skip to content

XanaduAI/xanadu-aurora-data

Repository files navigation

Aurora data

This repository contains tools to access, process, and visualize the data showcased in our Nature paper "Scaling and networking a modular photonic quantum computer". Data is publicly hosted in an S3 bucket and can be downloaded via the download_and_load_file function in the s3_download.py python utility.

Python environment

In order to run the code, it is recommended to create a new Python 3.11 environment (using an environment manager like conda/mamba or pyenv) and install the required packages by running:

pip install -r requirements.txt

Data download and processing demo

Please refer to the instructions and code examples provided in data_download_and_processing_demo.ipynb.

File structure

The data in the publicly accessible S3 bucket is grouped into two main directories, one for each experimental demonstration. See a breakdown of the available files in the subsections below.

  • The data corresponding to the cluster state acquisition is divided into 1,440 files where each file corresponds to one data point in the plot. These files are 458 MB each and can be downloaded and processed separately.
  • The data corresponding to the decoder demo is compressed into a 17.5 GB zip file, amounting to 36 GB once extracted.

Cluster-state acquisition (Fig. 3b)

cluster_state/: directory containing all the data used to create Fig. 3b

  • cluster_state/u_dagger.npy: the inverse unitary applied by the macronode beamsplitters
  • cluster_state/quadratures_vacuum.npy: quadrature array of shape (12, 10_000_000) (12 spatial modes, 10M time bins) acquired with squeezed-light sources turned off
  • cluster_state/{q or p}-measurement/: directory containing all quadratures acquired during the $\hat{q}$ or $\hat{p}$ measurement, respectively
    • cluster_state/{q or p}-measurement/quadratures_batch_{0..720}.npy: quadrature array of shape (12, 10_000_000), corresponding to 10 s continuous cluster-state acquisition

Decoder demo (Figs. 3c, 3d)

decoder_demo/: directory containing all the experimental data used to create Figs. 3c and 3d

  • decoder_demo/signal/: directory containing data acquired in the decoder demo under regular decoding conditions
  • decoder_demo/random/: directory containing data acquired in the control experiment with randomized measurement bases
  • decoder_demo/vacuum/: directory containing data acquired under adaptive measurement bases but squeezed-light sources turned off
  • decoder_demo/{signal or random or vacuum}/batch_{0..74}: directory containing data acquired in a particular batch
    • decoder_demo/{signal or random or vacuum}/batch_{0..74}/quadratures.npy: quadratures of shape (12, 1_000_000) acquired in the batch
    • decoder_demo/{signal or random or vacuum}/batch_{0..74}/switch_settings_mux_{2 or 3}_{top or bot}.npy: multiplexer input index (0, 1, 2, or 3) per time bin; of shape (1_000_000,)
    • decoder_demo/{signal or random or vacuum}/batch_{0..74}/switch_settings_qpu_{0..5}.npy: measurement basis per macronode: 3 for $X$-measurement ($\hat{p}$-basis), 0 for $Z$-measurement ($\hat{q}$-basis); of shape (1_000_000,)
    • decoder_demo/{signal or random}/batch_{0..74}/decisions.npy: decoder decision bit per time bin: -1 for every non-decision time bin, 0 for "cut" decision ($Z$-measurement), 1 for "keep" decision ($X$-measurement), 2 for decoder timeouts (automatically resulting in a "cut" decision); of shape (1_000_000,)

Plot data

The data points illustrated in Figs. 3b, 3c, and 3d are also provided in the spreadsheet xanadu_aurora_plot_data.xlsx.