{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "f80596f2", "metadata": { "execution": { "iopub.execute_input": "2024-03-26T18:58:06.440095Z", "iopub.status.busy": "2024-03-26T18:58:06.439821Z", "iopub.status.idle": "2024-03-26T18:58:06.442491Z", "shell.execute_reply": "2024-03-26T18:58:06.442050Z" }, "nbsphinx": "hidden" }, "outputs": [], "source": [ "# Copyright 2024 Keysight Technologies Inc." ] }, { "cell_type": "raw", "id": "f5e2c51e", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "\n", "Example: Running IRB\n", "====================\n", "\n", "This example page demonstrates how to use :py:func:`~trueq.make_irb` method to\n", "estimate the infidelity of a specific gate. This protocol differs from\n", ":doc:`cb` in several ways:\n", "\n", "- It estimates the infidelity of a specific gate (not cycle) composed with gates from\n", " the twirling group, see :doc:`../../guides/error_diagnostics/irb` for more details.\n", " Gate infidelity can then be estimated by taking into account the results of an SRB\n", " experiment.\n", "- IRB uses a different twirling group than CB, Cliffords instead of Paulis by default.\n", " Paulis being a reference group with no entangling operations and therefore usually\n", " higher fidelity, leading to less systematic uncertainty in estimates.\n", "- Typically uses fewer circuits than CB.\n", "- IRB only gives information about specific gates (possibly in the context of being\n", " simultaneously applied), and not about entire cycles like CB.\n", "\n", "We begin by defining some cycles that contain the gates we want to characterize using\n", "IRB. Next we generate IRB circuits for these cycles.\n", "Note that we could perform simultaneous two qubit IRB with a cycle such as:\n", "\n", "``{(1, 2): tq.Gate.cz, (3, 4): tq.Gate.cz}``\n", "\n", "See :py:func:`~trueq.make_irb` for more details." ] }, { "cell_type": "code", "execution_count": 2, "id": "474d4dcb", "metadata": { "execution": { "iopub.execute_input": "2024-03-26T18:58:06.444474Z", "iopub.status.busy": "2024-03-26T18:58:06.444192Z", "iopub.status.idle": "2024-03-26T18:58:08.867211Z", "shell.execute_reply": "2024-03-26T18:58:08.866737Z" } }, "outputs": [ { "data": { "text/plain": [ "270" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import trueq as tq\n", "\n", "cycle1 = {1: tq.Gate.h}\n", "cycle2 = {2: tq.Gate.h}\n", "cycle12 = {(1, 2): tq.Gate.cz}\n", "\n", "# Generate a circuit collection to run IRB on the above cycles with 30 random circuits\n", "# for each circuit length in [4, 32, 64]:\n", "n_random_cycles = [4, 32, 64]\n", "circuits = tq.make_irb(cycle1, n_random_cycles)\n", "circuits += tq.make_irb(cycle2, n_random_cycles)\n", "circuits += tq.make_irb(cycle12, n_random_cycles)\n", "len(circuits)" ] }, { "cell_type": "raw", "id": "25e53443", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "We are interested in the gate fidelity of the individual gates in the cycles defined\n", "above, e.g. :math:`CZ` alone, so we also need a reference SRB experiment to translate\n", "from the average fidelity of cycles dressed with gates in the twirling group to\n", "fidelity of the undressed gates. Optionally, to tighten the bound on the infidelity\n", "estimate, we also do an XRB experiment. The double nesting ``[[1, 2]]`` is necessary\n", "to characterize the :math:`CZ` gate because just ``[1, 2]`` refers to simultaneous\n", "single-qubit gates." ] }, { "cell_type": "code", "execution_count": 3, "id": "11e0b6cf", "metadata": { "execution": { "iopub.execute_input": "2024-03-26T18:58:08.869581Z", "iopub.status.busy": "2024-03-26T18:58:08.869084Z", "iopub.status.idle": "2024-03-26T18:58:09.158326Z", "shell.execute_reply": "2024-03-26T18:58:09.157801Z" } }, "outputs": [], "source": [ "circuits += tq.make_srb([1], n_random_cycles)\n", "circuits += tq.make_srb([2], n_random_cycles)\n", "circuits += tq.make_srb([[1, 2]], n_random_cycles)\n", "circuits += tq.make_xrb([1], n_random_cycles)\n", "circuits += tq.make_xrb([2], n_random_cycles)\n", "circuits += tq.make_xrb([[1, 2]], n_random_cycles)" ] }, { "cell_type": "raw", "id": "68e62acf", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Create a noisy simulator in lieu of a physical device and populate all circuits\n", "with results." ] }, { "cell_type": "code", "execution_count": 4, "id": "897b7515", "metadata": { "execution": { "iopub.execute_input": "2024-03-26T18:58:09.160774Z", "iopub.status.busy": "2024-03-26T18:58:09.160357Z", "iopub.status.idle": "2024-03-26T18:58:12.123522Z", "shell.execute_reply": "2024-03-26T18:58:12.123022Z" } }, "outputs": [], "source": [ "sim = tq.Simulator().add_depolarizing(0.01).add_overrotation(0.04)\n", "sim.run(circuits)" ] }, { "cell_type": "raw", "id": "ba459bcb", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Print a summary of the results for the CZ gate:" ] }, { "cell_type": "code", "execution_count": 5, "id": "e0ae7a08", "metadata": { "execution": { "iopub.execute_input": "2024-03-26T18:58:12.126149Z", "iopub.status.busy": "2024-03-26T18:58:12.125799Z", "iopub.status.idle": "2024-03-26T18:58:12.219193Z", "shell.execute_reply": "2024-03-26T18:58:12.218720Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "
True-Q formatting will not be loaded without trusting this\n", "notebook or rerunning the affected cells. Notebooks can be marked as trusted by clicking\n", "\"File -> Trust Notebook\".
\n", "\n", "\n", "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", "\n", "\n", "\n", "
\n", "
SRB
\n", "
Streamlined Randomized Benchmarking
\n", "
\n", " Cliffords\n", "\n", "
(1,)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (1,)
  • \n", "
  • protocol: SRB
  • \n", "
  • twirl: Cliffords on [1]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", "
(2,)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (2,)
  • \n", "
  • protocol: SRB
  • \n", "
  • twirl: Cliffords on [2]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", "
(1, 2)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (1, 2)
  • \n", "
  • protocol: SRB
  • \n", "
  • twirl: Cliffords on [(1, 2)]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", "
\n", " ${e}_{F}$\n", "
\n", "
\n", " The probability of an error acting on the targeted systems during a random gate.\n", "
\n", "
\n", " 9.2e-03 (7.7e-04)\n", "
0.00919340714741071, 0.0007668680243293099
\n", "
\n", " 1.0e-02 (7.7e-04)\n", "
0.010477492740741251, 0.0007720736450271823
\n", "
\n", " 1.2e-02 (7.7e-04)\n", "
0.012223249864356661, 0.0007725652795482386
\n", "
\n", "
\n", " ${p}$\n", "
\n", "
\n", " Decay parameter of the exponential decay $Ap^m$.\n", "
\n", "
\n", " 9.9e-01 (1.0e-03)\n", "
0.9877421238034524, 0.0010224906991057464
\n", "
\n", " 9.9e-01 (1.0e-03)\n", "
0.9860300096790117, 0.0010294315267029097
\n", "
\n", " 9.9e-01 (8.2e-04)\n", "
0.9869618668113529, 0.0008240696315181213
\n", "
\n", "
\n", " ${A}$\n", "
\n", "
\n", " SPAM parameter of the exponential decay $Ap^m$.\n", "
\n", "
\n", " 9.8e-01 (1.9e-02)\n", "
0.9791262128257734, 0.01939431456430689
\n", "
\n", " 1.0e+00 (2.0e-02)\n", "
1.011505384841364, 0.02015539883109549
\n", "
\n", " 9.2e-01 (2.1e-02)\n", "
0.9213008229785502, 0.02097466571603669
\n", "
\n", "
XRB
\n", "
Extended Randomized Benchmarking
\n", "
\n", " Cliffords\n", "\n", "
(1,)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (1,)
  • \n", "
  • protocol: XRB
  • \n", "
  • twirl: Cliffords on [1]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", "
(2,)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (2,)
  • \n", "
  • protocol: XRB
  • \n", "
  • twirl: Cliffords on [2]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", "
(1, 2)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (1, 2)
  • \n", "
  • protocol: XRB
  • \n", "
  • twirl: Cliffords on [(1, 2)]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", "
\n", " ${e}_{U}$\n", "
\n", "
\n", " The process infidelity of the coherent error acting on the specifed systems during a random gate.\n", "
\n", "
\n", " 2.8e-03 (9.0e-04)\n", "
0.0028006471540379663, 0.0009016502860689471
\n", "
\n", " 4.9e-03 (8.9e-04)\n", "
0.00492567741442082, 0.0008913589159583955
\n", "
\n", " 6.3e-04 (8.5e-04)\n", "
0.0006308856016022102, 0.0008489227580761288
\n", "
\n", "
\n", " ${e}_{S}$\n", "
\n", "
\n", " The probability of a stochastic error acting on the specified systems during a random gate.\n", "
\n", "
\n", " 6.4e-03 (4.7e-04)\n", "
0.006392759993372743, 0.0004742221753877343
\n", "
\n", " 5.6e-03 (4.5e-04)\n", "
0.005551815326320431, 0.00044544697070803647
\n", "
\n", " 1.2e-02 (3.5e-04)\n", "
0.011592364262754451, 0.00035187034262087704
\n", "
\n", "
\n", " ${u}$\n", "
\n", "
\n", " The unitarity of the noise, that is, the average decrease in the purity of an initial state.\n", "
\n", "
\n", " 9.8e-01 (1.3e-03)\n", "
0.9830071298581166, 0.0012565082315651877
\n", "
\n", " 9.9e-01 (1.2e-03)\n", "
0.9852362560010357, 0.0011812638170373242
\n", "
\n", " 9.8e-01 (7.4e-04)\n", "
0.9754129646759375, 0.0007419548446633719
\n", "
\n", "
\n", " ${A}$\n", "
\n", "
\n", " SPAM parameter of the exponential decay $Au^m$.\n", "
\n", "
\n", " 1.0e+00 (2.7e-02)\n", "
1.0344252792598974, 0.0273188402758898
\n", "
\n", " 1.0e+00 (2.8e-02)\n", "
1.0146986360310475, 0.028005388277059805
\n", "
\n", " 1.0e+00 (1.7e-02)\n", "
1.001627874627467, 0.016525601761212743
\n", "
\n", "
IRB
\n", "
Interleaved Randomized Benchmarking
\n", "
\n", " Cliffords\n", "\n", " \n", "

(1,) : Gate.h

\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • cycles: (Cycle((1,): Gate.h),)
  • \n", "
  • labels: (1,)
  • \n", "
  • protocol: IRB
  • \n", "
  • twirl: Cliffords on [1]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", " \n", "

(2,) : Gate.h

\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • cycles: (Cycle((2,): Gate.h),)
  • \n", "
  • labels: (2,)
  • \n", "
  • protocol: IRB
  • \n", "
  • twirl: Cliffords on [2]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", " \n", "

(1, 2) : Gate.cz

\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • cycles: (Cycle((1, 2): Gate.cz),)
  • \n", "
  • labels: (1, 2)
  • \n", "
  • protocol: IRB
  • \n", "
  • twirl: Cliffords on [(1, 2)]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", "
\n", " ${e}_{F}$\n", "
\n", "
\n", " The probability of an error acting on the targeted systems during a dressed gate of interest.\n", "
\n", "
\n", " 2.1e-02 (3.0e-03)\n", "
0.021149234197659544, 0.0029774877068894728
\n", "
\n", " 2.3e-02 (2.6e-03)\n", "
0.022846945312796962, 0.002625035203982787
\n", "
\n", " 3.9e-02 (7.0e-03)\n", "
0.03936813110062106, 0.007017317514850027
\n", "
\n", "
\n", " ${e}_{IU}$\n", "
\n", "
\n", " An upper bound on the inferred value of $e_F$ that accounts for systematic errors in the interleaved estimate.\n", "
\n", "
\n", " 3.1e-02 (5.4e-03)\n", "
0.030511037116578404, 0.005442010445905701
\n", "
\n", " 4.1e-02 (5.0e-03)\n", "
0.04070728540347951, 0.004966348788425576
\n", "
\n", " 3.7e-02 (1.1e-02)\n", "
0.0371150718361787, 0.010535962849453441
\n", "
\n", "
\n", " ${e}_{IL}$\n", "
\n", "
\n", " A lower bound on the inferred value of $e_F$ that accounts for systematic errors in the interleaved estimate.\n", "
\n", "
\n", " 4.8e-03 (2.0e-03)\n", "
0.004765907510900752, 0.0020111307363554396
\n", "
\n", " 3.8e-03 (1.4e-03)\n", "
0.003814946326912705, 0.0014304578340243461
\n", "
\n", " 2.0e-02 (7.7e-03)\n", "
0.020353404444127428, 0.007685137038462741
\n", "
\n", "
\n", " ${p}$\n", "
\n", "
\n", " Decay parameter of the exponential decay $Ap^m$.\n", "
\n", "
\n", " 9.7e-01 (4.0e-03)\n", "
0.9718010210697873, 0.003969983609185964
\n", "
\n", " 9.7e-01 (3.5e-03)\n", "
0.969537406249604, 0.0035000469386437167
\n", "
\n", " 9.6e-01 (7.5e-03)\n", "
0.9580073268260042, 0.007485138682506696
\n", "
\n", "
\n", " ${A}$\n", "
\n", "
\n", " SPAM parameter of the exponential decay $Ap^m$.\n", "
\n", "
\n", " 9.6e-01 (6.4e-02)\n", "
0.9621760826862992, 0.0639142193174848
\n", "
\n", " 1.0e+00 (6.2e-02)\n", "
1.0362473590695276, 0.06211865853508233
\n", "
\n", " 1.1e+00 (1.2e-01)\n", "
1.1328369636175255, 0.1245088648556954
\n", "
\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "EstimateCollection(9)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circuits.fit()" ] }, { "cell_type": "raw", "id": "3c71aadc", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Plot a summary of information:" ] }, { "cell_type": "code", "execution_count": 6, "id": "fe61b769", "metadata": { "execution": { "iopub.execute_input": "2024-03-26T18:58:12.221445Z", "iopub.status.busy": "2024-03-26T18:58:12.221035Z", "iopub.status.idle": "2024-03-26T18:58:12.660387Z", "shell.execute_reply": "2024-03-26T18:58:12.659932Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB8vUlEQVR4nO3dd3hUVf7H8c+dSUhPaGlAIHSI9Cr4k94saBRp0gICKgFUVhHcVSyriIsIrhHcVYoUdRFFRI0CKyighGJADF2akBAwQggRUmZ+f2QzZEgCIclkUt6v58mzc849997vmbBjvnPKNaxWq1UAAAAAAKDYmZwdAAAAAAAA5RVJNwAAAAAADkLSDQAAAACAg5B0AwAAAADgICTdAAAAAAA4CEk3AAAAAAAOQtINAAAAAICDkHQDAAAAAOAgJN0AAAAAADgISTcAAAAAAA5C0g0AQDFbvHixDMPQjh07bHXPP/+8DMOw/bi6uio0NFSTJ0/W+fPnc10jNDTUrr27u7saNmyop556SklJSQWK49ixYxo9erTq168vd3d3BQUFqUuXLpoxY0ZxdRUAANyAi7MDAACgIpk/f768vb116dIlbdiwQf/85z+1a9cubd68OVfbVq1a6S9/+Ysk6fLly9q5c6fmzp2rTZs2KSYm5rr3OXz4sNq3by8PDw+NGTNGoaGhio+P165duzRr1iy98MILDukfAACwR9INAEAJeuCBB1S9enVJ0sMPP6whQ4boo48+UkxMjDp06GDXtmbNmho+fLitPHbsWHl7e2v27Nk6dOiQGjZsmO993njjDaWkpCg2NlZ16tSxO5aYmFiMPSo7UlNT5enp6ewwAAAVDNPLAQBwottvv12SdOTIkQK1DwoKkiS5uFz/e/MjR46oVq1auRJuSQoICLArG4ah559/Ple70NBQRURE2MrZ0+Y3b96syZMny9/fX5UrV9bDDz+stLQ0nT9/XiNHjlSVKlVUpUoVTZ06VVar1Xb+sWPHZBiGZs+eraioKNWrV0+enp7q06ePTp48KavVqpdeekm1atWSh4eH7r333lxT6T/77DPdddddqlGjhtzc3FS/fn299NJLyszMtGvXrVs3NWvWTDt37lSXLl3k6empZ555RqNGjVL16tWVnp6eq799+vRR48aNr/u+AgBwsxjpBgDAiY4dOyZJqlKlSq5j6enpOnfunKSs6eU//fST5syZoy5duqhu3brXvW6dOnW0fv16/fe//1WPHj2KNeZJkyYpKChIL7zwgn788Uf961//UuXKlbV161bVrl1br7zyir788kv94x//ULNmzTRy5Ei785cvX660tDRNmjRJSUlJeu211zRo0CD16NFDGzdu1NNPP63Dhw/rn//8p5588kktXLjQdu7ixYvl7e2tKVOmyNvbW//973/13HPPKTk5Wf/4xz/s7vP777/rjjvu0JAhQzR8+HAFBgbKy8tL77//vr7++mvdfffdtrYJCQn673//y3p3AECxI+kGAKAEZY/cXrp0Sf/9738VFRUlf39/denSJVfbb775Rv7+/nZ1t912mz755JMb3mfy5MlaunSpevbsqVatWqlr167q3r27evfuXeQp1oGBgfryyy9lGIYmTJigw4cP6x//+IcefvhhzZ8/X5I0fvx4hYaGauHChbmS7lOnTunQoUPy8/OTJGVmZmrmzJn6888/tWPHDtso/tmzZ7V8+XLNnz9fbm5ukqQVK1bIw8PDdq1HHnlEjzzyiN5++239/e9/t7WTshLpBQsW6OGHH7bVWSwW1apVS8uWLbNLuj/44ANZLBa76fwAABQHppcDAFCCGjduLH9/f4WGhmrMmDFq0KCBvvrqqzwT4Y4dO2rdunVat26d1q5dq5dfflm//PKL7rnnHv3555/Xvc8tt9yi2NhYDR8+XMeOHdO8efMUHh6uwMBA/fvf/y5SHx566CEZhmEXp9Vq1UMPPWSrM5vNateunX799ddc5w8cONCWcGefL0nDhw+3mzbfsWNHpaWl6dSpU7a6nAn3xYsXde7cOd1+++1KTU3V/v377e7j5uam0aNH29WZTCYNGzZMa9as0cWLF231y5cvV+fOnW84gwAAgJtF0g0AQAlatWqV1q1bpxUrVujWW29VYmKiXSKZU/Xq1dWrVy/16tVLd911l5555hm9++672rp1q959990b3qtRo0ZaunSpzp07pz179uiVV16Ri4uLxo8fr/Xr1xe6D7Vr17YrZyfQISEhuer/+OOPIp0vye4av/zyi+677z75+fnJ19dX/v7+ttHpCxcu2J1fs2ZNVapUKdf9R44cqT///FOffvqpJOnAgQPauXOnRowYkU+PAQAoPJJuAABKUJcuXdSrVy8NHTpU69atk4eHh4YNGyaLxVKg83v27ClJ+u677wp8T7PZrObNm2v69Om2RHP58uU3PO/azclyXq+g9Tk3UivM+Tmvcf78eXXt2lW7d+/Wiy++qM8//1zr1q3TrFmzJCnXe5jflxlhYWFq27atli1bJklatmyZKlWqpEGDBuXZHgCAomBNNwAATuLt7a0ZM2Zo9OjR+s9//qMhQ4bc8JyMjAxJUkpKSqHu2a5dO0lSfHy8ra5KlSo6f/68Xbu0tDS7NqXBxo0b9fvvv+uTTz6xWwN/9OjRm77WyJEjNWXKFMXHx2vFihW666678tzMDgCAomKkGwAAJxo2bJhq1aplG629kc8//1yS1LJly+u2+/777/N8LNaXX34pSXaPxqpfv36ukfN//etf+Y50O0v2SHjO0fO0tDS9/fbbN32toUOHyjAMPfbYY/r111/ZQA0A4DCMdAMA4ESurq567LHH9NRTTyk6Olr9+vWzHTt16pRtCnRaWpp2796td955R9WrV9ekSZOue91Zs2Zp586duv/++9WiRQtJ0q5du/T++++ratWqevzxx21tx44dq0ceeUQDBgxQ7969tXv3bn399deqXr168Xe4CDp37qwqVapo1KhRmjx5sgzD0NKlS/Ocwn4j/v7+6tevn1auXKnKlSvrrrvuckDEAACQdAMA4HTjx4/X3//+d7366qt2SXdsbKxtcy+TyaTq1avr/vvv10svvaSaNWte95rPPPOMVqxYoU2bNmn58uVKTU1VcHCwhgwZomeffdZul+5x48bp6NGjeu+99xQdHa3bb79d69ats60fLy2qVaumtWvX6i9/+Yv+9re/qUqVKho+fLh69uypvn373vT1Ro4cqbVr12rQoEF2jxoDAKA4GdbCfD0MAABQxn322WcKDw/Xd999p9tvv93Z4QAAyimSbgAAUCHdfffd2rdvnw4fPmz33HEAAIoT08sBAECF8uGHH2rPnj364osvNG/ePBJuAIBDMdINAAAqFMMw5O3trcGDB2vBggVycWEMAgDgOPxXBgAAVCiMNwAAShLP6QYAAAAAwEFIugEAAAAAcBCml9+AxWLR6dOn5ePjw0YrAAAAAABJWcuVLl68qBo1ashkyn88m6T7Bk6fPq2QkBBnhwEAAAAAKIVOnjypWrVq5XucpPsGfHx8JGW9kb6+vk6OBgAAAABQGiQnJyskJMSWM+aHpDsfUVFRioqK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RPv27ZMkXbp0SX379lWVKlW0fft2rVy5UuvXr9fEiVkby2VkZCg8PFxdu3bVnj179MMPP2j8+PF5PiP9ySef1KBBg9SvXz/Fx8crPj5enTt3Vnp6uvr27SsfHx99//332rJli7y9vdWvXz+lpaXd1Hv617/+Va+//rp27NghFxcXjRkzRlLWFO/169dLkmJiYhQfH6+QkJBc57/++utavHixFi5cqM2bNyspKUmffvqpXZuZM2fq/fff14IFC/TLL7/oiSee0PDhw7Vp06Ybxjd48GD95S9/0S233GJ7DwYPHqyxY8cqOjpa8fHxtrZr165Vampqrt9zcWJ6OQAAAACHS92xUxkJCfk3sFqVkZCg1B075dWxQ7Hd9/Dhw7JarWrSpMl1223YsEE///yzjh49aksU33//fd1yyy3avn272rdvLykrOV+4cKF8fHwUFham7t2768CBA/ryyy9lMpnUuHFjzZo1S99++606duxou/7AgQM1duxYSdJLL72kdevW6Z///KfefvttrVixQpcvX9b7779v+2LgrbfeUv/+/TVr1iy5urrqwoULuvvuu1W/fn1JUtOmTfPsh7e3tzw8PHTlyhUFBQXZ6pctWyaLxaJ3333XlqwvWrRIlStX1saNG9XnJqb2v/zyy+rataskadq0abrrrrt0+fJl2yi9JPn7+9vdP6e5c+dq+vTpuv/++yVJCxYs0Ndff207fuXKFb3yyitav369OnXqJClr5Hzz5s165513bPfOj4eHh7y9veXi4mIXQ+fOndW4cWMtXbpUU6dOtb0HAwcOdOj0d0a6AQAAADhcXs/mLkq7giro85X37dunkJAQu5HZsLAwVa5c2TYiLUmhoaHy8fGxlQMDAxUWFmb37PLAwEAlXjOFPjt5zFnOvu6+ffvUsmVLu5H42267TRaLRQcOHFDVqlUVERGhvn37qn///po3b57daG1B7N69W4cPH5aPj49tDXjVqlV1+fJlHTly5Kau1aJFC9vr7HXb1/Y3PxcuXFB8fLzdFxIuLi5q166drXz48GGlpqaqd+/etli9vb31/vvv33Ss1xo7dqwWLVokSTpz5oy++uor20i9ozDSDQAAAMDhXPz9i7VdQTVs2FCGYRTbZmmurq52ZcMw8qyzWCzFcr9sixYt0uTJkxUdHa2PPvpIf/vb37Ru3TrdeuutBTo/JSVFbdu21fLly3Md87/J9zxnf7NHzYuzv9lr2b/44gvVrFnT7pibm1uRrj1y5EhNmzZNP/zwg7Zu3aq6devq9ttvL9I1b4SRbgAAAAAO59murVyCgqQ81iFLkgxDLkFB8mzXtljvW7VqVfXt21dRUVG6dOlSruPZz3lu2rSpTp48qZMnT9qOxcXF6fz58woLCytyHDk3bMsuZ08Rb9q0qXbv3m0X35YtW2zT1bO1bt1a06dP19atW9WsWTOtWLEiz3tVqlQp11OY2rRpo0OHDikgIEANGjSw+/Hz8yty/wrKz89PwcHBdmveMzIytHPnTls5LCxMbm5uOnHiRK5Y81ojnpe83gNJqlatmsLDw7Vo0SItXrxYo0ePLnqnboCkGwAAAIDDGWazAp+Z/r/CtQezKgKfmS7DbC72e2c/CrhDhw5atWqVDh06pH379unNN9+0Tfvu1auXmjdvrmHDhmnXrl2KiYnRyJEj1bVrV7upz4W1cuVKLVy4UAcPHtSMGTMUExNj2yht2LBhcnd316hRo7R37159++23mjRpkkaMGKHAwEAdPXpU06dP1w8//KDjx4/rm2++0aFDh/Jd1x0aGqo9e/bowIEDOnfunNLT0zVs2DBVr15d9957r77//nsdPXpUGzdu1OTJk/Xbb78VuX8347HHHtOrr76q1atXa//+/ZowYYLtyw9J8vHx0ZNPPqknnnhCS5Ys0ZEjR7Rr1y7985//1JIlSwp0j9DQUB09elSxsbE6d+6crly5Yjs2duxYLVmyRPv27dOoUaOKu3u5kHQDAAAAKBG+ffqo5ry5cvEPsKt3CQxUzXlzHfac7nr16mnXrl3q3r27/vKXv6hZs2bq3bu3NmzYoPnz50vKmib92WefqUqVKurSpYt69eqlevXq6aOPPiqWGF544QV9+OGHatGihd5//3198MEHthF0T09Pff3110pKSlL79u31wAMPqGfPnnrrrbdsx/fv32973Nn48eMVGRmphx9+OM97jRs3To0bN1a7du3k7++vLVu2yNPTU999951q166t+++/X02bNtVDDz2ky5cvy9fXt1j6WFB/+ctfNGLECI0aNUqdOnWSj4+P7rvvPrs2L730kp599lnNnDlTTZs2Vb9+/fTFF1+obt26BbrHgAED1K9fP3Xv3l3+/v764IMPbMd69eql4OBg9e3bVzVq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ZMgQHT9+XIGBBVtu8OSTT8psNissLEz+/v46ceKE7dhDDz2ktLQ0jR49utj7VhCG1WrNa24H/ic5OVl+fn66cOGCfH19nR1OkaSmp6rjio6SpG0PbpOna8muZQCAioTPXADlUWpqqvbt26emTZsWbV3s5WTp1ZCs18M+lur3KLERblQ833//vXr27KmTJ08WOInPdr1/8wXNFRnpBgAAAFByLiZIib9cLbt5Swk/Z9UDxejKlSv67bff9Pzzz2vgwIE3nXAXF5JuAAAAACVnxyJpYb+r5YX9pH91zaoHitEHH3ygOnXq6Pz583bPSS9p7F4OAAAAoOS0Gy01viN3/bXrvIEiioiIUEREhLPDIOkGAAAAUIJ8gkiwUaEwvRwAAAAAAAch6QYAAAAAwEFIugEAAAAAcBDWdAMAAAAoMYnJl5V48Uqu+gAfNwX4ujshIsCxSLoBAAAAlJjl205o3oZDueof69lQT/Ru5ISIAMdiejkAAACAEjOsY219/EgnW/njRzpp7aT/07COtZ0YlWMsXrxYlStXrhD3tVqtGj9+vKpWrSrDMBQbG6tu3brp8ccfv+55oaGhmjt3boHv8/zzz6tVq1a2ckREhMLDwwsVc0kh6QYAAABQYgJ83dU4yMdWTrmSoabBvg6dWn727Fk9+uijql27ttzc3BQUFKS+fftqy5YttjaGYWj16tUOi8FR8kpaBw8erIMHDxb6moVJ2qOjo7V48WKtXbtW8fHxatasmT755BO99NJLhY6jIObNm6fFixfbygVJ9Esa08sBAAAAlJjovfGaseYXWzli0XYF+7lrRv8w9WsW7JB7DhgwQGlpaVqyZInq1aunM2fOaMOGDfr9998dcj9n8/DwkIeHR4ne88iRIwoODlbnzp1tdVWrVnX4ff38/Bx+j6JipBsAAABAiYjeG69Hl+3SmWT7jdQSLlzWo8t2KXpvfLHf8/z58/r+++81a9Ysde/eXXXq1FGHDh00ffp03XPPPZKyRosl6b777pNhGLayJM2fP1/169dXpUqV1LhxYy1dujTX9R9++GEFBgbK3d1dzZo109q1a+3afP3112ratKm8vb3Vr18/xcdf7ef27dvVu3dvVa9eXX5+furatat27dplO261WvX888/bRulr1KihyZMnS8oa1T1+/LieeOIJGYYhwzAk5T1S/fnnn6t9+/Zyd3dX9erVdd999xX4Pcye0r106VKFhobKz89PQ4YM0cWLFyVlTfGeNGmSTpw4Yff+XTvqnJiYqP79+8vDw0N169bV8uXLc93r/PnzGjt2rPz9/eXr66sePXpo9+7d+caWc3p5RESENm3apHnz5tnej6NHj6pBgwaaPXu23XmxsbEyDEOHDx8u8PtQWCTdAAAAABwu02LVC5/HyZrHsey6Fz6PU6YlrxaF5+3tLW9vb61evVpXruTeNV3KSnwladGiRYqPj7eVP/30Uz322GP6y1/+or179+rhhx/W6NGj9e2330qSLBaL7rjjDm3ZskXLli1TXFycXn31VZnNZtu1U1NTNXv2bC1dulTfffedTpw4oSeffNJ2/OLFixo1apQ2b96sH3/8UQ0bNtSdd95pS2hXrVqlN954Q++8844OHTqk1atXq3nz5pKkTz75RLVq1dKLL76o+Ph4u2Q+py+++EL33Xef7rzzTv3000/asGGDOnTocFPv45EjR7R69WqtXbtWa9eu1aZNm/Tqq69Kypri/eKLL6pWrVp279+1IiIidPLkSX377bf6+OOP9fbbbysxMdGuzcCBA5WYmKivvvpKO3fuVJs2bdSzZ08lJSXdMMZ58+apU6dOGjdunO39qF27tsaMGaNFixbZtV20aJG6dOmiBg0a3NT7UBhMLwcAAADgcDFHkxR/4XK+x62S4i9cVszRJHWqX63Y7uvi4qLFixdr3LhxWrBggdq0aaOuXbtqyJAhatGihSTJ399fklS5cmUFBQXZzp09e7YiIiI0YcIESdKUKVP0448/avbs2erevbvWr1+vmJgY7du3T40aZe28Xq9ePbv7p6ena8GCBapfv74kaeLEiXrxxRdtx3v06GHX/l//+pcqV66sTZs26e6779aJEycUFBSkXr16ydXVVbVr17YlzFWrVpXZbJaPj49d3Nd6+eWXNWTIEL3wwgu2upYtW97U+2ixWLR48WL5+GStxx8xYoQ2bNigl19+WX5+fvLx8ZHZbM43joMHD+qrr75STEyM2rdvL0l677331LRpU1ubzZs3KyYmRomJiXJzc5OU9TtYvXq1Pv74Y40fP/66Mfr5+alSpUry9PS0iyMiIkLPPfecYmJi1KFDB6Wnp2vFihW5Rr8dhZFuAAAAAA6XeDH/hLsw7W7GgAEDdPr0aa1Zs0b9+vXTxo0b1aZNG7sNuPKyb98+3XbbbXZ1t912m/bt2ycpa4pyrVq1bAl3Xjw9PW0JtyQFBwfbje6eOXNG48aNU8OGDeXn5ydfX1+lpKToxIkTkrJGfv/880/Vq1dP48aN06effqqMjIyb6n9sbKx69ux5U+dcKzQ01JZw59WPG9m3b59cXFzUtm1bW12TJk3spsHv3r1bKSkpqlatmm2Ggre3t44ePaojR44UOvYaNWrorrvu0sKFCyVlTbW/cuWKBg4cWOhr3gySbgAAAAAOF+BTsN3JC9ruZrm7u6t379569tlntXXrVkVERGjGjBlFumZBNitzdXW1KxuGIav16hT6UaNGKTY2VvPmzdPWrVsVGxuratWqKS0tTZIUEhKiAwcO6O2335aHh4cmTJigLl26KD09vVjjLEw/LBZLka+bU0pKioKDgxUbG2v3c+DAAT311FNFuvbYsWP14Ycf6s8//9SiRYs0ePBgeXp6FlPk10fSDQAAAMDhOtStqmA/dxn5HDckBfu5q0Ndx+94LUlhYWG6dOmSrezq6qrMzEy7Nk2bNrV7rJgkbdmyRWFhYZKkFi1a6LfffivS47m2bNmiyZMn684779Qtt9wiNzc3nTt3zq6Nh4eH+vfvrzfffFMbN27UDz/8oJ9//lmSVKlSpVxxX6tFixbasGFDoWMsDk2aNFFGRoZ27txpqztw4IDOnz9vK7dp00YJCQlycXFRgwYN7H6qV69eoPvk937ceeed8vLy0vz58xUdHa0xY8YUuU8FVe6T7vPnz6tdu3Zq1aqVmjVrpn//+9/ODgkAAACocMwmQzP6ZyWr1ybe2eUZ/cNkNuWXlhfO77//rh49emjZsmXas2ePjh49qpUrV+q1117Tvffea2sXGhqqDRs2KCEhQX/88Yck6amnntLixYs1f/58HTp0SHPmzNEnn3xi2wita9eu6tKliwYMGKB169bp6NGj+uqrrxQdHV3g+Bo2bKilS5dq37592rZtm4YNG2Y3Mr148WK999572rt3r3799VctW7ZMHh4eqlOnji3u7777TqdOncqVrGebMWOGPvjgA82YMUP79u3Tzz//rFmzZt30e1kUjRs3Vr9+/fTwww9r27Zt2rlzp8aOHWvX1169eqlTp04KDw/XN998o2PHjmnr1q3661//qh07dhToPqGhodq2bZuOHTumc+fO2UbjzWaz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YDvOZy4AlIyc+2tIVwec/va3v+mTTz5RXFycvvzyS9133336/fff5e3tzWe0E5F0o0zK+aGRlJSkt99+W2vWrJGPj4969+6te++9V02bNnVylABQPuScPXTmzBm98MILWrNmjdq2basHH3xQXbp0UXBwsJOjBIDyK3ta+R9//KG1a9fqxIkTmjBhgqpUqWLXbu/everYsaP+85//aOrUqRo0aJBmzJihjIwMubi4OCl6kHSjzLJarbJarbbke8+ePfrnP/+p3bt3y9PTU6+//rratm3r5CgBoHywWq2yWCy25Hvr1q167rnndOzYMbVt21avvPKK6tev7+QoAaB8Gz58uFJSUtShQwc988wzebYZOXKkPvroI9WuXVuHDh2SlPsxuyhZJN0o866dKrN69Wp9/PHHWrp0KR8uAFDMLBaLDMOwfb6+++67ev/997Vp0yY+cwHAAbL/1v3kk080efJkff/996pbt64k+2Q6+/XHH3+sQYMGKTo6Wn369GGUuxQg6Ua5kTP55ts8AHCsnFPO+cwFAMdr2bKlBgwYoOeeey7XsezP4f3796t27dravHkzT5IoRVhJjzLJYrHo2u+LshPu7FEYAEDxyOszNzvh5jMXABxv7969qlSpkv7v//4vz+OGYejAgQOKiIhQcnKyLeFmfLV0IOlGmXPixInrPpqGXRkBoPgkJCTwmQsAThYcHKxff/1VKSkpkqSMjIxcbby9vVW5cmWdPHnSVseXoqUD/6VEmfLBBx+obt26tudxZ+NbPAAofsuXL9f//d//6auvvrKr5zMXAEqOxWKRq6urAgICtHjxYl26dMm2Rjtn8v3dd9/p6NGjatOmjbNCRT5IulGm1KlTR0899ZSaNWtmV8+3eABQfLKTajc3N3Xs2FEhISF2x/nMBYCSYzKZ5Ovrq6lTp2rTpk168skntWvXLkmyJd+//PKLnn76aU2aNElms1mZmZnODBnXYCM1lDmXL1+Wu7u7rfz3v/9dnTp1Us+ePZ0YFQCUfXltiHbx4kX5+PjYyv/617/UunVrtW/fvqTDA4AK7eLFi5o2bZrmz5+vFi1aqGfPnurYsaN++uknbd68WV5eXoqOjnZ2mMgDSTdKrcTERFWrVi3XZj05/yA8ceKERowYoUuXLmnHjh3OChUAyrx169bp008/VVxcnEaMGKExY8bkSsD379+v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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "circuits.plot.irb_summary()" ] }, { "cell_type": "raw", "id": "86243e08", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "For a refresher on the parameters plotted above, see\n", ":doc:`../../guides/error_diagnostics/irb`\\." ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "raw_mimetype,nbsphinx,-all", "main_language": "python", "notebook_metadata_filter": "-all", "text_representation": { "extension": ".py", "format_name": "percent" } }, "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }