Published June 14, 2024 | Version v3
Dataset Open

Data for "Phase transition in Random Circuit Sampling"

Creators

  • 1. Google
  • 2. NIST
  • 3. University of California, Riverside
  • 4. NASA Ames

Description

Purpose

This dataset defines the Random Quantum Circuits (RQCs) used in our paper "Phase transition in Random Circuit Sampling" and lists the bitstrings observed in the experimental executions of the circuits on the Sycamore  processor. See [1] for more details about the experiment. This data upload is modeled after that of [5].

Background

Circuit parameters

RQCs posted here are uniquely identified
using the following parameters:

  •  `n`: number of qubits (69, 70),
  •  `m`: number of cycles (04, 06, 08, ..., 28, 30),
  •  `s`: seed for the pseudo-random number generator (000, 001, ..., 595),
  •  `patches`: the number of patches,
  •  `p`: sequence of coupler activation patterns (`ABCD`, `ABCDCDAB`),
  •  `num_sq`: the number of distinct single-qubit gates (3, 8),
  •  the date on which the data was collected, included in yymmdd format in the filename, and
  •  `phase_match`: included in the file name if phase matching was performed.

See Figure S25 in [2] and Figure 3 of [1] for the coupler activation patterns and Figure 4 of [1] for illustrations of the patches. Also see code snippets below for visualizing the patches and activation patterns from the provided circuits.
When `num_sq` is 8, the single-qubit gates are chosen randomly from \(Z^p X^{1/2} Z^{-p}\), with \(p \in \{-1, -3/4, -1/2, -1/4, 0, 1/4, 1/2, 3/4 \}\), whereas when `num_sq` is 3, they are chosen randomly from among \(\sqrt X\), \(\sqrt Y\), and \(\sqrt W\). Phase matching is described in Appendix C.1 of [1]. Note that circuits which share the same seed `s` share the same initial gate sequence.

Content description

For each RQC there are four files in the dataset:
 * original RQC specification in QSIM format, named `circuit_\*.qsim`,
 * derived RQC specificaton as python code using cirq, named `circuit_\*.py`,
 * derived RQC specification in QASM format, named `circuit_\*.qasm`,
 * bitstrings observed in experiments, named `measurements_\*.txt`.

The asterisk \* in the names above stands for a string specifying the parameters identifying a RQC. For example,
`circuit_n70_m24_s00_patches3_pABCD_num_sq8_221014_phase_match.qasm` contains the definition of the 70-qubit, 24-cycle RQC with PRNG seed 0, 3 patches, a simplifiable sequence of coupler activation patterns (i.e. ABCD), and 8 distinct single-qubit gates, taken on October 14, 2022, with phase matching, in the QASM format.

Files are grouped by parameters `n`, `m`, and `patches` and into compressed tarballs. For example, tarball `n69_m04_patches2.tar.gz` contains all RQCs and measurement files for circuits with 69 qubits, 4 cycles, and 2 patches.

Circuit file formats

QSIM format

First line specifies the number of qubits n. Each subsequent line specifies a single gate and consists of moment number, gate name and one or two qubits as a number in 0..n-1 optionally followed by gate parameters.

The circuits use the following gates:
 * `x_1_2`: parameter-free, single-qubit pi/2 rotation around the X axis of the Bloch sphere, see equation (45) in section VII of [2],
 * `y_1_2`: parameter-free, single-qubit pi/2 rotation around the Y axis of the Bloch sphere, see equation (46) in section VII of [2],
 * `hz_1_2`: parameter-free, single-qubit pi/2 rotation around the X+Y axis of the Bloch sphere, see equation (47) in section VII of [2],
 * `rz`: single-qubit rotation around the Z axis of the Bloch sphere through the angle specified in radians by the gate's sole parameter,
 * `fsim`: two-qubit gate corresponding to the composition of the iSWAP and CPHASE gates and taking two parameters in radians: theta (the negative iSWAP angle) and phi (the CPHASE angle), see equation (48) in section VII of [2].

