From 4ceb7797571a0c4bd5d9d4266ac191b20733a774 Mon Sep 17 00:00:00 2001 From: Eliott Rosenberg Date: Tue, 6 Oct 2026 07:07:17 +0000 Subject: [PATCH 1/3] Add tutorial notebook for QEC --- docs/_index_included.yaml | 9 + docs/_toc.yaml | 4 + docs/qec_memory/index.md | 0 docs/qec_memory/surface_code_lambda.ipynb | 1090 +++++++++++++++++++++ recirq/qec_memory/extra-requirements.txt | 1 + 5 files changed, 1104 insertions(+) create mode 100644 docs/qec_memory/index.md create mode 100644 docs/qec_memory/surface_code_lambda.ipynb diff --git a/docs/_index_included.yaml b/docs/_index_included.yaml index 29f97aef..0583fcb5 100644 --- a/docs/_index_included.yaml +++ b/docs/_index_included.yaml @@ -124,6 +124,15 @@ included: description: Analyze published experimental wavefunctions. path: /cirq/experiments/qcqmc/experimental_wavefunctions +- heading: Quantum Error Correction + description: Surface Code Memory Experiment + options: + - cards + items: + - heading: Quantum Engine tutorial + path: /cirq/experiments/qec_memory/surface_code_lambda + - heading: Code Layout + - heading: Lattice Gauge Theory description: Simulations for Charges and Strings in (2+1)D Lattice Gauge Theories options: diff --git a/docs/_toc.yaml b/docs/_toc.yaml index f9b8ebdc..ad39e8f3 100644 --- a/docs/_toc.yaml +++ b/docs/_toc.yaml @@ -84,6 +84,10 @@ toc: - title: "Experimental Wavefunctions" path: /cirq/experiments/qcqmc/experimental_wavefunctions +- heading: "Quantum Error Correction" +- title: "Surface Code Memory Experiment" + path: /cirq/experiments/qec_memory/surface_code_lambda + - heading: "Lattice Gauge Theory" - title: "Simulation of Charges and Strings" path: /cirq/experiments/lattice_gauge/lattice_gauge diff --git a/docs/qec_memory/index.md b/docs/qec_memory/index.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/qec_memory/surface_code_lambda.ipynb b/docs/qec_memory/surface_code_lambda.ipynb new file mode 100644 index 00000000..fdff1c7f --- /dev/null +++ b/docs/qec_memory/surface_code_lambda.ipynb @@ -0,0 +1,1090 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "tC-E2pe2p2i4" + }, + "outputs": [], + "source": [ + "# Copyright 2026 Google\n", + "#\n", + "# Licensed under the Apache License, Version 2.0 (the \"License\");\n", + "# you may not use this file except in compliance with the License.\n", + "# You may obtain a copy of the License at\n", + "#\n", + "# https://www.apache.org/licenses/LICENSE-2.0\n", + "#\n", + "# Unless required by applicable law or agreed to in writing, software\n", + "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", + "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", + "# See the License for the specific language governing permissions and\n", + "# limitations under the License." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zEvb2aKbqlOU" + }, + "source": [ + "# Surface code memory experiment\n", + "\n", + "The goal of this ReCirq tutorial is to reproduce Figure 1c from the Nature paper, \"Quantum error correction below the surface code threshold,\" *Nature* **638** 920-926 (2025). https://www.nature.com/articles/s41586-024-08449-y. We run a surface code memory experiment for various code distances and hopefully see the logical error rate decrease as the code distance increases, quantified by the parameter $\\Lambda$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0BS-Zpfiqqt3" + }, + "source": [ + "## Imports\n", + "\n", + "Before beginning, we install and import the necessary modules." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "yZRWmZ8Sqi9a" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting cirq~=1.0.dev\n", + " Downloading cirq-1.8.0.dev20261005173701-py3-none-any.whl.metadata (15 kB)\n", + "Collecting cirq-aqt==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", + " Downloading cirq_aqt-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.8 kB)\n", + "Collecting cirq-core==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", + " Downloading cirq_core-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.8 kB)\n", + "Collecting cirq-google==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", + " Downloading cirq_google-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.9 kB)\n", + "Collecting cirq-ionq==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", + " Downloading cirq_ionq-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.7 kB)\n", + "Collecting cirq-pasqal==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", + " Downloading cirq_pasqal-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.8 kB)\n", + "Collecting cirq-web==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", + " Downloading cirq_web-1.8.0.dev20261005173701-py3-none-any.whl.metadata (5.6 kB)\n", + "Requirement already satisfied: requests~=2.32 in /usr/local/lib/python3.13/dist-packages (from cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.32.4)\n", + "Requirement already satisfied: attrs>=21.3.0 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (26.1.0)\n", + "Collecting duet>=0.2.8 (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev)\n", + " Downloading duet-0.2.9-py3-none-any.whl.metadata (2.3 kB)\n", + "Requirement already satisfied: matplotlib~=3.10 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.10.0)\n", + "Requirement already satisfied: networkx~=3.4 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.7)\n", + "Collecting numpy~=2.2 (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev)\n", + " Downloading numpy-2.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB)\n", + "Collecting pandas<3.1.0.dev,>=2.3 (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev)\n", + " Downloading pandas-3.0.6-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m79.5/79.5 kB\u001b[0m \u001b[31m5.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: scipy~=1.15 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.16.3)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.14.0)\n", + "Requirement already satisfied: tqdm>=4.12 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (4.67.3)\n", + "Requirement already satisfied: google-api-core~=2.24 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.30.3)\n", + "Requirement already satisfied: proto-plus~=1.25 in /usr/local/lib/python3.13/dist-packages (from cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.29.0)\n", + "Requirement already satisfied: protobuf<7.0dev,>=6.32.1 in /usr/local/lib/python3.13/dist-packages (from cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (6.33.6)\n", + "Collecting typedunits (from cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev)\n", + " Downloading typedunits-0.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (4.9 kB)\n", + "Requirement already satisfied: googleapis-common-protos<2.0.0,>=1.63.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.75.5)\n", + "Requirement already satisfied: google-auth<3.0.0,>=2.14.1 in /usr/local/lib/python3.13/dist-packages (from google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.49.0)\n", + "Requirement already satisfied: grpcio<2.0.0,>=1.33.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.84.0)\n", + "Requirement already satisfied: grpcio-status<2.0.0,>=1.33.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.84.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.4.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (4.66.1)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.5.1)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (26.3)\n", + "Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (11.3.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.3.3)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.9.0.post0)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.13/dist-packages (from requests~=2.32->cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.4.9)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.13/dist-packages (from requests~=2.32->cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.20)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.13/dist-packages (from requests~=2.32->cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.5.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.13/dist-packages (from requests~=2.32->cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (2026.7.22)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.13/dist-packages (from sympy->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.3.0)\n", + "Requirement already satisfied: cython>=3.0.0 in /usr/local/lib/python3.13/dist-packages (from typedunits->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.0.12)\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (0.4.2)\n", + "Requirement already satisfied: cryptography>=38.0.3 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (50.0.2)\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (4.9.1)\n", + "Requirement already satisfied: typing-extensions~=4.12 in /usr/local/lib/python3.13/dist-packages (from grpcio<2.0.0,>=1.33.2->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (4.16.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.13/dist-packages (from python-dateutil>=2.7->matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.17.0)\n", + "Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.13/dist-packages (from cryptography>=38.0.3->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.1.1)\n", + "Requirement already satisfied: pyasn1<0.7.0,>=0.6.1 in /usr/local/lib/python3.13/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (0.6.4)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.13/dist-packages (from cffi>=2.0.0->cryptography>=38.0.3->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.0)\n", + "Downloading cirq-1.8.0.dev20261005173701-py3-none-any.whl (11 kB)\n", + "Downloading cirq_aqt-1.8.0.dev20261005173701-py3-none-any.whl (32 kB)\n", + "Downloading cirq_core-1.8.0.dev20261005173701-py3-none-any.whl (2.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m17.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading cirq_google-1.8.0.dev20261005173701-py3-none-any.whl (755 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m755.7/755.7 kB\u001b[0m \u001b[31m40.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading cirq_ionq-1.8.0.dev20261005173701-py3-none-any.whl (77 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.8/77.8 kB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading cirq_pasqal-1.8.0.dev20261005173701-py3-none-any.whl (35 kB)\n", + "Downloading cirq_web-1.8.0.dev20261005173701-py3-none-any.whl (299 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m299.8/299.8 kB\u001b[0m \u001b[31m18.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading duet-0.2.9-py3-none-any.whl (29 kB)\n", + "Downloading numpy-2.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m16.7/16.7 MB\u001b[0m \u001b[31m68.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pandas-3.0.6-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.8/10.8 MB\u001b[0m \u001b[31m83.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading typedunits-0.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.7/2.7 MB\u001b[0m \u001b[31m70.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: numpy, duet, typedunits, pandas, cirq-core, cirq-web, cirq-pasqal, cirq-ionq, cirq-aqt, cirq-google, cirq\n", + " Attempting uninstall: numpy\n", + " Found existing installation: numpy 2.1.3\n", + " Uninstalling numpy-2.1.3:\n", + " Successfully uninstalled numpy-2.1.3\n", + " Attempting uninstall: pandas\n", + " Found existing installation: pandas 2.2.3\n", + " Uninstalling pandas-2.2.3:\n", + " Successfully uninstalled pandas-2.2.3\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "google-colab 1.0.0 requires pandas==2.2.3, but you have pandas 3.0.6 which is incompatible.\n", + "numba 0.61.2 requires numpy<2.3,>=1.24, but you have numpy 2.5.3 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed cirq-1.8.0.dev20261005173701 cirq-aqt-1.8.0.dev20261005173701 cirq-core-1.8.0.dev20261005173701 cirq-google-1.8.0.dev20261005173701 cirq-ionq-1.8.0.dev20261005173701 cirq-pasqal-1.8.0.dev20261005173701 cirq-web-1.8.0.dev20261005173701 duet-0.2.9 numpy-2.5.3 pandas-3.0.6 typedunits-0.0.2\n" + ] + }, + { + "data": { + "application/vnd.colab-display-data+json": { + "id": "d19e45a32f6a474cbd43dce6d9c51f91", + "pip_warning": { + "packages": [ + "numpy" + ] + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "try:\n", + " import cirq\n", + " assert hasattr(cirq.transformers, 'apply_lazy_args_on_circuit_operation')\n", + "except:\n", + " !pip install --upgrade cirq~=1.0.dev" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "v9Up1M5KoyFa" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting recirq@ git+https://github.com/quantumlib/ReCirq.git (from recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Cloning https://github.com/quantumlib/ReCirq.git to /tmp/pip-install-140193rx/recirq_ea56c03d61274e1b9231f1d12f611aa9\n", + " Running command git clone --filter=blob:none --quiet https://github.com/quantumlib/ReCirq.git /tmp/pip-install-140193rx/recirq_ea56c03d61274e1b9231f1d12f611aa9\n", + " Resolved https://github.com/quantumlib/ReCirq.git to commit 258285133011a4e8f936c662b1017567d1f830bc\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: cirq-core>=1.5.0 in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.8.0.dev20261005173701)\n", + "Requirement already satisfied: cirq-google>=1.5.0 in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.8.0.dev20261005173701)\n", + "Requirement already satisfied: seaborn in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.13.2)\n", + "Requirement already satisfied: sphinx in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (8.2.3)\n", + "Requirement already satisfied: ipython in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (7.34.0)\n", + "Collecting black (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading black-26.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (105 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m105.2/105.2 kB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pytest in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (8.4.2)\n", + "Collecting pytest-xdist (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pytest_xdist-3.8.0-py3-none-any.whl.metadata (3.0 kB)\n", + "Requirement already satisfied: threadpoolctl in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.7.0)\n", + "Collecting Py-BOBYQA (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading Py_BOBYQA-1.5.0-py3-none-any.whl.metadata (9.5 kB)\n", + "Collecting pytket-cirq>=0.16 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pytket_cirq-0.43.0-py3-none-any.whl.metadata (17 kB)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.1)\n", + "Collecting openfermion>=1.2.0 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading openfermion-1.8.1-py3-none-any.whl.metadata (13 kB)\n", + "Requirement already satisfied: absl-py in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.4.0)\n", + "Collecting fqe (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading fqe-0.3.0.tar.gz (148 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m148.1/148.1 kB\u001b[0m \u001b[31m9.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.0.7)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.0)\n", + "Collecting ipie>=0.7.0 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading ipie-0.7.1-py3-none-any.whl.metadata (4.0 kB)\n", + "Requirement already satisfied: numpy>=1.23.5 in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.5.3)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.16.3)\n", + "Collecting openfermionpyscf (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading openfermionpyscf-0.5-py3-none-any.whl.metadata (6.9 kB)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.6)\n", + "Collecting pfapack (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pfapack-1.1.1-cp313-cp313-manylinux_2_28_x86_64.whl.metadata (3.9 kB)\n", + "Collecting pyscf>=2.1.0 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pyscf-2.14.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", + "Collecting qsimcirq>=0.14.0 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading qsimcirq-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (9.3 kB)\n", + "Collecting pymatching (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pymatching-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (18 kB)\n", + "Collecting stim (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading stim-1.16.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (4.4 kB)\n", + "Collecting stimcirq (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading stimcirq-1.16.0.tar.gz (36 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting stimflow (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading stimflow-0.1.0.tar.gz (242 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m242.0/242.0 kB\u001b[0m \u001b[31m5.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: attrs>=21.3.0 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (26.1.0)\n", + "Requirement already satisfied: duet>=0.2.8 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.9)\n", + "Requirement already satisfied: matplotlib~=3.10 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.10.0)\n", + "Requirement already satisfied: networkx~=3.4 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.7)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.14.0)\n", + "Requirement already satisfied: tqdm>=4.12 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.67.3)\n", + "Requirement already satisfied: google-api-core~=2.24 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.30.3)\n", + "Requirement already satisfied: proto-plus~=1.25 in /usr/local/lib/python3.13/dist-packages (from cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.29.0)\n", + "Requirement already satisfied: protobuf<7.0dev,>=6.32.1 in /usr/local/lib/python3.13/dist-packages (from cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.33.6)\n", + "Requirement already satisfied: typedunits in /usr/local/lib/python3.13/dist-packages (from cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.0.2)\n", + "Requirement already satisfied: h5py>=3.0.0 in /usr/local/lib/python3.13/dist-packages (from ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.14.0)\n", + "Requirement already satisfied: numba in /usr/local/lib/python3.13/dist-packages (from ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.61.2)\n", + "Requirement already satisfied: plum-dispatch in /usr/local/lib/python3.13/dist-packages (from ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.9.0)\n", + "Requirement already satisfied: deprecation in /usr/local/lib/python3.13/dist-packages (from openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.1.0)\n", + "Collecting pubchempy (from openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pubchempy-1.0.5-py3-none-any.whl.metadata (4.3 kB)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.13/dist-packages (from openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.32.4)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.13/dist-packages (from pandas->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.9.0.post0)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.13/dist-packages (from pyscf>=2.1.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (80.10.2)\n", + "Collecting pytket>=2.11.0 (from pytket-cirq>=0.16->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pytket-2.18.4-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (4.7 kB)\n", + "Collecting pybind11[global] (from qsimcirq>=0.14.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pybind11-3.1.0-py3-none-any.whl.metadata (10 kB)\n", + "Requirement already satisfied: typing_extensions in /usr/local/lib/python3.13/dist-packages (from qsimcirq>=0.14.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.16.0)\n", + "Collecting contourpy<1.3.3 (from qsimcirq>=0.14.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.5 kB)\n", + "Requirement already satisfied: click>=8.0.0 in /usr/local/lib/python3.13/dist-packages (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (8.5.0)\n", + "Collecting mypy-extensions>=0.4.3 (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading mypy_extensions-1.1.0-py3-none-any.whl.metadata (1.1 kB)\n", + "Requirement already satisfied: packaging>=22.0 in /usr/local/lib/python3.13/dist-packages (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (26.3)\n", + "Collecting pathspec>=1.0.0 (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pathspec-1.1.1-py3-none-any.whl.metadata (14 kB)\n", + "Requirement already satisfied: platformdirs>=2 in /usr/local/lib/python3.13/dist-packages (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.12.2)\n", + "Collecting pytokens~=0.4.0 (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pytokens-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (3.8 kB)\n", + "Collecting jupyter (from fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading jupyter-1.1.1-py2.py3-none-any.whl.metadata (2.0 kB)\n", + "Collecting pyasn1-modules==0.2.7 (from fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pyasn1_modules-0.2.7-py2.py3-none-any.whl.metadata (1.8 kB)\n", + "Requirement already satisfied: Cython in /usr/local/lib/python3.13/dist-packages (from fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.12)\n", + "Collecting pyasn1<0.5.0,>=0.4.6 (from pyasn1-modules==0.2.7->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pyasn1-0.4.8-py2.py3-none-any.whl.metadata (1.5 kB)\n", + "Requirement already satisfied: sphinxcontrib-applehelp>=1.0.7 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.0)\n", + "Requirement already satisfied: sphinxcontrib-devhelp>=1.0.6 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.0)\n", + "Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.6 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.1.0)\n", + "Requirement already satisfied: sphinxcontrib-jsmath>=1.0.1 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.0.1)\n", + "Requirement already satisfied: sphinxcontrib-qthelp>=1.0.6 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.0)\n", + "Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.0)\n", + "Requirement already satisfied: Jinja2>=3.1 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.1.6)\n", + "Requirement already satisfied: Pygments>=2.17 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.21.0)\n", + "Requirement already satisfied: docutils<0.22,>=0.20 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.21.2)\n", + "Requirement already satisfied: snowballstemmer>=2.2 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.1.1)\n", + "Requirement already satisfied: babel>=2.13 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.18.0)\n", + "Requirement already satisfied: alabaster>=0.7.14 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.0.0)\n", + "Requirement already satisfied: imagesize>=1.3 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.1)\n", + "Requirement already satisfied: roman-numerals-py>=1.0.0 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.1.0)\n", + "Collecting jedi>=0.16 (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading jedi-0.20.0-py2.py3-none-any.whl.metadata (23 kB)\n", + "Requirement already satisfied: decorator in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.4.2)\n", + "Requirement already satisfied: pickleshare in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.7.5)\n", + "Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (5.7.1)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.53)\n", + "Requirement already satisfied: backcall in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.0)\n", + "Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.2)\n", + "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.9.0)\n", + "Requirement already satisfied: cloudpickle>=3.0 in /usr/local/lib/python3.13/dist-packages (from joblib->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.1.2)\n", + "Requirement already satisfied: iniconfig>=1 in /usr/local/lib/python3.13/dist-packages (from pytest->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.3.0)\n", + "Requirement already satisfied: pluggy<2,>=1.5 in /usr/local/lib/python3.13/dist-packages (from pytest->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.0)\n", + "Collecting execnet>=2.1 (from pytest-xdist->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading execnet-2.1.2-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting pygltflib (from stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pygltflib-1.16.5-py3-none-any.whl.metadata (33 kB)\n", + "Requirement already satisfied: googleapis-common-protos<2.0.0,>=1.63.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.75.5)\n", + "Requirement already satisfied: google-auth<3.0.0,>=2.14.1 in /usr/local/lib/python3.13/dist-packages (from google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.49.0)\n", + "Requirement already satisfied: grpcio<2.0.0,>=1.33.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.84.0)\n", + "Requirement already satisfied: grpcio-status<2.0.0,>=1.33.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.84.0)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.6 in /usr/local/lib/python3.13/dist-packages (from jedi>=0.16->ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.8.7)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.13/dist-packages (from Jinja2>=3.1->sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.3)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.66.1)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.5.1)\n", + "Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (11.3.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.3.3)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.13/dist-packages (from pexpect>4.3->ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.7.0)\n", + "Requirement already satisfied: wcwidth>=0.1.4 in /usr/local/lib/python3.13/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.9.1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.13/dist-packages (from python-dateutil>=2.8.2->pandas->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.17.0)\n", + "Requirement already satisfied: lark>=1.1.9 in /usr/local/lib/python3.13/dist-packages (from pytket>=2.11.0->pytket-cirq>=0.16->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.3.1)\n", + "Requirement already satisfied: graphviz>=0.20.3 in /usr/local/lib/python3.13/dist-packages (from pytket>=2.11.0->pytket-cirq>=0.16->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.21)\n", + "Collecting qwasm>=1.0.1 (from pytket>=2.11.0->pytket-cirq>=0.16->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading qwasm-1.0.1-py3-none-any.whl.metadata (299 bytes)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.13/dist-packages (from requests->openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.4.9)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.13/dist-packages (from requests->openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.20)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.13/dist-packages (from requests->openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.5.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.13/dist-packages (from requests->openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2026.7.22)\n", + "Requirement already satisfied: roman-numerals==4.1.0 in /usr/local/lib/python3.13/dist-packages (from roman-numerals-py>=1.0.0->sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.1.0)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.13/dist-packages (from sympy->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.3.0)\n", + "Requirement already satisfied: notebook in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.5.7)\n", + "Requirement already satisfied: jupyter-console in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.6.3)\n", + "Requirement already satisfied: nbconvert in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (7.17.1)\n", + "Requirement already satisfied: ipykernel in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.17.1)\n", + "Requirement already satisfied: ipywidgets in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (7.7.1)\n", + "Collecting jupyterlab (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading jupyterlab-4.6.4-py3-none-any.whl.metadata (16 kB)\n", + "Requirement already satisfied: llvmlite<0.45,>=0.44.0dev0 in /usr/local/lib/python3.13/dist-packages (from numba->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.44.0)\n", + "Collecting numpy>=1.23.5 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.0/62.0 kB\u001b[0m \u001b[31m3.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: beartype>=0.16.2 in /usr/local/lib/python3.13/dist-packages (from plum-dispatch->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.22.9)\n", + "Requirement already satisfied: rich>=10.0 in /usr/local/lib/python3.13/dist-packages (from plum-dispatch->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (13.9.4)\n", + "Collecting pybind11-global==3.1.0 (from pybind11[global]->qsimcirq>=0.14.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading pybind11_global-3.1.0-py3-none-any.whl.metadata (10 kB)\n", + "Collecting dataclasses-json>=0.0.25 (from pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading dataclasses_json-0.6.7-py3-none-any.whl.metadata (25 kB)\n", + "Collecting deprecated (from pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading deprecated-3.0.0-py3-none-any.whl.metadata (6.5 kB)\n", + "Collecting marshmallow<4.0.0,>=3.18.0 (from dataclasses-json>=0.0.25->pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading marshmallow-3.26.2-py3-none-any.whl.metadata (7.3 kB)\n", + "Collecting typing-inspect<1,>=0.4.0 (from dataclasses-json>=0.0.25->pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading typing_inspect-0.9.0-py3-none-any.whl.metadata (1.5 kB)\n", + "Requirement already satisfied: cryptography>=38.0.3 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (50.0.2)\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.9.1)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.13/dist-packages (from rich>=10.0->plum-dispatch->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.2.0)\n", + "Requirement already satisfied: wrapt<3,>=1.16 in /usr/local/lib/python3.13/dist-packages (from deprecated->pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.5.0)\n", + "Requirement already satisfied: debugpy>=1.0 in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.8.15)\n", + "Requirement already satisfied: jupyter-client>=6.1.12 in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (7.4.9)\n", + "Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.0)\n", + "Requirement already satisfied: psutil in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (5.9.5)\n", + "Requirement already satisfied: pyzmq>=17 in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (26.2.1)\n", + "Requirement already satisfied: tornado>=6.1 in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.5.7)\n", + "Requirement already satisfied: ipython-genutils~=0.2.0 in /usr/local/lib/python3.13/dist-packages (from ipywidgets->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.0)\n", + "Requirement already satisfied: widgetsnbextension~=3.6.0 in /usr/local/lib/python3.13/dist-packages (from ipywidgets->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.6.10)\n", + "Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /usr/local/lib/python3.13/dist-packages (from ipywidgets->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.17)\n", + "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /usr/local/lib/python3.13/dist-packages (from jupyter-console->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (5.9.1)\n", + "Collecting async-lru>=1.0.0 (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading async_lru-2.3.0-py3-none-any.whl.metadata (7.6 kB)\n", + "Requirement already satisfied: httpx<1,>=0.25.0 in /usr/local/lib/python3.13/dist-packages (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.28.1)\n", + "Collecting jupyter-builder>=1.0.2 (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading jupyter_builder-1.2.3-py3-none-any.whl.metadata (7.8 kB)\n", + "Collecting jupyter-lsp>=2.0.0 (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading jupyter_lsp-2.3.1-py3-none-any.whl.metadata (1.8 kB)\n", + "Requirement already satisfied: jupyter-server<3,>=2.19.0 in /usr/local/lib/python3.13/dist-packages (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.20.0)\n", + "Collecting jupyterlab-server<3,>=2.28.0 (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading jupyterlab_server-2.28.1-py3-none-any.whl.metadata (5.8 kB)\n", + "Requirement already satisfied: notebook-shim>=0.2 in /usr/local/lib/python3.13/dist-packages (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.4)\n", + "Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.13.5)\n", + "Requirement already satisfied: bleach!=5.0.0 in /usr/local/lib/python3.13/dist-packages (from bleach[css]!=5.0.0->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.4.0)\n", + "Requirement already satisfied: defusedxml in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.7.1)\n", + "Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.3.0)\n", + "Requirement already satisfied: mistune<4,>=2.0.3 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.3.4)\n", + "Requirement already satisfied: nbclient>=0.5.0 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.10.4)\n", + "Requirement already satisfied: nbformat>=5.7 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (5.11.1)\n", + "Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.5.1)\n", + "Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (25.1.0)\n", + "Requirement already satisfied: Send2Trash>=1.8.0 in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.1.0)\n", + "Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.18.1)\n", + "Requirement already satisfied: prometheus-client in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.26.0)\n", + "Requirement already satisfied: nbclassic>=0.4.7 in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.3.3)\n", + "Requirement already satisfied: webencodings in /usr/local/lib/python3.13/dist-packages (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.6.1)\n", + "Requirement already satisfied: tinycss2>=1.1.0 in /usr/local/lib/python3.13/dist-packages (from bleach[css]!=5.0.0->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.5.1)\n", + "Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.13/dist-packages (from cryptography>=38.0.3->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.1.1)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.13/dist-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.15.1)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.13/dist-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.0.9)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.13/dist-packages (from httpcore==1.*->httpx<1,>=0.25.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.16.0)\n", + "Requirement already satisfied: entrypoints in /usr/local/lib/python3.13/dist-packages (from jupyter-client>=6.1.12->ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.4)\n", + "Requirement already satisfied: jupyter-events>=0.11.0 in /usr/local/lib/python3.13/dist-packages (from jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.12.1)\n", + "Requirement already satisfied: jupyter-server-terminals>=0.4.4 in /usr/local/lib/python3.13/dist-packages (from jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.5.4)\n", + "Requirement already satisfied: websocket-client>=1.7 in /usr/local/lib/python3.13/dist-packages (from jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.9.2)\n", + "Requirement already satisfied: argon2-cffi-bindings in /usr/local/lib/python3.13/dist-packages (from argon2-cffi->notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (26.1.0)\n", + "Collecting json5>=0.9.0 (from jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", + " Downloading json5-0.15.0-py3-none-any.whl.metadata (37 kB)\n", + "Requirement already satisfied: jsonschema>=4.18.0 in /usr/local/lib/python3.13/dist-packages (from jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.26.0)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.13/dist-packages (from markdown-it-py>=2.2.0->rich>=10.0->plum-dispatch->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.1.2)\n", + "Requirement already satisfied: fastjsonschema>=2.15 in /usr/local/lib/python3.13/dist-packages (from nbformat>=5.7->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.22.2)\n", + "Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.13/dist-packages (from beautifulsoup4->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.10)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.13/dist-packages (from cffi>=2.0.0->cryptography>=38.0.3->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0)\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.13/dist-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2025.9.1)\n", + "Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.13/dist-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.37.0)\n", + "Requirement already satisfied: rpds-py>=0.25.0 in /usr/local/lib/python3.13/dist-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2026.6.3)\n", + "Requirement already satisfied: python-json-logger>=2.0.4 in /usr/local/lib/python3.13/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.2.0)\n", + "Requirement already satisfied: pyyaml>=5.3 in /usr/local/lib/python3.13/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.0.3)\n", + "Requirement already satisfied: rfc3339-validator in /usr/local/lib/python3.13/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.1.4)\n", + "Requirement already satisfied: rfc3986-validator>=0.1.1 in /usr/local/lib/python3.13/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.1.1)\n", + "Requirement already satisfied: fqdn in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.0)\n", + "Requirement already satisfied: isoduration in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (20.11.0)\n", + "Requirement already satisfied: jsonpointer>1.13 in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.1.1)\n", + "Requirement already satisfied: rfc3987-syntax>=1.1.0 in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.1.0)\n", + "Requirement already satisfied: uri-template in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.3.0)\n", + "Requirement already satisfied: webcolors>=24.6.0 in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (25.10.0)\n", + "Requirement already satisfied: arrow>=0.15.0 in /usr/local/lib/python3.13/dist-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.4.0)\n", + "Requirement already satisfied: tzdata in /usr/local/lib/python3.13/dist-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2026.4)\n", + "Downloading ipie-0.7.1-py3-none-any.whl (528 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m528.7/528.7 kB\u001b[0m \u001b[31m20.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading openfermion-1.8.1-py3-none-any.whl (44.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m44.7/44.7 MB\u001b[0m \u001b[31m14.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pyscf-2.14.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m52.8/52.8 MB\u001b[0m \u001b[31m8.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pytket_cirq-0.43.0-py3-none-any.whl (26 kB)\n", + "Downloading qsimcirq-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m50.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading black-26.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m55.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pyasn1_modules-0.2.7-py2.py3-none-any.whl (131 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m131.4/131.4 kB\u001b[0m \u001b[31m8.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading openfermionpyscf-0.5-py3-none-any.whl (16 kB)\n", + "Downloading pfapack-1.1.1-cp313-cp313-manylinux_2_28_x86_64.whl (12.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.1/12.1 MB\u001b[0m \u001b[31m4.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading Py_BOBYQA-1.5.0-py3-none-any.whl (57 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.0/58.0 kB\u001b[0m \u001b[31m3.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pymatching-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (625 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m625.9/625.9 kB\u001b[0m \u001b[31m29.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pytest_xdist-3.8.0-py3-none-any.whl (46 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m46.4/46.4 kB\u001b[0m \u001b[31m2.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading stim-1.16.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.3/5.3 MB\u001b[0m \u001b[31m77.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (322 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m322.7/322.7 kB\u001b[0m \u001b[31m18.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading execnet-2.1.2-py3-none-any.whl (40 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40.7/40.7 kB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading jedi-0.20.0-py2.py3-none-any.whl (4.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.9/4.9 MB\u001b[0m \u001b[31m58.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)\n", + "Downloading pathspec-1.1.1-py3-none-any.whl (57 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m57.3/57.3 kB\u001b[0m \u001b[31m3.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pytket-2.18.4-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.5/8.5 MB\u001b[0m \u001b[31m48.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pytokens-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (268 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m268.4/268.4 kB\u001b[0m \u001b[31m15.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading jupyter-1.1.1-py2.py3-none-any.whl (2.7 kB)\n", + "Downloading numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m16.5/16.5 MB\u001b[0m \u001b[31m40.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pubchempy-1.0.5-py3-none-any.whl (21 kB)\n", + "Downloading pybind11_global-3.1.0-py3-none-any.whl (588 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m588.5/588.5 kB\u001b[0m \u001b[31m26.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pygltflib-1.16.5-py3-none-any.whl (27 kB)\n", + "Downloading dataclasses_json-0.6.7-py3-none-any.whl (28 kB)\n", + "Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.1/77.1 kB\u001b[0m \u001b[31m3.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading qwasm-1.0.1-py3-none-any.whl (15 kB)\n", + "Downloading deprecated-3.0.0-py3-none-any.whl (21 kB)\n", + "Downloading jupyterlab-4.6.4-py3-none-any.whl (17.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17.2/17.2 MB\u001b[0m \u001b[31m17.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pybind11-3.1.0-py3-none-any.whl (319 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m319.4/319.4 kB\u001b[0m \u001b[31m15.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading async_lru-2.3.0-py3-none-any.whl (8.4 kB)\n", + "Downloading jupyter_builder-1.2.3-py3-none-any.whl (947 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m947.5/947.5 kB\u001b[0m \u001b[31m42.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading jupyter_lsp-2.3.1-py3-none-any.whl (77 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.5/77.5 kB\u001b[0m \u001b[31m4.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading jupyterlab_server-2.28.1-py3-none-any.whl (60 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.2/60.2 kB\u001b[0m \u001b[31m3.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading marshmallow-3.26.2-py3-none-any.whl (50 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m51.0/51.0 kB\u001b[0m \u001b[31m2.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading typing_inspect-0.9.0-py3-none-any.whl (8.8 kB)\n", + "Downloading json5-0.15.0-py3-none-any.whl (36 kB)\n", + "Building wheels for collected packages: recirq, fqe, stimcirq, stimflow\n", + " Building wheel for recirq (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for recirq: filename=recirq-0.1.dev0-py3-none-any.whl size=1396738 sha256=fd5371fa7158fa63013eeb93477478eddfe1145431322ddc1f5c888900d5db9d\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-9vk2bjoy/wheels/c0/6b/53/919c6b7b1c308b24345cc4defc5980bdc60df19f12dd3e8974\n", + " Building wheel for fqe (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for fqe: filename=fqe-0.3.0-cp313-cp313-linux_x86_64.whl size=1718694 sha256=c1575c7ce68d44ccf7b3416eb939eb5b088bdccbccffcbc977b16a2009d236b6\n", + " Stored in directory: /root/.cache/pip/wheels/e4/19/74/d0d014824ca370ebb9ad7bb538edabde6198a8815a34879cae\n", + " Building wheel for stimcirq (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for stimcirq: filename=stimcirq-1.16.0-py3-none-any.whl size=51650 sha256=fb3557a9c6b6cb5e1602961d8f348ec2ef68620ba8d0c1969c9ca722702066a6\n", + " Stored in directory: /root/.cache/pip/wheels/01/e5/05/1616e8797e4eee68a3316b2ab016208c247751db74e658d74f\n", + " Building wheel for stimflow (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for stimflow: filename=stimflow-0.1.0-py3-none-any.whl size=269810 sha256=8fba6654d691a7edd03df50e1e09511fb9c6b218d952ffe6bfdc6c83b9664c94\n", + " Stored in directory: /root/.cache/pip/wheels/b4/4c/55/727941f64ff38a8025329117fa285c2a8d5220d379a120da60\n", + "Successfully built recirq fqe stimcirq stimflow\n", + "Installing collected packages: pyasn1, qwasm, pytokens, pybind11-global, pybind11, pyasn1-modules, pubchempy, pathspec, numpy, mypy-extensions, marshmallow, json5, jedi, execnet, deprecated, async-lru, typing-inspect, stim, pytest-xdist, jupyter-builder, contourpy, black, pytket, pyscf, Py-BOBYQA, pfapack, dataclasses-json, pymatching, pygltflib, ipie, stimflow, stimcirq, qsimcirq, openfermion, openfermionpyscf, pytket-cirq, jupyterlab-server, jupyter-lsp, jupyterlab, jupyter, fqe, recirq\n", + " Attempting uninstall: pyasn1\n", + " Found existing installation: pyasn1 0.6.4\n", + " Uninstalling pyasn1-0.6.4:\n", + " Successfully uninstalled pyasn1-0.6.4\n", + " Attempting uninstall: pyasn1-modules\n", + " Found existing installation: pyasn1_modules 0.4.2\n", + " Uninstalling pyasn1_modules-0.4.2:\n", + " Successfully uninstalled pyasn1_modules-0.4.2\n", + " Attempting uninstall: numpy\n", + " Found existing installation: numpy 2.5.3\n", + " Uninstalling numpy-2.5.3:\n", + " Successfully uninstalled numpy-2.5.3\n", + " Attempting uninstall: contourpy\n", + " Found existing installation: contourpy 1.4.0\n", + " Uninstalling contourpy-1.4.0:\n", + " Successfully uninstalled contourpy-1.4.0\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "google-colab 1.0.0 requires pandas==2.2.3, but you have pandas 3.0.6 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed Py-BOBYQA-1.5.0 async-lru-2.3.0 black-26.10.0 contourpy-1.3.2 dataclasses-json-0.6.7 deprecated-3.0.0 execnet-2.1.2 fqe-0.3.0 ipie-0.7.1 jedi-0.20.0 json5-0.15.0 jupyter-1.1.1 jupyter-builder-1.2.3 jupyter-lsp-2.3.1 jupyterlab-4.6.4 jupyterlab-server-2.28.1 marshmallow-3.26.2 mypy-extensions-1.1.0 numpy-2.2.6 openfermion-1.8.1 openfermionpyscf-0.5 pathspec-1.1.1 pfapack-1.1.1 pubchempy-1.0.5 pyasn1-0.4.8 pyasn1-modules-0.2.7 pybind11-3.1.0 pybind11-global-3.1.0 pygltflib-1.16.5 pymatching-2.4.0 pyscf-2.14.0 pytest-xdist-3.8.0 pytket-2.18.4 pytket-cirq-0.43.0 pytokens-0.4.1 qsimcirq-0.22.1 qwasm-1.0.1 recirq-0.1.dev0 stim-1.16.0 stimcirq-1.16.0 stimflow-0.1.0 typing-inspect-0.9.0\n" + ] + }, + { + "data": { + "application/vnd.colab-display-data+json": { + "id": "a6a257d5c82640968ad39453bc982d6a", + "pip_warning": { + "packages": [ + "numpy" + ] + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "try:\n", + " import recirq.qec_memory.decoding as qec_decoding\n", + " import wget\n", + "except:\n", + " !pip install \"recirq[qec_memory] @ git+https://github.com/quantumlib/ReCirq.git\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "BF5PB0z4rCBd" + }, + "outputs": [], + "source": [ + "import copy\n", + "import time\n", + "import zipfile\n", + "from typing import Literal\n", + "\n", + "import cirq_google\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import stim\n", + "import wget\n", + "from google.colab import auth\n", + "from IPython.display import display\n", + "\n", + "import recirq.qec_memory.analysis as qec_analysis\n", + "import recirq.qec_memory.circuits as qec_circuits\n", + "import recirq.qec_memory.decoding as qec_decoding" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UJTPJe2Lsa-E" + }, + "source": [ + "## Authentication\n", + "\n", + "Next, we authenticate with Google Cloud in order to use Quantum Engine." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "nlphOZ7osk2S" + }, + "outputs": [], + "source": [ + "auth.authenticate_user(clear_output=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vFexVDNxtE32" + }, + "source": [ + "## Download circuits\n", + "\n", + "Next, download the stim circuits from Zenodo." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "H7KV6B1-s47o" + }, + "outputs": [], + "source": [ + "# download the circuits\n", + "wget.download('https://zenodo.org/records/23004813/files/ZXXZ circuits.zip')\n", + "\n", + "# unzip them:\n", + "with zipfile.ZipFile('ZXXZ circuits.zip', 'r') as zip_ref:\n", + " zip_ref.extractall()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "abjf6lnOulZX" + }, + "source": [ + "There are two sets of circuits: one for distance 3 and distance 5 surface code and the other for distance 3, 5, and 7 surface code. Specify `config_name` below to pick between the two options. Fill in `processor_id` to match the device that you will use in either case." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "6O0X7paDtxYZ" + }, + "outputs": [], + "source": [ + "config_name = 'd5' # choose between d5 or d7\n", + "\n", + "if config_name == 'd5':\n", + " processor_id = '' # fill this in\n", + " distance_to_shifts = {\n", + " 3: [(0,0), (0,4), (2,2), (-2,2)],\n", + " 5: [(0,0)]\n", + " }\n", + " directory = 'd3_d5/'\n", + "elif config_name == 'd7':\n", + " processor_id = '' # fill this in\n", + " distance_to_shifts = {\n", + " 3: [(0, 0),\n", + " (-2, 2),\n", + " (-4, 4),\n", + " (2, 2),\n", + " (0, 4),\n", + " (-2, 6),\n", + " (4, 4),\n", + " (2, 6),\n", + " (0, 8)],\n", + " 5: [(0, 0), (-2, 2), (2, 2), (0, 4)],\n", + " 7: [(0, 0)]\n", + " }\n", + " directory = 'd3_d5_d7/'" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "NC1gdu26vKnp" + }, + "source": [ + "Now we can load the circuits. The Zenodo circuits are all for 10 cycles of error correction; to achieve other cycle numbers, we will modify the looped element within these circuits. When we run these circuits, we will average over the two choices of observable and two various choices of the placement of the circuit onto the device parameterized by `shift`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "3RmXS-autVXY" + }, + "outputs": [], + "source": [ + "def get_zxxz_circuit(\n", + " distance: int, observable: Literal[\"H\", \"V\"], shift: tuple[int, int]\n", + ") -> stim.Circuit:\n", + " \"\"\"Load a XZZX surface code circuit from a file.\n", + "\n", + " Args:\n", + " distance: The code distance.\n", + " observable: Which basis to measure in.\n", + " shift: Determines which qubits are used.\n", + "\n", + " Returns:\n", + " A stim circuit for the memory experiment.\n", + " \"\"\"\n", + " circuit = stim.Circuit.from_file(\n", + " directory\n", + " + f\"distance_{distance}_cycles_10_observable_{observable}_shift_{shift}.stim\"\n", + " )\n", + " # remove the sweep bits and subsequent TICK\n", + " nq = 2 * distance**2 - 1\n", + " return circuit[:nq] + circuit[(nq + 2) :]\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4UH-rVC_wpdI" + }, + "source": [ + "Let's inspect what oen of these circuits looks like:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "GRAXIquEtk33" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " /-----------------\\ /-----\\ /---\\ /---\\ /-----\\ /--------------------------------\\ /REP 8 /-----\\ /---\\ /---\\ /-----\\ /-----------------------------------------------------------------------------\\ \\ /-----\\ /---\\ /---\\ /-----\\ /---------------------------------------------------------------------------------------------------------------------------------------------------------------------\\\n", + " q0: -QUBIT_COORDS(3,2)-H-----------------@-------@-------H-M:rec[0]-DETECTOR(0,4,0):D0=rec[0]-R-|------H-----------------@-------@-------H-M:rec[8+iter*8]--DETECTOR(0,4,1+iter):D[4+iter*8]=rec[8+iter*8]*rec[0+iter*8]---R-|-H-----------------@-------@-------H-M:rec[72]-DETECTOR(0,4,9):D68=rec[72]*rec[64]-DETECTOR(0,4,10):D76=rec[72]*rec[82]*rec[81]------------------------------------------------------------------------------\n", + " | | | | | | | |\n", + " q1: -QUBIT_COORDS(5,1)-H-@-------H---@---|-----H-|----------------------------------------------|--------@-------H---@---|-----H-|-------------------------------------------------------------------------------------------|---@-------H---@---|-----H-|-------H-----------M:rec[80]---------------------------DETECTOR(2,2,10):D77=rec[74]*rec[81]*rec[80]*rec[84]*rec[83]-OBSERVABLE_INCLUDE:L0*=rec[80]*rec[83]*rec[86]---------------\n", + " | | | | | | | | | | | | | |\n", + " q2: -QUBIT_COORDS(4,2)---|-@-----H---|---|-@---H-@----------------------------------------------|--------|-@-----H---|---|-@---H-@--------------------------DETECTOR(4,2,1+iter):D[8+iter*8]=rec[12+iter*8]*rec[4+iter*8]----|---|-@-----H---|---|-@---H-@-------------------DETECTOR(4,2,9):D72=rec[76]*rec[68]-M:rec[81]-----------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + " q3: -QUBIT_COORDS(3,3)-H-|-|-@---H---|---@-|---H------------------------------------------------|--------|-|-@---H---|---@-|---H---------------------------------------------------------------------------------------------|---|-|-@---H---|---@-|---H---------H-----------------------------------------------M:rec[82]-----------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + " q4: -QUBIT_COORDS(6,1)-H-@-|-|-----@-|-----|-------------H-M:rec[1]---------------------------R-|------H-@-|-|-----@-|-----|-------------H-M:rec[9+iter*8]--DETECTOR(2,0,1+iter):D[5+iter*8]=rec[9+iter*8]*rec[1+iter*8]---R-|-H-@-|-|-----@-|-----|-------------H-M:rec[73]-DETECTOR(2,0,9):D69=rec[73]*rec[65]---------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + " q5: -QUBIT_COORDS(5,2)-H---@-|-----|-@---@-|-----@-------H-M:rec[2]-DETECTOR(2,2,0):D1=rec[2]-R-|------H---@-|-----|-@---@-|-----@-------H-M:rec[10+iter*8]-DETECTOR(2,2,1+iter):D[6+iter*8]=rec[10+iter*8]*rec[2+iter*8]--R-|-H---@-|-----|-@---@-|-----@-------H-M:rec[74]-DETECTOR(2,2,9):D70=rec[74]*rec[66]---------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + " q6: -QUBIT_COORDS(4,3)-H-----@-----|-@---|-@-----|-@-----H-M:rec[3]---------------------------R-|------H-----@-----|-@---|-@-----|-@-----H-M:rec[11+iter*8]-DETECTOR(2,4,1+iter):D[7+iter*8]=rec[11+iter*8]*rec[3+iter*8]--R-|-H-----@-----|-@---|-@-----|-@-----H-M:rec[75]-DETECTOR(2,4,9):D71=rec[75]*rec[67]---------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + " q7: -QUBIT_COORDS(6,2)-----------H-@-|---|-@---H-@-|----------------DETECTOR(6,2,0):D3=rec[7]---|----------------H-@-|---|-@---H-@-|------------------------DETECTOR(6,2,1+iter):D[11+iter*8]=rec[15+iter*8]*rec[7+iter*8]---|-----------H-@-|---|-@---H-@-|-----------------DETECTOR(6,2,9):D75=rec[79]*rec[71]-M:rec[83]----------------------------------------------------DETECTOR(6,2,10):D79=rec[79]*rec[87]*rec[86]-----------------\n", + " | | | | | | | | | | | | | |\n", + " q8: -QUBIT_COORDS(5,3)-H-----@---H---|-@-@-|---H---@--------------------------------------------|------------@---H---|-@-@-|---H---@-----------------------------------------------------------------------------------------|-------@---H---|-@-@-|---H---@-----H-----------------------------------------------M:rec[84]-----------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | |\n", + " q9: -QUBIT_COORDS(4,4)-------|-@-H---@-|---|-@-H--------------------DETECTOR(4,4,0):D2=rec[5]---|------------|-@-H---@-|---|-@-H----------------------------DETECTOR(4,4,1+iter):D[9+iter*8]=rec[13+iter*8]*rec[5+iter*8]----|-------|-@-H---@-|---|-@-H---------------------DETECTOR(4,4,9):D73=rec[77]*rec[69]-M:rec[85]----------------------------------------------------DETECTOR(4,4,10):D78=rec[77]*rec[85]*rec[84]*rec[88]*rec[87]-\n", + " | | | | | | | | | | | | | | | | |\n", + "q10: -QUBIT_COORDS(6,3)-H-----@-|-----@-|---@-|-----@-----H-M:rec[4]---------------------------R-|------H-----@-|-----@-|---@-|-----@-----H-M:rec[12+iter*8]----------------------------------------------------------------R-|-H-----@-|-----@-|---@-|-----@-----H-M:rec[76]---------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + "q11: -QUBIT_COORDS(5,4)-H-------@-----|-@---@-|-----|-@---H-M:rec[5]---------------------------R-|------H-------@-----|-@---@-|-----|-@---H-M:rec[13+iter*8]----------------------------------------------------------------R-|-H-------@-----|-@---@-|-----|-@---H-M:rec[77]---------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + "q12: -QUBIT_COORDS(4,5)-H-------------|-----|-@-----|-|-@-H-M:rec[6]---------------------------R-|------H-------------|-----|-@-----|-|-@-H-M:rec[14+iter*8]-DETECTOR(4,6,1+iter):D[10+iter*8]=rec[14+iter*8]*rec[6+iter*8]-R-|-H-------------|-----|-@-----|-|-@-H-M:rec[78]-DETECTOR(4,6,9):D74=rec[78]*rec[70]---------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + "q13: -QUBIT_COORDS(7,3)-H---------H---|-@---|---H---@-|-|----------------------------------------|----------------H---|-@---|---H---@-|-|-------------------------------------------------------------------------------------|-----------H---|-@---|---H---@-|-|-H-----------------------------------------------M:rec[86]-----------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + "q14: -QUBIT_COORDS(6,4)---------@-H---@-|---|---H-----@-|----------------------------------------|--------------@-H---@-|---|---H-----@-|-------------------------------------------------------------------------------------|---------@-H---@-|---|---H-----@-|-------------------------------------------------M:rec[87]-----------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | |\n", + "q15: -QUBIT_COORDS(5,5)-H-------|-H-----|---@---H-------@----------------------------------------|--------------|-H-----|---@---H-------@-------------------------------------------------------------------------------------|---------|-H-----|---@---H-------@-H-----------------------------------------------M:rec[88]-----------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | |\n", + "q16: -QUBIT_COORDS(7,4)-H-------@-------@-----------------H-M:rec[7]---------------------------R-|------H-------@-------@-----------------H-M:rec[15+iter*8]----------------------------------------------------------------R-|-H-------@-------@-----------------H-M:rec[79]---------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " \\-----------------/ \\-----/ \\---/ \\---/ \\-----/ \\--------------------------------/ \\ \\-----/ \\---/ \\---/ \\-----/ \\-----------------------------------------------------------------------------/ / \\-----/ \\---/ \\---/ \\-----/ \\---------------------------------------------------------------------------------------------------------------------------------------------------------------------/\n" + ] + } + ], + "source": [ + "circuit = get_zxxz_circuit(3, 'H', (0,0))\n", + "print(circuit.diagram())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Y-Hoh7P0xFOi" + }, + "source": [ + "A distance-$d$ surface code should have $d^2$ data qubits and $d^2-1$ measure qubits to measure each of the $d^2-1$ stabilizers. Here $d=3$, and you can see that, indeed, there are $9+8=17$ qubits, of which 8 (the measure qubits) are measured mid-circuit. You can step through the circuit interactively using Crumble:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "HYJa6F45wwlJ" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "https://algassert.com/crumble#circuit=Q(3,2)0;Q(5,1)1;Q(4,2)2;Q(3,3)3;Q(6,1)4;Q(5,2)5;Q(4,3)6;Q(6,2)7;Q(5,3)8;Q(4,4)9;Q(6,3)10;Q(5,4)11;Q(4,5)12;Q(7,3)13;Q(6,4)14;Q(5,5)15;Q(7,4)16;H_0_4_5_6_10_11_12_16_1_3_8_13_15;TICK;CZ_4_1_5_2_6_3_10_8_11_9_16_14;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_4_7_5_1_6_9_10_14_11_8_16_13;TICK;CZ_0_3_5_8_6_2_10_7_11_15_12_9;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_0_2_5_7_6_8_10_13_11_14_12_15;TICK;H_0_4_5_6_10_11_12_16;TICK;M_0_4_5_6_10_11_12_16;DT(0,4,0)rec[-8];DT(2,2,0)rec[-6];DT(4,4,0)rec[-3];DT(6,2,0)rec[-1];SHIFT_COORDS(0,0,1);TICK;R_0_4_5_6_10_11_12_16;TICK;REPEAT_8_{;H_0_4_5_6_10_11_12_16;TICK;CZ_4_1_5_2_6_3_10_8_11_9_16_14;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_4_7_5_1_6_9_10_14_11_8_16_13;TICK;CZ_0_3_5_8_6_2_10_7_11_15_12_9;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_0_2_5_7_6_8_10_13_11_14_12_15;TICK;H_0_4_5_6_10_11_12_16;TICK;M_0_4_5_6_10_11_12_16;DT(0,4,0)rec[-8]_rec[-16];DT(2,0,0)rec[-7]_rec[-15];DT(2,2,0)rec[-6]_rec[-14];DT(2,4,0)rec[-5]_rec[-13];DT(4,2,0)rec[-4]_rec[-12];DT(4,4,0)rec[-3]_rec[-11];DT(4,6,0)rec[-2]_rec[-10];DT(6,2,0)rec[-1]_rec[-9];SHIFT_COORDS(0,0,1);TICK;R_0_4_5_6_10_11_12_16;TICK;};H_0_4_5_6_10_11_12_16;TICK;CZ_4_1_5_2_6_3_10_8_11_9_16_14;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_4_7_5_1_6_9_10_14_11_8_16_13;TICK;CZ_0_3_5_8_6_2_10_7_11_15_12_9;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_0_2_5_7_6_8_10_13_11_14_12_15;TICK;H_0_4_5_6_10_11_12_16_1_3_8_13_15;TICK;M_0_4_5_6_10_11_12_16;DT(0,4,0)rec[-8]_rec[-16];DT(2,0,0)rec[-7]_rec[-15];DT(2,2,0)rec[-6]_rec[-14];DT(2,4,0)rec[-5]_rec[-13];DT(4,2,0)rec[-4]_rec[-12];DT(4,4,0)rec[-3]_rec[-11];DT(4,6,0)rec[-2]_rec[-10];DT(6,2,0)rec[-1]_rec[-9];SHIFT_COORDS(0,0,1);M_1_2_3_7_8_9_13_14_15;DT(0,4,0)rec[-17]_rec[-7]_rec[-8];DT(2,2,0)rec[-15]_rec[-8]_rec[-9]_rec[-5]_rec[-6];DT(4,4,0)rec[-12]_rec[-4]_rec[-5]_rec[-1]_rec[-2];DT(6,2,0)rec[-10]_rec[-2]_rec[-3];OI(0)rec[-9]_rec[-6]_rec[-3];TICK_\n" + ] + } + ], + "source": [ + "print(circuit.to_crumble_url())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "n87zSXj8ytyY" + }, + "source": [ + "Now, let's look at the other observable:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "or1nAYctyJC9" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " /-----------------\\ /-----\\ /---\\ /---\\ /-----\\ /--------------------------------\\ /REP 8 /-----\\ /---\\ /---\\ /-----\\ /-----------------------------------------------------------------------------\\ \\ /-----\\ /---\\ /---\\ /-----\\ /------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\\n", + " q0: -QUBIT_COORDS(3,2)-H-----------------@-------@-------H-M:rec[0]---------------------------R-|------H-----------------@-------@-------H-M:rec[8+iter*8]--DETECTOR(0,4,1+iter):D[4+iter*8]=rec[8+iter*8]*rec[0+iter*8]---R-|-H-----------------@-------@-------H-M:rec[72]-DETECTOR(0,4,9):D68=rec[72]*rec[64]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | |\n", + " q1: -QUBIT_COORDS(5,1)---@-------H---@---|-----H-|----------------------------------------------|--------@-------H---@---|-----H-|-------------------------------------------------------------------------------------------|---@-------H---@---|-----H-|-------------------M:rec[80]---------------------------DETECTOR(2,0,10):D76=rec[73]*rec[80]*rec[83]--------------------------------------------------------------OBSERVABLE_INCLUDE:L0*=rec[80]*rec[81]*rec[82]---------------\n", + " | | | | | | | | | | | | | |\n", + " q2: -QUBIT_COORDS(4,2)-H-|-@-----H---|---|-@---H-@------------------DETECTOR(4,2,0):D2=rec[4]---|--------|-@-----H---|---|-@---H-@--------------------------DETECTOR(4,2,1+iter):D[8+iter*8]=rec[12+iter*8]*rec[4+iter*8]----|---|-@-----H---|---|-@---H-@-------H-----------DETECTOR(4,2,9):D72=rec[76]*rec[68]-M:rec[81]------------------------------------DETECTOR(2,4,10):D77=rec[75]*rec[82]*rec[85]*rec[81]*rec[84]-DETECTOR(4,2,10):D78=rec[76]*rec[84]*rec[87]*rec[83]*rec[86]-\n", + " | | | | | | | | | | | | | | | | |\n", + " q3: -QUBIT_COORDS(3,3)---|-|-@---H---|---@-|---H------------------------------------------------|--------|-|-@---H---|---@-|---H---------------------------------------------------------------------------------------------|---|-|-@---H---|---@-|---H---------------------------------------------------------M:rec[82]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + " q4: -QUBIT_COORDS(6,1)-H-@-|-|-----@-|-----|-------------H-M:rec[1]-DETECTOR(2,0,0):D0=rec[1]-R-|------H-@-|-|-----@-|-----|-------------H-M:rec[9+iter*8]--DETECTOR(2,0,1+iter):D[5+iter*8]=rec[9+iter*8]*rec[1+iter*8]---R-|-H-@-|-|-----@-|-----|-------------H-M:rec[73]-DETECTOR(2,0,9):D69=rec[73]*rec[65]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + " q5: -QUBIT_COORDS(5,2)-H---@-|-----|-@---@-|-----@-------H-M:rec[2]---------------------------R-|------H---@-|-----|-@---@-|-----@-------H-M:rec[10+iter*8]-DETECTOR(2,2,1+iter):D[6+iter*8]=rec[10+iter*8]*rec[2+iter*8]--R-|-H---@-|-----|-@---@-|-----@-------H-M:rec[74]-DETECTOR(2,2,9):D70=rec[74]*rec[66]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + " q6: -QUBIT_COORDS(4,3)-H-----@-----|-@---|-@-----|-@-----H-M:rec[3]-DETECTOR(2,4,0):D1=rec[3]-R-|------H-----@-----|-@---|-@-----|-@-----H-M:rec[11+iter*8]-DETECTOR(2,4,1+iter):D[7+iter*8]=rec[11+iter*8]*rec[3+iter*8]--R-|-H-----@-----|-@---|-@-----|-@-----H-M:rec[75]-DETECTOR(2,4,9):D71=rec[75]*rec[67]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + " q7: -QUBIT_COORDS(6,2)-H---------H-@-|---|-@---H-@-|--------------------------------------------|----------------H-@-|---|-@---H-@-|------------------------DETECTOR(6,2,1+iter):D[11+iter*8]=rec[15+iter*8]*rec[7+iter*8]---|-----------H-@-|---|-@---H-@-|-----H-----------DETECTOR(6,2,9):D75=rec[79]*rec[71]-M:rec[83]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | |\n", + " q8: -QUBIT_COORDS(5,3)-------@---H---|-@-@-|---H---@--------------------------------------------|------------@---H---|-@-@-|---H---@-----------------------------------------------------------------------------------------|-------@---H---|-@-@-|---H---@-----------------------------------------------------M:rec[84]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | |\n", + " q9: -QUBIT_COORDS(4,4)-H-----|-@-H---@-|---|-@-H------------------------------------------------|------------|-@-H---@-|---|-@-H----------------------------DETECTOR(4,4,1+iter):D[9+iter*8]=rec[13+iter*8]*rec[5+iter*8]----|-------|-@-H---@-|---|-@-H---------H-----------DETECTOR(4,4,9):D73=rec[77]*rec[69]-M:rec[85]-------------------------------------------------------------------------------------------------DETECTOR(4,6,10):D79=rec[78]*rec[85]*rec[88]-----------------\n", + " | | | | | | | | | | | | | | | | |\n", + "q10: -QUBIT_COORDS(6,3)-H-----@-|-----@-|---@-|-----@-----H-M:rec[4]---------------------------R-|------H-----@-|-----@-|---@-|-----@-----H-M:rec[12+iter*8]----------------------------------------------------------------R-|-H-----@-|-----@-|---@-|-----@-----H-M:rec[76]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + "q11: -QUBIT_COORDS(5,4)-H-------@-----|-@---@-|-----|-@---H-M:rec[5]---------------------------R-|------H-------@-----|-@---@-|-----|-@---H-M:rec[13+iter*8]----------------------------------------------------------------R-|-H-------@-----|-@---@-|-----|-@---H-M:rec[77]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + "q12: -QUBIT_COORDS(4,5)-H-------------|-----|-@-----|-|-@-H-M:rec[6]-DETECTOR(4,6,0):D3=rec[6]-R-|------H-------------|-----|-@-----|-|-@-H-M:rec[14+iter*8]-DETECTOR(4,6,1+iter):D[10+iter*8]=rec[14+iter*8]*rec[6+iter*8]-R-|-H-------------|-----|-@-----|-|-@-H-M:rec[78]-DETECTOR(4,6,9):D74=rec[78]*rec[70]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + "q13: -QUBIT_COORDS(7,3)-----------H---|-@---|---H---@-|-|----------------------------------------|----------------H---|-@---|---H---@-|-|-------------------------------------------------------------------------------------|-----------H---|-@---|---H---@-|-|-------------------------------------------------M:rec[86]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | | | | |\n", + "q14: -QUBIT_COORDS(6,4)-H-------@-H---@-|---|---H-----@-|----------------------------------------|--------------@-H---@-|---|---H-----@-|-------------------------------------------------------------------------------------|---------@-H---@-|---|---H-----@-|-H-----------------------------------------------M:rec[87]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | | | | | | | |\n", + "q15: -QUBIT_COORDS(5,5)---------|-H-----|---@---H-------@----------------------------------------|--------------|-H-----|---@---H-------@-------------------------------------------------------------------------------------|---------|-H-----|---@---H-------@-------------------------------------------------M:rec[88]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " | | | | | | | |\n", + "q16: -QUBIT_COORDS(7,4)-H-------@-------@-----------------H-M:rec[7]---------------------------R-|------H-------@-------@-----------------H-M:rec[15+iter*8]----------------------------------------------------------------R-|-H-------@-------@-----------------H-M:rec[79]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " \\-----------------/ \\-----/ \\---/ \\---/ \\-----/ \\--------------------------------/ \\ \\-----/ \\---/ \\---/ \\-----/ \\-----------------------------------------------------------------------------/ / \\-----/ \\---/ \\---/ \\-----/ \\------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/\n" + ] + } + ], + "source": [ + "circuit = get_zxxz_circuit(3, 'V', (0,0))\n", + "print(circuit.diagram())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kvehBC0Ezlv8" + }, + "source": [ + "You can see that this differs by Hadamards on the data qubits from the other observable/basis." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HYJpw1SSz1YI" + }, + "source": [ + "## Load the Engine and Sampler objects for data taking" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ClmBAWoHyzuB" + }, + "outputs": [], + "source": [ + "engine = cirq_google.get_engine(\"\") ## fill in your GCP project\n", + "sampler = engine.get_sampler(\n", + " processor_id, circuits_per_job=200, device_config_name=config_name\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "DxCmqbvO0DBG" + }, + "source": [ + "## Specify data taking parameters\n", + "\n", + "`qec_recipe` specifies which hardware techniques we will add to the circuit. See, for example, https://www.nature.com/articles/s41567-023-02226-w for a description of DQLR.\n", + "\n", + "We will prepare the data qubits in random computational basis states at the beginning of the circuit. The number of choices is specified by `num_sweep_bit_choices`.\n", + "\n", + "`repetitions` is the number of times we will repeat each circuit.\n", + "\n", + "`cycles_list` specifies the number of error correction cycles." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "6TegLiDh0B2-" + }, + "outputs": [], + "source": [ + "qec_recipe = [\n", + " \"ADEPT\",\n", + " \"ECHO\",\n", + " \"DQLR_MSMLR\",\n", + " \"DD\",\n", + " \"RESET_AFTER_MEAS\",\n", + " \"READOUT_RESET_TAG\",\n", + "]\n", + "num_sweep_bit_choices = 10\n", + "repetitions = 1000\n", + "cycles_list = np.arange(10, 251, 20)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xUwk_j6q1Vkc" + }, + "source": [ + "## Take the data!\n", + "\n", + "The following cell takes the data by first iterating the choices of `SurfaceCodeParams` (code distance, shift, and observable) in a random order. For each such choice, we perform the following steps:\n", + "1. The hardware techniques are added to the circuit using `engine.compile_circuit`.\n", + "2. The ADEPT phases (single-qubit Z rotations added to cancel a certain type of coherent errors) are calibrated using `engine.calibrate_for_circuit`. See [arXiv:1603.03082](https://arxiv.org/abs/1603.03082).\n", + "3. The circuits are generated for all of the desired cycle numbers and sweep bit choices in a random order.\n", + "4. The data is taken using `sampler.run_batch`.\n", + "5. Decoding is performed using `qec_decoding.get_logical_error_probability`, which uses pymatching and a detector error model built from `stimflow.NoiseModel.si1000`.\n", + "6. In the command `lambda_results.plot(ax)`, the logical error probability vs cycle number is plotted, and an exponential is fitted to extract the logical error rate." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Eg4EvLO8089h" + }, + "outputs": [], + "source": [ + "# repeat the cycle numbers num_sweep_bit_choices times.\n", + "# For each one we will add random sweep bits.\n", + "cycles_times_sweep_bits = np.repeat(cycles_list, num_sweep_bit_choices)\n", + "\n", + "# shuffle the order of cycle numbers\n", + "rng = np.random.default_rng()\n", + "rng.shuffle(cycles_times_sweep_bits)\n", + "\n", + "# set up some variables that we will use to keep track of the iterations\n", + "bases = [\"H\", \"V\"]\n", + "total_param_choices = len(bases) * sum(\n", + " len(shifts) for shifts in distance_to_shifts.values()\n", + ")\n", + "done_params = set()\n", + "\n", + "# we will store the results in here:\n", + "lambda_results = qec_analysis.LambdaExperimentResults(\n", + " cycles_list, repetitions, num_sweep_bit_choices\n", + ")\n", + "\n", + "# and plot them in here:\n", + "fig, ax = plt.subplots(dpi=150, facecolor=\"white\")\n", + "\n", + "# we will print out how long it is taking:\n", + "start_time = time.time()\n", + "time_string = (\n", + " lambda: f\"{(time.time()-start_time)//60:.0f}:{(time.time()-start_time)%60:02.0f}\"\n", + ")\n", + "\n", + "# start data taking\n", + "while len(done_params) < total_param_choices:\n", + " # first choose the code distance\n", + " distance = rng.choice(list(distance_to_shifts.keys()))\n", + "\n", + " # the following if block helps us get a lambda estimate faster but can be\n", + " # deleted to take data in a random order\n", + " if len(done_params) == 1:\n", + " if next(iter(done_params)).distance == 3:\n", + " distance = 5\n", + " elif next(iter(done_params)).distance == 5:\n", + " distance = 3\n", + " elif next(iter(done_params)).distance == 7:\n", + " distance = 5\n", + "\n", + " # next choose from the allowed placements on the device (shifts)\n", + " shift_idx = rng.integers(0, len(distance_to_shifts[distance]))\n", + " shift = distance_to_shifts[distance][shift_idx]\n", + "\n", + " # next choose the observable\n", + " observable = rng.choice(bases)\n", + "\n", + " # skip if we have already taken data for these params\n", + " params = qec_analysis.SurfaceCodeParams(distance, observable, shift)\n", + " if params in done_params:\n", + " continue\n", + " print(f\"{time_string()}: Starting d={distance}, shift={shift}, basis={observable}\")\n", + "\n", + " # get the Zenodo stim circuit\n", + " stim_circuit = get_zxxz_circuit(distance, observable, shift)\n", + "\n", + " # add the hardware techniques\n", + " print(f\"{time_string()}: Compiling hardware circuit\")\n", + " hardware_circuit = engine.compile_circuit(\n", + " stim_circuit,\n", + " qec_recipe,\n", + " processor_id=processor_id,\n", + " config_name=config_name,\n", + " )\n", + "\n", + " # calibrate the ADEPT phases. See arXiv:1603.03082.\n", + " print(f\"{time_string()}: Calibrating ADEPT\")\n", + " resolver = engine.calibrate_for_circuit(\n", + " hardware_circuit, processor_id, config_name=config_name\n", + " )\n", + "\n", + " # Generate the circuits for the various cycle numbers and sweep bits.\n", + " # Uncomment the following line to use a different random order of cycles for\n", + " # each choice of params; otherwise the same order is reused.\n", + " # rng.shuffle(cycles_times_sweep_bits) # uncomment to\n", + " print(f\"Order of cycles: {cycles_times_sweep_bits}\")\n", + " circuits = [\n", + " qec_circuits.add_sweep_bits(\n", + " qec_circuits.replace_loop_repetitions(\n", + " hardware_circuit, cycles, original_cycles=10\n", + " ),\n", + " rng,\n", + " )\n", + " for cycles in cycles_times_sweep_bits\n", + " ]\n", + "\n", + " # Take the data.\n", + " print(f\"{time_string()}: Taking data\")\n", + " result = sampler.run_batch(\n", + " circuits,\n", + " repetitions=repetitions,\n", + " params_list=[resolver] * len(cycles_times_sweep_bits),\n", + " )\n", + "\n", + " # Extract the logical error probability.\n", + " print(f\"{time_string()}: Analyzing data\")\n", + " lep = np.array(\n", + " [\n", + " qec_decoding.get_logical_error_probability(res_i[0].data, circuit, 0.001)\n", + " for circuit, res_i in zip(circuits, result)\n", + " ]\n", + " )\n", + "\n", + " # Fit the logical error rate and plot the results. Extract Λ.\n", + " lambda_results.add_result(params, lep, copy.deepcopy(cycles_times_sweep_bits))\n", + " ax.clear()\n", + " ax = lambda_results.plot(ax)\n", + " display(fig)\n", + " done_params.add(params)\n" + ] + } + ], + "metadata": { + "colab": { + "name": "surface_code_lambda.ipynb", + "toc_visible": true + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/recirq/qec_memory/extra-requirements.txt b/recirq/qec_memory/extra-requirements.txt index 3d3462b9..cab58657 100644 --- a/recirq/qec_memory/extra-requirements.txt +++ b/recirq/qec_memory/extra-requirements.txt @@ -2,3 +2,4 @@ pymatching stim stimcirq stimflow +wget From a12a8505481e4b106ecfb6fd1a2d42cdd05425a7 Mon Sep 17 00:00:00 2001 From: Eliott Rosenberg Date: Tue, 6 Oct 2026 07:09:58 +0000 Subject: [PATCH 2/3] clear outputs --- docs/qec_memory/surface_code_lambda.ipynb | 579 +--------------------- 1 file changed, 5 insertions(+), 574 deletions(-) diff --git a/docs/qec_memory/surface_code_lambda.ipynb b/docs/qec_memory/surface_code_lambda.ipynb index fdff1c7f..fb95978b 100644 --- a/docs/qec_memory/surface_code_lambda.ipynb +++ b/docs/qec_memory/surface_code_lambda.ipynb @@ -51,118 +51,7 @@ "metadata": { "id": "yZRWmZ8Sqi9a" }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collecting cirq~=1.0.dev\n", - " Downloading cirq-1.8.0.dev20261005173701-py3-none-any.whl.metadata (15 kB)\n", - "Collecting cirq-aqt==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", - " Downloading cirq_aqt-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.8 kB)\n", - "Collecting cirq-core==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", - " Downloading cirq_core-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.8 kB)\n", - "Collecting cirq-google==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", - " Downloading cirq_google-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.9 kB)\n", - "Collecting cirq-ionq==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", - " Downloading cirq_ionq-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.7 kB)\n", - "Collecting cirq-pasqal==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", - " Downloading cirq_pasqal-1.8.0.dev20261005173701-py3-none-any.whl.metadata (4.8 kB)\n", - "Collecting cirq-web==1.8.0.dev20261005173701 (from cirq~=1.0.dev)\n", - " Downloading cirq_web-1.8.0.dev20261005173701-py3-none-any.whl.metadata (5.6 kB)\n", - "Requirement already satisfied: requests~=2.32 in /usr/local/lib/python3.13/dist-packages (from cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.32.4)\n", - "Requirement already satisfied: attrs>=21.3.0 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (26.1.0)\n", - "Collecting duet>=0.2.8 (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev)\n", - " Downloading duet-0.2.9-py3-none-any.whl.metadata (2.3 kB)\n", - "Requirement already satisfied: matplotlib~=3.10 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.10.0)\n", - "Requirement already satisfied: networkx~=3.4 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.7)\n", - "Collecting numpy~=2.2 (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev)\n", - " Downloading numpy-2.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB)\n", - "Collecting pandas<3.1.0.dev,>=2.3 (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev)\n", - " Downloading pandas-3.0.6-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m79.5/79.5 kB\u001b[0m \u001b[31m5.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: scipy~=1.15 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.16.3)\n", - "Requirement already satisfied: sympy in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.14.0)\n", - "Requirement already satisfied: tqdm>=4.12 in /usr/local/lib/python3.13/dist-packages (from cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (4.67.3)\n", - "Requirement already satisfied: google-api-core~=2.24 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.30.3)\n", - "Requirement already satisfied: proto-plus~=1.25 in /usr/local/lib/python3.13/dist-packages (from cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.29.0)\n", - "Requirement already satisfied: protobuf<7.0dev,>=6.32.1 in /usr/local/lib/python3.13/dist-packages (from cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (6.33.6)\n", - "Collecting typedunits (from cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev)\n", - " Downloading typedunits-0.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (4.9 kB)\n", - "Requirement already satisfied: googleapis-common-protos<2.0.0,>=1.63.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.75.5)\n", - "Requirement already satisfied: google-auth<3.0.0,>=2.14.1 in /usr/local/lib/python3.13/dist-packages (from google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.49.0)\n", - "Requirement already satisfied: grpcio<2.0.0,>=1.33.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.84.0)\n", - "Requirement already satisfied: grpcio-status<2.0.0,>=1.33.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.84.0)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.4.0)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (4.66.1)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.5.1)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (26.3)\n", - "Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (11.3.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.3.3)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.9.0.post0)\n", - "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.13/dist-packages (from requests~=2.32->cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.4.9)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.13/dist-packages (from requests~=2.32->cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.20)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.13/dist-packages (from requests~=2.32->cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.5.0)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.13/dist-packages (from requests~=2.32->cirq-aqt==1.8.0.dev20261005173701->cirq~=1.0.dev) (2026.7.22)\n", - "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.13/dist-packages (from sympy->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.3.0)\n", - "Requirement already satisfied: cython>=3.0.0 in /usr/local/lib/python3.13/dist-packages (from typedunits->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.0.12)\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (0.4.2)\n", - "Requirement already satisfied: cryptography>=38.0.3 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (50.0.2)\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (4.9.1)\n", - "Requirement already satisfied: typing-extensions~=4.12 in /usr/local/lib/python3.13/dist-packages (from grpcio<2.0.0,>=1.33.2->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (4.16.0)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.13/dist-packages (from python-dateutil>=2.7->matplotlib~=3.10->cirq-core==1.8.0.dev20261005173701->cirq~=1.0.dev) (1.17.0)\n", - "Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.13/dist-packages (from cryptography>=38.0.3->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (2.1.1)\n", - "Requirement already satisfied: pyasn1<0.7.0,>=0.6.1 in /usr/local/lib/python3.13/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (0.6.4)\n", - "Requirement already satisfied: pycparser in /usr/local/lib/python3.13/dist-packages (from cffi>=2.0.0->cryptography>=38.0.3->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google==1.8.0.dev20261005173701->cirq~=1.0.dev) (3.0)\n", - "Downloading cirq-1.8.0.dev20261005173701-py3-none-any.whl (11 kB)\n", - "Downloading cirq_aqt-1.8.0.dev20261005173701-py3-none-any.whl (32 kB)\n", - "Downloading cirq_core-1.8.0.dev20261005173701-py3-none-any.whl (2.2 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m17.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading cirq_google-1.8.0.dev20261005173701-py3-none-any.whl (755 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m755.7/755.7 kB\u001b[0m \u001b[31m40.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading cirq_ionq-1.8.0.dev20261005173701-py3-none-any.whl (77 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.8/77.8 kB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading cirq_pasqal-1.8.0.dev20261005173701-py3-none-any.whl (35 kB)\n", - "Downloading cirq_web-1.8.0.dev20261005173701-py3-none-any.whl (299 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m299.8/299.8 kB\u001b[0m \u001b[31m18.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading duet-0.2.9-py3-none-any.whl (29 kB)\n", - "Downloading numpy-2.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m16.7/16.7 MB\u001b[0m \u001b[31m68.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pandas-3.0.6-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.8 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.8/10.8 MB\u001b[0m \u001b[31m83.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading typedunits-0.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.7/2.7 MB\u001b[0m \u001b[31m70.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hInstalling collected packages: numpy, duet, typedunits, pandas, cirq-core, cirq-web, cirq-pasqal, cirq-ionq, cirq-aqt, cirq-google, cirq\n", - " Attempting uninstall: numpy\n", - " Found existing installation: numpy 2.1.3\n", - " Uninstalling numpy-2.1.3:\n", - " Successfully uninstalled numpy-2.1.3\n", - " Attempting uninstall: pandas\n", - " Found existing installation: pandas 2.2.3\n", - " Uninstalling pandas-2.2.3:\n", - " Successfully uninstalled pandas-2.2.3\n", - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "google-colab 1.0.0 requires pandas==2.2.3, but you have pandas 3.0.6 which is incompatible.\n", - "numba 0.61.2 requires numpy<2.3,>=1.24, but you have numpy 2.5.3 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed cirq-1.8.0.dev20261005173701 cirq-aqt-1.8.0.dev20261005173701 cirq-core-1.8.0.dev20261005173701 cirq-google-1.8.0.dev20261005173701 cirq-ionq-1.8.0.dev20261005173701 cirq-pasqal-1.8.0.dev20261005173701 cirq-web-1.8.0.dev20261005173701 duet-0.2.9 numpy-2.5.3 pandas-3.0.6 typedunits-0.0.2\n" - ] - }, - { - "data": { - "application/vnd.colab-display-data+json": { - "id": "d19e45a32f6a474cbd43dce6d9c51f91", - "pip_warning": { - "packages": [ - "numpy" - ] - } - } - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "try:\n", " import cirq\n", @@ -177,373 +66,7 @@ "metadata": { "id": "v9Up1M5KoyFa" }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collecting recirq@ git+https://github.com/quantumlib/ReCirq.git (from recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Cloning https://github.com/quantumlib/ReCirq.git to /tmp/pip-install-140193rx/recirq_ea56c03d61274e1b9231f1d12f611aa9\n", - " Running command git clone --filter=blob:none --quiet https://github.com/quantumlib/ReCirq.git /tmp/pip-install-140193rx/recirq_ea56c03d61274e1b9231f1d12f611aa9\n", - " Resolved https://github.com/quantumlib/ReCirq.git to commit 258285133011a4e8f936c662b1017567d1f830bc\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: cirq-core>=1.5.0 in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.8.0.dev20261005173701)\n", - "Requirement already satisfied: cirq-google>=1.5.0 in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.8.0.dev20261005173701)\n", - "Requirement already satisfied: seaborn in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.13.2)\n", - "Requirement already satisfied: sphinx in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (8.2.3)\n", - "Requirement already satisfied: ipython in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (7.34.0)\n", - "Collecting black (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading black-26.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (105 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m105.2/105.2 kB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: pytest in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (8.4.2)\n", - "Collecting pytest-xdist (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pytest_xdist-3.8.0-py3-none-any.whl.metadata (3.0 kB)\n", - "Requirement already satisfied: threadpoolctl in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.7.0)\n", - "Collecting Py-BOBYQA (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading Py_BOBYQA-1.5.0-py3-none-any.whl.metadata (9.5 kB)\n", - "Collecting pytket-cirq>=0.16 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pytket_cirq-0.43.0-py3-none-any.whl.metadata (17 kB)\n", - "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.1)\n", - "Collecting openfermion>=1.2.0 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading openfermion-1.8.1-py3-none-any.whl.metadata (13 kB)\n", - "Requirement already satisfied: absl-py in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.4.0)\n", - "Collecting fqe (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading fqe-0.3.0.tar.gz (148 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m148.1/148.1 kB\u001b[0m \u001b[31m9.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", - " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", - " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.0.7)\n", - "Requirement already satisfied: joblib in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.0)\n", - "Collecting ipie>=0.7.0 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading ipie-0.7.1-py3-none-any.whl.metadata (4.0 kB)\n", - "Requirement already satisfied: numpy>=1.23.5 in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.5.3)\n", - "Requirement already satisfied: scipy in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.16.3)\n", - "Collecting openfermionpyscf (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading openfermionpyscf-0.5-py3-none-any.whl.metadata (6.9 kB)\n", - "Requirement already satisfied: pandas in /usr/local/lib/python3.13/dist-packages (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.6)\n", - "Collecting pfapack (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pfapack-1.1.1-cp313-cp313-manylinux_2_28_x86_64.whl.metadata (3.9 kB)\n", - "Collecting pyscf>=2.1.0 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pyscf-2.14.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", - "Collecting qsimcirq>=0.14.0 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading qsimcirq-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (9.3 kB)\n", - "Collecting pymatching (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pymatching-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (18 kB)\n", - "Collecting stim (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading stim-1.16.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (4.4 kB)\n", - "Collecting stimcirq (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading stimcirq-1.16.0.tar.gz (36 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Collecting stimflow (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading stimflow-0.1.0.tar.gz (242 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m242.0/242.0 kB\u001b[0m \u001b[31m5.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: attrs>=21.3.0 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (26.1.0)\n", - "Requirement already satisfied: duet>=0.2.8 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.9)\n", - "Requirement already satisfied: matplotlib~=3.10 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.10.0)\n", - "Requirement already satisfied: networkx~=3.4 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.7)\n", - "Requirement already satisfied: sympy in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.14.0)\n", - "Requirement already satisfied: tqdm>=4.12 in /usr/local/lib/python3.13/dist-packages (from cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.67.3)\n", - "Requirement already satisfied: google-api-core~=2.24 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.30.3)\n", - "Requirement already satisfied: proto-plus~=1.25 in /usr/local/lib/python3.13/dist-packages (from cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.29.0)\n", - "Requirement already satisfied: protobuf<7.0dev,>=6.32.1 in /usr/local/lib/python3.13/dist-packages (from cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.33.6)\n", - "Requirement already satisfied: typedunits in /usr/local/lib/python3.13/dist-packages (from cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.0.2)\n", - "Requirement already satisfied: h5py>=3.0.0 in /usr/local/lib/python3.13/dist-packages (from ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.14.0)\n", - "Requirement already satisfied: numba in /usr/local/lib/python3.13/dist-packages (from ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.61.2)\n", - "Requirement already satisfied: plum-dispatch in /usr/local/lib/python3.13/dist-packages (from ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.9.0)\n", - "Requirement already satisfied: deprecation in /usr/local/lib/python3.13/dist-packages (from openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.1.0)\n", - "Collecting pubchempy (from openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pubchempy-1.0.5-py3-none-any.whl.metadata (4.3 kB)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.13/dist-packages (from openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.32.4)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.13/dist-packages (from pandas->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.9.0.post0)\n", - "Requirement already satisfied: setuptools in /usr/local/lib/python3.13/dist-packages (from pyscf>=2.1.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (80.10.2)\n", - "Collecting pytket>=2.11.0 (from pytket-cirq>=0.16->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pytket-2.18.4-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (4.7 kB)\n", - "Collecting pybind11[global] (from qsimcirq>=0.14.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pybind11-3.1.0-py3-none-any.whl.metadata (10 kB)\n", - "Requirement already satisfied: typing_extensions in /usr/local/lib/python3.13/dist-packages (from qsimcirq>=0.14.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.16.0)\n", - "Collecting contourpy<1.3.3 (from qsimcirq>=0.14.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.5 kB)\n", - "Requirement already satisfied: click>=8.0.0 in /usr/local/lib/python3.13/dist-packages (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (8.5.0)\n", - "Collecting mypy-extensions>=0.4.3 (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading mypy_extensions-1.1.0-py3-none-any.whl.metadata (1.1 kB)\n", - "Requirement already satisfied: packaging>=22.0 in /usr/local/lib/python3.13/dist-packages (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (26.3)\n", - "Collecting pathspec>=1.0.0 (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pathspec-1.1.1-py3-none-any.whl.metadata (14 kB)\n", - "Requirement already satisfied: platformdirs>=2 in /usr/local/lib/python3.13/dist-packages (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.12.2)\n", - "Collecting pytokens~=0.4.0 (from black->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pytokens-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (3.8 kB)\n", - "Collecting jupyter (from fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading jupyter-1.1.1-py2.py3-none-any.whl.metadata (2.0 kB)\n", - "Collecting pyasn1-modules==0.2.7 (from fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pyasn1_modules-0.2.7-py2.py3-none-any.whl.metadata (1.8 kB)\n", - "Requirement already satisfied: Cython in /usr/local/lib/python3.13/dist-packages (from fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.12)\n", - "Collecting pyasn1<0.5.0,>=0.4.6 (from pyasn1-modules==0.2.7->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pyasn1-0.4.8-py2.py3-none-any.whl.metadata (1.5 kB)\n", - "Requirement already satisfied: sphinxcontrib-applehelp>=1.0.7 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.0)\n", - "Requirement already satisfied: sphinxcontrib-devhelp>=1.0.6 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.0)\n", - "Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.6 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.1.0)\n", - "Requirement already satisfied: sphinxcontrib-jsmath>=1.0.1 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.0.1)\n", - "Requirement already satisfied: sphinxcontrib-qthelp>=1.0.6 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.0)\n", - "Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.0)\n", - "Requirement already satisfied: Jinja2>=3.1 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.1.6)\n", - "Requirement already satisfied: Pygments>=2.17 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.21.0)\n", - "Requirement already satisfied: docutils<0.22,>=0.20 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.21.2)\n", - "Requirement already satisfied: snowballstemmer>=2.2 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.1.1)\n", - "Requirement already satisfied: babel>=2.13 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.18.0)\n", - "Requirement already satisfied: alabaster>=0.7.14 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.0.0)\n", - "Requirement already satisfied: imagesize>=1.3 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.0.1)\n", - "Requirement already satisfied: roman-numerals-py>=1.0.0 in /usr/local/lib/python3.13/dist-packages (from sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.1.0)\n", - "Collecting jedi>=0.16 (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading jedi-0.20.0-py2.py3-none-any.whl.metadata (23 kB)\n", - "Requirement already satisfied: decorator in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.4.2)\n", - "Requirement already satisfied: pickleshare in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.7.5)\n", - "Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (5.7.1)\n", - "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.53)\n", - "Requirement already satisfied: backcall in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.0)\n", - "Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.2)\n", - "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.13/dist-packages (from ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.9.0)\n", - "Requirement already satisfied: cloudpickle>=3.0 in /usr/local/lib/python3.13/dist-packages (from joblib->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.1.2)\n", - "Requirement already satisfied: iniconfig>=1 in /usr/local/lib/python3.13/dist-packages (from pytest->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.3.0)\n", - "Requirement already satisfied: pluggy<2,>=1.5 in /usr/local/lib/python3.13/dist-packages (from pytest->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.0)\n", - "Collecting execnet>=2.1 (from pytest-xdist->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading execnet-2.1.2-py3-none-any.whl.metadata (2.9 kB)\n", - "Collecting pygltflib (from stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pygltflib-1.16.5-py3-none-any.whl.metadata (33 kB)\n", - "Requirement already satisfied: googleapis-common-protos<2.0.0,>=1.63.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.75.5)\n", - "Requirement already satisfied: google-auth<3.0.0,>=2.14.1 in /usr/local/lib/python3.13/dist-packages (from google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.49.0)\n", - "Requirement already satisfied: grpcio<2.0.0,>=1.33.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.84.0)\n", - "Requirement already satisfied: grpcio-status<2.0.0,>=1.33.2 in /usr/local/lib/python3.13/dist-packages (from google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.84.0)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.6 in /usr/local/lib/python3.13/dist-packages (from jedi>=0.16->ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.8.7)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.13/dist-packages (from Jinja2>=3.1->sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.3)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.66.1)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.5.1)\n", - "Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (11.3.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.13/dist-packages (from matplotlib~=3.10->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.3.3)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.13/dist-packages (from pexpect>4.3->ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.7.0)\n", - "Requirement already satisfied: wcwidth>=0.1.4 in /usr/local/lib/python3.13/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.9.1)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.13/dist-packages (from python-dateutil>=2.8.2->pandas->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.17.0)\n", - "Requirement already satisfied: lark>=1.1.9 in /usr/local/lib/python3.13/dist-packages (from pytket>=2.11.0->pytket-cirq>=0.16->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.3.1)\n", - "Requirement already satisfied: graphviz>=0.20.3 in /usr/local/lib/python3.13/dist-packages (from pytket>=2.11.0->pytket-cirq>=0.16->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.21)\n", - "Collecting qwasm>=1.0.1 (from pytket>=2.11.0->pytket-cirq>=0.16->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading qwasm-1.0.1-py3-none-any.whl.metadata (299 bytes)\n", - "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.13/dist-packages (from requests->openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.4.9)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.13/dist-packages (from requests->openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.20)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.13/dist-packages (from requests->openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.5.0)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.13/dist-packages (from requests->openfermion>=1.2.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2026.7.22)\n", - "Requirement already satisfied: roman-numerals==4.1.0 in /usr/local/lib/python3.13/dist-packages (from roman-numerals-py>=1.0.0->sphinx->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.1.0)\n", - "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.13/dist-packages (from sympy->cirq-core>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.3.0)\n", - "Requirement already satisfied: notebook in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.5.7)\n", - "Requirement already satisfied: jupyter-console in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.6.3)\n", - "Requirement already satisfied: nbconvert in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (7.17.1)\n", - "Requirement already satisfied: ipykernel in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.17.1)\n", - "Requirement already satisfied: ipywidgets in /usr/local/lib/python3.13/dist-packages (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (7.7.1)\n", - "Collecting jupyterlab (from jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading jupyterlab-4.6.4-py3-none-any.whl.metadata (16 kB)\n", - "Requirement already satisfied: llvmlite<0.45,>=0.44.0dev0 in /usr/local/lib/python3.13/dist-packages (from numba->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.44.0)\n", - "Collecting numpy>=1.23.5 (from recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.0/62.0 kB\u001b[0m \u001b[31m3.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: beartype>=0.16.2 in /usr/local/lib/python3.13/dist-packages (from plum-dispatch->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.22.9)\n", - "Requirement already satisfied: rich>=10.0 in /usr/local/lib/python3.13/dist-packages (from plum-dispatch->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (13.9.4)\n", - "Collecting pybind11-global==3.1.0 (from pybind11[global]->qsimcirq>=0.14.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading pybind11_global-3.1.0-py3-none-any.whl.metadata (10 kB)\n", - "Collecting dataclasses-json>=0.0.25 (from pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading dataclasses_json-0.6.7-py3-none-any.whl.metadata (25 kB)\n", - "Collecting deprecated (from pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading deprecated-3.0.0-py3-none-any.whl.metadata (6.5 kB)\n", - "Collecting marshmallow<4.0.0,>=3.18.0 (from dataclasses-json>=0.0.25->pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading marshmallow-3.26.2-py3-none-any.whl.metadata (7.3 kB)\n", - "Collecting typing-inspect<1,>=0.4.0 (from dataclasses-json>=0.0.25->pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading typing_inspect-0.9.0-py3-none-any.whl.metadata (1.5 kB)\n", - "Requirement already satisfied: cryptography>=38.0.3 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (50.0.2)\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.13/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.9.1)\n", - "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.13/dist-packages (from rich>=10.0->plum-dispatch->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.2.0)\n", - "Requirement already satisfied: wrapt<3,>=1.16 in /usr/local/lib/python3.13/dist-packages (from deprecated->pygltflib->stimflow->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.5.0)\n", - "Requirement already satisfied: debugpy>=1.0 in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.8.15)\n", - "Requirement already satisfied: jupyter-client>=6.1.12 in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (7.4.9)\n", - "Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.0)\n", - "Requirement already satisfied: psutil in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (5.9.5)\n", - "Requirement already satisfied: pyzmq>=17 in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (26.2.1)\n", - "Requirement already satisfied: tornado>=6.1 in /usr/local/lib/python3.13/dist-packages (from ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.5.7)\n", - "Requirement already satisfied: ipython-genutils~=0.2.0 in /usr/local/lib/python3.13/dist-packages (from ipywidgets->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.0)\n", - "Requirement already satisfied: widgetsnbextension~=3.6.0 in /usr/local/lib/python3.13/dist-packages (from ipywidgets->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.6.10)\n", - "Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /usr/local/lib/python3.13/dist-packages (from ipywidgets->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0.17)\n", - "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /usr/local/lib/python3.13/dist-packages (from jupyter-console->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (5.9.1)\n", - "Collecting async-lru>=1.0.0 (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading async_lru-2.3.0-py3-none-any.whl.metadata (7.6 kB)\n", - "Requirement already satisfied: httpx<1,>=0.25.0 in /usr/local/lib/python3.13/dist-packages (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.28.1)\n", - "Collecting jupyter-builder>=1.0.2 (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading jupyter_builder-1.2.3-py3-none-any.whl.metadata (7.8 kB)\n", - "Collecting jupyter-lsp>=2.0.0 (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading jupyter_lsp-2.3.1-py3-none-any.whl.metadata (1.8 kB)\n", - "Requirement already satisfied: jupyter-server<3,>=2.19.0 in /usr/local/lib/python3.13/dist-packages (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.20.0)\n", - "Collecting jupyterlab-server<3,>=2.28.0 (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading jupyterlab_server-2.28.1-py3-none-any.whl.metadata (5.8 kB)\n", - "Requirement already satisfied: notebook-shim>=0.2 in /usr/local/lib/python3.13/dist-packages (from jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.2.4)\n", - "Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.13.5)\n", - "Requirement already satisfied: bleach!=5.0.0 in /usr/local/lib/python3.13/dist-packages (from bleach[css]!=5.0.0->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.4.0)\n", - "Requirement already satisfied: defusedxml in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.7.1)\n", - "Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.3.0)\n", - "Requirement already satisfied: mistune<4,>=2.0.3 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.3.4)\n", - "Requirement already satisfied: nbclient>=0.5.0 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.10.4)\n", - "Requirement already satisfied: nbformat>=5.7 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (5.11.1)\n", - "Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.13/dist-packages (from nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.5.1)\n", - "Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (25.1.0)\n", - "Requirement already satisfied: Send2Trash>=1.8.0 in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.1.0)\n", - "Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.18.1)\n", - "Requirement already satisfied: prometheus-client in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.26.0)\n", - "Requirement already satisfied: nbclassic>=0.4.7 in /usr/local/lib/python3.13/dist-packages (from notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.3.3)\n", - "Requirement already satisfied: webencodings in /usr/local/lib/python3.13/dist-packages (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.6.1)\n", - "Requirement already satisfied: tinycss2>=1.1.0 in /usr/local/lib/python3.13/dist-packages (from bleach[css]!=5.0.0->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.5.1)\n", - "Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.13/dist-packages (from cryptography>=38.0.3->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.1.1)\n", - "Requirement already satisfied: anyio in /usr/local/lib/python3.13/dist-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.15.1)\n", - "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.13/dist-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.0.9)\n", - "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.13/dist-packages (from httpcore==1.*->httpx<1,>=0.25.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.16.0)\n", - "Requirement already satisfied: entrypoints in /usr/local/lib/python3.13/dist-packages (from jupyter-client>=6.1.12->ipykernel->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.4)\n", - "Requirement already satisfied: jupyter-events>=0.11.0 in /usr/local/lib/python3.13/dist-packages (from jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.12.1)\n", - "Requirement already satisfied: jupyter-server-terminals>=0.4.4 in /usr/local/lib/python3.13/dist-packages (from jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.5.4)\n", - "Requirement already satisfied: websocket-client>=1.7 in /usr/local/lib/python3.13/dist-packages (from jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.9.2)\n", - "Requirement already satisfied: argon2-cffi-bindings in /usr/local/lib/python3.13/dist-packages (from argon2-cffi->notebook->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (26.1.0)\n", - "Collecting json5>=0.9.0 (from jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git)\n", - " Downloading json5-0.15.0-py3-none-any.whl.metadata (37 kB)\n", - "Requirement already satisfied: jsonschema>=4.18.0 in /usr/local/lib/python3.13/dist-packages (from jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.26.0)\n", - "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.13/dist-packages (from markdown-it-py>=2.2.0->rich>=10.0->plum-dispatch->ipie>=0.7.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.1.2)\n", - "Requirement already satisfied: fastjsonschema>=2.15 in /usr/local/lib/python3.13/dist-packages (from nbformat>=5.7->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.22.2)\n", - "Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.13/dist-packages (from beautifulsoup4->nbconvert->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2.10)\n", - "Requirement already satisfied: pycparser in /usr/local/lib/python3.13/dist-packages (from cffi>=2.0.0->cryptography>=38.0.3->google-auth<3.0.0,>=2.14.1->google-api-core~=2.24->google-api-core[grpc]~=2.24->cirq-google>=1.5.0->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.0)\n", - "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.13/dist-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2025.9.1)\n", - "Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.13/dist-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.37.0)\n", - "Requirement already satisfied: rpds-py>=0.25.0 in /usr/local/lib/python3.13/dist-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2026.6.3)\n", - "Requirement already satisfied: python-json-logger>=2.0.4 in /usr/local/lib/python3.13/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (4.2.0)\n", - "Requirement already satisfied: pyyaml>=5.3 in /usr/local/lib/python3.13/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (6.0.3)\n", - "Requirement already satisfied: rfc3339-validator in /usr/local/lib/python3.13/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.1.4)\n", - "Requirement already satisfied: rfc3986-validator>=0.1.1 in /usr/local/lib/python3.13/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (0.1.1)\n", - "Requirement already satisfied: fqdn in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.6.0)\n", - "Requirement already satisfied: isoduration in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (20.11.0)\n", - "Requirement already satisfied: jsonpointer>1.13 in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (3.1.1)\n", - "Requirement already satisfied: rfc3987-syntax>=1.1.0 in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.1.0)\n", - "Requirement already satisfied: uri-template in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.3.0)\n", - "Requirement already satisfied: webcolors>=24.6.0 in /usr/local/lib/python3.13/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (25.10.0)\n", - "Requirement already satisfied: arrow>=0.15.0 in /usr/local/lib/python3.13/dist-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (1.4.0)\n", - "Requirement already satisfied: tzdata in /usr/local/lib/python3.13/dist-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.19.0->jupyterlab->jupyter->fqe->recirq@ git+https://github.com/quantumlib/ReCirq.git->recirq[qec_memory]@ git+https://github.com/quantumlib/ReCirq.git) (2026.4)\n", - "Downloading ipie-0.7.1-py3-none-any.whl (528 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m528.7/528.7 kB\u001b[0m \u001b[31m20.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading openfermion-1.8.1-py3-none-any.whl (44.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m44.7/44.7 MB\u001b[0m \u001b[31m14.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pyscf-2.14.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.8 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m52.8/52.8 MB\u001b[0m \u001b[31m8.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pytket_cirq-0.43.0-py3-none-any.whl (26 kB)\n", - "Downloading qsimcirq-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m50.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading black-26.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m55.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pyasn1_modules-0.2.7-py2.py3-none-any.whl (131 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m131.4/131.4 kB\u001b[0m \u001b[31m8.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading openfermionpyscf-0.5-py3-none-any.whl (16 kB)\n", - "Downloading pfapack-1.1.1-cp313-cp313-manylinux_2_28_x86_64.whl (12.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.1/12.1 MB\u001b[0m \u001b[31m4.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading Py_BOBYQA-1.5.0-py3-none-any.whl (57 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.0/58.0 kB\u001b[0m \u001b[31m3.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pymatching-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (625 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m625.9/625.9 kB\u001b[0m \u001b[31m29.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pytest_xdist-3.8.0-py3-none-any.whl (46 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m46.4/46.4 kB\u001b[0m \u001b[31m2.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading stim-1.16.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.3/5.3 MB\u001b[0m \u001b[31m77.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (322 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m322.7/322.7 kB\u001b[0m \u001b[31m18.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading execnet-2.1.2-py3-none-any.whl (40 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40.7/40.7 kB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading jedi-0.20.0-py2.py3-none-any.whl (4.9 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.9/4.9 MB\u001b[0m \u001b[31m58.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)\n", - "Downloading pathspec-1.1.1-py3-none-any.whl (57 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m57.3/57.3 kB\u001b[0m \u001b[31m3.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pytket-2.18.4-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.5 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.5/8.5 MB\u001b[0m \u001b[31m48.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pytokens-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (268 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m268.4/268.4 kB\u001b[0m \u001b[31m15.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading jupyter-1.1.1-py2.py3-none-any.whl (2.7 kB)\n", - "Downloading numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.5 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m16.5/16.5 MB\u001b[0m \u001b[31m40.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pubchempy-1.0.5-py3-none-any.whl (21 kB)\n", - "Downloading pybind11_global-3.1.0-py3-none-any.whl (588 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m588.5/588.5 kB\u001b[0m \u001b[31m26.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pygltflib-1.16.5-py3-none-any.whl (27 kB)\n", - "Downloading dataclasses_json-0.6.7-py3-none-any.whl (28 kB)\n", - "Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.1/77.1 kB\u001b[0m \u001b[31m3.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading qwasm-1.0.1-py3-none-any.whl (15 kB)\n", - "Downloading deprecated-3.0.0-py3-none-any.whl (21 kB)\n", - "Downloading jupyterlab-4.6.4-py3-none-any.whl (17.2 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17.2/17.2 MB\u001b[0m \u001b[31m17.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pybind11-3.1.0-py3-none-any.whl (319 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m319.4/319.4 kB\u001b[0m \u001b[31m15.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading async_lru-2.3.0-py3-none-any.whl (8.4 kB)\n", - "Downloading jupyter_builder-1.2.3-py3-none-any.whl (947 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m947.5/947.5 kB\u001b[0m \u001b[31m42.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading jupyter_lsp-2.3.1-py3-none-any.whl (77 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.5/77.5 kB\u001b[0m \u001b[31m4.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading jupyterlab_server-2.28.1-py3-none-any.whl (60 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.2/60.2 kB\u001b[0m \u001b[31m3.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading marshmallow-3.26.2-py3-none-any.whl (50 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m51.0/51.0 kB\u001b[0m \u001b[31m2.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading typing_inspect-0.9.0-py3-none-any.whl (8.8 kB)\n", - "Downloading json5-0.15.0-py3-none-any.whl (36 kB)\n", - "Building wheels for collected packages: recirq, fqe, stimcirq, stimflow\n", - " Building wheel for recirq (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for recirq: filename=recirq-0.1.dev0-py3-none-any.whl size=1396738 sha256=fd5371fa7158fa63013eeb93477478eddfe1145431322ddc1f5c888900d5db9d\n", - " Stored in directory: /tmp/pip-ephem-wheel-cache-9vk2bjoy/wheels/c0/6b/53/919c6b7b1c308b24345cc4defc5980bdc60df19f12dd3e8974\n", - " Building wheel for fqe (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for fqe: filename=fqe-0.3.0-cp313-cp313-linux_x86_64.whl size=1718694 sha256=c1575c7ce68d44ccf7b3416eb939eb5b088bdccbccffcbc977b16a2009d236b6\n", - " Stored in directory: /root/.cache/pip/wheels/e4/19/74/d0d014824ca370ebb9ad7bb538edabde6198a8815a34879cae\n", - " Building wheel for stimcirq (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for stimcirq: filename=stimcirq-1.16.0-py3-none-any.whl size=51650 sha256=fb3557a9c6b6cb5e1602961d8f348ec2ef68620ba8d0c1969c9ca722702066a6\n", - " Stored in directory: /root/.cache/pip/wheels/01/e5/05/1616e8797e4eee68a3316b2ab016208c247751db74e658d74f\n", - " Building wheel for stimflow (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for stimflow: filename=stimflow-0.1.0-py3-none-any.whl size=269810 sha256=8fba6654d691a7edd03df50e1e09511fb9c6b218d952ffe6bfdc6c83b9664c94\n", - " Stored in directory: /root/.cache/pip/wheels/b4/4c/55/727941f64ff38a8025329117fa285c2a8d5220d379a120da60\n", - "Successfully built recirq fqe stimcirq stimflow\n", - "Installing collected packages: pyasn1, qwasm, pytokens, pybind11-global, pybind11, pyasn1-modules, pubchempy, pathspec, numpy, mypy-extensions, marshmallow, json5, jedi, execnet, deprecated, async-lru, typing-inspect, stim, pytest-xdist, jupyter-builder, contourpy, black, pytket, pyscf, Py-BOBYQA, pfapack, dataclasses-json, pymatching, pygltflib, ipie, stimflow, stimcirq, qsimcirq, openfermion, openfermionpyscf, pytket-cirq, jupyterlab-server, jupyter-lsp, jupyterlab, jupyter, fqe, recirq\n", - " Attempting uninstall: pyasn1\n", - " Found existing installation: pyasn1 0.6.4\n", - " Uninstalling pyasn1-0.6.4:\n", - " Successfully uninstalled pyasn1-0.6.4\n", - " Attempting uninstall: pyasn1-modules\n", - " Found existing installation: pyasn1_modules 0.4.2\n", - " Uninstalling pyasn1_modules-0.4.2:\n", - " Successfully uninstalled pyasn1_modules-0.4.2\n", - " Attempting uninstall: numpy\n", - " Found existing installation: numpy 2.5.3\n", - " Uninstalling numpy-2.5.3:\n", - " Successfully uninstalled numpy-2.5.3\n", - " Attempting uninstall: contourpy\n", - " Found existing installation: contourpy 1.4.0\n", - " Uninstalling contourpy-1.4.0:\n", - " Successfully uninstalled contourpy-1.4.0\n", - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "google-colab 1.0.0 requires pandas==2.2.3, but you have pandas 3.0.6 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed Py-BOBYQA-1.5.0 async-lru-2.3.0 black-26.10.0 contourpy-1.3.2 dataclasses-json-0.6.7 deprecated-3.0.0 execnet-2.1.2 fqe-0.3.0 ipie-0.7.1 jedi-0.20.0 json5-0.15.0 jupyter-1.1.1 jupyter-builder-1.2.3 jupyter-lsp-2.3.1 jupyterlab-4.6.4 jupyterlab-server-2.28.1 marshmallow-3.26.2 mypy-extensions-1.1.0 numpy-2.2.6 openfermion-1.8.1 openfermionpyscf-0.5 pathspec-1.1.1 pfapack-1.1.1 pubchempy-1.0.5 pyasn1-0.4.8 pyasn1-modules-0.2.7 pybind11-3.1.0 pybind11-global-3.1.0 pygltflib-1.16.5 pymatching-2.4.0 pyscf-2.14.0 pytest-xdist-3.8.0 pytket-2.18.4 pytket-cirq-0.43.0 pytokens-0.4.1 qsimcirq-0.22.1 qwasm-1.0.1 recirq-0.1.dev0 stim-1.16.0 stimcirq-1.16.0 stimflow-0.1.0 typing-inspect-0.9.0\n" - ] - }, - { - "data": { - "application/vnd.colab-display-data+json": { - "id": "a6a257d5c82640968ad39453bc982d6a", - "pip_warning": { - "packages": [ - "numpy" - ] - } - } - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "try:\n", " import recirq.qec_memory.decoding as qec_decoding\n", @@ -725,49 +248,7 @@ "metadata": { "id": "GRAXIquEtk33" }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " /-----------------\\ /-----\\ /---\\ /---\\ /-----\\ /--------------------------------\\ /REP 8 /-----\\ /---\\ /---\\ /-----\\ /-----------------------------------------------------------------------------\\ \\ /-----\\ /---\\ /---\\ /-----\\ /---------------------------------------------------------------------------------------------------------------------------------------------------------------------\\\n", - " q0: -QUBIT_COORDS(3,2)-H-----------------@-------@-------H-M:rec[0]-DETECTOR(0,4,0):D0=rec[0]-R-|------H-----------------@-------@-------H-M:rec[8+iter*8]--DETECTOR(0,4,1+iter):D[4+iter*8]=rec[8+iter*8]*rec[0+iter*8]---R-|-H-----------------@-------@-------H-M:rec[72]-DETECTOR(0,4,9):D68=rec[72]*rec[64]-DETECTOR(0,4,10):D76=rec[72]*rec[82]*rec[81]------------------------------------------------------------------------------\n", - " | | | | | | | |\n", - " q1: -QUBIT_COORDS(5,1)-H-@-------H---@---|-----H-|----------------------------------------------|--------@-------H---@---|-----H-|-------------------------------------------------------------------------------------------|---@-------H---@---|-----H-|-------H-----------M:rec[80]---------------------------DETECTOR(2,2,10):D77=rec[74]*rec[81]*rec[80]*rec[84]*rec[83]-OBSERVABLE_INCLUDE:L0*=rec[80]*rec[83]*rec[86]---------------\n", - " | | | | | | | | | | | | | |\n", - " q2: -QUBIT_COORDS(4,2)---|-@-----H---|---|-@---H-@----------------------------------------------|--------|-@-----H---|---|-@---H-@--------------------------DETECTOR(4,2,1+iter):D[8+iter*8]=rec[12+iter*8]*rec[4+iter*8]----|---|-@-----H---|---|-@---H-@-------------------DETECTOR(4,2,9):D72=rec[76]*rec[68]-M:rec[81]-----------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - " q3: -QUBIT_COORDS(3,3)-H-|-|-@---H---|---@-|---H------------------------------------------------|--------|-|-@---H---|---@-|---H---------------------------------------------------------------------------------------------|---|-|-@---H---|---@-|---H---------H-----------------------------------------------M:rec[82]-----------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - " q4: -QUBIT_COORDS(6,1)-H-@-|-|-----@-|-----|-------------H-M:rec[1]---------------------------R-|------H-@-|-|-----@-|-----|-------------H-M:rec[9+iter*8]--DETECTOR(2,0,1+iter):D[5+iter*8]=rec[9+iter*8]*rec[1+iter*8]---R-|-H-@-|-|-----@-|-----|-------------H-M:rec[73]-DETECTOR(2,0,9):D69=rec[73]*rec[65]---------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - " q5: -QUBIT_COORDS(5,2)-H---@-|-----|-@---@-|-----@-------H-M:rec[2]-DETECTOR(2,2,0):D1=rec[2]-R-|------H---@-|-----|-@---@-|-----@-------H-M:rec[10+iter*8]-DETECTOR(2,2,1+iter):D[6+iter*8]=rec[10+iter*8]*rec[2+iter*8]--R-|-H---@-|-----|-@---@-|-----@-------H-M:rec[74]-DETECTOR(2,2,9):D70=rec[74]*rec[66]---------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - " q6: -QUBIT_COORDS(4,3)-H-----@-----|-@---|-@-----|-@-----H-M:rec[3]---------------------------R-|------H-----@-----|-@---|-@-----|-@-----H-M:rec[11+iter*8]-DETECTOR(2,4,1+iter):D[7+iter*8]=rec[11+iter*8]*rec[3+iter*8]--R-|-H-----@-----|-@---|-@-----|-@-----H-M:rec[75]-DETECTOR(2,4,9):D71=rec[75]*rec[67]---------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - " q7: -QUBIT_COORDS(6,2)-----------H-@-|---|-@---H-@-|----------------DETECTOR(6,2,0):D3=rec[7]---|----------------H-@-|---|-@---H-@-|------------------------DETECTOR(6,2,1+iter):D[11+iter*8]=rec[15+iter*8]*rec[7+iter*8]---|-----------H-@-|---|-@---H-@-|-----------------DETECTOR(6,2,9):D75=rec[79]*rec[71]-M:rec[83]----------------------------------------------------DETECTOR(6,2,10):D79=rec[79]*rec[87]*rec[86]-----------------\n", - " | | | | | | | | | | | | | |\n", - " q8: -QUBIT_COORDS(5,3)-H-----@---H---|-@-@-|---H---@--------------------------------------------|------------@---H---|-@-@-|---H---@-----------------------------------------------------------------------------------------|-------@---H---|-@-@-|---H---@-----H-----------------------------------------------M:rec[84]-----------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | |\n", - " q9: -QUBIT_COORDS(4,4)-------|-@-H---@-|---|-@-H--------------------DETECTOR(4,4,0):D2=rec[5]---|------------|-@-H---@-|---|-@-H----------------------------DETECTOR(4,4,1+iter):D[9+iter*8]=rec[13+iter*8]*rec[5+iter*8]----|-------|-@-H---@-|---|-@-H---------------------DETECTOR(4,4,9):D73=rec[77]*rec[69]-M:rec[85]----------------------------------------------------DETECTOR(4,4,10):D78=rec[77]*rec[85]*rec[84]*rec[88]*rec[87]-\n", - " | | | | | | | | | | | | | | | | |\n", - "q10: -QUBIT_COORDS(6,3)-H-----@-|-----@-|---@-|-----@-----H-M:rec[4]---------------------------R-|------H-----@-|-----@-|---@-|-----@-----H-M:rec[12+iter*8]----------------------------------------------------------------R-|-H-----@-|-----@-|---@-|-----@-----H-M:rec[76]---------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - "q11: -QUBIT_COORDS(5,4)-H-------@-----|-@---@-|-----|-@---H-M:rec[5]---------------------------R-|------H-------@-----|-@---@-|-----|-@---H-M:rec[13+iter*8]----------------------------------------------------------------R-|-H-------@-----|-@---@-|-----|-@---H-M:rec[77]---------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - "q12: -QUBIT_COORDS(4,5)-H-------------|-----|-@-----|-|-@-H-M:rec[6]---------------------------R-|------H-------------|-----|-@-----|-|-@-H-M:rec[14+iter*8]-DETECTOR(4,6,1+iter):D[10+iter*8]=rec[14+iter*8]*rec[6+iter*8]-R-|-H-------------|-----|-@-----|-|-@-H-M:rec[78]-DETECTOR(4,6,9):D74=rec[78]*rec[70]---------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - "q13: -QUBIT_COORDS(7,3)-H---------H---|-@---|---H---@-|-|----------------------------------------|----------------H---|-@---|---H---@-|-|-------------------------------------------------------------------------------------|-----------H---|-@---|---H---@-|-|-H-----------------------------------------------M:rec[86]-----------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - "q14: -QUBIT_COORDS(6,4)---------@-H---@-|---|---H-----@-|----------------------------------------|--------------@-H---@-|---|---H-----@-|-------------------------------------------------------------------------------------|---------@-H---@-|---|---H-----@-|-------------------------------------------------M:rec[87]-----------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | |\n", - "q15: -QUBIT_COORDS(5,5)-H-------|-H-----|---@---H-------@----------------------------------------|--------------|-H-----|---@---H-------@-------------------------------------------------------------------------------------|---------|-H-----|---@---H-------@-H-----------------------------------------------M:rec[88]-----------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | |\n", - "q16: -QUBIT_COORDS(7,4)-H-------@-------@-----------------H-M:rec[7]---------------------------R-|------H-------@-------@-----------------H-M:rec[15+iter*8]----------------------------------------------------------------R-|-H-------@-------@-----------------H-M:rec[79]---------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " \\-----------------/ \\-----/ \\---/ \\---/ \\-----/ \\--------------------------------/ \\ \\-----/ \\---/ \\---/ \\-----/ \\-----------------------------------------------------------------------------/ / \\-----/ \\---/ \\---/ \\-----/ \\---------------------------------------------------------------------------------------------------------------------------------------------------------------------/\n" - ] - } - ], + "outputs": [], "source": [ "circuit = get_zxxz_circuit(3, 'H', (0,0))\n", "print(circuit.diagram())" @@ -788,15 +269,7 @@ "metadata": { "id": "HYJa6F45wwlJ" }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "https://algassert.com/crumble#circuit=Q(3,2)0;Q(5,1)1;Q(4,2)2;Q(3,3)3;Q(6,1)4;Q(5,2)5;Q(4,3)6;Q(6,2)7;Q(5,3)8;Q(4,4)9;Q(6,3)10;Q(5,4)11;Q(4,5)12;Q(7,3)13;Q(6,4)14;Q(5,5)15;Q(7,4)16;H_0_4_5_6_10_11_12_16_1_3_8_13_15;TICK;CZ_4_1_5_2_6_3_10_8_11_9_16_14;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_4_7_5_1_6_9_10_14_11_8_16_13;TICK;CZ_0_3_5_8_6_2_10_7_11_15_12_9;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_0_2_5_7_6_8_10_13_11_14_12_15;TICK;H_0_4_5_6_10_11_12_16;TICK;M_0_4_5_6_10_11_12_16;DT(0,4,0)rec[-8];DT(2,2,0)rec[-6];DT(4,4,0)rec[-3];DT(6,2,0)rec[-1];SHIFT_COORDS(0,0,1);TICK;R_0_4_5_6_10_11_12_16;TICK;REPEAT_8_{;H_0_4_5_6_10_11_12_16;TICK;CZ_4_1_5_2_6_3_10_8_11_9_16_14;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_4_7_5_1_6_9_10_14_11_8_16_13;TICK;CZ_0_3_5_8_6_2_10_7_11_15_12_9;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_0_2_5_7_6_8_10_13_11_14_12_15;TICK;H_0_4_5_6_10_11_12_16;TICK;M_0_4_5_6_10_11_12_16;DT(0,4,0)rec[-8]_rec[-16];DT(2,0,0)rec[-7]_rec[-15];DT(2,2,0)rec[-6]_rec[-14];DT(2,4,0)rec[-5]_rec[-13];DT(4,2,0)rec[-4]_rec[-12];DT(4,4,0)rec[-3]_rec[-11];DT(4,6,0)rec[-2]_rec[-10];DT(6,2,0)rec[-1]_rec[-9];SHIFT_COORDS(0,0,1);TICK;R_0_4_5_6_10_11_12_16;TICK;};H_0_4_5_6_10_11_12_16;TICK;CZ_4_1_5_2_6_3_10_8_11_9_16_14;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_4_7_5_1_6_9_10_14_11_8_16_13;TICK;CZ_0_3_5_8_6_2_10_7_11_15_12_9;TICK;H_1_2_3_7_8_9_13_14_15;TICK;CZ_0_2_5_7_6_8_10_13_11_14_12_15;TICK;H_0_4_5_6_10_11_12_16_1_3_8_13_15;TICK;M_0_4_5_6_10_11_12_16;DT(0,4,0)rec[-8]_rec[-16];DT(2,0,0)rec[-7]_rec[-15];DT(2,2,0)rec[-6]_rec[-14];DT(2,4,0)rec[-5]_rec[-13];DT(4,2,0)rec[-4]_rec[-12];DT(4,4,0)rec[-3]_rec[-11];DT(4,6,0)rec[-2]_rec[-10];DT(6,2,0)rec[-1]_rec[-9];SHIFT_COORDS(0,0,1);M_1_2_3_7_8_9_13_14_15;DT(0,4,0)rec[-17]_rec[-7]_rec[-8];DT(2,2,0)rec[-15]_rec[-8]_rec[-9]_rec[-5]_rec[-6];DT(4,4,0)rec[-12]_rec[-4]_rec[-5]_rec[-1]_rec[-2];DT(6,2,0)rec[-10]_rec[-2]_rec[-3];OI(0)rec[-9]_rec[-6]_rec[-3];TICK_\n" - ] - } - ], + "outputs": [], "source": [ "print(circuit.to_crumble_url())" ] @@ -816,49 +289,7 @@ "metadata": { "id": "or1nAYctyJC9" }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " /-----------------\\ /-----\\ /---\\ /---\\ /-----\\ /--------------------------------\\ /REP 8 /-----\\ /---\\ /---\\ /-----\\ /-----------------------------------------------------------------------------\\ \\ /-----\\ /---\\ /---\\ /-----\\ /------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\\n", - " q0: -QUBIT_COORDS(3,2)-H-----------------@-------@-------H-M:rec[0]---------------------------R-|------H-----------------@-------@-------H-M:rec[8+iter*8]--DETECTOR(0,4,1+iter):D[4+iter*8]=rec[8+iter*8]*rec[0+iter*8]---R-|-H-----------------@-------@-------H-M:rec[72]-DETECTOR(0,4,9):D68=rec[72]*rec[64]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | |\n", - " q1: -QUBIT_COORDS(5,1)---@-------H---@---|-----H-|----------------------------------------------|--------@-------H---@---|-----H-|-------------------------------------------------------------------------------------------|---@-------H---@---|-----H-|-------------------M:rec[80]---------------------------DETECTOR(2,0,10):D76=rec[73]*rec[80]*rec[83]--------------------------------------------------------------OBSERVABLE_INCLUDE:L0*=rec[80]*rec[81]*rec[82]---------------\n", - " | | | | | | | | | | | | | |\n", - " q2: -QUBIT_COORDS(4,2)-H-|-@-----H---|---|-@---H-@------------------DETECTOR(4,2,0):D2=rec[4]---|--------|-@-----H---|---|-@---H-@--------------------------DETECTOR(4,2,1+iter):D[8+iter*8]=rec[12+iter*8]*rec[4+iter*8]----|---|-@-----H---|---|-@---H-@-------H-----------DETECTOR(4,2,9):D72=rec[76]*rec[68]-M:rec[81]------------------------------------DETECTOR(2,4,10):D77=rec[75]*rec[82]*rec[85]*rec[81]*rec[84]-DETECTOR(4,2,10):D78=rec[76]*rec[84]*rec[87]*rec[83]*rec[86]-\n", - " | | | | | | | | | | | | | | | | |\n", - " q3: -QUBIT_COORDS(3,3)---|-|-@---H---|---@-|---H------------------------------------------------|--------|-|-@---H---|---@-|---H---------------------------------------------------------------------------------------------|---|-|-@---H---|---@-|---H---------------------------------------------------------M:rec[82]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - " q4: -QUBIT_COORDS(6,1)-H-@-|-|-----@-|-----|-------------H-M:rec[1]-DETECTOR(2,0,0):D0=rec[1]-R-|------H-@-|-|-----@-|-----|-------------H-M:rec[9+iter*8]--DETECTOR(2,0,1+iter):D[5+iter*8]=rec[9+iter*8]*rec[1+iter*8]---R-|-H-@-|-|-----@-|-----|-------------H-M:rec[73]-DETECTOR(2,0,9):D69=rec[73]*rec[65]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - " q5: -QUBIT_COORDS(5,2)-H---@-|-----|-@---@-|-----@-------H-M:rec[2]---------------------------R-|------H---@-|-----|-@---@-|-----@-------H-M:rec[10+iter*8]-DETECTOR(2,2,1+iter):D[6+iter*8]=rec[10+iter*8]*rec[2+iter*8]--R-|-H---@-|-----|-@---@-|-----@-------H-M:rec[74]-DETECTOR(2,2,9):D70=rec[74]*rec[66]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - " q6: -QUBIT_COORDS(4,3)-H-----@-----|-@---|-@-----|-@-----H-M:rec[3]-DETECTOR(2,4,0):D1=rec[3]-R-|------H-----@-----|-@---|-@-----|-@-----H-M:rec[11+iter*8]-DETECTOR(2,4,1+iter):D[7+iter*8]=rec[11+iter*8]*rec[3+iter*8]--R-|-H-----@-----|-@---|-@-----|-@-----H-M:rec[75]-DETECTOR(2,4,9):D71=rec[75]*rec[67]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - " q7: -QUBIT_COORDS(6,2)-H---------H-@-|---|-@---H-@-|--------------------------------------------|----------------H-@-|---|-@---H-@-|------------------------DETECTOR(6,2,1+iter):D[11+iter*8]=rec[15+iter*8]*rec[7+iter*8]---|-----------H-@-|---|-@---H-@-|-----H-----------DETECTOR(6,2,9):D75=rec[79]*rec[71]-M:rec[83]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | |\n", - " q8: -QUBIT_COORDS(5,3)-------@---H---|-@-@-|---H---@--------------------------------------------|------------@---H---|-@-@-|---H---@-----------------------------------------------------------------------------------------|-------@---H---|-@-@-|---H---@-----------------------------------------------------M:rec[84]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | |\n", - " q9: -QUBIT_COORDS(4,4)-H-----|-@-H---@-|---|-@-H------------------------------------------------|------------|-@-H---@-|---|-@-H----------------------------DETECTOR(4,4,1+iter):D[9+iter*8]=rec[13+iter*8]*rec[5+iter*8]----|-------|-@-H---@-|---|-@-H---------H-----------DETECTOR(4,4,9):D73=rec[77]*rec[69]-M:rec[85]-------------------------------------------------------------------------------------------------DETECTOR(4,6,10):D79=rec[78]*rec[85]*rec[88]-----------------\n", - " | | | | | | | | | | | | | | | | |\n", - "q10: -QUBIT_COORDS(6,3)-H-----@-|-----@-|---@-|-----@-----H-M:rec[4]---------------------------R-|------H-----@-|-----@-|---@-|-----@-----H-M:rec[12+iter*8]----------------------------------------------------------------R-|-H-----@-|-----@-|---@-|-----@-----H-M:rec[76]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - "q11: -QUBIT_COORDS(5,4)-H-------@-----|-@---@-|-----|-@---H-M:rec[5]---------------------------R-|------H-------@-----|-@---@-|-----|-@---H-M:rec[13+iter*8]----------------------------------------------------------------R-|-H-------@-----|-@---@-|-----|-@---H-M:rec[77]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - "q12: -QUBIT_COORDS(4,5)-H-------------|-----|-@-----|-|-@-H-M:rec[6]-DETECTOR(4,6,0):D3=rec[6]-R-|------H-------------|-----|-@-----|-|-@-H-M:rec[14+iter*8]-DETECTOR(4,6,1+iter):D[10+iter*8]=rec[14+iter*8]*rec[6+iter*8]-R-|-H-------------|-----|-@-----|-|-@-H-M:rec[78]-DETECTOR(4,6,9):D74=rec[78]*rec[70]------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - "q13: -QUBIT_COORDS(7,3)-----------H---|-@---|---H---@-|-|----------------------------------------|----------------H---|-@---|---H---@-|-|-------------------------------------------------------------------------------------|-----------H---|-@---|---H---@-|-|-------------------------------------------------M:rec[86]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | | | | |\n", - "q14: -QUBIT_COORDS(6,4)-H-------@-H---@-|---|---H-----@-|----------------------------------------|--------------@-H---@-|---|---H-----@-|-------------------------------------------------------------------------------------|---------@-H---@-|---|---H-----@-|-H-----------------------------------------------M:rec[87]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | | | | | | | |\n", - "q15: -QUBIT_COORDS(5,5)---------|-H-----|---@---H-------@----------------------------------------|--------------|-H-----|---@---H-------@-------------------------------------------------------------------------------------|---------|-H-----|---@---H-------@-------------------------------------------------M:rec[88]--------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " | | | | | | | |\n", - "q16: -QUBIT_COORDS(7,4)-H-------@-------@-----------------H-M:rec[7]---------------------------R-|------H-------@-------@-----------------H-M:rec[15+iter*8]----------------------------------------------------------------R-|-H-------@-------@-----------------H-M:rec[79]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - " \\-----------------/ \\-----/ \\---/ \\---/ \\-----/ \\--------------------------------/ \\ \\-----/ \\---/ \\---/ \\-----/ \\-----------------------------------------------------------------------------/ / \\-----/ \\---/ \\---/ \\-----/ \\------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/\n" - ] - } - ], + "outputs": [], "source": [ "circuit = get_zxxz_circuit(3, 'V', (0,0))\n", "print(circuit.diagram())" From 0843eb87a915aa90d8ecb53417a5b4385731ad0e Mon Sep 17 00:00:00 2001 From: Eliott Rosenberg Date: Tue, 6 Oct 2026 18:10:59 +0000 Subject: [PATCH 3/3] Explain distance_to_shifts --- docs/qec_memory/surface_code_lambda.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/qec_memory/surface_code_lambda.ipynb b/docs/qec_memory/surface_code_lambda.ipynb index fb95978b..5449f928 100644 --- a/docs/qec_memory/surface_code_lambda.ipynb +++ b/docs/qec_memory/surface_code_lambda.ipynb @@ -156,7 +156,7 @@ "id": "abjf6lnOulZX" }, "source": [ - "There are two sets of circuits: one for distance 3 and distance 5 surface code and the other for distance 3, 5, and 7 surface code. Specify `config_name` below to pick between the two options. Fill in `processor_id` to match the device that you will use in either case." + "There are two sets of circuits: one for distance 3 and distance 5 surface code and the other for distance 3, 5, and 7 surface code. Specify `config_name` below to pick between the two options. Fill in `processor_id` to match the device that you will use in either case. `distance_to_shifts` hardcodes the allowed placements of the circuits onto the device for each code distance. We will average over these placements." ] }, {