← Quantum Store · Guides · Lessons · Glossary · Packages · About · Türkçe
Google Quantum AI
Google surface code experiment data (Nature 2023)
Official source: Data for "Suppressing quantum errors by scaling a surface code logical qubit"
Download ZIP (free)Raw measurement data from the Sycamore hardware for the experiment "Suppressing quantum errors by scaling a surface code logical qubit" (315.5 MB, CC-BY-4.0). The package contains a script that downloads the data from Zenodo and checks it with MD5.
What is this dataset?
In an experiment published in Nature in 2023, Google Quantum AI showed on real hardware for the first time that a distance-5 surface code makes fewer logical errors than a distance-3 one. This record contains the raw detector measurements of that experiment, the circuit definitions (in Stim format) and the error models.
- Size: a single ZIP file,
google_qec3v5_experiment_data.zip, 315.5 MB - Licence: CC-BY-4.0 (free to use with attribution)
- DOI: 10.5281/zenodo.6804040
Usage
python zenodo_indir.py --liste # files, sizes and MD5 checksums
python zenodo_indir.py --indir veri/ # download and verify the checksum
The script uses only the Python standard library. The data itself is not
embedded in this package; it is always downloaded from the official Zenodo
record. (--liste means list and --indir means download.)
What can you do with it?
- Test your own decoder on real hardware data. The PyMatching code in this store's "Surface code error correction experiment" package can be adapted directly.
- Compare simulated error rates with real hardware error rates.
Citation
In work that uses the data, cite the Google Quantum AI paper, Nature 614, 676–681 (2023), and the Zenodo DOI.
Installation and running
python zenodo_indir.py --liste
python zenodo_indir.py --indir veri/
Tested with: Python 3.12, Zenodo API (October 2026).
Official source
- Data record: Data for "Suppressing quantum errors by scaling a surface code logical qubit"
- DOI: 10.5281/zenodo.6804040
- Licence: CC-BY-4.0
- Published: 14 July 2022
- 1 files, 315.5 MB in total
Links
Package contents
zenodo_indir.pyREADME.en.md— this fileREADME.md— the same guide in TurkishLICENSE— the licence of the files in this packageKAYNAK.json— a machine-readable summary of the official source
Licence
The example code and the guide in this package were written by the Quantum Store editors and are MIT licensed. The data it uses is subject to its own licence (CC-BY-4.0).
Quantum Store — https://hakanerdogan.com/en
Example code
The example shipped in the package, run and checked. Comments and printed messages are in Turkish; the code is the same in any language. Everything is in the ZIP.
zenodo_indir.py
"""Zenodo'dan Google Quantum AI yüzey kodu deney verisini indir.
Kayıt: https://doi.org/10.5281/zenodo.6804040 (lisans: CC-BY-4.0)
Kullanım:
python zenodo_indir.py --liste # dosyaları ve boyutlarını göster
python zenodo_indir.py --indir veri/ # ZIP'i indir ve MD5 ile doğrula
Yalnızca Python standart kütüphanesi kullanılır.
"""
import argparse
import hashlib
import json
import sys
import urllib.request
from pathlib import Path
RECORD = "6804040"
API = f"https://zenodo.org/api/records/{RECORD}"
def get_json(url: str) -> dict:
req = urllib.request.Request(url, headers={"User-Agent": "quantum-store"})
with urllib.request.urlopen(req, timeout=60) as r:
return json.loads(r.read())
def main() -> int:
ap = argparse.ArgumentParser()
ap.add_argument("--liste", action="store_true")
ap.add_argument("--indir", metavar="KLASOR")
args = ap.parse_args()
record = get_json(API)
meta = record["metadata"]
print(f"{meta['title']}")
print(f"DOI: {record['doi']} Lisans: {meta['license']['id']}")
for f in record["files"]:
print(f" {f['key']} {f['size'] / 1e6:.1f} MB {f['checksum']}")
if not args.indir:
return 0
target = Path(args.indir)
target.mkdir(parents=True, exist_ok=True)
for f in record["files"]:
path = target / f["key"]
algo, expected = f["checksum"].split(":", 1)
print(f"İndiriliyor: {path}")
digest = hashlib.new(algo)
req = urllib.request.Request(f["links"]["self"], headers={"User-Agent": "quantum-store"})
with urllib.request.urlopen(req, timeout=120) as r, open(path, "wb") as out:
done = 0
while chunk := r.read(1 << 20):
out.write(chunk)
digest.update(chunk)
done += len(chunk)
print(f"\r {done / 1e6:8.1f} / {f['size'] / 1e6:.1f} MB", end="")
print()
if digest.hexdigest() != expected:
print("HATA: sağlama toplamı uyuşmuyor", file=sys.stderr)
return 1
print(" Doğrulandı.")
return 0
if __name__ == "__main__":
sys.exit(main())
Related concepts
- Quantum error correction · Quantum error correction spreads one logical qubit over many physical qubits so that errors caused by noise can be found and fixed without measuring the qubits directly.
- Surface code · The surface code arranges qubits on a two-dimensional grid and uses only operations between neighbouring qubits; it is the most widely tested quantum error-correcting code today.