Note that the two-qubit gates executed in our experiments on Sycamore belong to the five-parameter family of two-qubit gates that preserve the number of 0 and 1 states of the qubits. Each such gate can be decomposed into one fsim gate and four rz gates. Therefore, one cycle consisting of one application of
single-qubit gates and one application of two-qubit gates is represented in the file using four moments. The first moment contains `x_1_2`, `y_1_2` and `hz_1_2` gates. The other three moments use `rz` and `fsim` gates to describe the two-qubit gates used in the experiments. See section VII in [2] for more details about the Sycamore gates and their decomposition.

Qubits are specified as numbers in 0..n-1 and hence do not directly indicate qubit location on the device.

Python/cirq format

Each python file defines two variables: QUBIT_ORDER and CIRCUIT. The former is a python list object containing `cirq.GridQubit` objects initialized with the
row and column of each qubit on the device. The latter is a `cirq.Circuit` object initialized with all gate operations contained in the circuit. The files have been tested using cirq version 1.2.0.dev20230613162638.

The following code snippet illustrates how one can use cirq and our circuit definitions to compute output state amplitudes:

$ python -i circuit_n70_m24_s00_patches3_pABCD_num_sq8_221014_phase_match.py
>>> cirq.final_wavefunction(CIRCUIT, qubit_order=QUBIT_ORDER)
array([ 0.00263724+0.00337646j,  0.0009332 +0.00111853j,
       -0.0007809 +0.00386362j, ...,  0.00574739-0.00027827j,
       -0.00254766+0.00299345j,  0.00396056+0.00312335j], dtype=complex64)

 

See [3] for more details about cirq.

QASM format

Each QASM file has been generated using cirq and specifies the RQC decomposed into CNOT and single-qubit gates. The files have been generated using cirq.

See [4] for more details about the format.

Measurements file format

Each line contains the bitstring obtained in a single execution of the RQC on Sycamore. The first, left-most position corresponds to the qubit 0 in QSIM format and the first qubit in the `QUBIT_ORDER` list in the python/cirq files.

To visualize the patches

After loading `CIRCUIT` from the appropriate `.py` file, the following code snippet can be used to visualize the patches:

import cirq
import matplotlib.pyplot as plt
pairs = set()
for moment in CIRCUIT:
    for op in moment.operations:
        q = op.qubits
        if len(q) > 1:
            assert len(q) == 2
            pairs.add(tuple(sorted(q)))
d = {p:1 for p in pairs}
heatmap = cirq.TwoQubitInteractionHeatmap(d)
_, ax = plt.subplots(figsize=(8, 8))
_ = heatmap.plot(ax)

 

Visualize the activation patterns

The activation pattern sequence can also be visualized in a similar manner. After loading `CIRCUIT` from the appropriate `.py` pyle, the following code snippet can be used to visualize the activation patterns:

import cirq
import matplotlib.pyplot as plt
def has_two_qubit_gates(moment):
    has = False
    for op in moment.operations:
        if len(op.qubits) > 1:
            has = True
            break
    return has

def plot_pairs(moment):
    pairs = set()
    for op in moment.operations:
        q = op.qubits
        if len(q) > 1:
            assert len(q) == 2
            pairs.add( tuple(sorted(q)) )
    d = {p:1 for p in pairs}
    heatmap = cirq.TwoQubitInteractionHeatmap(d)
    _, ax = plt.subplots(figsize=(8, 8))
    _ = heatmap.plot(ax)
    return ax

moments = [_ for _ in CIRCUIT if has_two_qubit_gates(_)]

moment_to_visualize = moments[0] # iterate through this manually

plot_pairs(moment_to_visualize)

 

Content listing

The dataset includes the following tarball files:

n69_m04_patches2.tar.gz (80 files)
n69_m04_patches3.tar.gz (80 files)
n69_m06_patches2.tar.gz (80 files)
n69_m06_patches3.tar.gz (80 files)
n69_m08_patches2.tar.gz (80 files)
n69_m08_patches3.tar.gz (80 files)
n69_m10_patches2.tar.gz (80 files)
n69_m10_patches3.tar.gz (80 files)
n69_m12_patches2.tar.gz (80 files)
n69_m12_patches3.tar.gz (80 files)
n69_m14_patches2.tar.gz (80 files)
n69_m14_patches3.tar.gz (80 files)
n69_m16_patches2.tar.gz (80 files)
n69_m16_patches3.tar.gz (80 files)
n69_m18_patches2.tar.gz (80 files)
n69_m18_patches3.tar.gz (80 files)
n69_m20_patches2.tar.gz (80 files)
n69_m20_patches3.tar.gz (80 files)
n69_m22_patches2.tar.gz (80 files)
n69_m22_patches3.tar.gz (80 files)
n69_m24_patches1.tar.gz (4 files)
n69_m24_patches2.tar.gz (80 files)
n69_m24_patches3.tar.gz (80 files)
n69_m26_patches2.tar.gz (80 files)
n69_m26_patches3.tar.gz (80 files)
n69_m28_patches2.tar.gz (80 files)
n69_m28_patches3.tar.gz (80 files)
n69_m30_patches2.tar.gz (80 files)
n69_m30_patches3.tar.gz (80 files)
n70_m16_patches2.tar.gz (960 files)
n70_m16_patches3.tar.gz (1040 files)
n70_m16_patches9.tar.gz (160 files)
n70_m18_patches2.tar.gz (960 files)
n70_m18_patches3.tar.gz (1040 files)
n70_m18_patches9.tar.gz (160 files)
n70_m20_patches2.tar.gz (960 files)
n70_m20_patches3.tar.gz (1040 files)
n70_m20_patches9.tar.gz (160 files)
n70_m22_patches2.tar.gz (960 files)
n70_m22_patches3.tar.gz (1040 files)
n70_m22_patches9.tar.gz (160 files)
n70_m24_patches1.tar.gz (56 files)
n70_m24_patches2.tar.gz (960 files)
n70_m24_patches3.tar.gz (1040 files)
n70_m24_patches9.tar.gz (160 files)
n70_m26_patches1.tar.gz (4 files)
n70_m26_patches2.tar.gz (880 files)
n70_m26_patches3.tar.gz (960 files)
n70_m26_patches9.tar.gz (160 files)
67-qubit data (described below)

 

Additionally, the file  Figures 2 and 3 data.zip contains processed data (9 files in Pickle format) that are shown in Figures 2 and 3 of the paper.

The 67-qubit data files, n67_full.zipn67_patches2.zip, and n67_patches3.zip are formatted differently. The circuits are savd in .json format and can be loaded with `cirq.read_json()`. The data files are in .npy format and can be opened with numpy.load(). The number of cycles (`m` elsewhere) is indicated after `d` in the filename. The contents of these zip files can be previewed with the "preview" button.

 

 

References

[1] Google AI Quantum and collaborators, "Phase transition in Random Circuit Sampling". arXiv:2304.11119

[2] Google AI Quantum and collaborators, Supplementary information for “Quantum supremacy using a programmable superconducting processor”. arXiv:1910.11333

[3] Cirq: A Python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits, https://github.com/quantumlib/Cirq.

[4] Cross, Andrew W.; Bishop, Lev S.; Smolin, John A.; Gambetta, Jay M. "Open Quantum Assembly Language", arXiv:1707.03429

[5] Martinis, John M. et al. (2022), "Quantum supremacy using a programmable superconducting processor", Dryad, Dataset, https://doi.org/10.5061/dryad.k6t1rj8

Notes

Data for arXiv:2304.11119

Files

Figures 2 and 3 data.zip

Files (23.8 GB)

