Data from: Dynamics of disordered quantum systems with two- and three-dimensional tensor networks
Data files
Mar 31, 2026 version files 38.45 MB
-
DynamicsofDisorderedSystemsData.zip
38.44 MB
-
README.md
14.60 KB
Abstract
Large-scale quantum annealing dynamics of Ising spin glasses were recently implemented on D-Wave’s Advantage2 system on a range of lattices. Following extensive comparison to existing numerical methods, these experiments were claimed to be beyond the reach of classical computation. Here, we simulate these spin glass models with lattice-specific tensor networks, using belief propagation (BP) to keep up with the entanglement generated during the time evolution and then extracting expectation values with more sophisticated variants of BP. We find that state-of-the-art accuracies can be achieved with modest computational resources. Moreover, our results are scalable in both two and three dimensions, which we leverage to verify universal Kibble-Zurek physics on systems involving hundreds of qubits.
Dataset DOI: 10.5061/dryad.7d7wm388g
Overview
This repository contains data from tensor network state (TNS) simulations of quasi-adiabatic dynamics in the disordered transverse field Ising model (TFIM). The simulations cover three specific lattice geometries: square, diamond cubic, and regular cubic lattices.
In cases where ground truth matrix product state (MPS) data is available, it is provided. Data from the D-Wave Advantage2 Quantum Processor is provided to,o which was originally reported in Science 12 Mar 2025 Vol 388, Issue 6743 with the accompanying Zenodo repo https://zenodo.org/records/14063693.
The provided data and scripts then allow for the reconstruction of all plots as presented in the corresponding paper "Dynamics of Disordered Quantum Systems with Two- and Three-Dimensional Tensor Networks" in the journal Science.
Repository Structure
All raw data is contained within the compressed file DynamicsofDisorderedSystemsData.zip. The data is organized into several high-level folders: one for each of the figures in the main text and supplementary material. The pertinent subfolders are structured as in the table below:
DynamicsofDisorderedSystemsData.zip
├── Figure2
│ ├── CylindricalTNSCorrs
│ ├── MPSGroundTruthCorrs
│ ├── QPUCorrs
│ ├── Instances
│ └── Plot_Figure2.py
├── Figure3
│ ├── TNSCorrs
│ ├── MPSGroundTruthCorrs
│ ├── QPUCorrs
│ ├── Instances
│ └── Plot_Figure3.py
├── Figure4
│ ├── AllDiamondTNSCorrs
│ ├── NNDiamondTNSCorrs
│ ├── instance.npz
│ └── Plot_Figure4.py
├── Figure5
│ ├── DiamondTNS
│ │ ├── Instances
│ │ └── Corrs
│ ├── CylinderTNS
│ │ ├── Instances
│ │ └── Corrs
│ └── Plot_Figure5.py
├── SupplementaryMaterialFigure3
│ ├── BPEvolutionGateErrors
│ ├── DiamondTNSCorrs
│ └── Plot_SMFigure3.py
├── SupplementaryMaterialFigure4
│ ├── DiamondTNSEvolutionWalltimes
│ ├── DiamondTNSLoopCorrectionWalltimes
│ └── Plot_SMFigure4.py
└── SupplementaryMaterialFigure5
├── CylindricalTNSCorrs
├── MPSGroundTruthCorrs
├── Instances
└── Plot_SMFigure5.py
Individual descriptions of the contents of the high-level folders are as follows.
Each includes a dedicated Python script (e.g., Plot_FigureX.py) to reproduce the specific figure from the raw .npz file,s which contains all of the data.
Figure 2
Raw data and plotting script for simulations on an 8x8 cylindrical lattice with annealing times t_a = 2, 7, and 20 ns and n = 20 disorder instances. Data includes correlations from MPS (ground truth), QP,U and Cylindrical TNS simulations, with a folder for each of these three methods. The subfolders in CylindricalTNS correspond to different annealing times and bond dimensions.
Additionally, there is an Instances folder containing a .npz file for each disorder instance.
Figure 3
Raw data and plotting script for simulations on cylindrical, diamond cubic, and diamond lattices with annealing times t_a = 2, 7, and 20 ns and 20 disorder instances. Data includes correlations from MPS (ground truth), QP,U and TNS simulations with a folder for each of these three methods. These have subfolders for different lattice instances and, in the TNS case, also for different bond dimensions, measurement approaches,s etc.
Figure 4
Raw data and plotting script for 3D TNS simulations of the 192 qubit diamond lattice at an annealing time of t_a = 7 ns. The data covers correlations for a range of bond dimensions and orders of loop correction.
Figure 5
Raw data (correlations) and plotting script for cylindrical and diamond cubic TNS simulations across a range of annealing times, system size,s and disorder instances, allowing a Kibble-Zurek collapse to be performed.
SupplementaryMaterial3
Raw data and plotting script for diamond cubic TNS simulations. Data is for a range of annealing times and system sizes and includes correlations and gate errors at different bond dimensions and orders of loop correction.
SupplementaryMaterial4
Raw data and plotting script for diamond cubic TNS simulations. Data is for a range of annealing times and system sizes and includes wall times on both GPU and CPU for different bond dimensions and orders of loop correction.
SupplementaryMaterial5
Raw data and plotting script for 8x8 cylindrical TNS simulations. Data includes correlations from MPS, QPU, and Cylindrical TNS simulations for 20 different disorder instances and truncation protocols.
Summary of Variables in Raw Data Files
All raw data is stored in NumPy .npz format. The variables contained in each file type are summarised below.
Disorder Instance Files
Found in Instances/ subfolders across Figures 2, 3, 5, and Supplementary Material Figure 5. Each file defines one realisation of disorder in the transverse field Ising model.
| Variable | Type | Description |
|---|---|---|
Jij |
1D float array | Coupling strengths J_ij for each edge in the lattice. |
i |
1D int array | Source qubit index for each edge. |
j |
1D int array | Target qubit index for each edge. |
MPS Ground Truth and QPU Correlation Files
Found in MPSGroundTruthCorrs/ and QPUCorrs/ subfolders. Each file contains correlations across all disorder instances for a given lattice geometry and annealing time.
| Variable | Type | Description |
|---|---|---|
corrs |
2D float array, shape (n_disorders, n_correlations) |
Upper-triangular two-point correlators <sigmaz_i sigmaz_j>. Each row corresponds to one disorder instance. |
TNS Correlation Files (Single Instance)
Found in cylindrical, diamo,nd and cubic dimer TNS subfolders across Figures 2, 3, 5, and Supplementary Material Figure 5. Each file contains the correlations for a single disorder instance at a given bond dimension and annealing time. This includes both boundary-MPS measured and loop-corrected correlations.
| Variable | Type | Description |
|---|---|---|
corrs |
1D float array | Upper-triangular two-point correlators <sigmaz_i sigmaz_j> for one disorder instance. |
Nearest-Neighbour Diamond TNS Correlations (Figure 4)
Found in NNDiamondTNSCorrs/. Each file contains a single nearest-neighbour correlator at multiple loop correction orders for a given bond dimension.
| Variable | Type | Description |
|---|---|---|
corrs |
1D float array | Nearest-neighbour correlator value at each loop correction order. |
looplengths |
1D int array | The maximum loop length l_max corresponding to each entry in corrs. |
All Pairwise Diamond TNS Correlations (Figure 4)
Found in AllDiamondTNSCorrs/. Each file contains all pairwise correlators for a given bond dimension and loop correction order.
| Variable | Type | Description |
|---|---|---|
corrs |
1D float array | All pairwise two-point correlators <sigmaz_i sigmaz_j>. |
Distance-Averaged Cylindrical TNS Correlations (Figure 5)
Found in CylinderTNS/Corrs/. Each file contains disorder-averaged correlations as a function of lattice distance.
| Variable | Type | Description |
|---|---|---|
corrs |
1D float array | Disorder-averaged correlator at each lattice distance. |
dists |
1D float array | Lattice distances corresponding to each entry in corrs. |
BP Evolution Gate Errors (Supplementary Material Figure 3)
Found in BPEvolutionGateErrors/. Each file contains the gate error for one simulation run.
| Variable | Type | Description |
|---|---|---|
gate_error |
scalar float | Mean gate error epsilon_g from the BP evolution for a given system size, bond dimension, disorder instance, and annealing time. |
BP Correction Correlations (Supplementary Material Figure 3)
Found in DiamondTNSCorrs/. Each file contains correlators before and after the first-order loop correction for a subset of qubit pairs.
| Variable | Type | Description |
|---|---|---|
bp_corrs |
1D float array | Two-point correlators from BP (before loop correction). |
bp_corrected_corrs |
1D float array | Two-point correlators after first-order BP loop correction. |
Evolution Walltimes (Supplementary Material Figure 4)
Found in DiamondTNSEvolutionWalltimes/. Each file records the simulation runtime for one BP evolution run.
| Variable | Type | Description |
|---|---|---|
time_taken |
scalar float | Walltime in seconds for the BP evolution simulation. |
Loop Correction Walltimes (Supplementary Material Figure 4)
Found in DiamondTNSLoopCorrectionWalltimes/. Each file records the walltime for computing one loop-corrected measurement on either CPU or GPU.
| Variable | Type | Description |
|---|---|---|
time_taken |
scalar float | Walltime in seconds for computing a single loop-corrected correlator measurement. |
File Naming Conventions
The .npz filenames encode simulation parameters. The key identifiers are:
| Parameter | Meaning |
|---|---|
AnnealingTime / ta |
Annealing time in nanoseconds |
Chi |
TNS bond dimension |
ChiTrunc |
Truncated bond dimension used during boundary-MPS contraction |
MPSRANK |
Bond dimension of the boundary MPS |
LoopLength |
Maximum loop length l_max used for loop corrections (0 = BP only) |
DisorderNo |
Index of the disorder realisation (1-indexed) |
Radius |
Linear size L of the cylindrical lattice |
nx, ny, nz |
Lattice dimensions for 3D geometries (number of qubits = 0.25 * nx * ny * nz for diamond lattices, 2 * nx * ny * nz for cubic dimer lattices) |
UseGPUtrue / UseGPUfalse |
Whether the loop correction was performed on the GPU or the CPU |
Installation & Setup
To run the plotting scripts and inspect the raw data, you must have a Python environment installed with the following modules:
- NumPy
- Matplotlib
- Scipy
Recommendation: We recommend using Conda to manage your Python environment.
Data Usage & Reproduction
Loading Data Manually
If you wish to inspect the raw data without using the provided plotting scripts, you can load any .npz file directly in Python:
import numpy as np
data = np.load('path/to/file.npz')
# List all available variables in the file
print(data.files)
# Access a specific variable (e.g., corrs)
corrs = data['corrs']
Reproducing Figures
Unzip DynamicsofDisorderedSystemsData.zip.
Run the associated script in the associated folder with your Python environment activated:
python Figure2/Plot_Figure2.py
Original Simulation Software
While the provided data is in .npz format for Python, the original simulations were produced using the open-source Julia package:
- Tensor Network Quantum Simulator: https://github.com/JoeyT1994/TensorNetworkQuantumSimulator.jl (open access, MIT licensed software) which is built on top of the ITensors.jl Julia package.
