{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "d2c31ae8",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"確率的誤差増幅を用いたユーティリティー規模のエラー緩和\"\n",
        "description: \"ゼロノイズ外挿と確率的誤差増幅を用いた、ユーティリティ規模の誤差軽減実験を実施する。\"\n",
        "---\n",
        "\n",
        "{/* cspell:ignore mapsto multigraph inds extrap sharex sharey pidx */}\n",
        "\n",
        "<span id=\"utility-scale-error-mitigation-with-probabilistic-error-amplification\" />\n",
        "\n",
        "# 確率的誤差増幅を用いたユーティリティー規模のエラー緩和\n",
        "\n",
        "*推定所要時間：Heron r3 プロセッサで 14 分（注：これはあくまで目安です。 （実行時間は異なる場合があります。）*\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "8bf80006",
      "metadata": {},
      "source": [
        "<span id=\"learning-outcomes\" />\n",
        "\n",
        "## 学習成果\n",
        "\n",
        "このチュートリアルを終えた後、ユーザーは以下の点を理解できるようになります：\n",
        "\n",
        "* *ゼロノイズ外挿法* （ZNE）の理論的背景、ノイズを増幅するためのさまざまな手法、および実規模実験において*確率的誤差増幅法* （PEA）が好まれる理由。\n",
        "* Qiskitを使用して、PEAを用いたZNEを実践的に実装する方法。\n",
        "\n",
        "<span id=\"prerequisites\" />\n",
        "\n",
        "## 前提条件\n",
        "\n",
        "このチュートリアルを進める前に、以下の内容についてあらかじめ理解しておいていただくことをお勧めします：\n",
        "\n",
        "* 「 *ユーティリティ規模の量子コンピューティング* 」コースにおける「 [エラー緩和](/learning/courses/utility-scale-quantum-computing/error-mitigation) 」のレッスン。Qiskitでのエラー緩和の活用に関する基礎知識を学ぶ。\n",
        "* このチュートリアルで例として挙げられている*ユー* ティリティ規模の実験に関する詳細については、「ユーティリティ規模量子コンピューティング」コースの [「Utility-I」](/learning/courses/utility-scale-quantum-computing/utility-i) のレッスンをご覧ください。\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "a929ccce",
      "metadata": {},
      "source": [
        "<span id=\"background\" />\n",
        "\n",
        "## 背景\n",
        "\n",
        "このチュートリアルでは、 *確率的誤差増幅* （PEA）を*組み合わせたゼロノイズ外挿法* （ZNE）の実験版を使用し、 IBM Quantum Compute Service を用いて、ユーティリティ規模の誤差低減実験を実行する方法について解説します。\n",
        "\n",
        "![kim\\_nature\\_fig.png](https://quantum.cloud.ibm.com/docs/images/tutorials/utility-scale-error-mitigation-with-probabilistic-error-amplification/e1e67c34-9d4d-4a88-9340-f0b2f3676770.avif)\n",
        "\n",
        "**出典**\n",
        "：Y. Kimら *フォールトトレランス導入前の量子コンピューティングの有用性を示す証拠。* [『ネイチャー』 618.7965 （2023年）](https://www.nature.com/articles/s41586-023-06096-3)\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "a89ed8dd",
      "metadata": {},
      "source": [
        "<span id=\"zero-noise-extrapolation-zne\" />\n",
        "\n",
        "### ゼロノイズ外挿法（ZNE）\n",
        "\n",
        "ゼロノイズ外挿（ZNE）は、 *既知の*方法でスケーリングできる回路実行中の*未知の*ノイズの影響を除去するエラー緩和技術である。\n",
        "\n",
        "これは、期待値が既知の関数によってノイズとともにスケールすると仮定している\n",
        "\n",
        "$$\n",
        "\\langle A(\\lambda) \\rangle = \\langle A(0) \\rangle + \\sum_{k=0}^{m} a_k \\lambda^k + R\n",
        "$$\n",
        "\n",
        "ここで、 $\\lambda$ はノイズの強さをパラメータ化し、増幅することができる。\n",
        "\n",
        "以下のステップでZNEを実施することができる：\n",
        "\n",
        "1. 複数のノイズファクターに対して回路ノイズを増幅 $\\lambda_1, \\lambda_2, ... $\n",
        "2. すべてのノイズ増幅回路を測定する $\\langle A(\\lambda_1)\\rangle, ...$\n",
        "3. ゼロノイズ限界まで外挿する $\\langle A(0)\\rangle$\n",
        "\n",
        "![zne\\_stages.png](https://quantum.cloud.ibm.com/docs/images/tutorials/utility-scale-error-mitigation-with-probabilistic-error-amplification/5e63d706-82d8-4212-b802-c9191ce53341.avif)\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "5db985b9",
      "metadata": {},
      "source": [
        "<span id=\"amplify-noise-for-zne\" />\n",
        "\n",
        "#### ZNE向けにノイズを増幅する\n",
        "\n",
        "ZNEを成功させるための主な課題は、期待値のノイズに対する正確なモデルを持ち、既知の方法でノイズを増幅させることである。\n",
        "\n",
        "ZNEでエラー増幅を行う一般的な方法は3つある。\n",
        "\n",
        "| **パルス・ストレッチ**                                                                                                                                                                                      | **ゲート折りたたみ**                                                                                                                                                                                   | **確率的エラー増幅**                                                                                                                                                                         |\n",
        "| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n",
        "| 校正によるパルス持続時間のスケール                                                                                                                                                                                  | アイデンティティ・サイクルでゲートを繰り返す $U\\mapsto U(U^{-1}U)^{\\lambda-1}/2$                                                                                                                                     | パウリ・チャンネルをサンプリングしてノイズを加える                                                                                                                                                            |\n",
        "| ![zne\\_pulse\\_stretching.png](https://quantum.cloud.ibm.com/docs/images/tutorials/utility-scale-error-mitigation-with-probabilistic-error-amplification/83188b57-e88f-43a1-a7bd-29327f46ecf5.avif) | ![zne\\_gate\\_folding.png](https://quantum.cloud.ibm.com/docs/images/tutorials/utility-scale-error-mitigation-with-probabilistic-error-amplification/e1358d08-2632-4fd2-bf0f-f9384a2d3340.avif) | ![zne\\_pea.png](https://quantum.cloud.ibm.com/docs/images/tutorials/utility-scale-error-mitigation-with-probabilistic-error-amplification/3d69d5bd-70e5-4eeb-aa02-fc0a62043010.avif) |\n",
        "| カンダラら ネイチャー（2019年）                                                                                                                                                                                 | シュルツほか PRA（2022年）                                                                                                                                                                              | リー＆ベンジャミンPRX（2017年）                                                                                                                                                                  |\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "c23e43ee",
      "metadata": {},
      "source": [
        "ユーティリティ・スケールの実験では、 *確率的誤差増幅* （PEA）が最も魅力的である。\n",
        "\n",
        "* パルス・ストレッチは、ゲート・ノイズが持続時間に比例すると仮定しているが、通常はそうではない。 校正にもコストがかかる。\n",
        "* ゲートフォールディングには大きなストレッチファクターが必要で、実行できる回路の深さが大幅に制限される。\n",
        "* PEAは、ネイティブ・ノイズ・ファクター( $\\lambda=1$ )で動作可能なあらゆる回路に適用できるが、ノイズ・モデルを学習する必要がある。\n",
        "\n",
        "<span id=\"learn-the-noise-model-for-pea\" />\n",
        "\n",
        "### PEAのノイズモデルを学ぶ\n",
        "\n",
        "PEAは、 *確率的エラーキャンセル* （PEC）と同じレイヤーベースのノイズモデルを想定しているが、回路ノイズによって指数関数的にスケールするサンプリング・オーバーヘッドを回避することができる。\n",
        "\n",
        "| **ステップ 1**                                                                                                                                                                                       | **ステップ 2**                                                                                                                                                                                    | **ステップ 3**                                                                                                                                                                                      |\n",
        "| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n",
        "| 2量子ビットゲートのパウリ・ツワール層                                                                                                                                                                              | レイヤーのIDペアを繰り返し、ノイズを学習する                                                                                                                                                                       | 忠実度（各ノイズチャンネルの誤差）の導出                                                                                                                                                                            |\n",
        "| ![pec\\_pauli\\_twirling.png](https://quantum.cloud.ibm.com/docs/images/tutorials/utility-scale-error-mitigation-with-probabilistic-error-amplification/2eab5ff4-40fa-4a41-9f2c-74f5e22c4643.avif) | ![pec\\_learn\\_layer.png](https://quantum.cloud.ibm.com/docs/images/tutorials/utility-scale-error-mitigation-with-probabilistic-error-amplification/8d0d64c3-65ad-4419-8ac9-4ec9633d39a0.avif) | ![pec\\_curve\\_fitting.png](https://quantum.cloud.ibm.com/docs/images/tutorials/utility-scale-error-mitigation-with-probabilistic-error-amplification/c51bd42d-2463-4c78-807b-d284ca79296f.avif) |\n",
        "\n",
        "**参考文献** E. ヴァン・デン・ベルグ、Z. ミネフ、A. カンダラ、K. Temme, \\*ノイズ量子プロセッサー上でのスパースパウリ・リンドブラッドモデルによる確率的エラーキャンセル \\*[arXiv:2201.09866](https://arxiv.org/abs/2201.09866)\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "55b94021",
      "metadata": {},
      "source": [
        "<span id=\"requirements\" />\n",
        "\n",
        "## 要件\n",
        "\n",
        "このチュートリアルを始める前に、以下のものがインストールされていることを確認してください：\n",
        "\n",
        "* Qiskit SDK v2.0 以降、 [可視化](/docs/api/qiskit/visualization)機能を搭載\n",
        "* Qiskit Runtime v0.22 またはそれ以降 (`pip install qiskit-ibm-runtime`)\n",
        "\n"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "id": "7db2e559",
      "metadata": {},
      "source": [
        "<span id=\"setup\" />\n",
        "\n",
        "## セットアップ\n",
        "\n",
        "以下のセルでは、関連するパッケージをインポートし、バックエンドのトポロジーに準拠した2次元横磁場アイジングモデルのトロッター化時間発展回路を構築するためのヘルパー関数をいくつか作成します。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "id": "779bbc51",
      "metadata": {},
      "outputs": [],
      "source": [
        "from __future__ import annotations\n",
        "from collections.abc import Sequence\n",
        "from collections import defaultdict\n",
        "import numpy as np\n",
        "import rustworkx\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "from qiskit.circuit import QuantumCircuit, Parameter\n",
        "from qiskit.circuit.library import CXGate, CZGate, ECRGate\n",
        "from qiskit.providers import Backend\n",
        "from qiskit.visualization import plot_error_map\n",
        "from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager\n",
        "from qiskit.quantum_info import SparsePauliOp\n",
        "from qiskit.primitives import PubResult\n",
        "\n",
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator\n",
        "\n",
        "\n",
        "\"\"\"Trotter circuit generation\"\"\"\n",
        "\n",
        "\n",
        "def remove_qubit_couplings(\n",
        "    couplings: Sequence[tuple[int, int]], qubits: Sequence[int] | None = None\n",
        ") -> list[tuple[int, int]]:\n",
        "    \"\"\"Remove qubits from a coupling list.\n",
        "\n",
        "    Args:\n",
        "        couplings: A sequence of qubit couplings.\n",
        "        qubits: Optional, the qubits to remove.\n",
        "\n",
        "    Returns:\n",
        "        The input couplings with the specified qubits removed.\n",
        "    \"\"\"\n",
        "    if qubits is None:\n",
        "        return couplings\n",
        "    qubits = set(qubits)\n",
        "    return [edge for edge in couplings if not qubits.intersection(edge)]\n",
        "\n",
        "\n",
        "def coupling_qubits(\n",
        "    *couplings: Sequence[tuple[int, int]],\n",
        "    allowed_qubits: Sequence[int] | None = None,\n",
        ") -> list[int]:\n",
        "    \"\"\"Return a sorted list of all qubits involved in one or more couplings lists.\n",
        "\n",
        "    Args:\n",
        "        couplings: one or more coupling lists.\n",
        "        allowed_qubits: Optional, the allowed qubits to include. If None all\n",
        "            qubits are allowed.\n",
        "\n",
        "    Returns:\n",
        "        The intersection of all qubits in the couplings and the allowed qubits.\n",
        "    \"\"\"\n",
        "    qubits = set()\n",
        "    for edges in couplings:\n",
        "        for edge in edges:\n",
        "            qubits.update(edge)\n",
        "    if allowed_qubits is not None:\n",
        "        qubits = qubits.intersection(allowed_qubits)\n",
        "    return list(qubits)\n",
        "\n",
        "\n",
        "def construct_layer_couplings(\n",
        "    backend: Backend,\n",
        ") -> list[list[tuple[int, int]]]:\n",
        "    \"\"\"Separate a coupling map into disjoint 2-qubit gate layers.\n",
        "\n",
        "    Args:\n",
        "        backend: A backend to construct layer couplings for.\n",
        "\n",
        "    Returns:\n",
        "        A list of disjoint layers of directed couplings for the input coupling map.\n",
        "    \"\"\"\n",
        "    coupling_graph = backend.coupling_map.graph.to_undirected(\n",
        "        multigraph=False\n",
        "    )\n",
        "    edge_coloring = rustworkx.graph_bipartite_edge_color(coupling_graph)\n",
        "\n",
        "    layers = defaultdict(list)\n",
        "    for edge_idx, color in edge_coloring.items():\n",
        "        layers[color].append(\n",
        "            coupling_graph.get_edge_endpoints_by_index(edge_idx)\n",
        "        )\n",
        "    layers = [sorted(layers[i]) for i in sorted(layers.keys())]\n",
        "\n",
        "    return layers\n",
        "\n",
        "\n",
        "def entangling_layer(\n",
        "    gate_2q: str,\n",
        "    couplings: Sequence[tuple[int, int]],\n",
        "    qubits: Sequence[int] | None = None,\n",
        ") -> QuantumCircuit:\n",
        "    \"\"\"Generating a entangling layer for the specified couplings.\n",
        "\n",
        "    This corresponds to a Trotter layer for a ZZ Ising term with angle Pi/2.\n",
        "\n",
        "    Args:\n",
        "        gate_2q: The 2-qubit basis gate for the layer, should be \"cx\", \"cz\", or \"ecr\".\n",
        "        couplings: A sequence of qubit couplings to add CX gates to.\n",
        "        qubits: Optional, the physical qubits for the layer. Any couplings involving\n",
        "            qubits not in this list will be removed. If None the range up to the largest\n",
        "            qubit in the couplings will be used.\n",
        "\n",
        "    Returns:\n",
        "        The QuantumCircuit for the entangling layer.\n",
        "    \"\"\"\n",
        "    # Get qubits and convert to set to order\n",
        "    if qubits is None:\n",
        "        qubits = range(1 + max(coupling_qubits(couplings)))\n",
        "    qubits = set(qubits)\n",
        "\n",
        "    # Mapping of physical qubit to virtual qubit\n",
        "    qubit_mapping = {q: i for i, q in enumerate(qubits)}\n",
        "\n",
        "    # Convert couplings to indices for virtual qubits\n",
        "    indices = [\n",
        "        [qubit_mapping[i] for i in edge]\n",
        "        for edge in couplings\n",
        "        if qubits.issuperset(edge)\n",
        "    ]\n",
        "\n",
        "    # Layer circuit on virtual qubits\n",
        "    circuit = QuantumCircuit(len(qubits))\n",
        "\n",
        "    # Get 2-qubit basis gate and pre and post rotation circuits\n",
        "    gate2q = None\n",
        "    pre = QuantumCircuit(2)\n",
        "    post = QuantumCircuit(2)\n",
        "\n",
        "    if gate_2q == \"cx\":\n",
        "        gate2q = CXGate()\n",
        "        # Pre-rotation\n",
        "        pre.sdg(0)\n",
        "        pre.z(1)\n",
        "        pre.sx(1)\n",
        "        pre.s(1)\n",
        "        # Post-rotation\n",
        "        post.sdg(1)\n",
        "        post.sxdg(1)\n",
        "        post.s(1)\n",
        "    elif gate_2q == \"ecr\":\n",
        "        gate2q = ECRGate()\n",
        "        # Pre-rotation\n",
        "        pre.z(0)\n",
        "        pre.s(1)\n",
        "        pre.sx(1)\n",
        "        pre.s(1)\n",
        "        # Post-rotation\n",
        "        post.x(0)\n",
        "        post.sdg(1)\n",
        "        post.sxdg(1)\n",
        "        post.s(1)\n",
        "    elif gate_2q == \"cz\":\n",
        "        gate2q = CZGate()\n",
        "        # Identity pre-rotation\n",
        "        # Post-rotation\n",
        "        post.sdg([0, 1])\n",
        "    else:\n",
        "        raise ValueError(\n",
        "            f\"Invalid 2-qubit basis gate {gate_2q}, should be 'cx', 'cz', or 'ecr'\"\n",
        "        )\n",
        "\n",
        "    # Add 1Q pre-rotations\n",
        "    for inds in indices:\n",
        "        circuit.compose(pre, qubits=inds, inplace=True)\n",
        "\n",
        "    # Use barriers around 2-qubit basis gate to specify a layer for PEA noise learning\n",
        "    circuit.barrier()\n",
        "    for inds in indices:\n",
        "        circuit.append(gate2q, (inds[0], inds[1]))\n",
        "    circuit.barrier()\n",
        "\n",
        "    # Add 1Q post-rotations after barrier\n",
        "    for inds in indices:\n",
        "        circuit.compose(post, qubits=inds, inplace=True)\n",
        "\n",
        "    # Add physical qubits as metadata\n",
        "    circuit.metadata[\"physical_qubits\"] = tuple(qubits)\n",
        "\n",
        "    return circuit\n",
        "\n",
        "\n",
        "def trotter_circuit(\n",
        "    theta: Parameter | float,\n",
        "    layer_couplings: Sequence[Sequence[tuple[int, int]]],\n",
        "    num_steps: int,\n",
        "    gate_2q: str | None = \"cx\",\n",
        "    backend: Backend | None = None,\n",
        "    qubits: Sequence[int] | None = None,\n",
        ") -> QuantumCircuit:\n",
        "    \"\"\"Generate a Trotter circuit for the 2D Ising\n",
        "\n",
        "    Args:\n",
        "        theta: The angle parameter for X.\n",
        "        layer_couplings: A list of couplings for each entangling layer.\n",
        "        num_steps: the number of Trotter steps.\n",
        "        gate_2q: The 2-qubit basis gate to use in entangling layers.\n",
        "            Can be \"cx\", \"cz\", \"ecr\", or None if a backend is provided.\n",
        "        backend: A backend to get the 2-qubit basis gate from, if provided\n",
        "            will override the basis_gate field.\n",
        "        qubits: Optional, the allowed physical qubits to truncate the\n",
        "            couplings to. If None the range up to the largest\n",
        "            qubit in the couplings will be used.\n",
        "\n",
        "    Returns:\n",
        "        The Trotter circuit.\n",
        "    \"\"\"\n",
        "    if backend is not None:\n",
        "        try:\n",
        "            basis_gates = backend.configuration().basis_gates\n",
        "        except AttributeError:\n",
        "            basis_gates = backend.basis_gates\n",
        "        for gate in [\"cx\", \"cz\", \"ecr\"]:\n",
        "            if gate in basis_gates:\n",
        "                gate_2q = gate\n",
        "                break\n",
        "\n",
        "    # If no qubits, get the largest qubit from all layers and\n",
        "    # specify the range so the same one is used for all layers.\n",
        "    if qubits is None:\n",
        "        qubits = range(1 + max(coupling_qubits(layer_couplings)))\n",
        "\n",
        "    # Generate the entangling layers\n",
        "    layers = [\n",
        "        entangling_layer(gate_2q, couplings, qubits=qubits)\n",
        "        for couplings in layer_couplings\n",
        "    ]\n",
        "\n",
        "    # Construct the circuit for a single Trotter step\n",
        "    num_qubits = len(qubits)\n",
        "    trotter_step = QuantumCircuit(num_qubits)\n",
        "    trotter_step.rx(theta, range(num_qubits))\n",
        "    for layer in layers:\n",
        "        trotter_step.compose(layer, range(num_qubits), inplace=True)\n",
        "\n",
        "    # Construct the circuit for the specified number of Trotter steps\n",
        "    circuit = QuantumCircuit(num_qubits)\n",
        "    for _ in range(num_steps):\n",
        "        circuit.rx(theta, range(num_qubits))\n",
        "        for layer in layers:\n",
        "            circuit.compose(layer, range(num_qubits), inplace=True)\n",
        "\n",
        "    circuit.metadata[\"physical_qubits\"] = tuple(qubits)\n",
        "    return circuit\n",
        "\n",
        "\n",
        "\"\"\"Result visualization functions\"\"\"\n",
        "\n",
        "\n",
        "def plot_trotter_results(\n",
        "    pub_result: PubResult,\n",
        "    angles: Sequence[float],\n",
        "    plot_noise_factors: Sequence[float] | None = None,\n",
        "    plot_extrapolator: Sequence[str] | None = None,\n",
        "    exact: np.ndarray = None,\n",
        "    close: bool = True,\n",
        "):\n",
        "    \"\"\"Plot average magnetization from ZNE result data.\n",
        "    Args:\n",
        "        pub_result: The Estimator PubResult for the PEA experiment.\n",
        "        angles: The Rx angle values for the experiment.\n",
        "        plot_raw: If provided plot the unextrapolated data for the noise factors.\n",
        "        plot_extrapolator: If provided plot all extrapolators, if False only plot\n",
        "            the Automatic method.\n",
        "        exact: Optional, the exact values to include in the plot. Should be a 1D\n",
        "            array-like where the values represent exact magnetization.\n",
        "        close: Close the Matplotlib figure before returning.\n",
        "    Returns:\n",
        "        The figure.\n",
        "    \"\"\"\n",
        "    data = pub_result.data\n",
        "\n",
        "    evs = data.evs\n",
        "    num_qubits = evs.shape[0]\n",
        "    num_params = evs.shape[1]\n",
        "    angles = np.asarray(angles).ravel()\n",
        "    if angles.shape != (num_params,):\n",
        "        raise ValueError(\n",
        "            f\"Incorrect number of angles for input data {angles.size} != {num_params}\"\n",
        "        )\n",
        "\n",
        "    # Take average magnetization of qubits and its standard error\n",
        "    x_vals = angles / np.pi\n",
        "    y_vals = np.mean(evs, axis=0)\n",
        "    y_errs = np.std(evs, axis=0) / np.sqrt(num_qubits)\n",
        "\n",
        "    fig, _ = plt.subplots(1, 1)\n",
        "\n",
        "    # Plot auto method\n",
        "    plt.errorbar(x_vals, y_vals, y_errs, fmt=\"o-\", label=\"ZNE (automatic)\")\n",
        "\n",
        "    # Plot individual extrapolator results\n",
        "    if plot_extrapolator:\n",
        "        y_vals_extrap = np.mean(data.evs_extrapolated, axis=0)\n",
        "        y_errs_extrap = np.std(data.evs_extrapolated, axis=0) / np.sqrt(\n",
        "            num_qubits\n",
        "        )\n",
        "        for i, extrap in enumerate(plot_extrapolator):\n",
        "            plt.errorbar(\n",
        "                x_vals,\n",
        "                y_vals_extrap[:, i, 0],\n",
        "                y_errs_extrap[:, i, 0],\n",
        "                fmt=\"s-.\",\n",
        "                alpha=0.5,\n",
        "                label=f\"ZNE ({extrap})\",\n",
        "            )\n",
        "\n",
        "    # Plot raw results\n",
        "    if plot_noise_factors:\n",
        "        y_vals_raw = np.mean(data.evs_noise_factors, axis=0)\n",
        "        y_errs_raw = np.std(data.evs_noise_factors, axis=0) / np.sqrt(\n",
        "            num_qubits\n",
        "        )\n",
        "        for i, nf in enumerate(plot_noise_factors):\n",
        "            plt.errorbar(\n",
        "                x_vals,\n",
        "                y_vals_raw[:, i],\n",
        "                y_errs_raw[:, i],\n",
        "                fmt=\"d:\",\n",
        "                alpha=0.5,\n",
        "                label=f\"Raw (nf={nf:.1f})\",\n",
        "            )\n",
        "\n",
        "    # Plot exact data\n",
        "    if exact is not None:\n",
        "        plt.plot(x_vals, exact, \"--\", color=\"black\", alpha=0.5, label=\"Exact\")\n",
        "\n",
        "    plt.ylim(-0.1, 1.2)\n",
        "    plt.xlabel(\"θ/π\")\n",
        "    plt.ylabel(r\"$\\overline{\\langle Z \\rangle}$\")\n",
        "    plt.legend()\n",
        "    plt.title(\n",
        "        f\"Error Mitigated Average Magnetization for Rx(θ) [{num_qubits}-qubit]\"\n",
        "    )\n",
        "    if close:\n",
        "        plt.close(fig)\n",
        "    return fig\n",
        "\n",
        "\n",
        "def plot_qubit_zne_data(\n",
        "    pub_result: PubResult,\n",
        "    angles: Sequence[float],\n",
        "    qubit: int,\n",
        "    noise_factors: Sequence[float],\n",
        "    extrapolator: Sequence[str] | None = None,\n",
        "    extrapolated_noise_factors: Sequence[float] | None = None,\n",
        "    num_cols: int | None = None,\n",
        "    close: bool = True,\n",
        "):\n",
        "    \"\"\"Plot ZNE extrapolation data for specific virtual qubit\n",
        "    Args:\n",
        "        pub_result: The Estimator PubResult for the PEA experiment.\n",
        "        angles: The Rx theta angles used for the experiment.\n",
        "        qubit: The virtual qubit index to plot.\n",
        "        noise_factors: the raw noise factors.\n",
        "        extrapolator: The extrapolator metadata for multiple extrapolators.\n",
        "        extrapolated_noise_factors: The noise factors used for extrapolation.\n",
        "        num_cols: The number of columns for the generated subplots.\n",
        "        close: Close the Matplotlib figure before returning.\n",
        "    Returns:\n",
        "        The Matplotlib figure.\n",
        "    \"\"\"\n",
        "    data = pub_result.data\n",
        "\n",
        "    evs_auto = data.evs[qubit]\n",
        "    stds_auto = data.stds[qubit]\n",
        "    evs_extrap = data.evs_extrapolated[qubit]\n",
        "    stds_extrap = data.stds_extrapolated[qubit]\n",
        "    evs_raw = data.evs_noise_factors[qubit]\n",
        "    stds_raw = data.stds_noise_factors[qubit]\n",
        "\n",
        "    num_params = evs_auto.shape[0]\n",
        "    angles = np.asarray(angles).ravel()\n",
        "    if angles.shape != (num_params,):\n",
        "        raise ValueError(\n",
        "            f\"Incorrect number of angles for input data {angles.size} != {num_params}\"\n",
        "        )\n",
        "\n",
        "    # Make a square subplot\n",
        "    num_cols = num_cols or int(np.ceil(np.sqrt(num_params)))\n",
        "    num_rows = int(np.ceil(num_params / num_cols))\n",
        "    fig, axes = plt.subplots(\n",
        "        num_rows, num_cols, sharex=True, sharey=True, figsize=(12, 5)\n",
        "    )\n",
        "    fig.suptitle(f\"ZNE data for virtual qubit {qubit}\")\n",
        "\n",
        "    for pidx, ax in zip(range(num_params), axes.flat):\n",
        "        # Plot auto extrapolated\n",
        "        ax.errorbar(\n",
        "            0,\n",
        "            evs_auto[pidx],\n",
        "            stds_auto[pidx],\n",
        "            fmt=\"o\",\n",
        "            label=\"PEA (automatic)\",\n",
        "        )\n",
        "\n",
        "        # Plot extrapolators\n",
        "        if (\n",
        "            extrapolator is not None\n",
        "            and extrapolated_noise_factors is not None\n",
        "        ):\n",
        "            for i, method in enumerate(extrapolator):\n",
        "                ax.errorbar(\n",
        "                    extrapolated_noise_factors,\n",
        "                    evs_extrap[pidx, i],\n",
        "                    stds_extrap[pidx, i],\n",
        "                    fmt=\"-\",\n",
        "                    alpha=0.5,\n",
        "                    label=f\"PEA ({method})\",\n",
        "                )\n",
        "\n",
        "        # Plot raw\n",
        "        ax.errorbar(\n",
        "            noise_factors, evs_raw[pidx], stds_raw[pidx], fmt=\"d\", label=\"Raw\"\n",
        "        )\n",
        "\n",
        "        ax.set_yticks([0, 0.5, 1, 1.5, 2])\n",
        "        ax.set_ylim(0, max(1, 1.1 * max(evs_auto)))\n",
        "\n",
        "        ax.set_xticks([0, *noise_factors])\n",
        "        ax.set_title(f\"θ/π = {angles[pidx]/np.pi:.2f}\")\n",
        "        if pidx == 0:\n",
        "            ax.set_ylabel(r\"$\\langle Z_{\" + str(qubit) + r\"} \\rangle$\")\n",
        "        if pidx == num_params - 1:\n",
        "            ax.set_xlabel(\"Noise Factor\")\n",
        "            ax.legend()\n",
        "    plt.tight_layout()\n",
        "    if close:\n",
        "        plt.close(fig)\n",
        "    return fig"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "431a5bd2-e6ed-471b-ad9e-c4edd27784a8",
      "metadata": {},
      "source": [
        "<span id=\"small-scale-simulator-example\" />\n",
        "\n",
        "## 小規模シミュレータの例\n",
        "\n",
        "シミュレータでは実行時エラーの緩和機能がサポートされていないため、この手順は省略します。\n",
        "\n",
        "<span id=\"large-scale-hardware-example\" />\n",
        "\n",
        "## 大規模なハードウェアの例\n",
        "\n"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "id": "988ee237",
      "metadata": {},
      "source": [
        "<span id=\"step-1-map-classical-inputs-to-a-quantum-problem\" />\n",
        "\n",
        "### ステップ1：古典的な入力を量子問題にマッピングする\n",
        "\n",
        "<span id=\"create-a-parameterized-ising-model-circuit\" />\n",
        "\n",
        "#### パラメータ化イージングモデル回路を作成する\n",
        "\n",
        "<span id=\"establish-a-backend\" />\n",
        "\n",
        "##### バックエンドを構築する\n",
        "\n",
        "まず、実行するバックエンドを選択する。 このデモは127qubitのバックエンドで実行されているが、これをあなたの利用可能なバックエンドに変更することができる。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "id": "a3debf65-06df-4277-933e-14b6f6170756",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<IBMBackend('ibm_fez')>"
            ]
          },
          "execution_count": 2,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(\n",
        "    operational=True, simulator=False, min_num_qubits=127\n",
        ")\n",
        "backend"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "c13564d0",
      "metadata": {},
      "source": [
        "<span id=\"define-entangling-layer-couplings\" />\n",
        "\n",
        "##### 絡み合い層結合を定義する\n",
        "\n",
        "トロッター化イジングシミュレーションを実行するには、デバイスの2量子ビットゲート結合を3層定義し、各トロッターステップで繰り返す。 これらの3つのレイヤーは、ミティゲーションを実施するために必要なノイズを定義している。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "id": "0211a3f8",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Layer 0:\n",
            "[(2, 3), (4, 5), (6, 7), (8, 9), (10, 11), (12, 13), (14, 15), (16, 23), (18, 31), (19, 35), (20, 21), (25, 37), (26, 27), (28, 29), (33, 39), (36, 41), (38, 49), (42, 43), (45, 46), (47, 57), (51, 52), (53, 54), (56, 63), (58, 71), (59, 75), (61, 62), (64, 65), (66, 67), (68, 69), (72, 73), (76, 81), (79, 93), (82, 83), (84, 85), (86, 87), (88, 89), (91, 98), (94, 95), (97, 107), (99, 115), (100, 101), (102, 103), (105, 117), (108, 109), (110, 111), (113, 114), (116, 121), (118, 129), (123, 136), (124, 125), (126, 127), (130, 131), (132, 133), (135, 139), (138, 151), (142, 143), (144, 145), (146, 147), (152, 153), (154, 155)]\n",
            "\n",
            "Layer 1:\n",
            "[(0, 1), (3, 16), (5, 6), (7, 8), (11, 18), (13, 14), (17, 27), (21, 22), (23, 24), (25, 26), (29, 38), (30, 31), (32, 33), (34, 35), (39, 53), (41, 42), (43, 56), (44, 45), (47, 48), (49, 50), (51, 58), (54, 55), (57, 67), (60, 61), (62, 63), (65, 66), (69, 78), (70, 71), (73, 79), (74, 75), (77, 85), (80, 81), (83, 84), (87, 97), (89, 90), (91, 92), (93, 94), (96, 103), (101, 116), (104, 105), (106, 107), (109, 118), (111, 112), (113, 119), (114, 115), (117, 125), (121, 122), (123, 124), (127, 137), (128, 129), (131, 138), (133, 134), (136, 143), (139, 155), (140, 141), (145, 146), (147, 148), (149, 150), (151, 152)]\n",
            "\n",
            "Layer 2:\n",
            "[(1, 2), (3, 4), (7, 17), (9, 10), (11, 12), (15, 19), (21, 36), (22, 23), (24, 25), (27, 28), (29, 30), (31, 32), (33, 34), (37, 45), (40, 41), (43, 44), (46, 47), (48, 49), (50, 51), (52, 53), (55, 59), (61, 76), (63, 64), (65, 77), (67, 68), (69, 70), (71, 72), (73, 74), (78, 89), (81, 82), (83, 96), (85, 86), (87, 88), (90, 91), (92, 93), (95, 99), (98, 111), (101, 102), (103, 104), (105, 106), (107, 108), (109, 110), (112, 113), (119, 133), (120, 121), (122, 123), (125, 126), (127, 128), (129, 130), (131, 132), (134, 135), (137, 147), (141, 142), (143, 144), (148, 149), (150, 151), (153, 154)]\n",
            "\n"
          ]
        }
      ],
      "source": [
        "layer_couplings = construct_layer_couplings(backend)\n",
        "for i, layer in enumerate(layer_couplings):\n",
        "    print(f\"Layer {i}:\\n{layer}\\n\")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "d320e933",
      "metadata": {},
      "source": [
        "<span id=\"remove-bad-qubits\" />\n",
        "\n",
        "##### 不良量子ビットを除去する\n",
        "\n",
        "バックエンドのカップリングマップを見て、誤差の大きいカップリングに接続する量子ビットがあるかどうかを確認する。 これらの \"悪い \"量子ビットを実験から取り除く。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "id": "fccef708",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<Image src=\"/docs/images/tutorials/probabilistic-error-amplification/extracted-outputs/fccef708-0.avif\" alt=\"Output of the previous code cell\" />"
            ]
          },
          "execution_count": 4,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "# Plot gate error map\n",
        "# NOTE: These can change over time, so your results may look different\n",
        "plot_error_map(backend)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "id": "5973c90b",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Physical qubits:\n",
            " [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155]\n"
          ]
        }
      ],
      "source": [
        "bad_qubits = {\n",
        "    32,\n",
        "    33,\n",
        "    71,\n",
        "    72,\n",
        "    73,\n",
        "    102,\n",
        "    103,\n",
        "}  # qubits removed based on high coupling error (1.00)\n",
        "good_qubits = list(set(range(backend.num_qubits)).difference(bad_qubits))\n",
        "print(\"Physical qubits:\\n\", good_qubits)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "180c4cb5",
      "metadata": {},
      "source": [
        "<span id=\"main-trotter-circuit-generation\" />\n",
        "\n",
        "##### メイントロッター回路生成\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "id": "f814ca82",
      "metadata": {},
      "outputs": [],
      "source": [
        "num_steps = 6\n",
        "theta = Parameter(\"theta\")\n",
        "circuit = trotter_circuit(\n",
        "    theta, layer_couplings, num_steps, qubits=good_qubits, backend=backend\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "7b86b867",
      "metadata": {},
      "source": [
        "<span id=\"create-a-list-of-parameter-values-to-be-assigned-later\" />\n",
        "\n",
        "#### 後で割り当てるパラメータ値のリストを作成する\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "id": "5da6e991",
      "metadata": {},
      "outputs": [],
      "source": [
        "num_params = 12\n",
        "\n",
        "# 12 parameter values for Rx between [0, pi/2].\n",
        "# Reshape to outer product broadcast with observables\n",
        "parameter_values = np.linspace(0, np.pi / 2, num_params).reshape(\n",
        "    (num_params, 1)\n",
        ")\n",
        "num_params = parameter_values.size"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "ac6f36e3",
      "metadata": {},
      "source": [
        "<span id=\"step-2-optimize-problem-for-quantum-hardware-execution\" />\n",
        "\n",
        "### ステップ2：量子ハードウェア実行に向けた問題の最適化\n",
        "\n",
        "<span id=\"isa-circuit\" />\n",
        "\n",
        "#### ISA回路\n",
        "\n",
        "回路をハードウェア上で実行する前に、ハードウェア実行用に最適化する。 このプロセスにはいくつかのステップがある：\n",
        "\n",
        "* 回路の仮想量子ビットをハードウェア上の物理量子ビットにマッピングする量子ビットレイアウトを選ぶ。\n",
        "* 接続されていない量子ビット間の相互作用をルーティングするために、必要に応じてスワップゲートを挿入する。\n",
        "* 回路のゲートを、ハードウェア上で直接実行できる[命令セット・アーキテクチャ（ISA）](/docs/guides/transpile#instruction-set-architecture) 命令に変換する。\n",
        "* 回路の最適化を行い、回路の深さとゲート数を最小化する。\n",
        "\n",
        "Qiskitに内蔵されたトランスパイラでこれらのステップをすべて実行できますが、このチュートリアルでは、グランドアップ方式でユーティリティスケールのトロッター回路を構築する方法を示します。 良好な物理量子ビットを選択し、その選択した量子ビットから接続された量子ビット対にエンタングル層を定義する。 それでもなお、回路内の非ISAゲートをトランスレートし、トランスパイラが提供する回路最適化を利用する必要がある。\n",
        "\n",
        "パス・マネージャーを作成し、回路上でパス・マネージャーを実行することで、選択したバックエンド用に回路をトランスパイルする。 また、回路の初期レイアウトをすでに選択されている `good_qubits` に固定する。 パス・マネージャーを作る簡単な方法は [`generate_preset_pass_manager`](/docs/api/qiskit/qiskit.transpiler.generate_preset_pass_manager) 関数を使うことだ。 パスマネージャーを使ったトランスパイルの詳細については、「 [パスマネージャーを使ったトランスパイル](/docs/guides/transpile-with-pass-managers) 」を参照のこと。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "id": "1834cb22",
      "metadata": {},
      "outputs": [],
      "source": [
        "pm = generate_preset_pass_manager(\n",
        "    backend=backend,\n",
        "    initial_layout=good_qubits,\n",
        "    layout_method=\"trivial\",\n",
        "    optimization_level=1,\n",
        ")\n",
        "\n",
        "isa_circuit = pm.run(circuit)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "d395c8cf",
      "metadata": {},
      "source": [
        "<span id=\"isa-observables\" />\n",
        "\n",
        "#### ISA観測量\n",
        "\n",
        "次に、必要な数の $\\langle I \\rangle$ 項をパディングして、各仮想量子ビットの weight-1 $\\langle Z \\rangle$ 観測量をすべて作成する。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "id": "cc5ab1ed",
      "metadata": {},
      "outputs": [],
      "source": [
        "observables = []\n",
        "num_qubits = len(good_qubits)\n",
        "for q in range(num_qubits):\n",
        "    observables.append(\n",
        "        SparsePauliOp(\"I\" * (num_qubits - q - 1) + \"Z\" + \"I\" * q)\n",
        "    )"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "030db4ed",
      "metadata": {},
      "source": [
        "トランスパイルプロセスは、あなたの回路の仮想量子ビットをハードウェア上の物理量子ビットにマッピングした。 量子ビットのレイアウトに関する情報は、トランスパイル回路の `layout` 。 観測値も仮想量子ビットで定義されているので、このレイアウトを観測値に適用する必要があります。 これは `SparsePauliOp` の `apply_layout` メソッドを使って行われる。\n",
        "\n",
        "以下のコードブロックでは、各オブザーバブルがリストで囲まれていることに注意してください。 これは、各θの値について各量子ビットの観測量を測定できるよう、パラメータ値を用いて*放送*を行うためです。 プリミティブに関する放送ルールについては[、プリミティブ](/docs/guides/primitives)のドキュメントを参照してください。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "id": "95fd2908",
      "metadata": {},
      "outputs": [],
      "source": [
        "isa_observables = [\n",
        "    [obs.apply_layout(layout=isa_circuit.layout)] for obs in observables\n",
        "]"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "id": "b4d480b3",
      "metadata": {},
      "source": [
        "<span id=\"step-3-execute-using-qiskit-primitives\" />\n",
        "\n",
        "### ステップ3: `Qiskit primitives`を使用して実行する\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "id": "b22a1b00",
      "metadata": {},
      "outputs": [],
      "source": [
        "pub = (isa_circuit, isa_observables, parameter_values)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "4ace7773",
      "metadata": {},
      "source": [
        "<span id=\"configure-estimator-options\" />\n",
        "\n",
        "#### 見積もりツールのオプションを設定する\n",
        "\n",
        "次に、緩和実験の実行に必要な `Estimator` オプションを設定する。 これには、エンタングルレイヤーのノイズ学習とZNE外挿のオプションが含まれる。\n",
        "\n",
        "私たちは次のようなコンフィギュレーションを使用している：\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "id": "ad4a4f1c",
      "metadata": {},
      "outputs": [],
      "source": [
        "# Experiment options\n",
        "num_randomizations = 700\n",
        "num_randomizations_learning = 40\n",
        "max_batch_circuits = 3 * num_params\n",
        "shots_per_randomization = 64\n",
        "learning_pair_depths = [0, 1, 2, 4, 6, 12, 24]\n",
        "noise_factors = [1, 1.3, 1.6]\n",
        "extrapolated_noise_factors = np.linspace(0, max(noise_factors), 20)\n",
        "\n",
        "# Base option formatting\n",
        "options = {\n",
        "    # Builtin resilience settings for ZNE\n",
        "    \"resilience\": {\n",
        "        \"measure_mitigation\": True,\n",
        "        \"zne_mitigation\": True,\n",
        "        # TREX noise learning configuration\n",
        "        \"measure_noise_learning\": {\n",
        "            \"num_randomizations\": num_randomizations_learning,\n",
        "            \"shots_per_randomization\": 1024,\n",
        "        },\n",
        "        # PEA noise model configuration\n",
        "        \"layer_noise_learning\": {\n",
        "            \"max_layers_to_learn\": 3,\n",
        "            \"layer_pair_depths\": learning_pair_depths,\n",
        "            \"shots_per_randomization\": shots_per_randomization,\n",
        "            \"num_randomizations\": num_randomizations_learning,\n",
        "        },\n",
        "        \"zne\": {\n",
        "            \"amplifier\": \"pea\",\n",
        "            \"noise_factors\": noise_factors,\n",
        "            \"extrapolator\": (\"exponential\", \"linear\"),\n",
        "            \"extrapolated_noise_factors\": extrapolated_noise_factors.tolist(),\n",
        "        },\n",
        "    },\n",
        "    # Randomization configuration\n",
        "    \"twirling\": {\n",
        "        \"num_randomizations\": num_randomizations,\n",
        "        \"shots_per_randomization\": shots_per_randomization,\n",
        "        \"strategy\": \"active-circuit\",\n",
        "    },\n",
        "    # Optional Dynamical Decoupling (DD)\n",
        "    \"dynamical_decoupling\": {\"enable\": True, \"sequence_type\": \"XY4\"},\n",
        "    # Job tag\n",
        "    \"environment\": {\"job_tags\": [\"TUT_PEA\"]},\n",
        "}"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "3f9fd4c4",
      "metadata": {},
      "source": [
        "<span id=\"explanation-of-zne-options\" />\n",
        "\n",
        "##### ZNEオプションの説明\n",
        "\n",
        "以下は、実験ブランチの追加オプションの詳細である。 なお、これらのオプションや名称は最終決定ではなく、正式リリース前に変更される可能性がある。\n",
        "\n",
        "* **増幅器** ：ノイズを所定のノイズレベルまで増幅する際に用いる手法。\n",
        "  `\"pea\"``\"gate_folding\"`許容される値は、2量子ビット基底ゲートを繰り返し実行することで増幅を行う\n",
        "  および、ねじれを施した2量子ビット基底ゲートの層についてパウリねじれノイズモデルを学習した後、\n",
        "  確率的サンプリングによって増幅を行う、の2つである。 `\"gate_folding_back\"`その他のオプションとして `\"gate_folding_front\"` と があり、これらは [APIドキュメント](/docs/api/qiskit-ibm-runtime/options-zne-options#amplifier)で説明されています。\n",
        "* **extrapolated\\_noise\\_factors** ：外挿モデルを評価する1つ以上のノイズファクタ値を指定する。 を指定する。 値のシーケンスの場合、返される結果は、指定されたノイズ係数を外挿モデルで評価した配列値になります。 値 の値は、ノイズゼロの外挿に相当する。\n",
        "\n",
        "<span id=\"run-the-experiment\" />\n",
        "\n",
        "#### エクスペリメントの実行\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "id": "3cf72c8c",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Job ID d7fa8oe2cugc739qbb10\n"
          ]
        }
      ],
      "source": [
        "estimator = Estimator(mode=backend, options=options)\n",
        "job = estimator.run([pub])\n",
        "print(f\"Job ID {job.job_id()}\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 14,
      "id": "1eea9c17",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "'DONE'"
            ]
          },
          "execution_count": 14,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "job.status()"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "50b94af2",
      "metadata": {},
      "source": [
        "<span id=\"step-4-post-process-and-return-result-in-desired-classical-format\" />\n",
        "\n",
        "### ステップ4：後処理を行い、結果を希望の古典形式で返す\n",
        "\n",
        "実験が終わると、結果を見ることができる。 生の期待値と緩和された期待値を取得し、正確な結果と比較する。 次に、各パラメータについて、すべての量子ビットを平均した期待値を、緩和（外挿）したものと生のものの両方でプロットします。 最後に、あなたが選んだ個々の量子ビットの期待値をプロットしてください。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 15,
      "id": "31dc35ea-6554-4ca7-9c3b-0b5394c46e4e",
      "metadata": {},
      "outputs": [],
      "source": [
        "primitive_result = job.result()"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "fbf7ec8d",
      "metadata": {},
      "source": [
        "<span id=\"general-result-shapes-and-metadata\" />\n",
        "\n",
        "#### 一般的な結果の形状とメタデータ\n",
        "\n",
        "`PrimitiveResult` オブジェクトには、 `PubResult` というリストのような構造体が含まれている。 PUB を1つだけ推計に提出するため、 `PrimitiveResult` には `PubResult` オブジェクトが1つ含まれる。\n",
        "\n",
        "(原始統一ブロック PUB )の結果期待値と標準誤差は配列値である。 ZNEを用いた推定器の仕事では、' `DataBin``PubResult` s'コンテナ内に期待値と標準誤差の複数のデータフィールドが利用可能です。 ここでは期待値のデータフィールドについて簡単に説明します（標準誤差（`stds`）についても同様のデータフィールドが利用可能です）。\n",
        "\n",
        "1. `pub_result.data.evs`:ゼロノイズに対応する期待値（ヒューリスティックに最適な外挿に基づく）。\n",
        "   * 最初の軸は観測可能な仮想量子ビットのインデックスで、 $\\langle Z_i\\rangle$ （ $124$ virtual-qubits/observables）\n",
        "   * 第2軸は、 $\\theta$ （ $12$ パラメータ値）のパラメータ値をインデックス化する\n",
        "2. `pub_result.data.evs_extrapolated`:各外挿装置における外挿ノイズ係数の期待値。 この配列にはさらに2つの軸がある。\n",
        "   * 第3軸は、外挿法（ $2$ 外挿法、 `exponential` 、 `linear` ）を示す\n",
        "   * 最後の軸は（オプションで指定 `extrapolated_noise_factors`$20$ された外挿点を）インデックス付けする\n",
        "3. `pub_result.data.evs_noise_factors`:各ノイズ因子の生の期待値。\n",
        "   * 第3軸は、生の `noise_factors` （ $3$ ファクター）を指数化したものである\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "id": "e3aa4fc9",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "pub_result.data.evs.shape=(149, 12)\n",
            "pub_result.data.evs_extrapolated.shape=(149, 12, 2, 20)\n",
            "pub_result.data.evs_noise_factors.shape=(149, 12, 3)\n",
            "\n"
          ]
        }
      ],
      "source": [
        "pub_result = primitive_result[0]\n",
        "\n",
        "print(\n",
        "    f\"{pub_result.data.evs.shape=}\\n\"\n",
        "    f\"{pub_result.data.evs_extrapolated.shape=}\\n\"\n",
        "    f\"{pub_result.data.evs_noise_factors.shape=}\\n\"\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "4c5cc6ee",
      "metadata": {},
      "source": [
        "いくつかのメタデータ・フィールドも、 `PrimitiveResult`。 メタデータには次の情報が含まれます\n",
        "\n",
        "* `resilience/zne/noise_factors`:生のノイズ係数\n",
        "* `resilience/zne/extrapolator`:各結果に使用された外挿\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 17,
      "id": "1c77d83a",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "{'dynamical_decoupling': {'enable': True,\n",
              "  'sequence_type': 'XY4',\n",
              "  'extra_slack_distribution': 'middle',\n",
              "  'scheduling_method': 'alap'},\n",
              " 'twirling': {'enable_gates': True,\n",
              "  'enable_measure': True,\n",
              "  'num_randomizations': 700,\n",
              "  'shots_per_randomization': 64,\n",
              "  'interleave_randomizations': True,\n",
              "  'strategy': 'active-circuit'},\n",
              " 'resilience': {'measure_mitigation': True,\n",
              "  'zne_mitigation': True,\n",
              "  'pec_mitigation': False,\n",
              "  'zne': {'noise_factors': [1.0, 1.3, 1.6],\n",
              "   'extrapolator': ['exponential', 'linear'],\n",
              "   'extrapolated_noise_factors': [0.0,\n",
              "    0.08421052631578947,\n",
              "    0.16842105263157894,\n",
              "    0.25263157894736843,\n",
              "    0.3368421052631579,\n",
              "    0.42105263157894735,\n",
              "    0.5052631578947369,\n",
              "    0.5894736842105263,\n",
              "    0.6736842105263158,\n",
              "    0.7578947368421053,\n",
              "    0.8421052631578947,\n",
              "    0.9263157894736842,\n",
              "    1.0105263157894737,\n",
              "    1.0947368421052632,\n",
              "    1.1789473684210525,\n",
              "    1.263157894736842,\n",
              "    1.3473684210526315,\n",
              "    1.431578947368421,\n",
              "    1.5157894736842106,\n",
              "    1.6]},\n",
              "  'layer_noise_model': [LayerError(circuit=<qiskit.circuit.quantumcircuit.QuantumCircuit object at 0x1354890f0>, qubits=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], error=PauliLindbladError(generators=['IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...', ...], rates=[0.00155, 0.00144, 0.00637, 0.00023, 0.0, 0.0, 0.00018, 0.00035, 0.0, 0.00014, 5e-05, 0.00041, 0.0, 0.0, 0.0, 0.0001, 0.0001, 0.0, 9e-05, 6e-05, 0.0, 7e-05, 0.0001, 0.00013, 0.00018, 1e-05, 5e-05, 7e-05, 6e-05, 6e-05, 0.00029, 0.00016, 6e-05, 6e-05, 0.00046, 0.00073, 0.00031, 0.00025, 0.00018, 0.00022, 0.0, 8e-05, 0.00012, 0.00015, 0.00012, 0.0, 0.0, 0.00023, 5e-05, 5e-05, 7e-05, 0.00064, 4e-05, 2e-05, 0.00072, 0.00037, 2e-05, 4e-05, 0.00077, 0.0003, 0.00042, 0.00027, 0.00016, 0.0, 8e-05, 5e-05, 0.00019, 0.0, 0.0, 0.00021, 0.00014, 0.00061, 0.0, 0.00016, 3e-05, 0.00053, 0.00013, 0.0, 0.00068, 0.00011, 0.0, 0.00013, 0.00078, 0.01885, 0.00032, 0.00034, 0.00035, 0.00052, 3e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00028, 0.00123, 0.0, 0.0, 0.0, 0.00034, 0.00011, 0.0001, 0.00076, 0.00041, 0.0001, 0.00011, 0.00082, 0.0, 0.00066, 0.0, 0.00055, 7e-05, 0.00018, 0.00011, 0.00024, 3e-05, 0.00015, 0.00014, 0.0, 0.00076, 9e-05, 0.00016, 8e-05, 0.00132, 0.0, 0.00019, 0.00215, 0.00109, 0.00019, 0.0, 0.00201, 0.00021, 0.0006, 0.00032, 0.00046, 0.00027, 0.0, 8e-05, 0.0001, 0.00027, 0.0, 0.00015, 0.00018, 0.0, 0.00026, 0.00024, 5e-05, 0.00031, 0.0, 0.00034, 0.00039, 9e-05, 0.00034, 0.0, 0.00078, 0.00794, 0.00045, 0.00061, 0.00066, 0.0, 0.0, 0.00032, 6e-05, 5e-05, 7e-05, 0.0, 0.0001, 0.00036, 0.0, 0.00037, 0.00013, 0.00016, 3e-05, 8e-05, 0.00067, 0.00024, 8e-05, 3e-05, 0.00074, 0.00224, 0.00029, 0.00026, 0.00031, 0.00076, 5e-05, 0.0, 2e-05, 0.00072, 0.0, 1e-05, 0.00011, 0.00027, 0.0, 0.00017, 0.0, 0.0, 0.00012, 0.0, 0.0, 0.0, 0.0, 0.00067, 0.00063, 0.0, 0.0, 0.0, 0.00102, 0.0, 0.00011, 0.00026, 4e-05, 1e-05, 0.0002, 0.0, 0.00011, 0.0, 0.00021, 0.00015, 0.0005, 0.00011, 0.00013, 0.0, 0.0002, 0.00016, 0.00015, 8e-05, 2e-05, 7e-05, 0.00023, 0.00042, 0.0, 0.00049, 0.00056, 0.00372, 0.00017, 0.00012, 0.0, 0.00026, 0.00021, 0.0, 0.00012, 0.00046, 0.00305, 0.0005, 0.00057, 9e-05, 0.0009, 0.0, 7e-05, 0.00011, 0.00084, 0.0, 0.0, 0.0001, 0.00067, 0.0, 0.0, 0.0, 4e-05, 0.0, 1e-05, 0.00053, 0.0, 9e-05, 0.00021, 0.0, 1e-05, 0.0, 8e-05, 0.0, 0.0, 0.0, 9e-05, 0.00083, 0.00084, 0.00038, 9e-05, 3e-05, 0.00039, 0.02059, 0.0, 0.0, 0.0, 0.01787, 0.00012, 0.00024, 0.0, 0.00401, 0.0, 0.0, 0.0, 4e-05, 0.0, 0.0, 0.00018, 0.0, 0.00031, 0.00018, 0.0, 0.0, 0.0, 0.0, 0.00013, 0.0, 0.00027, 1e-05, 0.0, 0.00021, 0.0, 0.0, 0.00029, 0.00159, 0.0, 0.0, 0.00052, 0.0079, 0.0, 0.0002, 0.00147, 0.00048, 4e-05, 0.00976, 0.00957, 0.0011, 0.0, 0.0, 4e-05, 0.00048, 0.01068, 0.00487, 0.00225, 0.0, 0.0, 0.00026, 0.00052, 0.00033, 0.0, 0.00019, 0.0, 0.0, 0.00038, 0.0, 0.0, 0.0, 0.00154, 0.0, 0.0, 0.0, 0.00046, 0.0, 9e-05, 0.00077, 0.0002, 9e-05, 0.0, 0.00077, 0.00061, 6e-05, 0.00045, 0.00081, 0.00016, 0.0, 0.0, 0.0001, 0.00064, 4e-05, 0.0002, 0.0, 0.00056, 7e-05, 0.0, 0.0, 0.00066, 5e-05, 0.00025, 0.00077, 0.00011, 0.0, 0.0, 0.00065, 0.00025, 5e-05, 0.00082, 6e-05, 0.0, 0.00011, 0.00354, 0.00027, 0.00039, 0.00046, 0.00014, 0.0, 0.00013, 0.00067, 0.00064, 0.0006, 0.00053, 2e-05, 0.00016, 0.00067, 0.0, 0.00013, 0.0, 0.00047, 0.00016, 2e-05, 0.00067, 4e-05, 0.0, 0.00015, 0.00028, 0.00044, 0.00041, 0.00014, 0.00011, 0.0, 0.0, 5e-05, 0.0, 0.00017, 0.00022, 9e-05, 6e-05, 0.0, 0.00021, 0.0007, 3e-05, 0.0, 0.0, 0.0002, 0.00012, 3e-05, 0.0002, 0.0001, 3e-05, 0.00012, 0.00026, 0.00033, 0.00053, 0.00037, 0.00039, 9e-05, 6e-05, 7e-05, 0.00012, 0.00012, 0.0, 0.00022, 0.0, 0.00034, 0.00014, 8e-05, 0.0001, 0.00179, 0.00186, 0.00096, 0.00028, 0.00051, 0.00033, 0.0, 0.0, 0.00015, 0.0004, 0.0, 8e-05, 0.00015, 2e-05, 0.00015, 0.0, 0.00045, 0.0002, 0.0, 0.0, 0.00063, 0.00044, 0.00036, 0.00064, 0.0003, 2e-05, 0.0, 0.00124, 0.0, 0.0, 0.0, 0.00169, 0.00032, 0.00018, 0.0, 0.00147, 0.0, 0.0, 0.00037, 0.00095, 0.0, 0.00051, 0.00182, 0.00088, 0.00051, 0.0, 0.00116, 0.00093, 0.00124, 0.00219, 0.00052, 0.00072, 4e-05, 0.0, 0.0, 4e-05, 0.0, 0.00025, 0.00013, 0.0001, 0.00031, 0.0, 0.00027, 0.00022, 0.0, 0.00016, 0.0, 1e-05, 0.0001, 0.0, 3e-05, 0.0, 0.0, 2e-05, 6e-05, 0.0, 0.00021, 0.00251, 0.0, 0.0, 7e-05, 0.0, 0.0, 0.0, 0.00047, 5e-05, 2e-05, 0.00062, 0.00038, 2e-05, 5e-05, 0.00055, 0.00125, 0.00049, 0.00033, 0.00031, 0.00015, 0.0, 0.00015, 7e-05, 0.00047, 0.0, 1e-05, 3e-05, 1e-05, 0.00014, 0.0, 0.00026, 0.00092, 0.0, 0.0, 0.0, 0.00048, 0.00011, 4e-05, 0.0, 0.00077, 0.00013, 0.00014, 0.00031, 0.00048, 0.0, 0.0001, 0.00066, 6e-05, 2e-05, 0.0, 0.00029, 0.0001, 0.0, 0.00065, 0.0, 0.00013, 3e-05, 0.0, 0.00033, 0.00034, 0.00019, 2e-05, 0.0, 0.00015, 0.00046, 0.0, 2e-05, 1e-05, 0.00046, 8e-05, 6e-05, 0.0, 0.00035, 1e-05, 0.0001, 0.0, 1e-05, 0.0, 0.00012, 8e-05, 7e-05, 5e-05, 0.0, 0.00013, 0.0, 0.0, 0.0, 0.0, 0.00022, 0.0, 0.00013, 0.00028, 0.00014, 0.00013, 0.0, 0.00042, 0.00055, 0.00054, 0.00036, 5e-05, 0.0002, 0.0, 0.0, 0.00014, 1e-05, 0.00019, 2e-05, 6e-05, 0.00026, 0.0001, 0.0, 5e-05, 8e-05, 0.0, 0.00073, 7e-05, 0.0, 0.0, 1e-05, 0.0, 0.0, 6e-05, 4e-05, 0.00018, 0.00046, 0.00016, 0.00018, 4e-05, 0.00053, 0.0002, 0.00057, 0.00055, 0.00042, 0.00077, 6e-05, 0.00025, 5e-05, 0.00062, 0.00026, 0.00012, 4e-05, 0.00033, 8e-05, 0.0, 0.0004, 0.00036, 0.00016, 0.0, 0.0, 4e-05, 0.0, 4e-05, 0.0002, 4e-05, 0.00036, 0.0, 4e-05, 0.00024, 0.0, 0.0002, 0.00044, 0.00017, 0.0002, 0.0, 0.00051, 0.00059, 0.00061, 0.00069, 0.00064, 0.0006, 0.0, 7e-05, 4e-05, 0.00085, 0.0, 4e-05, 0.0, 0.00031, 0.00033, 0.0, 0.0001, 0.00037, 3e-05, 0.0, 0.0, 0.00018, 0.0, 0.00015, 4e-05, 0.00044, 9e-05, 2e-05, 2e-05, 0.00067, 0.00048, 6e-05, 0.0, 0.0, 0.0, 0.00028, 0.0, 1e-05, 0.0, 0.0, 0.00112, 0.0, 0.0, 0.00018, 0.00016, 0.0, 0.00018, 0.00055, 9e-05, 0.00018, 0.0, 0.00028, 0.00254, 0.00064, 0.00025, 0.00045, 0.00072, 7e-05, 6e-05, 0.00114, 0.00026, 0.00013, 0.0, 0.00081, 6e-05, 7e-05, 0.00139, 0.00014, 0.0, 0.00026, 0.00097, 0.00053, 0.00029, 0.00044, 0.0, 6e-05, 0.0, 0.00011, 3e-05, 0.0, 0.0002, 0.00024, 0.0, 5e-05, 5e-05, 5e-05, 0.0, 0.00014, 0.00025, 0.00032, 0.00011, 5e-05, 0.00067, 4e-05, 5e-05, 0.00011, 0.00061, 0.00015, 0.00035, 0.00035, 0.0003, 0.0006, 0.0, 0.00017, 0.0001, 0.0003, 0.00012, 8e-05, 0.00015, 7e-05, 0.0001, 5e-05, 0.00057, 0.0003, 9e-05, 0.00023, 0.0, 0.0001, 0.00015, 0.00073, 0.0, 0.0, 0.00012, 0.00041, 0.00015, 0.0001, 0.00079, 0.0003, 0.00011, 0.0, 0.00042, 0.00088, 0.00066, 0.00062, 0.00051, 0.0, 0.0, 0.00013, 0.00028, 8e-05, 0.00022, 0.0, 0.00044, 0.0, 0.00013, 0.0, 0.0, 0.0002, 0.00014, 0.00062, 0.00022, 0.00014, 0.0002, 0.0005, 4e-05, 0.00064, 0.00058, 0.00046, 0.00055, 0.0, 8e-05, 0.00012, 0.00067, 0.0, 0.0, 0.00014, 0.00095, 0.00025, 0.0, 0.00016, 0.00058, 0.00041, 0.00052, 0.00022, 6e-05, 0.0, 0.00034, 0.00011, 0.0, 0.0, 0.00015, 0.0, 6e-05, 0.00034, 0.0, 0.00016, 4e-05, 0.00126, 0.00041, 0.00037, 0.00015, 0.0, 0.0, 0.0, 0.00011, 0.0, 0.00024, 5e-05, 0.00029, 1e-05, 2e-05, 0.0, 0.00033, 0.00036, 4e-05, 0.00024, 0.001, 0.0, 0.0, 0.0, 0.00046, 0.0, 0.00028, 2e-05, 0.0009, 0.00012, 0.0, 0.00032, 0.00428, 0.00026, 9e-05, 0.0, 0.00372, 0.0, 9e-05, 0.0, 0.00107, 0.00018, 0.0, 0.00047, 0.00025, 0.00031, 0.00024, 0.00068, 0.00063, 0.00052, 4e-05, 0.00011, 0.00011, 0.00044, 7e-05, 4e-05, 4e-05, 5e-05, 0.00011, 0.00011, 0.00034, 0.0, 0.00017, 0.0, 0.00051, 0.00041, 0.00032, 0.00022, 0.0, 0.0, 9e-05, 6e-05, 7e-05, 0.00011, 2e-05, 0.00052, 0.0, 0.0, 0.0, 0.00731, 0.00017, 0.0, 0.0, 0.00026, 0.0, 0.00031, 0.0005, 0.0, 0.00031, 0.0, 0.00063, 0.0, 0.00026, 0.00052, 0.0, 0.0, 4e-05, 0.0, 0.00024, 7e-05, 9e-05, 6e-05, 3e-05, 0.0, 0.0, 0.00025, 0.00029, 0.00025, 0.00012, 4e-05, 5e-05, 0.00014, 4e-05, 0.00091, 9e-05, 0.0, 7e-05, 0.00019, 4e-05, 0.00014, 0.00085, 0.00037, 6e-05, 4e-05, 0.0001, 0.00025, 0.00026, 0.00013, 0.00026, 0.00014, 0.0, 2e-05, 0.00023, 0.0, 0.00021, 0.0, 0.0, 0.00031, 0.00031, 0.0001, 0.00013, 6e-05, 0.00013, 0.00071, 0.00048, 0.00013, 6e-05, 0.00076, 0.00018, 0.00042, 0.00044, 0.00018, 0.00014, 0.0, 0.00013, 9e-05, 0.0003, 0.0, 0.0, 1e-05, 0.0, 0.00019, 0.0, 7e-05, 1e-05, 9e-05, 0.0, 0.00011, 0.0, 7e-05, 0.00041, 0.0, 0.0, 0.00032, 0.0, 7e-05, 0.0, 0.00034, 0.0014, 0.0, 0.0002, 6e-05, 0.00036, 0.00031, 0.00039, 0.00042, 7e-05, 0.0, 0.0, 0.00014, 0.00011, 0.0, 2e-05, 0.00024, 0.0, 9e-05, 0.00036, 0.00023, 0.00012, 0.00011, 0.0, 0.00052, 5e-05, 0.0, 4e-05, 0.00033, 1e-05, 0.0, 9e-05, 0.00064, 0.0, 7e-05, 0.0, 0.00044, 0.00016, 0.0, 0.0, 0.00029, 0.0, 0.0, 0.00012, 0.00021, 0.0, 0.00017, 0.00068, 7e-05, 0.0, 0.00014, 0.00027, 0.00017, 0.0, 0.0006, 9e-05, 1e-05, 0.0, 0.00064, 0.00025, 0.00031, 0.00019, 0.0, 0.0, 0.00013, 0.00056, 0.0, 0.00017, 0.0, 0.00053, 7e-05, 0.0, 6e-05, 0.00029, 0.00018, 6e-05, 3e-05, 0.00027, 0.0, 6e-05, 0.00058, 0.00044, 6e-05, 0.0, 0.00052, 0.0004, 0.00073, 0.00066, 3e-05, 0.0004, 9e-05, 0.0, 0.00021, 0.00048, 0.0, 0.00016, 0.0, 0.00257, 0.0, 0.00021, 0.00024, 0.00012, 0.0, 0.00015, 8e-05, 0.00025, 0.00012, 0.0, 0.0, 0.00025, 0.00028, 0.0, 0.00014, 0.0, 7e-05, 0.00017, 0.00029, 0.0, 0.00017, 7e-05, 0.00024, 0.0, 0.00061, 0.00068, 0.0, 0.00018, 0.0, 7e-05, 1e-05, 0.0, 0.00017, 0.0, 0.0, 0.0003, 0.00013, 1e-05, 0.00024, 0.00098, 0.00071, 0.00142, 9e-05, 0.00011, 0.0, 0.00056, 0.00042, 0.0, 0.00011, 0.00064, 0.00085, 0.00098, 0.00071, 0.00018, 0.00085, 0.00081, 0.00016, 0.0, 0.0, 0.0, 7e-05, 0.0, 0.0, 0.0, 0.0, 0.00036, 0.00012, 0.0, 0.0, 0.00048, 0.00021, 0.00031, 6e-05, 0.00059, 0.00041, 0.00028, 7e-05, 0.00026, 0.0004, 0.00036, 0.00016, 0.00014, 9e-05, 6e-05, 0.00043, 0.0, 8e-05, 7e-05, 0.00036, 6e-05, 9e-05, 0.00055, 6e-05, 0.0, 3e-05, 0.00032, 0.00036, 0.00036, 0.00017, 0.0, 0.0, 1e-05, 0.00038, 0.0, 8e-05, 5e-05, 0.00026, 0.00014, 3e-05, 5e-05, 0.0, 0.0, 0.0, 0.00017, 0.00027, 0.0, 0.00019, 0.00063, 4e-05, 0.00019, 0.0, 0.00077, 0.00116, 0.00051, 0.00048, 0.00036, 8e-05, 0.0, 0.00011, 0.0001, 0.00013, 7e-05, 0.0, 0.0, 0.0, 0.0, 0.00028, 0.00026, 0.00014, 0.0003, 0.00011, 5e-05, 6e-05, 0.00017, 0.0007, 0.0, 0.0, 0.00011, 0.00063, 0.00017, 6e-05, 0.00079, 0.0, 0.0, 5e-05, 9e-05, 0.00029, 0.00021, 0.00048, 0.00072, 0.0, 0.0, 0.0, 0.00034, 9e-05, 4e-05, 0.0, 0.00013, 0.0, 5e-05, 0.00037, 0.0, 0.00011, 0.0, 0.00034, 0.0, 0.0, 7e-05, 0.0, 0.00605, 0.0, 0.00011, 0.00012, 0.00012, 0.00023, 0.0, 0.00026, 0.00016, 0.0, 0.00023, 0.00031, 0.00078, 0.0006, 0.00026, 0.00055, 0.00043, 0.00012, 0.0001, 0.00052, 8e-05, 0.0, 0.0, 0.00033, 0.0001, 0.00012, 0.00051, 5e-05, 0.00012, 0.0, 0.00105, 0.00028, 0.00018, 0.00023, 0.0, 2e-05, 0.0, 0.0, 0.00019, 0.0, 0.00015, 0.00013, 0.00018, 2e-05, 0.0, 7e-05, 0.0001, 0.0002, 0.00014, 0.00029, 0.0, 8e-05, 0.0005, 0.0002, 8e-05, 0.0, 0.00046, 0.0017, 0.00108, 0.00089, 0.00035, 0.0, 0.00016, 1e-05, 9e-05, 0.00024, 0.0, 1e-05, 8e-05, 0.00024, 0.00013, 0.00032, 8e-05, 0.00127, 4e-05, 0.0, 0.0, 0.00095, 0.0, 0.00017, 0.0, 0.00052, 0.00017, 2e-05, 0.00029, 0.00036, 0.00049, 0.00056, 2e-05, 0.00026, 3e-05, 0.00048, 0.0, 3e-05, 0.00014, 0.00024, 3e-05, 0.00026, 0.0006, 2e-05, 0.00015, 5e-05, 0.0, 0.00025, 0.00038, 0.00034, 4e-05, 0.0, 0.00029, 0.00044, 0.00024, 0.0, 0.0, 0.00046, 5e-05, 0.0001, 0.0, 0.00048, 0.0, 4e-05, 0.00028, 0.0, 0.00026, 0.0, 3e-05, 1e-05, 0.0, 0.0, 0.00027, 0.00034, 0.0, 0.00016, 9e-05, 0.00013, 0.00019, 0.0, 0.0, 0.00014, 0.0, 0.0001, 3e-05, 0.00031, 5e-05, 0.00026, 0.00022, 0.0001, 0.00022, 0.0, 5e-05, 0.00012, 0.0, 0.00056, 0.0, 0.0, 0.00023, 0.0, 0.0, 0.00012, 0.00064, 0.00059, 0.0, 2e-05, 0.0, 0.00033, 0.00028, 0.00017, 0.00025, 3e-05, 1e-05, 6e-05, 0.00011, 0.0, 8e-05, 6e-05, 3e-05, 0.00016, 0.00034, 0.0, 0.00011, 0.00015, 0.0, 0.00044, 0.00028, 0.0, 0.00015, 0.00062, 0.00203, 0.00035, 0.00025, 0.00049, 0.00037, 0.0001, 2e-05, 0.0, 0.0003, 7e-05, 8e-05, 0.0, 0.00074, 9e-05, 0.0, 9e-05, 0.00016, 3e-05, 0.00013, 0.00079, 6e-05, 6e-05, 1e-05, 0.0, 0.00013, 3e-05, 0.00076, 0.0, 0.00017, 5e-05, 0.00031, 0.00025, 0.00035, 0.00023, 0.0, 2e-05, 0.0002, 0.00015, 9e-05, 1e-05, 0.00017, 0.0001, 0.00011, 6e-05, 1e-05, 0.00041, 0.0003, 0.00048, 0.0, 0.00017, 4e-05, 0.00025, 0.00063, 0.00018, 0.00025, 4e-05, 0.00065, 0.0019, 0.00043, 0.00028, 0.00033, 0.0, 1e-05, 0.00012, 0.0001, 0.00019, 3e-05, 0.0, 5e-05, 0.00038, 0.00012, 0.0, 0.0, 0.00025, 6e-05, 9e-05, 0.0, 0.00017, 1e-05, 0.0006, 0.00019, 0.0001, 0.00013, 0.0, 1e-05, 0.00017, 0.00068, 0.0, 3e-05, 0.0, 0.00021, 0.00019, 0.00029, 0.00041, 0.00073, 0.00011, 0.0, 0.0, 0.00064, 0.0, 0.00026, 5e-05, 0.00044, 0.0001, 0.0, 0.0002, 0.00037, 6e-05, 0.0, 8e-05, 0.00026, 0.0, 0.00019, 8e-05, 0.00017, 0.0, 0.0, 0.00021, 0.00023, 0.00016, 1e-05, 0.00037, 0.00041, 1e-05, 0.00016, 0.00044, 0.00046, 0.00054, 0.00065, 0.00033, 0.00033, 8e-05, 0.0, 8e-05, 0.00046, 0.0, 0.0001, 0.0, 0.00023, 0.0, 0.00015, 3e-05, 2e-05, 2e-05, 0.00031, 0.00012, 0.00028, 1e-05, 4e-05, 4e-05, 0.00038, 0.00027, 0.0, 0.0, 0.00073, 0.0002, 7e-05, 0.00076, 0.00063, 7e-05, 0.0002, 0.00086, 4e-05, 0.00052, 0.00053, 0.00012, 0.00068, 0.00068, 0.00019, 0.00063, 0.0, 1e-05, 5e-05, 0.00058, 0.0, 0.0, 0.0001, 0.00059, 0.00011, 0.0, 0.0, 0.00024, 0.00012, 0.0, 0.0, 0.00036, 0.0, 2e-05, 1e-05, 0.00021, 0.0, 0.00012, 0.0, 0.00031, 9e-05, 0.0, 0.0, 0.0, 8e-05, 0.00054, 6e-05, 0.0, 0.0, 0.00026, 8e-05, 0.0, 0.00056, 0.00078, 5e-05, 2e-05, 4e-05, 0.00036, 0.0004, 0.00015, 8e-05, 5e-05, 0.00012, 6e-05, 0.00017, 5e-05, 1e-05, 0.0, 0.0, 5e-05, 0.00011, 7e-05, 0.00033, 5e-05, 7e-05, 0.00042, 0.00042, 7e-05, 5e-05, 0.00042, 0.00015, 0.00031, 0.00023, 1e-05, 0.00012, 0.0, 0.0, 0.00013, 0.00022, 2e-05, 0.0, 0.0, 0.00062, 7e-05, 0.0, 0.0, 0.00024, 0.0001, 0.0, 0.0, 1e-05, 6e-05, 0.00046, 0.0, 0.0, 3e-05, 0.00018, 6e-05, 1e-05, 0.00042, 0.00019, 5e-05, 3e-05, 0.0, 0.00026, 0.00024, 0.00016, 0.00029, 5e-05, 0.0, 9e-05, 0.00082, 0.0, 8e-05, 5e-05, 0.00037, 5e-05, 0.00016, 0.0, 0.00147, 0.00017, 5e-05, 0.0, 0.00051, 0.0, 0.0, 4e-05, 0.00646, 0.00045, 0.0, 0.0, 0.00097, 0.0001, 0.00017, 0.00029, 0.00072, 0.00015, 0.00018, 6e-05, 0.0038, 0.00059, 0.00069, 0.00314, 0.00027, 1e-05, 6e-05, 0.0006, 2e-05, 0.0, 0.0, 0.0, 6e-05, 1e-05, 0.00043, 0.0, 0.00027, 8e-05, 0.00024, 0.00048, 0.00037, 0.00034, 0.0, 0.0, 0.00021, 0.00046, 0.0, 0.0, 0.0, 0.00019, 5e-05, 0.00012, 0.0, 0.00017, 0.00025, 0.0, 0.0002, 0.00013, 9e-05, 6e-05, 0.00046, 0.00043, 6e-05, 9e-05, 0.00048, 0.00046, 0.00046, 0.00036, 7e-05, 0.00028, 1e-05, 5e-05, 0.0, 0.00025, 0.0, 0.0, 0.0001, 6e-05, 0.00032, 0.0, 0.0, 0.00036, 4e-05, 7e-05, 7e-05, 1e-05, 0.00012, 0.00053, 0.00044, 0.0, 0.00015, 0.00022, 0.00012, 1e-05, 0.00081, 0.00177, 0.0, 0.0, 0.00021, 0.00035, 0.00034, 0.00039]))),\n",
              "   LayerError(circuit=<qiskit.circuit.quantumcircuit.QuantumCircuit object at 0x1351d9710>, qubits=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], error=PauliLindbladError(generators=['IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...', ...], rates=[0.00087, 0.00084, 0.00784, 0.0, 0.0, 0.00028, 0.00012, 0.0001, 0.00028, 0.0, 0.00029, 0.0096, 0.00087, 0.00084, 0.0, 0.00054, 0.0, 0.0, 0.0, 0.0, 0.00021, 0.0, 5e-05, 0.00034, 0.0, 0.00019, 0.0, 0.0, 0.00016, 0.0, 9e-05, 0.0, 0.0, 0.0, 0.00018, 0.0, 0.0, 0.0, 6e-05, 0.00017, 0.00011, 0.0, 0.0, 0.00012, 0.0, 0.00014, 0.0, 0.00062, 0.00011, 6e-05, 3e-05, 0.00167, 0.00017, 0.0, 0.0, 0.00174, 0.0, 0.00014, 0.0, 0.00211, 0.0, 0.0, 0.0, 0.00028, 0.00024, 0.00016, 0.0003, 0.0, 0.00016, 0.00024, 0.0001, 3e-05, 0.00184, 0.00188, 0.00039, 0.0, 0.0, 0.0, 0.0004, 0.00065, 0.0, 0.00011, 0.0, 0.005, 0.0, 5e-05, 9e-05, 0.00029, 0.00024, 0.0, 0.00044, 0.00022, 0.0, 0.00024, 0.00043, 0.00068, 0.00102, 0.00088, 0.0005, 0.00055, 0.00015, 0.0, 0.00013, 0.00062, 0.0, 0.0, 7e-05, 0.00038, 0.0, 0.0002, 1e-05, 0.00025, 0.0, 6e-05, 5e-05, 0.00062, 0.0, 0.0, 0.0, 0.00034, 6e-05, 0.0, 3e-05, 0.0, 0.0, 0.00012, 0.00042, 0.00072, 0.00012, 0.0, 3e-05, 0.0005, 7e-05, 0.0, 0.00012, 0.00038, 0.0, 1e-05, 0.0003, 0.00053, 0.00016, 0.0, 0.0, 0.00027, 0.00034, 0.0, 0.0, 0.00011, 0.00012, 7e-05, 7e-05, 0.00021, 0.0, 0.00014, 1e-05, 0.00141, 4e-05, 0.0, 0.00035, 5e-05, 0.00012, 1e-05, 0.00026, 0.0001, 1e-05, 0.00012, 0.00026, 0.00011, 0.00037, 0.00035, 0.00045, 0.00036, 0.0, 5e-05, 5e-05, 0.0005, 4e-05, 7e-05, 5e-05, 0.00014, 0.00017, 4e-05, 0.0001, 0.00014, 0.00015, 1e-05, 0.00027, 0.00023, 1e-05, 0.00015, 0.00035, 0.00086, 0.0005, 0.00032, 0.00036, 0.00082, 0.0, 0.00011, 0.0, 0.0, 0.00064, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4e-05, 0.00015, 0.00036, 1e-05, 0.00015, 4e-05, 0.00034, 0.00067, 0.001, 0.00089, 0.0009, 0.00042, 0.0, 1e-05, 8e-05, 0.00042, 7e-05, 0.0, 0.0, 0.00025, 9e-05, 0.0, 0.0, 0.0005, 0.00106, 0.00168, 0.00024, 0.0, 0.0, 0.0, 0.0, 5e-05, 7e-05, 0.00015, 0.00053, 0.0001, 0.0, 0.00012, 0.00035, 0.0, 0.0, 0.00061, 0.00064, 0.0, 0.0, 0.00071, 0.00061, 0.00049, 0.00049, 0.00091, 0.0, 0.0, 0.00012, 0.0, 7e-05, 7e-05, 1e-05, 0.00053, 0.0, 0.0, 0.00014, 0.0, 0.0, 0.0, 0.0057, 0.00013, 0.0, 0.0, 0.00019, 0.0, 0.0, 0.00818, 0.0, 4e-05, 0.00844, 0.00635, 4e-05, 0.0, 0.00647, 0.00203, 0.00024, 0.00068, 0.00159, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.00015, 0.0, 0.0, 0.0, 0.00011, 0.00012, 0.0, 0.00051, 0.00033, 0.00025, 0.00051, 5e-05, 0.00025, 0.00033, 0.00038, 0.0001, 0.00032, 0.0004, 0.0, 0.00967, 0.00039, 3e-05, 0.00967, 0.0, 0.0, 0.0, 0.01187, 3e-05, 0.00039, 0.01275, 0.0, 0.0, 0.00042, 0.00994, 0.0012, 0.0002, 0.00248, 0.0, 0.00033, 0.0, 0.00086, 0.0, 0.0, 0.0, 0.00087, 0.0, 0.0, 0.0, 0.00093, 0.0, 0.00045, 0.0, 0.0, 2e-05, 0.00031, 0.00021, 0.0, 0.00021, 9e-05, 0.00014, 0.0, 6e-05, 8e-05, 0.00038, 0.00023, 0.0, 0.0, 0.0, 0.00019, 5e-05, 0.0, 0.0, 0.00021, 0.0, 0.00012, 0.00015, 0.00028, 0.00038, 0.0, 0.00017, 0.00024, 1e-05, 0.00083, 0.00072, 1e-05, 0.00024, 0.0, 1e-05, 0.00024, 0.00098, 0.00278, 0.0, 7e-05, 7e-05, 0.00023, 0.00025, 0.00042, 0.00039, 0.00028, 0.00038, 0.00015, 5e-05, 4e-05, 0.00012, 4e-05, 7e-05, 0.00036, 0.00025, 0.0, 3e-05, 9e-05, 7e-05, 4e-05, 0.00037, 0.00025, 0.00019, 2e-05, 0.0, 0.00039, 0.00028, 6e-05, 0.00035, 7e-05, 0.0, 0.00014, 0.00055, 0.00016, 7e-05, 0.0, 0.0, 0.0, 0.00018, 0.00045, 0.00027, 0.0, 7e-05, 0.0, 0.00014, 0.00018, 7e-05, 0.0, 0.00014, 0.0001, 8e-05, 0.0, 0.00016, 4e-05, 7e-05, 0.00042, 9e-05, 7e-05, 4e-05, 0.00021, 0.0, 0.00053, 0.00053, 5e-05, 0.00074, 0.00073, 0.00078, 0.00033, 0.00048, 0.0002, 0.0, 7e-05, 0.00013, 6e-05, 1e-05, 0.0, 0.00015, 0.00016, 7e-05, 3e-05, 2e-05, 4e-05, 5e-05, 0.0, 0.00071, 0.00014, 0.0, 0.00022, 0.00016, 0.0, 0.00024, 0.0002, 0.0001, 0.0, 0.00066, 0.00088, 0.0, 0.0001, 0.00096, 0.00215, 0.0004, 0.00036, 0.00041, 0.00125, 8e-05, 8e-05, 4e-05, 0.00165, 0.00038, 0.0, 0.0, 0.00243, 0.0, 0.0, 0.00011, 0.00023, 0.0, 0.00016, 0.00029, 0.00013, 0.00031, 0.0, 0.0, 0.00072, 0.00016, 0.0001, 0.0, 0.0, 0.0, 0.00018, 0.0, 0.0, 0.0002, 0.0004, 0.00013, 3e-05, 0.0, 0.00016, 0.0002, 0.0, 0.00059, 0.00123, 2e-05, 0.0, 0.0, 0.00068, 0.00044, 0.00014, 0.0007, 7e-05, 5e-05, 0.0, 0.00069, 0.00018, 0.0, 0.0, 0.0014, 0.0, 0.00021, 0.0, 0.0, 0.0001, 0.00016, 8e-05, 0.0, 0.0, 6e-05, 0.00023, 0.0, 0.0, 0.0, 2e-05, 0.00016, 0.0, 0.00011, 0.00033, 3e-05, 0.00011, 0.0, 0.00033, 0.00049, 0.00062, 0.00072, 0.00067, 0.00086, 1e-05, 6e-05, 0.0, 2e-05, 7e-05, 0.0, 0.00032, 0.0, 7e-05, 0.00043, 3e-05, 0.0, 0.00017, 0.0, 0.00026, 0.0, 0.0, 3e-05, 0.00014, 0.00029, 0.0, 0.00018, 0.00016, 0.00044, 0.00018, 0.00016, 0.00018, 0.00034, 0.0, 0.00101, 0.00102, 0.00052, 0.00022, 0.00011, 0.0, 9e-05, 0.00014, 0.0001, 0.0001, 0.00013, 0.00012, 0.00027, 2e-05, 0.00023, 0.0003, 0.0, 0.00016, 0.0, 0.00036, 0.00022, 0.0, 5e-05, 0.00059, 6e-05, 0.00015, 0.0, 0.0, 2e-05, 0.00016, 0.00108, 0.0, 0.0002, 0.00031, 0.0, 0.00016, 2e-05, 0.00047, 0.00015, 0.0, 0.0, 0.00809, 0.00074, 0.00073, 0.00068, 8e-05, 0.0, 0.0, 8e-05, 0.00022, 0.00019, 2e-05, 0.00012, 0.0001, 9e-05, 0.00023, 5e-05, 0.00028, 6e-05, 0.0, 0.0006, 6e-05, 0.00017, 0.00064, 0.00027, 0.00017, 6e-05, 0.00061, 0.00039, 0.00051, 0.00053, 0.00025, 0.0, 0.0, 0.00029, 0.00032, 0.00019, 0.00029, 0.0, 0.0004, 0.00019, 0.00192, 0.00229, 0.00056, 0.00034, 0.0, 2e-05, 8e-05, 0.00019, 0.00025, 0.00013, 0.00012, 0.00246, 4e-05, 0.0003, 0.00062, 0.00037, 0.0, 0.00012, 0.00037, 0.00032, 0.00012, 0.0, 0.00032, 0.00095, 0.00071, 0.00078, 0.00025, 0.00085, 4e-05, 0.0, 0.0, 0.00045, 0.0, 1e-05, 0.00013, 0.00012, 0.0, 0.00033, 6e-05, 0.00023, 0.0004, 0.00042, 2e-05, 0.0, 0.0, 0.0003, 0.0, 0.0, 0.0, 0.00022, 0.00055, 0.00023, 0.0004, 0.00044, 0.00011, 0.00017, 0.0, 0.0, 0.00028, 0.0, 0.0, 1e-05, 0.0057, 0.0, 0.00032, 0.0, 0.00088, 2e-05, 0.00021, 0.00022, 9e-05, 0.0, 0.00135, 0.00142, 4e-05, 0.0, 0.0, 0.0, 9e-05, 0.00161, 0.00155, 0.00026, 0.0, 9e-05, 0.00028, 0.00029, 0.00021, 0.00054, 0.0, 0.0, 0.00029, 0.00024, 3e-05, 1e-05, 0.0, 0.00018, 0.0, 0.00014, 0.00013, 0.00028, 0.0001, 0.0, 0.0, 0.0, 0.0, 0.00046, 1e-05, 0.00141, 0.0, 0.0, 0.00026, 0.00076, 0.00014, 0.0, 0.00096, 0.0, 0.0, 0.00014, 0.00052, 0.00061, 0.00068, 0.00077, 0.00079, 0.0, 0.00049, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00049, 0.0013, 0.0, 0.00073, 0.0, 0.02919, 0.00044, 0.00069, 0.00012, 0.0, 0.00014, 0.00025, 0.00141, 0.00072, 0.0, 0.0, 0.0008, 0.0, 0.00061, 0.00012, 0.0012, 1e-05, 0.0, 0.0, 0.0, 0.00011, 0.0, 0.00028, 0.0, 0.00043, 0.0, 0.0, 0.00108, 0.00033, 0.0, 0.00014, 0.0006, 0.0, 0.00011, 1e-05, 0.0007, 0.0, 0.0, 0.0, 0.00103, 0.00016, 0.0, 0.0, 0.00032, 0.00031, 0.00036, 0.00034, 5e-05, 0.0, 7e-05, 0.00014, 0.0, 0.00046, 0.00026, 2e-05, 6e-05, 1e-05, 0.0, 0.00014, 0.00035, 0.00093, 0.0, 2e-05, 0.0, 0.00032, 0.00031, 6e-05, 0.00042, 0.0, 0.0, 0.00029, 0.00011, 2e-05, 0.0, 0.00017, 0.00041, 9e-05, 5e-05, 0.0002, 2e-05, 0.00018, 0.0, 0.00025, 0.0, 0.0, 0.00035, 0.0001, 0.00087, 9e-05, 2e-05, 0.00026, 0.0016, 0.0, 0.0001, 0.00173, 0.0013, 0.0001, 0.0, 0.00142, 0.00111, 0.00057, 0.00044, 0.00047, 0.00051, 0.00041, 0.00034, 0.00034, 0.00038, 0.00035, 0.0, 0.0, 0.0, 0.00013, 0.00016, 0.00016, 0.00031, 0.0, 9e-05, 0.00016, 0.0, 0.00016, 0.00016, 0.00035, 0.0, 0.0, 9e-05, 1e-05, 0.00034, 0.00038, 0.00027, 0.0, 0.0, 0.0, 3e-05, 0.00098, 0.00031, 0.00011, 0.0, 0.00973, 0.0, 0.0, 0.00017, 0.0, 0.00024, 0.0, 0.00012, 0.00017, 0.00022, 0.0, 0.0, 0.00021, 5e-05, 4e-05, 4e-05, 0.00013, 7e-05, 0.00018, 0.00029, 0.00018, 0.00018, 7e-05, 0.00026, 0.00033, 0.00023, 0.00095, 0.00018, 0.0002, 9e-05, 2e-05, 0.00045, 1e-05, 0.0, 0.00011, 0.00012, 2e-05, 9e-05, 0.00042, 0.0, 8e-05, 4e-05, 0.00228, 0.00051, 0.00039, 0.00025, 0.00016, 0.0, 0.00015, 0.00021, 0.0001, 0.0, 0.0001, 0.00053, 0.0, 0.0001, 0.0, 0.0006, 0.0, 4e-05, 0.0, 9e-05, 0.0, 0.0001, 0.00011, 0.0, 0.00018, 0.0, 8e-05, 0.00063, 4e-05, 0.0, 0.0, 0.00032, 0.0, 0.00015, 0.0, 0.00043, 7e-05, 2e-05, 0.0, 3e-05, 0.00011, 0.0, 0.0001, 0.00026, 0.0001, 0.0, 3e-05, 0.0, 0.0, 5e-05, 0.00033, 3e-05, 0.00012, 0.0, 1e-05, 0.0, 0.0, 0.00064, 0.0, 0.0, 0.0, 0.0, 0.00012, 0.0001, 0.0001, 0.0, 5e-05, 0.00035, 0.00011, 5e-05, 0.0, 0.00032, 0.00017, 0.00044, 0.00048, 0.00017, 0.0001, 0.00018, 0.0, 0.00012, 0.00021, 0.0, 0.00015, 0.0001, 8e-05, 6e-05, 4e-05, 0.0, 0.00011, 0.00013, 2e-05, 0.00042, 4e-05, 2e-05, 0.00013, 0.00018, 0.00038, 0.00066, 0.00062, 0.00022, 0.00024, 0.0, 0.0, 0.0, 0.0, 0.00014, 0.00021, 0.0001, 0.00014, 0.00018, 0.0, 0.00018, 0.0, 0.0, 0.00155, 0.0, 0.0, 0.0001, 0.00013, 0.0, 0.00012, 0.00036, 0.00011, 0.00013, 0.0005, 0.00034, 0.00013, 0.00011, 0.00046, 0.00041, 0.00059, 0.00061, 0.00026, 0.00065, 1e-05, 1e-05, 8e-05, 0.00045, 0.0, 2e-05, 0.00013, 0.0004, 0.00013, 0.0001, 7e-05, 0.00027, 0.0, 1e-05, 5e-05, 0.00069, 0.0, 0.00015, 0.0, 0.00115, 0.0, 0.00033, 0.0, 0.00021, 0.0, 0.00013, 0.0003, 0.00019, 0.00013, 0.0, 0.0003, 9e-05, 0.00048, 0.00041, 5e-05, 0.00019, 0.0, 3e-05, 0.00012, 0.0004, 0.00014, 8e-05, 0.0, 0.00063, 0.00012, 4e-05, 0.00022, 0.00023, 0.0, 0.00013, 0.0, 0.00024, 4e-05, 0.0, 0.0, 0.00052, 6e-05, 0.0, 1e-05, 0.002, 0.00128, 0.00096, 0.0004, 0.0, 0.0, 5e-05, 0.00034, 0.0, 3e-05, 0.00013, 0.00066, 0.0, 4e-05, 0.0, 0.0005, 0.00037, 0.00029, 0.00018, 2e-05, 3e-05, 0.00055, 0.00034, 3e-05, 2e-05, 0.00068, 0.00077, 0.0005, 0.00037, 0.00018, 0.00033, 0.0, 0.0, 0.00013, 0.0003, 7e-05, 5e-05, 0.0, 0.00021, 9e-05, 8e-05, 0.0, 0.0002, 0.0, 0.00012, 2e-05, 0.0, 3e-05, 0.00038, 0.00021, 6e-05, 0.0, 2e-05, 3e-05, 0.0, 0.00042, 0.00076, 3e-05, 0.0, 5e-05, 0.00046, 0.00042, 0.0002, 0.00054, 0.0, 1e-05, 0.0, 0.00071, 4e-05, 5e-05, 0.0, 0.00032, 0.0, 7e-05, 2e-05, 0.00034, 4e-05, 0.0, 4e-05, 0.00019, 5e-05, 7e-05, 0.0, 0.00125, 3e-05, 0.0, 8e-05, 0.00026, 0.0, 0.00014, 0.0, 0.00048, 0.0, 0.0, 3e-05, 0.00026, 6e-05, 0.0, 0.00021, 5e-05, 0.00016, 0.0, 0.00024, 5e-05, 0.0, 6e-05, 0.00023, 1e-05, 7e-05, 0.0, 0.00011, 0.0, 0.0, 0.0004, 6e-05, 0.0, 0.00023, 8e-05, 0.0, 0.00021, 0.00011, 0.0, 0.00013, 0.00025, 0.00022, 0.00013, 0.0, 0.00029, 0.0007, 0.00056, 0.00042, 0.00045, 0.00021, 8e-05, 0.0, 0.0, 0.0001, 3e-05, 7e-05, 0.0001, 0.00176, 3e-05, 0.0, 0.0, 0.0, 0.0, 3e-05, 0.00029, 0.00023, 0.0001, 0.0, 0.0, 0.00036, 0.00018, 9e-05, 0.00011, 0.00038, 4e-05, 4e-05, 0.0, 8e-05, 9e-05, 0.00045, 0.00046, 0.00012, 2e-05, 0.0, 9e-05, 8e-05, 0.0006, 0.00023, 0.0, 0.0, 0.00018, 0.00029, 0.00034, 0.00038, 0.0, 6e-05, 4e-05, 0.00035, 4e-05, 4e-05, 6e-05, 0.00029, 0.0, 0.00045, 0.00051, 0.00014, 0.00017, 3e-05, 0.00011, 3e-05, 0.00033, 0.0, 0.0001, 2e-05, 0.00137, 0.00017, 0.0, 0.00037, 0.00031, 8e-05, 0.0, 0.00037, 0.0, 0.0, 8e-05, 0.0003, 0.0, 0.00048, 0.00045, 0.00034, 0.0003, 0.00013, 7e-05, 0.00052, 0.00049, 7e-05, 0.00013, 0.00054, 0.00061, 0.00058, 0.00042, 0.00012, 0.0005, 0.00029, 0.00037, 0.0, 0.00012, 0.00012, 0.00012, 0.0, 0.00021, 3e-05, 9e-05, 6e-05, 0.0001, 0.00014, 4e-05, 0.0, 0.00016, 0.00122, 0.00018, 3e-05, 0.00016, 4e-05, 5e-05, 0.00019, 5e-05, 7e-05, 0.00013, 0.00047, 0.00031, 0.00013, 7e-05, 0.00034, 0.00044, 0.0006, 0.0006, 0.00055, 0.00034, 8e-05, 2e-05, 5e-05, 6e-05, 0.00019, 0.0, 0.00027, 0.00031, 0.00015, 1e-05, 0.0003, 0.00016, 0.00014, 3e-05, 0.00037, 0.00035, 3e-05, 0.00014, 0.00041, 0.0, 0.00071, 0.00077, 0.00011, 0.00036, 5e-05, 9e-05, 0.00067, 0.00018, 0.0, 0.0, 0.00016, 9e-05, 5e-05, 0.00072, 0.0, 6e-05, 0.00023, 0.00597, 0.00035, 0.00044, 0.00102, 3e-05, 0.0, 0.00052, 0.00043, 4e-05, 7e-05, 0.0, 0.00044, 9e-05, 0.0, 0.0, 0.0, 0.0, 0.0002, 0.00035, 0.0, 0.00017, 5e-05, 0.0, 0.0, 0.0, 1e-05, 0.00025, 0.00048, 0.0, 5e-05, 0.00012, 0.00035, 0.0001, 0.0, 0.0, 4e-05, 0.00012, 9e-05, 5e-05, 6e-05, 3e-05, 0.00022, 0.00017, 0.00013, 0.0, 8e-05, 0.00013, 5e-05, 3e-05, 0.00051, 0.0002, 2e-05, 0.0002, 0.0002, 3e-05, 5e-05, 0.00064, 0.0, 1e-05, 9e-05, 0.00018, 0.00046, 0.00031, 0.00025, 0.00063, 0.0, 0.0, 0.0, 0.0006, 6e-05, 2e-05, 3e-05, 0.00051, 0.00011, 0.0, 0.00016, 0.0, 0.0, 0.0, 0.00031, 0.00028, 0.00011, 0.0, 0.0, 0.0006, 5e-05, 1e-05, 0.0, 0.00022, 0.0, 0.00013, 9e-05, 0.00063, 0.0, 0.0, 2e-05, 0.0, 0.00026, 0.0, 0.0, 0.00028, 0.0, 2e-05, 7e-05, 0.0, 0.0, 0.00017, 0.00022, 5e-05, 4e-05, 4e-05, 0.0, 0.0, 0.00015, 9e-05, 0.00017, 0.0, 0.00012, 0.0001, 1e-05, 0.00013, 0.00035, 0.0, 8e-05, 0.00045, 0.00014, 8e-05, 0.0, 0.0004, 1e-05, 0.00054, 0.00049, 0.00031, 0.00078, 0.0, 6e-05, 0.00015, 0.00054, 0.0, 0.0002, 0.00019, 0.0, 0.0001, 0.0, 0.00022, 0.00016, 6e-05, 0.0, 0.00018, 7e-05, 0.00013, 0.00012, 0.0, 0.0003, 3e-05, 0.00013, 0.00019, 0.00016, 9e-05, 0.0, 0.00037, 0.00018, 0.0, 9e-05, 0.00025, 0.00054, 0.00047, 0.00052, 0.00025, 0.00026, 0.0, 4e-05, 0.00055, 0.00017, 4e-05, 0.0, 0.00049, 0.0001, 0.00048, 0.00055, 3e-05, 0.00039, 3e-05, 0.00027, 0.0, 0.00041, 0.0, 0.00015, 0.0, 0.00042, 0.00018, 0.0, 0.00024, 0.00036, 0.00031, 0.00026, 0.00039, 5e-05, 0.0, 0.00053, 0.00038, 0.0, 5e-05, 0.0005, 0.00051, 0.00036, 0.00031, 4e-05, 0.00058, 0.0, 0.0, 1e-05, 0.00024, 0.0, 9e-05, 0.0, 0.00027, 0.00013, 3e-05, 4e-05, 0.00023, 0.00018, 0.0, 0.00044, 1e-05, 5e-05, 4e-05, 0.00026, 0.0, 0.00018, 0.0005, 0.0, 5e-05, 0.0, 0.00049, 0.0004, 0.00033, 0.00018, 2e-05, 1e-05, 0.0, 0.00051, 9e-05, 4e-05, 0.0, 0.00016, 2e-05, 6e-05, 6e-05, 0.00029, 0.0, 9e-05, 0.00011, 0.00027, 2e-05, 6e-05, 0.0, 0.00028, 4e-05, 0.0, 9e-05, 0.00013, 0.0, 0.0, 0.00015, 8e-05, 1e-05, 6e-05, 0.00022, 8e-05, 6e-05, 1e-05, 0.00021, 0.00047, 0.00034, 0.00041, 0.00019, 0.00029, 6e-05, 5e-05, 0.0001, 7e-05, 0.0, 0.0, 0.00024, 3e-05, 3e-05, 8e-05, 0.0, 2e-05, 0.00013, 0.00032, 0.00013, 0.0, 0.0, 6e-05, 0.00011, 0.0, 0.00033, 0.0002, 7e-05, 0.00071, 0.00044, 7e-05, 0.0002, 0.00066, 0.00058, 0.00056, 0.00053, 0.00019, 0.00117, 0.0, 0.00022, 0.00042, 0.00183, 0.00029, 0.0, 0.00029, 0.00916, 8e-05, 0.0, 0.0, 0.00012, 0.00026, 0.00038, 0.00064, 0.0003, 0.00038, 0.00026, 0.00097, 0.00262, 0.00181, 0.00241, 0.00299, 0.0, 2e-05, 0.00022, 0.00054, 0.00028, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.00038, 0.0, 0.00042, 2e-05, 0.0, 0.00018, 0.0001, 0.00018, 0.00023, 0.00025, 0.0, 0.00025, 5e-05, 0.00016, 0.00042, 9e-05, 0.00016, 5e-05, 0.00034, 0.00049, 0.00102, 0.00086, 0.00073, 0.0005, 0.0, 0.00024, 0.0, 0.0004, 6e-05, 0.0, 0.0001, 0.00049, 0.00011, 0.0, 0.0002, 0.00049, 3e-05, 0.0, 0.0, 0.00037, 5e-05, 0.0001, 0.0, 0.00037, 0.0, 0.0, 0.00015, 0.00036, 0.0, 0.00017, 0.00048, 0.0, 0.00011, 0.0, 0.0004, 0.00017, 0.0, 0.00049, 6e-05, 0.0, 3e-05, 0.00124, 0.00069, 0.00056, 0.00014, 1e-05, 0.0, 0.0]))),\n",
              "   LayerError(circuit=<qiskit.circuit.quantumcircuit.QuantumCircuit object at 0x1351d90f0>, qubits=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], error=PauliLindbladError(generators=['IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',\n",
              "    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...', ...], rates=[0.00135, 0.001, 0.00567, 0.0004, 0.0, 7e-05, 0.0, 9e-05, 0.0, 7e-05, 0.00013, 0.00241, 5e-05, 0.0, 0.0, 0.00014, 0.00013, 3e-05, 0.00036, 2e-05, 3e-05, 0.00013, 0.00029, 0.0, 0.00051, 0.00034, 0.0001, 0.00019, 6e-05, 0.00018, 0.0, 0.00018, 9e-05, 9e-05, 8e-05, 0.00214, 7e-05, 0.0, 0.00027, 0.0, 0.0, 7e-05, 0.0002, 0.0, 7e-05, 0.0, 0.00017, 0.0, 0.00043, 0.00044, 0.00016, 0.0011, 0.00014, 0.00012, 0.00012, 0.00111, 7e-05, 0.00014, 0.00018, 0.00109, 0.00013, 0.0, 0.00027, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00054, 0.0, 0.0, 0.0, 0.0005, 0.0, 0.0, 0.0, 0.00089, 0.0, 0.0, 0.0, 0.0, 0.00028, 0.00028, 7e-05, 0.0, 0.00028, 0.00028, 0.00016, 0.0, 0.00054, 0.0005, 0.00042, 0.00096, 0.0, 5e-05, 6e-05, 0.00077, 0.0002, 0.0, 0.0, 0.00072, 0.0, 0.00014, 0.0, 0.0003, 0.00014, 0.0, 0.00048, 0.00023, 0.0, 0.00014, 0.00044, 0.00054, 0.00135, 0.00142, 0.00023, 0.00031, 1e-05, 7e-05, 0.00011, 0.00047, 0.00018, 0.0, 0.0, 0.00011, 0.0, 0.00014, 3e-05, 0.00029, 0.0, 4e-05, 0.0, 0.00014, 6e-05, 8e-05, 9e-05, 0.00014, 0.00011, 0.00016, 2e-05, 0.00029, 0.0, 0.0, 0.00017, 0.00024, 9e-05, 3e-05, 0.0, 0.00036, 5e-05, 1e-05, 0.0, 0.00025, 0.0, 0.0, 0.0, 0.0002, 0.0, 0.0, 0.0, 0.00058, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.37843, 0.0, 0.0, 0.53164, 0.5365, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00028, 9e-05, 9e-05, 4e-05, 7e-05, 0.0, 0.0, 0.00025, 0.00011, 0.0, 0.00012, 7e-05, 4e-05, 0.00035, 0.00015, 4e-05, 7e-05, 0.00029, 0.0, 0.00047, 0.00036, 9e-05, 0.00164, 0.00232, 0.0028, 0.00131, 0.0, 0.0, 0.0, 0.00148, 0.0, 0.0, 0.0, 0.00084, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00521, 0.00527, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.40338, 0.0, 0.0, 0.0, 0.30521, 0.09093, 0.09126, 0.14967, 0.0, 0.0, 0.0, 0.0, 0.0, 0.25536, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.70904, 0.0, 0.0, 0.0, 0.0, 0.44482, 0.05059, 1.98941, 2.66137, 1.82174, 1.98941, 0.0, 1.82174, 2.66137, 0.0, 0.0, 0.10991, 0.02851, 1.35927, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00581, 0.0, 0.0, 0.0, 0.00042, 0.00025, 0.00021, 0.00026, 0.0, 0.0, 0.00084, 0.00058, 0.00021, 0.00019, 0.00022, 0.0, 0.0, 0.00072, 0.0, 9e-05, 0.00016, 0.00029, 0.0, 0.0, 0.0005, 0.00067, 0.00059, 0.00051, 0.00058, 0.00013, 0.0, 0.00015, 2e-05, 0.0, 1e-05, 0.00032, 3e-05, 0.00015, 0.0002, 0.0, 0.00011, 0.0, 0.00022, 7e-05, 0.0, 0.00015, 0.0, 0.0, 7e-05, 0.00035, 0.0, 0.0, 0.00077, 0.00017, 0.0, 0.0, 0.00066, 0.00234, 0.00131, 0.00148, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00214, 0.0, 0.0, 0.0, 0.00178, 0.0, 0.0, 0.0, 0.00307, 0.0, 0.0, 0.0, 0.00178, 0.00165, 0.00056, 0.00035, 0.00033, 0.00061, 0.0, 0.00028, 4e-05, 9e-05, 0.0, 0.0, 0.00052, 0.0, 8e-05, 0.00017, 0.0002, 0.0, 0.0, 0.00038, 0.00022, 6e-05, 0.00029, 0.0, 0.00035, 0.00033, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e-05, 0.0, 0.00043, 0.00147, 0.00019, 0.0, 0.0001, 0.01096, 0.0, 0.00027, 4e-05, 0.01189, 0.0, 0.00048, 0.0, 0.0, 0.00088, 0.0, 0.0, 0.00084, 0.00106, 0.00067, 0.00119, 0.00069, 0.00067, 0.00106, 0.00117, 0.0048, 0.0117, 0.0124, 0.00417, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00051, 0.0, 0.0, 0.0, 0.00035, 0.00048, 0.00099, 5e-05, 0.0, 0.0, 0.00043, 0.0, 0.0, 0.0, 0.00067, 0.00087, 0.0, 0.0, 0.00021, 0.00031, 0.00016, 0.00031, 0.00044, 0.00017, 0.00031, 0.00016, 0.00047, 1e-05, 0.00073, 0.00086, 0.00056, 0.00019, 0.0, 0.0, 0.0, 0.00016, 0.0, 0.0, 0.0, 0.00108, 4e-05, 0.00021, 0.00028, 0.0, 0.00023, 0.00044, 0.00039, 0.0, 0.0, 0.00012, 0.0, 0.00042, 0.00034, 0.00032, 0.0, 0.0, 0.00017, 0.0, 0.00069, 0.00049, 0.00032, 0.00019, 0.00016, 0.0, 0.00032, 0.0, 0.0, 0.0, 0.00035, 0.0, 0.0, 0.0, 0.00013, 0.0, 0.0, 0.0, 0.00013, 0.0, 5e-05, 0.00056, 0.00032, 5e-05, 0.0, 0.00059, 0.00053, 0.00032, 0.00035, 9e-05, 0.00029, 0.0, 7e-05, 0.0001, 0.00019, 1e-05, 0.0, 0.00015, 0.0002, 0.0003, 0.0, 0.0, 0.0, 8e-05, 0.0, 0.00023, 0.0, 8e-05, 0.00067, 0.00015, 0.0, 9e-05, 1e-05, 8e-05, 0.0, 0.00048, 0.00075, 0.0, 1e-05, 0.0, 0.00045, 0.00035, 0.00013, 0.00063, 2e-05, 9e-05, 3e-05, 0.00059, 0.0, 8e-05, 0.00012, 0.00045, 0.00035, 5e-05, 0.0, 0.00013, 5e-05, 0.0, 0.00028, 0.00025, 3e-05, 0.00018, 0.0, 0.00042, 0.0, 1e-05, 9e-05, 0.0, 0.0, 2e-05, 0.001, 0.0, 0.00043, 1e-05, 0.0, 0.0, 0.0, 0.0, 7e-05, 0.00027, 6e-05, 0.0, 0.0, 0.00098, 1e-05, 8e-05, 0.0, 0.00539, 2e-05, 0.0, 0.0, 0.00051, 0.0, 0.00015, 0.0, 0.00053, 0.0, 0.0, 9e-05, 0.00072, 0.00012, 5e-05, 0.0, 6e-05, 0.0001, 9e-05, 0.00036, 0.00021, 9e-05, 0.0001, 0.00035, 0.00017, 0.00047, 0.00047, 0.00014, 0.00044, 0.00029, 0.00075, 0.0, 0.0, 1e-05, 0.0, 0.0, 8e-05, 0.0, 0.00013, 0.0007, 9e-05, 0.0, 6e-05, 0.00074, 0.00022, 9e-05, 0.0003, 0.0, 0.0, 0.0, 0.0, 0.00177, 0.00024, 0.00027, 0.0002, 0.00866, 0.0, 0.0002, 0.0, 8e-05, 1e-05, 0.0, 0.00901, 0.0, 0.00042, 0.00042, 0.0, 0.00057, 0.0, 0.00748, 0.0, 0.0, 0.00116, 6e-05, 0.0, 0.00055, 0.0, 0.00082, 0.00104, 0.00061, 0.00124, 0.00104, 0.00082, 0.00129, 0.00317, 0.00896, 0.01041, 0.00599, 0.00052, 0.0, 0.0, 0.0, 0.00039, 5e-05, 0.0, 8e-05, 0.00468, 0.00064, 0.0, 0.0, 0.0009, 0.0, 0.00013, 0.00028, 0.00097, 0.00033, 5e-05, 0.0, 0.0004, 0.00021, 0.00017, 0.00014, 0.0, 0.0, 0.0, 0.00036, 7e-05, 0.0, 0.00014, 0.0, 0.0, 0.0, 0.00026, 0.0, 6e-05, 3e-05, 0.00043, 0.0, 0.0, 0.00038, 0.00027, 0.00016, 5e-05, 0.00031, 7e-05, 0.0, 0.00045, 0.00028, 0.0, 7e-05, 0.0004, 0.00059, 0.00054, 0.0003, 0.00045, 0.00064, 0.0, 0.0, 0.0, 0.00026, 4e-05, 0.0, 0.00034, 0.0007, 0.00011, 0.00012, 0.0, 0.00056, 0.0, 0.0002, 0.00057, 0.00065, 0.0002, 0.0, 0.00066, 0.00067, 0.00121, 0.00123, 0.00025, 0.00043, 0.00044, 0.0005, 0.00075, 0.0, 0.00014, 0.00022, 0.0, 6e-05, 7e-05, 0.00083, 0.00028, 0.0, 0.0, 0.00013, 0.0, 0.0, 0.00099, 2e-05, 0.0, 0.0, 2e-05, 0.0, 2e-05, 0.00024, 0.0001, 4e-05, 0.00038, 0.00026, 4e-05, 0.0001, 0.00031, 0.00026, 0.00045, 0.00054, 0.0004, 0.00023, 0.00026, 0.0002, 0.00047, 0.0, 0.0002, 0.00026, 0.0003, 0.00087, 0.00106, 0.00088, 0.00097, 0.00151, 0.0, 6e-05, 0.00023, 0.00137, 0.00015, 0.0, 0.0, 0.00016, 0.00042, 0.00053, 0.00013, 0.00075, 0.00043, 0.00018, 0.00075, 0.00062, 0.00051, 0.0, 0.00015, 0.0, 0.0, 3e-05, 0.00012, 0.0, 0.0, 0.0, 5e-05, 0.00015, 0.0, 6e-05, 0.00021, 0.0, 0.0, 0.0, 8e-05, 2e-05, 0.0, 0.00015, 0.00011, 7e-05, 9e-05, 0.00039, 0.00028, 9e-05, 7e-05, 0.00057, 0.00552, 0.00028, 0.00045, 0.00041, 0.0, 0.0, 0.00029, 0.0, 0.0, 0.00018, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.00036, 0.00033, 0.0, 0.00011, 0.0, 0.00015, 0.00013, 0.0, 0.0, 0.00036, 0.0, 0.00012, 5e-05, 0.00022, 0.0, 0.00018, 7e-05, 5e-05, 7e-05, 0.0, 0.00032, 8e-05, 5e-05, 0.0, 4e-05, 1e-05, 8e-05, 0.00027, 0.00016, 7e-05, 0.00018, 0.0, 3e-05, 0.00027, 0.00034, 3e-05, 7e-05, 0.00048, 0.00045, 7e-05, 3e-05, 0.00053, 0.00018, 0.00058, 0.00057, 8e-05, 0.0, 8e-05, 0.0, 0.00016, 0.0, 0.0, 7e-05, 0.00014, 0.0, 6e-05, 1e-05, 0.0, 0.00022, 0.00011, 0.0, 0.00022, 0.00026, 0.0, 0.00011, 0.00035, 0.00033, 0.00045, 0.00032, 0.00016, 0.0005, 0.00027, 3e-05, 0.0008, 0.0, 0.0, 0.0, 0.0003, 3e-05, 0.00027, 0.00083, 0.0, 0.0, 0.0, 2e-05, 0.00181, 0.00152, 0.00038, 0.0, 9e-05, 0.0, 0.0, 0.00012, 0.00011, 7e-05, 7e-05, 4e-05, 0.00014, 0.00012, 0.0, 0.00014, 0.00029, 0.00012, 0.00039, 0.0, 0.00032, 0.00066, 0.00032, 0.00032, 0.0, 0.0009, 0.00201, 0.00021, 0.00041, 0.00014, 6e-05, 3e-05, 0.00021, 0.0, 0.0002, 0.0, 0.0, 0.00011, 0.00028, 2e-05, 0.0, 0.0, 9e-05, 4e-05, 9e-05, 9e-05, 0.0, 0.0001, 0.0005, 0.0002, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.00039, 0.00028, 0.0, 0.0, 6e-05, 0.0003, 0.00031, 0.0001, 0.00092, 0.0, 0.00012, 4e-05, 0.00098, 4e-05, 7e-05, 4e-05, 0.00062, 0.00015, 0.0, 0.0, 0.00049, 5e-05, 0.0, 0.0, 0.00029, 6e-05, 0.0, 8e-05, 0.00102, 0.0, 0.0, 0.0001, 0.00037, 1e-05, 0.00021, 0.00038, 6e-05, 0.00021, 1e-05, 7e-05, 0.00062, 0.00026, 0.00036, 0.0003, 0.00045, 1e-05, 0.0, 0.0, 0.00047, 0.0, 3e-05, 9e-05, 0.00057, 0.00022, 8e-05, 6e-05, 0.0, 2e-05, 0.00036, 0.0, 0.00021, 0.0, 0.0, 0.0001, 0.0005, 0.00019, 1e-05, 0.0, 4e-05, 8e-05, 3e-05, 0.00028, 0.00013, 3e-05, 8e-05, 0.00021, 0.0, 0.00054, 0.00044, 0.0002, 0.00148, 0.00101, 0.00116, 0.00033, 0.00012, 0.0, 0.0, 0.00034, 0.0, 7e-05, 0.0001, 0.00066, 2e-05, 0.0, 0.0, 0.00079, 0.00061, 9e-05, 0.00011, 0.0, 0.0, 0.00012, 0.0001, 3e-05, 0.0, 7e-05, 0.00019, 3e-05, 3e-05, 0.0, 0.00027, 0.0001, 0.0, 0.00037, 0.00012, 0.0, 0.0001, 0.0003, 0.0002, 0.00043, 0.00033, 0.00018, 0.00033, 0.0, 3e-05, 0.0001, 0.0, 0.0, 4e-05, 0.00025, 0.0, 0.0, 0.0, 0.0, 4e-05, 0.0, 0.00028, 6e-05, 5e-05, 0.0, 0.0001, 0.00014, 0.0, 0.00033, 0.0, 3e-05, 0.00042, 0.00025, 3e-05, 0.0, 0.0003, 0.00054, 0.00049, 0.0003, 0.00081, 0.00041, 0.0, 0.0, 0.0, 0.00022, 0.0, 0.0, 0.0, 0.00184, 9e-05, 5e-05, 0.0, 3e-05, 6e-05, 0.0001, 0.00032, 7e-05, 0.0001, 6e-05, 0.0002, 0.00062, 0.00045, 0.00037, 0.00015, 0.00043, 0.0, 0.0001, 0.00073, 0.0, 0.0, 7e-05, 0.00029, 0.0001, 0.0, 0.00076, 0.00015, 0.0, 0.00015, 0.0, 0.00028, 0.00036, 0.00014, 0.00014, 0.00013, 0.0, 7e-05, 0.0, 1e-05, 9e-05, 4e-05, 2e-05, 0.0001, 0.0002, 0.0002, 0.00021, 4e-05, 2e-05, 0.00041, 0.0001, 0.00016, 0.00083, 0.00013, 0.00016, 0.0001, 0.00051, 0.00138, 0.00017, 0.00036, 0.00048, 0.0005, 0.0, 7e-05, 0.0, 0.00032, 0.0, 0.0, 0.00015, 0.00028, 6e-05, 8e-05, 0.00035, 0.00059, 5e-05, 0.0, 0.0002, 0.0, 0.0, 0.0, 0.00051, 0.0, 8e-05, 8e-05, 1e-05, 0.0, 0.00011, 0.00027, 0.00019, 1e-05, 6e-05, 6e-05, 0.0001, 0.0, 0.0003, 7e-05, 0.0, 0.00011, 0.00023, 0.00016, 2e-05, 0.0, 0.00016, 0.0, 0.00012, 7e-05, 0.00038, 0.0, 0.0, 7e-05, 0.00058, 7e-05, 0.0, 0.0, 0.00119, 0.00013, 0.00013, 0.0, 0.00019, 3e-05, 1e-05, 3e-05, 0.00045, 0.0, 5e-05, 0.00012, 0.00067, 1e-05, 7e-05, 0.0, 0.00038, 0.00019, 0.0, 0.0, 0.00026, 0.00015, 1e-05, 0.0, 0.00041, 0.0, 0.00021, 0.00053, 0.00021, 0.00027, 0.00033, 7e-05, 0.00014, 0.0, 0.00013, 1e-05, 5e-05, 0.00061, 0.0, 0.0, 2e-05, 0.00016, 5e-05, 1e-05, 0.00039, 0.0, 0.0, 5e-05, 5e-05, 0.00021, 0.00027, 9e-05, 0.0003, 0.0001, 4e-05, 0.0, 0.00027, 2e-05, 0.0, 8e-05, 0.00019, 0.00014, 0.00026, 0.00019, 0.00023, 6e-05, 1e-05, 0.00068, 0.00018, 1e-05, 6e-05, 0.00057, 0.00117, 0.00044, 0.00037, 0.00034, 0.00046, 0.0, 2e-05, 0.0, 0.00028, 6e-05, 0.0, 0.00011, 0.00014, 9e-05, 0.00017, 9e-05, 0.00021, 3e-05, 4e-05, 8e-05, 9e-05, 0.0, 0.0, 0.00037, 0.0, 0.0, 1e-05, 0.0, 4e-05, 6e-05, 0.00054, 0.00021, 0.0, 0.0, 3e-05, 8e-05, 3e-05, 0.00012, 0.00015, 1e-05, 0.00033, 8e-05, 1e-05, 0.00015, 0.00027, 0.0, 0.00046, 0.00049, 0.00027, 0.0, 0.00012, 0.0, 0.00023, 3e-05, 9e-05, 0.00012, 0.0, 0.0, 0.0, 8e-05, 4e-05, 0.00019, 0.00015, 0.00011, 0.00025, 9e-05, 0.00011, 0.00015, 0.00037, 0.00042, 0.00061, 0.00043, 0.00033, 0.0, 0.0, 0.0, 0.00023, 0.0, 0.00015, 0.00014, 0.0, 5e-05, 0.00012, 3e-05, 3e-05, 0.00013, 0.0, 0.0, 4e-05, 0.0, 0.00034, 4e-05, 0.0, 0.00011, 0.00028, 4e-05, 0.00011, 0.00039, 0.00032, 0.00011, 4e-05, 0.00032, 0.00012, 0.00044, 0.00038, 0.0003, 0.0, 0.0, 0.0, 0.00026, 0.00032, 0.00011, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0002, 6e-05, 1e-05, 7e-05, 0.00024, 6e-05, 7e-05, 1e-05, 0.00039, 0.00021, 0.00032, 0.00049, 0.0003, 0.00028, 0.00017, 7e-05, 0.00064, 0.00018, 0.0, 0.0, 0.0, 7e-05, 0.00017, 0.00078, 0.0, 0.00021, 0.00021, 0.00043, 0.00059, 0.00045, 0.00036, 0.0, 0.00011, 2e-05, 0.0002, 0.00017, 0.0, 0.0, 8e-05, 0.0, 7e-05, 0.00024, 0.00041, 0.0, 0.00032, 5e-05, 0.00042, 4e-05, 6e-05, 0.00049, 0.0, 6e-05, 4e-05, 0.0002, 0.001, 0.00037, 0.0004, 0.00021, 0.0005, 0.0, 0.0, 0.0, 0.00027, 9e-05, 1e-05, 0.00011, 0.00032, 0.00021, 0.00019, 7e-05, 0.0, 8e-05, 0.00013, 0.00012, 0.00019, 2e-05, 0.0, 7e-05, 0.0, 0.00015, 7e-05, 0.00014, 0.00051, 0.00016, 3e-05, 0.0, 0.00078, 0.0, 0.0, 7e-05, 0.00041, 0.0, 0.0, 0.00014, 0.00253, 4e-05, 0.0001, 0.0, 0.00224, 0.0, 0.0, 4e-05, 8e-05, 0.0, 0.00019, 0.00018, 0.00057, 0.00048, 0.0003, 0.00032, 8e-05, 1e-05, 3e-05, 0.00036, 0.0, 2e-05, 0.0, 0.00048, 0.0, 0.0, 9e-05, 0.00035, 3e-05, 3e-05, 0.00042, 0.00031, 3e-05, 3e-05, 0.00032, 0.00024, 0.00044, 0.00039, 0.00018, 0.00032, 1e-05, 0.0, 0.00014, 0.0, 0.0, 0.0, 0.00043, 5e-05, 0.0, 0.0, 4e-05, 1e-05, 0.0, 0.00069, 0.0, 6e-05, 8e-05, 3e-05, 0.0, 4e-05, 0.00019, 6e-05, 2e-05, 0.00028, 0.00013, 2e-05, 6e-05, 0.00021, 0.0, 0.00047, 0.00053, 6e-05, 0.00036, 5e-05, 0.0, 0.00024, 0.00063, 0.0, 5e-05, 6e-05, 0.00032, 4e-05, 3e-05, 0.0, 0.00022, 0.0, 0.0, 0.0, 0.00033, 0.0, 0.0, 3e-05, 0.00033, 0.00011, 6e-05, 7e-05, 0.00046, 8e-05, 7e-05, 0.00067, 0.0, 0.0, 7e-05, 0.00036, 7e-05, 8e-05, 0.00066, 0.0, 3e-05, 4e-05, 0.0, 0.00032, 0.00028, 5e-05, 6e-05, 0.0, 0.0, 0.00033, 0.0, 0.0, 0.00012, 0.00039, 0.0, 5e-05, 5e-05, 0.00099, 0.00013, 0.00017, 9e-05, 0.00052, 0.0, 0.00024, 0.00095, 0.00046, 0.00024, 0.0, 0.00118, 0.01194, 0.00045, 0.0005, 0.0, 0.0, 0.0, 1e-05, 0.00057, 0.00038, 0.0, 0.00022, 0.0, 0.00398, 0.00042, 0.00049, 0.0016, 0.0, 6e-05, 0.0, 0.0001, 4e-05, 0.0, 0.00031, 0.00013, 0.0, 0.0001, 0.0, 0.0, 4e-05, 0.00044, 0.0, 0.0, 6e-05, 8e-05, 0.0003, 0.00077, 0.00031, 0.00038, 2e-05, 0.0, 0.0, 0.00029, 0.0, 7e-05, 0.0, 0.00034, 0.00018, 0.00012, 2e-05, 0.00028, 0.00011, 0.0, 0.0, 0.0003, 5e-05, 0.0, 4e-05, 0.00045, 0.0, 4e-05, 0.0, 0.00031, 0.00012, 0.00011, 0.00031, 7e-05, 0.00011, 0.00012, 0.00028, 0.0003, 0.00039, 0.00039, 0.00017, 0.00096, 0.0, 1e-05, 0.0, 0.0, 2e-05, 9e-05, 0.00075, 0.0, 5e-05, 0.0001, 0.0, 5e-05, 2e-05, 0.00012, 9e-05, 9e-05, 9e-05, 0.0, 0.00015, 0.0])))]},\n",
              " 'version': 2}"
            ]
          },
          "execution_count": 17,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "primitive_result.metadata"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "69f5426e",
      "metadata": {},
      "source": [
        "`PubResult` オブジェクトは、ミティゲーションに使用された学習済みノイズモデルに関する追加の弾力性メタデータを持つ。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 18,
      "id": "52482e42",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "noise_overhead: 9.2584227461744e+229\n",
            "total_mitigated_layers: 18\n",
            "unique_mitigated_layers: 3\n",
            "unique_mitigated_layers_noise_overhead: [2.0713004613510885e+36, 10.600275591731494, 9.687147432958504]\n"
          ]
        }
      ],
      "source": [
        "# Print learned layer noise metadata\n",
        "for field, value in pub_result.metadata[\"resilience\"][\"layer_noise\"].items():\n",
        "    print(f\"{field}: {value}\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "2b96bdd2",
      "metadata": {},
      "outputs": [],
      "source": [
        "# Exact data computed using the methods described in the original reference\n",
        "# Y. Kim et al. \"Evidence for the utility of quantum computing before fault tolerance\" (Nature 618,\n",
        "# 500–505 (2023)) Directly used here for brevity\n",
        "exact_data = np.array(\n",
        "    [\n",
        "        1,\n",
        "        0.9899,\n",
        "        0.9531,\n",
        "        0.8809,\n",
        "        0.7536,\n",
        "        0.5677,\n",
        "        0.3545,\n",
        "        0.1607,\n",
        "        0.0539,\n",
        "        0.0103,\n",
        "        0.0012,\n",
        "        0.0,\n",
        "    ]\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "f6dfbb9a",
      "metadata": {},
      "source": [
        "<span id=\"plot-trotter-simulation-results\" />\n",
        "\n",
        "### プロットトロッターのシミュレーション結果\n",
        "\n",
        "以下のコードは、厳密解に対する生の実験結果と緩和された実験結果を比較するプロットを作成します。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 20,
      "id": "e466736a",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<Image src=\"/docs/images/tutorials/probabilistic-error-amplification/extracted-outputs/e466736a-0.avif\" alt=\"Output of the previous code cell\" />"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "zne_metadata = primitive_result.metadata[\"resilience\"][\"zne\"]\n",
        "# Plot Trotter simulation results\n",
        "fig = plot_trotter_results(\n",
        "    pub_result,\n",
        "    parameter_values,\n",
        "    plot_extrapolator=zne_metadata[\"extrapolator\"],\n",
        "    plot_noise_factors=zne_metadata[\"noise_factors\"],\n",
        "    exact=exact_data,\n",
        ")\n",
        "display(fig)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "1cd46c88",
      "metadata": {},
      "source": [
        "ノイズ（ノイズ係数 `nf=1.0` ）の値は正確な値から高い乖離を示しているが、緩和された値は正確な値に近く、PEAベースの緩和技術の有用性を実証している。\n",
        "\n",
        "<span id=\"plot-extrapolation-results-for-individual-qubits\" />\n",
        "\n",
        "### 個々の量子ビットに対するプロット外挿結果\n",
        "\n",
        "最後に、以下のコードは、特定のqubit上の異なるθの値に対する外挿曲線を示すプロットを作成します。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 21,
      "id": "bea9695a",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<Image src=\"/docs/images/tutorials/probabilistic-error-amplification/extracted-outputs/bea9695a-0.avif\" alt=\"Output of the previous code cell\" />"
            ]
          },
          "execution_count": 21,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "virtual_qubit = 1\n",
        "plot_qubit_zne_data(\n",
        "    pub_result=pub_result,\n",
        "    angles=parameter_values,\n",
        "    qubit=virtual_qubit,\n",
        "    noise_factors=zne_metadata[\"noise_factors\"],\n",
        "    extrapolator=zne_metadata[\"extrapolator\"],\n",
        "    extrapolated_noise_factors=zne_metadata[\"extrapolated_noise_factors\"],\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "75f48e6a-c7e4-46f3-9d39-a7a877427a04",
      "metadata": {},
      "source": [
        "<span id=\"next-steps\" />\n",
        "\n",
        "## 次のステップ\n",
        "\n",
        "<Admonition type=\"tip\" title=\"推奨事項\">\n",
        "  この作品が興味深かった方は、以下の資料もご参考になるかもしれません：\n",
        "\n",
        "  * エラー軽減手法の組み合わせに焦点を当てた[チュートリアル](/docs/tutorials/combine-error-mitigation-techniques)。\n",
        "  * Qiskit で利用可能なエラー軽減手法に関する詳細な[ドキュメント](/docs/guides/error-mitigation-and-suppression-techniques)。\n",
        "  * 大規模実験に関する追加のレッスン：「 [Utility II](/learning/courses/utility-scale-quantum-computing/utility-ii) 」および「 [Utility III](/learning/courses/utility-scale-quantum-computing/utility-iii) 」。\n",
        "</Admonition>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "id": "a1b8767d",
      "source": "© IBM Corp., 2017-2026"
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3"
    },
    "hours": 1.5,
    "qpuSeconds": 840
  },
  "nbformat": 4,
  "nbformat_minor": 5
}