Name Size Download all
md5:a684f2b7bc25e2596cf729dd8b8a972d
31.5 kB Preview Download
md5:b710ea1ca06b4df594d509fa26bd5324
745.9 MB Preview Download
md5:86094a114d80366e2e31e5e69d3b57bf
214.1 MB Preview Download
md5:c9f26a592331163a4e2921df7d316f60
214.0 MB Preview Download
md5:8708d231795527114158ad4eae204def
51.5 MB Download
md5:65f064ccc07c2f21d54980b1db76420f
51.3 MB Download
md5:a49887580ded4f49c495336e5183ef79
51.8 MB Download
md5:aa6e7a5631bd057c6c667bd89e84bfbb
51.6 MB Download
md5:54df76f69afa7bf40cab723857ede77c
52.2 MB Download
md5:a12570f29fe0fde9928b6a33aba56925
52.1 MB Download
md5:18151bdd4ea11eef63b9edd30c4a86c6
52.5 MB Download
md5:af7c979e4f2cb05ed0b81c2ee18a3c65
52.3 MB Download
md5:d8bd6342fc3eb22758c86804a32de170
52.8 MB Download
md5:c9764f508e12b36a5326ac24e6faa9ce
52.7 MB Download
md5:5f6d5569838d9280ecd2065dd8433061
53.1 MB Download
md5:d15dd480a7e1c1932a00007cfd008b07
52.9 MB Download
md5:f3dfd463937d37a5df29029ce4cdc3cf
53.4 MB Download
md5:96352d1b5526775ed630265cd8b5a747
53.2 MB Download
md5:8f0897654585b9fbfe88bf20118a0bbc
53.7 MB Download
md5:fd6526445731ee6baa5cb6e156910c09
53.5 MB Download
md5:d76457b00b401f5509fc40f1290fbe41
54.0 MB Download
md5:89fbafae1d4e509075680ce9a5d4674c
53.7 MB Download
md5:db539fc2fff788bdefa494131096fcfc
54.3 MB Download
md5:5513c6d7afdf84bae0fec81ae8de70c4
54.0 MB Download
md5:c6e1e8ee7d4b2a430e82ec032cc9c8b8
763.0 MB Download
md5:9bc92f4c86f82093591066330587cf18
54.6 MB Download
md5:6d00daee37f6c27a6d08545424d17ef3
54.3 MB Download
md5:945197f6b00ea780904f525fd86e820e
54.9 MB Download
md5:6ddb491a18588e2e0c5b6428e968584c
54.6 MB Download
md5:b443750b76d4ab21ac7dc9625e77f0cf
55.2 MB Download
md5:1fbe690db247d86550038c874dbdded4
54.9 MB Download
md5:9c5b4b6db81f0c2137eba410228e5d10
55.5 MB Download
md5:51b4f8b86740a2e1fa3e995c4a86df3c
55.1 MB Download
md5:f58e6e877af8c309a30dd8cc2fd74149
499.4 MB Download
md5:519ddefcb92decdbe0bb2f7adb172d01
524.8 MB Download
md5:9b908806354af2c580f09165883f9cf7
107.5 MB Download
md5:8c34ec53c3e784706a6b399425a44147
503.5 MB Download
md5:90d28d1e18db920d419953992aee92b3
528.1 MB Download
md5:5dc8063bc49a37f9ef55c3e3cddadc54
108.1 MB Download
md5:3396fa16508cbe1c08a6f9d825ab3d08
507.8 MB Download
md5:0686bb6b632f395e88ca6e8df4281b40
533.0 MB Download
md5:38c2fe55d44b4c17ae1f8acb58dfc259
108.6 MB Download
md5:4346f038d77becdffd513f543ed91de5
511.6 MB Download
md5:b8edc1a74a392f25380d02b381b35959
536.3 MB Download
md5:284b1c7449d3d7c7335c81104723d3ee
109.1 MB Download
md5:dbbe5160079aa7d8beebd7a4f2fe883d
12.6 GB Download
md5:089956fd0041ea15ee9cfdd41dd35a31
516.2 MB Download
md5:15fa516b82301ff7d7321e4cd88914be
541.3 MB Download
md5:f4704fe34b2499f29aa6026e4b688480
109.8 MB Download
md5:292432daa85b332d68c9f07170c5b0fa
901.5 MB Download
md5:1578d3eec3e3e86d97dc6557daacdca5
489.5 MB Download
md5:3f56155c29b58a4acfc1a4c7c3a2bff5
514.5 MB Download
md5:390937fee6d453c2354f5f2845308b06
110.4 MB Download

Additional details

Related works

Is described by
Preprint: arXiv:2304.11119 (arXiv)