{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "7769945b", "metadata": {}, "source": [ "# Using Supercheq with Qiskit Superstaq" ] }, { "attachments": {}, "cell_type": "markdown", "id": "legendary-rebound", "metadata": {}, "source": [ "[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Infleqtion/client-superstaq/blob/main/docs/source/apps/supercheq/Supercheq_qss.ipynb) [![Launch Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Infleqtion/client-superstaq/HEAD?labpath=docs/source/apps/supercheq/Supercheq_qss.ipynb)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "4d322a70", "metadata": {}, "source": [ "This notebook demonstrates how to use Supercheq, a novel quantum fingerprinting protocol developed by Infleqtion. Supercheq is built into the Superstaq server, and can be accessed using `qiskit-superstaq`." ] }, { "attachments": {}, "cell_type": "markdown", "id": "221292d3", "metadata": {}, "source": [ "## Imports and API Token" ] }, { "attachments": {}, "cell_type": "markdown", "id": "1293f34a", "metadata": {}, "source": [ "This example tutorial notebook uses `qiskit-superstaq`, our Superstaq client for Qiskit; you can try it out by running `pip install qiskit-superstaq[examples]`:" ] }, { "cell_type": "code", "execution_count": null, "id": "d68266db", "metadata": {}, "outputs": [], "source": [ "from __future__ import annotations" ] }, { "cell_type": "code", "execution_count": 1, "id": "fb50eaf0", "metadata": {}, "outputs": [], "source": [ "try:\n", " import qiskit_superstaq as qss\n", "except ImportError:\n", " print(\"Installing qiskit-superstaq...\")\n", " %pip install --quiet 'qiskit-superstaq[examples]'\n", " print(\"Installed qiskit-superstaq.\")\n", " print(\"You may need to restart the kernel to import newly installed packages.\")\n", " import qiskit_superstaq as qss" ] }, { "cell_type": "code", "execution_count": 2, "id": "39fbad63", "metadata": {}, "outputs": [], "source": [ "# Required imports\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "attachments": {}, "cell_type": "markdown", "id": "ed311941", "metadata": {}, "source": [ "To interface Superstaq via Qiskit, we must first instantiate a provider in `qiskit-superstaq` with `SuperstaqProvider()`. We then supply a Superstaq API token (or key) by either providing the API token as an argument of `qss.SuperstaqProvider()` or by setting it as an environment variable (see more details [here](https://superstaq.readthedocs.io/en/latest/get_started/basics/basics_qss.html#Set-up-access-to-Superstaq%E2%80%99s-API))." ] }, { "cell_type": "code", "execution_count": 3, "id": "3181ee7f", "metadata": {}, "outputs": [], "source": [ "# Get the qiskit superstaq provider for Superstaq backend\n", "provider = qss.SuperstaqProvider()" ] }, { "attachments": {}, "cell_type": "markdown", "id": "418611fe", "metadata": {}, "source": [ "## File Construction" ] }, { "attachments": {}, "cell_type": "markdown", "id": "5039a536", "metadata": {}, "source": [ "To demonstrate Supercheq, we construct 32 files (for the sake of simplicitly, we just use lists in this notebook), each of length 5-bits. The lists represent the 32 different possible 5 bit values, so in theory these should all have distinguishable fingerprints." ] }, { "cell_type": "code", "execution_count": 4, "id": "61a7c97d", "metadata": {}, "outputs": [], "source": [ "# Demonstrate fingerprinting on all 32 5-bit bitstrings. We'll encode into just 3 qubits.\n", "# fmt: off\n", "files = [\n", " [0, 0, 0, 0, 0], [0, 0, 0, 0, 1], [0, 0, 0, 1, 0], [0, 0, 0, 1, 1],\n", " [0, 0, 1, 0, 0], [0, 0, 1, 0, 1], [0, 0, 1, 1, 0], [0, 0, 1, 1, 1],\n", " [0, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 1, 0, 1, 0], [0, 1, 0, 1, 1],\n", " [0, 1, 1, 0, 0], [0, 1, 1, 0, 1], [0, 1, 1, 1, 0], [0, 1, 1, 1, 1],\n", " [1, 0, 0, 0, 0], [1, 0, 0, 0, 1], [1, 0, 0, 1, 0], [1, 0, 0, 1, 1],\n", " [1, 0, 1, 0, 0], [1, 0, 1, 0, 1], [1, 0, 1, 1, 0], [1, 0, 1, 1, 1],\n", " [1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [1, 1, 0, 1, 0], [1, 1, 0, 1, 1],\n", " [1, 1, 1, 0, 0], [1, 1, 1, 0, 1], [1, 1, 1, 1, 0], [1, 1, 1, 1, 1],\n", "]\n", "# fmt: on" ] }, { "attachments": {}, "cell_type": "markdown", "id": "2fed492f", "metadata": {}, "source": [ "Supercheq uses quantum volume models to generate random circuits, using the file information as a seed. Hence, the final state vectors of the circuit act as a fingerprint for the file. Supercheq allows you to choose the number of qubits as well as circuit depth. To start with, we will use 3 qubits with a depth of 1." ] }, { "cell_type": "code", "execution_count": 5, "id": "2f2a10af", "metadata": {}, "outputs": [], "source": [ "num_qubits = 3\n", "depth = 1\n", "circuits, fidelities = provider.supercheq(files, num_qubits, depth)" ] }, { "cell_type": "code", "execution_count": 6, "id": "05297e4f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "32\n", "(32, 32)\n" ] } ], "source": [ "print(len(circuits))\n", "print(fidelities.shape)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "53d3bc01", "metadata": {}, "source": [ "Let's see what a couple of these circuits look like." ] }, { "attachments": {}, "cell_type": "markdown", "id": "d1e4f4d4", "metadata": {}, "source": [ "### Circuit for file [0, 0, 0, 0, 0]" ] }, { "cell_type": "code", "execution_count": 7, "id": "e7619b0c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
     ┌──────────┐┌───┐\n",
       "q_0: ┤1         ├┤ I ├\n",
       "     │  Unitary │├───┤\n",
       "q_1: ┤0         ├┤ I ├\n",
       "     └──┬───┬───┘└───┘\n",
       "q_2: ───┤ I ├─────────\n",
       "        └───┘         
" ], "text/plain": [ " ┌──────────┐┌───┐\n", "q_0: ┤1 ├┤ I ├\n", " │ Unitary │├───┤\n", "q_1: ┤0 ├┤ I ├\n", " └──┬───┬───┘└───┘\n", "q_2: ───┤ I ├─────────\n", " └───┘ " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circuits[0].draw(fold=-1)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "935bda29", "metadata": {}, "source": [ "### Circuit for file [0, 0, 0, 0, 1]" ] }, { "cell_type": "code", "execution_count": 8, "id": "8b22de16", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
     ┌──────────┐┌───┐\n",
       "q_0: ┤1         ├┤ I ├\n",
       "     │          │├───┤\n",
       "q_1: ┤  Unitary ├┤ I ├\n",
       "     │          │├───┤\n",
       "q_2: ┤0         ├┤ I ├\n",
       "     └──────────┘└───┘
" ], "text/plain": [ " ┌──────────┐┌───┐\n", "q_0: ┤1 ├┤ I ├\n", " │ │├───┤\n", "q_1: ┤ Unitary ├┤ I ├\n", " │ │├───┤\n", "q_2: ┤0 ├┤ I ├\n", " └──────────┘└───┘" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circuits[1].draw(fold=-1)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "1e2b8b87", "metadata": {}, "source": [ "On first glance, these circuits look distinct (which is what we expect). However, we can't know for sure until we study the fidelities. The fidelity is calculated as the inner product of the final state vector pairs. For a good fingerprinting protocol, we would want all identical files to have a fidelity of 1, and distinct pairs to have a fidelity as close to 0 as possible.\n", "\n", "The code blocks below allow you to visualize all of the fidelities simultaneously." ] }, { "cell_type": "code", "execution_count": 9, "id": "756519eb", "metadata": {}, "outputs": [], "source": [ "def plot_heatmap(fidelities: object) -> None:\n", " plt.figure(dpi=150)\n", " plt.imshow(fidelities)\n", " plt.colorbar()\n", "\n", "\n", "def plot_histogram(fidelities: object) -> None:\n", " off_diag = np.tril(fidelities, -1) # lower-right triangle of fidelities matrix\n", " on_diag = np.diag(fidelities)\n", " plt.figure(dpi=150)\n", " plt.hist([off_diag.flatten(), on_diag], label=[\"Off-Diagonal\", \"On-Diagonal\"])\n", " plt.legend()" ] }, { "cell_type": "code", "execution_count": 10, "id": "5572d16d", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuIAAAJyCAYAAACBhaV8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAABcSAAAXEgFnn9JSAABcJUlEQVR4nO3de3hU5b33/88k5JyQkATkEMIhBHBHOcMWKIIUEeFBDqL+dGsL2Hpuodhdj9EUsNpLpOKGPtttEbp51FpRsVREoSBaAkFJORg0YIAAMZYACeYcklm/P9jJNk4wh3vNrCTzfnnNdclaM5/5zsrK5M4399zLZVmWJQAAAAA+FeB0AQAAAIA/YiAOAAAAOICBOAAAAOAABuIAAACAAxiIAwAAAA5gIA4AAAA4gIE4AAAA4AAG4gAAAIADGIgDAAAADmAgDgAAADiAgTgAAADgAAbiAAAAgAMYiAMAAAAOYCAOAAAAOICBOAAAANq0vXv36plnntHs2bOVkJAgl8sll8vV4rzCwkItWLBAvXr1UkhIiHr16qWFCxeqqKjIvqIluSzLsmxNBAAAAHxo5syZeueddzy2t2SYe+bMGY0ePVpffvml+vbtqxEjRigrK0tZWVnq37+/du3apdjYWDvKpiMOAACAtm306NFKTU3VX/7yF+Xn5yskJKTFWQsXLtSXX36p2bNnKzs7W6+//ro+++wz/exnP9Phw4e1aNEi2+qmIw4AAIB2JTQ0VJWVlc3uiOfn5yshIUEdOnTQiRMndNlll9Xtq6ysVM+ePXXu3Dl99dVX6tKli3GddMQBAAAASZs3b5bb7da4cePqDcIlKSQkRNOnT1dNTY02bdpky/MxEAcAAAAk7d+/X5I0bNiwBvfXbj9w4IAtz9fBlpRWqmvXriotLVViYqLTpQAAANRz4sQJRURE6Ouvv3a6lHpuuOEG5eTk+Oz5Tpw4ccmxWlZWls/qqK1FkhISEhrcX7s9NzfXludr1wPx0tJSXagqlaq/NMo5UtzJlnqCT1cZZ1R3DDbOsAKNIyRJLhs+XdChzG0eYhN3kPkfiAKKK4wzOiZdMM6QpG9ygowzqi4LtaESe7hqzDOCzph/fWTXx2oCbfhGtGz6/nGbvyZXkPmPk8pY83NWkoJPm3+dq2NtOPfDbThpJXU4bUNIlQ3vKyHmP38kSQEtX1KulruDeUZASaVxhiRVx7T8Q4FV5eUqqzQfG9gtJydHX375ufr1tud78vt8efyCXC6bzi0blJSUSJLCw8Mb3B8RESFJKi4utuX52vVAPDExUar+Ugd3mHXE+759ty31DHziiHFG/i0DjTOqYowjJEkdys0zuu604US24U1dkkoSG/6ma46otzONM2766wnjDElaP7S3cUb2o0OMM+wSXGT+i1Kf3+4zznCX23DiSwqMizfOsMrKbKhEcpebD1w7dOtmnJG9oOEOVHP1e8T8+zD/xyOMMwImnDPOkKSuj9kQctSG95X+vc0zJFVHt3zgWqusi/nALXrLF8YZkvTVHSktfuzhdb+1pQZv6Nc7SAd39PL681w5PlfqkOTzzndr4fgc8fLycj3xxBPq37+/QkND1b17d82fP195eXlOlwYAAOCnLLl98J/Uuhbvi4yMlCSVXaLRUVpaKkmKioqy5fkcHYhXVFRo4sSJWrJkiUpKSjRjxgz17NlTa9as0dChQ3X06FEnywMAAIAfqZ2rfurUqQb3127v1cuevxY4OhBfunSpdu/erdGjR+vw4cN6/fXXlZGRoeeee04FBQWaP3++k+UBAAD4JUtSjeX2+q119cOlwYMHS5IyMxue4la7fdCgQbY8n2MD8aqqKq1cuVKStGrVqro/BUjSokWLNGjQIO3YsUN79+51qkQAAAD4kSlTpiggIEAff/yxTp+u/0npyspKbdy4UYGBgZo6daotz+fYQHznzp06f/68kpKSNHToUI/9c+bMkSRt3LjR16UBAACgHVu5cqUGDhyoRx55pN72bt266dZbb1VVVZXuu+8+VVdX1+371a9+pYKCAt1+++22XFVTcnDVFF8vmA4AAICma30TRy7t3Xff1ZIlS+r+XVV1cVnIq666qm5bamqqpk2bJkk6c+aMsrOzlZ+f75H1/PPPa/fu3XrzzTc1cOBAjRgxQllZWfrss8+UnJys5cuX21a3YwNxOxdMT0lpeOmgnJwcJXl/5R0AAAA4qKCgQBkZGR7bv72toKCgSVnx8fHas2eP0tLStGHDBr399tu67LLL9POf/1y//vWvFRMTY1fZzg3Efb1gOgAAAJrGkv5neUHvP48dVwOZO3eu5s6d2+T7p6WlKS0t7ZL7Y2Nj9cILL+iFF14wL+57tIsL+lxqEfiUlBTjq2oCAAAA3uDYQNzXC6YDAACgqSzVWL6YI9525qF7g2Orpvh6wXQAAACgNXGsI+7rBdMBAADQdG1p1ZS2yrGO+NixYxUdHa2cnBzt27fPY//69eslSdOnT/dxZQAAAID3OTYQDw4O1gMPPCBJuv/+++vmhEvS8uXLdeDAAY0fP17Dhw93qkQAAAC/ZEmqkeX1m7/33B1dNeXxxx/X1q1blZ6eruTkZI0bN065ubnKyMhQ586d9fLLLxs/x5HiTur79t1GGUdnvWhchyRN+4355VC7b2p4Tn1zVPWMM86QpNLuIcYZAZ8fN86oGDPAOEOSqkPMF1AqmzrEOGP5uhHGGZKUGLjfOCP5ldLG79SIvGvs+cB1QHXj92mUy4ZFsmz68JK76LxxhlVTY0MlUs34wcYZgXnmr6fPxkrjDElyBZn/aOtQZv51jn862DhDkqrjAo0zArPNv4FOTYkxzpCkhC3m50pkpfm577JpMYiYIxda/NjAKn8fhsKxjrgkhYaGavv27UpNTVV4eLg2bNig3NxczZ07V5mZmerbt6+T5QEAAPgttyyv3/yd4+uIh4WFafHixVq8eLHTpQAAAAA+42hHHAAAAPBXjnfEAQAA0LpYkk8u6OPvk1PoiAMAAAAOoCMOAAAAD26nC/ADdMQBAAAAB9ARBwAAQD21F/TxxfP4MzriAAAAgAPoiAMAAMBDjb+3q32AjjgAAADgADriAAAA8MCqKd5HRxwAAABwAB1xAAAA1HNx1RSXT57Hn9ERBwAAABzAQBwAAABwAFNTAAAAUJ8luX0xb8TP56a0+4F48OkqDXziiFHGtN9MtaWWdz/ZZJzxg5/dbZxReFuJcYYkdV1l/geVmiv6GmcEVtnzue5Of840zgjs3tU4I/JwsHGGJLniY40zAvLOGmd03RNknCFJQRlfGGeUXnuFcUZVpD1/SCyeXWyc0fnlcBsqkQrmlxln9H7wgnFGZSd7zpXAC9XGGV3fPWGcUTyih3GGJIX9Za9xRsAA8/faxLf+aZwhSVb+afOQikrjiJorks3rkBSy+dMWP9blrrClBrRd7X4gDgAAgObhw5q+wRxxAAAAwAF0xAEAAODBFx1xf0dHHAAAAHAAHXEAAADUY0lyW8wR9zY64gAAAIAD6IgDAADAA3PEvY+OOAAAAOAAOuIAAACox5JLNT7o11p+3nWnIw4AAAA4gI44AAAAPPhi1RR/R0ccAAAAcAADcQAAAMABTE0BAABAPZZ8s3whF/QBAAAA4HN0xAEAAOChxqJf623tfiBe3TFY+bcMNMrovumULbX84Gd3G2f8/T9eNM4Ys+ge4wxJCtr5D+OMwC6djTOsqHDjDElSYg/jCKtDoHkdF6rNMyTVfH3aOCPAhmMSuD3TOEOSim69yjgj+o1PjTPCqu35+pxPGmOcURHjtqESKX5NhHFGaYr592Fhsj0/kqK6X2ac8c2w7sYZedcYR0iSLt/bzTij5ugJ44zjjw0zzpCkC5Hm7/tJb1YYZwQeyDHOkKTyaSNb/Fhr+0e21IC2q90PxAEAANBcLrl9MoPZv5dI5G8OAAAAgAPoiAMAAKAeVk3xDTriAAAAgAPoiAMAAMADq6Z4H0cYAAAAcAAdcQAAANRjSXIzR9zr6IgDAAAADmAgDgAAADiAqSkAAAD4DpdquKCP19ERBwAAABxARxwAAAD1WPLN8oV8WBMAAACAz9ERBwAAgAc3/Vqv4wgDAAAADqAjDgAAgHosy6UaywcX9PHBc7Rm7X4gbgVKVTFmGVU942yppfC2EuOMMYvuMc5IX/6fxhmSNLjbfcYZ3f5ebJxhfXLQOEOSAgf0M86wjp00zshJG2qcIUl9Hj5mnFE6MN44w31FZ+MMSYo5WGScEdDZ/PVYbrdxhiTFHaoxzui477QNlUi5N3Uzzuj9qvm576rpapwhSTVfmx+XqPRK44yAMUnGGZLkLjpvnGFdqDbO6PXELuMMSQqMizUPqTH//qkpNv/5I0mRB/Nb/NiAygu21IC2q90PxAEAANB8vllH3L9xhAEAAAAH0BEHAACAB7cP1hH3dxxhAAAAwAEMxAEAAAAHMDUFAAAA9Vhy+eTDmpb8e/lCOuIAAACAA+iIAwAAwIMvLujj7+iIAwAAAA6gIw4AAIB6LElun8wR9290xAEAAAAH0BEHAACAhxou6ON1HGEAAADAAXTEAQAAUI8ll9w+WOObdcQBAAAA+BwdcQAAAHhgjrj3cYQBAAAAB7T7jrjLkjqUm2WUdg+xpZauq8x/7wna+Q/jjMHd7jPOkKT9//5744yp799snGFFRRlnSJI6BJpnBJh/jTseMS9Dklwh5udt2Af7jTPO/tsw4wxJyrs32jgjICbMOMN1KtQ4Q5ISP6gyDzlfYp4hKeG3GcYZh1YPMc4IPxxknCFJCZsrjTNq+nQ1zog6Zs/cV2tAL+MMd6j5j/vgL/ONMyTJqjQ/94uvGWicEfWRPW+2p2b3bPFjL/zRnnMebVe7H4gDAACgeSxJNVzQx+scnZoyYcIEuVyuS942b97sZHkAAACA17SKjviNN96oyMhIj+09evRwoBoAAAA/Z0luywdLC/p5S7xVDMSXLVum3r17O10GAAAA4DOtYiAOAACA1sTlkzni4oI+AAAAAHytVXTEV69erbNnzyogIED9+/fXzJkzlZiY6HRZAAAAfsmS5PbBBX38fIp46xiIL126tN6/f/nLXyo1NVWpqalNenxKSkqD23NycqTIGNPyAAAAANs5OjXl6quv1rp165STk6OysjJlZ2frqaeeUocOHfTEE09oxYoVTpYHAADgt2rk8vrN3znaEV+8eHG9f/fv31+PPvqoRowYoeuuu05paWm66667FBb2/VfDy8rKanB7SkqKcv551rZ6AQAAALu0yg9rTp48WSNGjFBRUZEyMswvvQwAAICms+SS2wrw+s3y8654qxyIS1JycrIkKT8/3+FKAAAAAPu12oF4YWGhJCkiIsLhSgAAAAD7tYpVU76roKBAH3/8sSRp2LBhDlcDAADgf/gwpfc51hFPT0/Xhg0bVFNTU2/78ePHNWvWLJWWluqGG25QQkKCQxUCAAAA3uNYR/zw4cOaN2+eunbtqmHDhikmJka5ubnau3evKioqlJKSopdeesmp8gAAAPyaLy7o4+8cG4j/67/+q+69915lZGTok08+UWFhoSIiIjRkyBDddNNNuvfeextdtrApOpS51XVnsVFGwOfHjeuQpJor+hpnBHbpbJzR7e9mx6PW1PdvNs7YtPXPxhlT+vyrcYYkVceGG2cEVV5mnBFxuqbxOzVFjXmOe2TDF8tqjguR9vxpc+BjXxhnuEvLjTMCIszflyTJFRpqnHHyR8k2VCL1/PMJ44xeb5j/wA7bsd84Q5JqRg82zuhw+KRxRpfd54wzJCkg2fxnhzsoyjjDiosxzpCk6mjzc/9CuPn7ivv8N8YZkhR3sLLFjz1a4e/XlYRjA/HLL79cv//97516egAAAFyCJammjV3ivry8XE8//bT+9Kc/6cSJE4qNjdWUKVO0ZMkS9ejRo1lZW7Zs0fPPP689e/aoqKhIHTt21PDhw3Xvvfdq1qxZttXM3xwAAADQplVUVGjixIlasmSJSkpKNGPGDPXs2VNr1qzR0KFDdfTo0SZnPf/885o8ebLee+899e/fXzfeeKMGDhyorVu3avbs2Xrsscdsq5uBOAAAAL7DJbcPbrJpZZalS5dq9+7dGj16tA4fPqzXX39dGRkZeu6551RQUKD58+c3KaegoEAPP/ywgoKCtH37du3cuVN/+tOftHPnTn344YcKCQnR008/3ayB/fdhIA4AAIA2q6qqSitXrpQkrVq1SpGRkXX7Fi1apEGDBmnHjh3au3dvo1kZGRmqrKzUxIkTNX78+Hr7rr76al133XWyLEuffvqpLbUzEAcAAEA9tXPEvX2zY474zp07df78eSUlJWno0KEe++fMmSNJ2rhxY6NZISEhTXrOuLi45hV5CQzEAQAA0Gbt339xxaVLXQSydvuBAwcazRo1apRiYmK0bds27dixo96+jz76SO+//76Sk5M1btw4w6ovapVX1gQAAICDLMlt+eDKmpaUk5OjlJSGl8vNyspqNOLEiYtLsF7qIpC123NzcxvNio6O1urVq3Xbbbfpmmuu0ZgxY5SQkKBTp04pPT1dY8eO1X//938rODi40aymYCAOAACANqukpESSFB7e8PVAIiIiJEnFxU27jsrs2bP13nvv6eabb9bOnTvrtnfs2FGTJ09u9lKI34epKQAAAHBMUlKSsrKyGrw54bnnntOkSZN09dVX68CBAyopKdGBAwc0ceJEPfHEE5o9e7Ztz0VHHAAAAPVYkmp80K+148OatauklJWVNbi/tLRUkhQV1fgVZj/88EP98pe/1LBhw/TGG28oIODiMbjyyiu1fv16jRgxQu+++67ee+89XX/99ca10xEHAABAm5WYmChJOnXqVIP7a7f36tWr0ax169ZJkmbNmlU3CK8VGBhY1w3/6KOPWlzvt9ERBwAAwHe4fPNhTRsu6DN48GBJUmZmZoP7a7cPGjSo0azaQXt0dHSD+2u3FxYWNrvOhtARBwAAQJs1duxYRUdHKycnR/v27fPYv379eknS9OnTG83q2rWrJF3ygj2ffPKJJKl3794tK/Y7GIgDAADAg1sBXr/ZITg4WA888IAk6f7776+bEy5Jy5cv14EDBzR+/HgNHz68bvvKlSs1cOBAPfLII/WyZs6cKUl65ZVX9Ne//rXevnfeeUevvvqqAgICNGvWLFtqZ2oKAAAA2rTH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119/XZ06ddLs2bM1atQo7d+/XwsXLtTEiRNVVlZmW91e/bDm4MGDJUmVlZU6e/asN58KAAAAfmrp0qXavXu3Ro8ercOHD+v1119XRkaGnnvuORUUFGj+/PlNyomIiNCvfvUrHT9+XJmZmfrTn/6kv/3tbzp48KASExP197//XUuXLrWtbq8uX1j720dQUJBiY2M99m/btk379u1TRUWFEhISdP311zM/HAAAoDVoI1NTqqqqtHLlSknSqlWrFBkZWbdv0aJF+uMf/6gdO3Zo7969jY4zH3nkkQa3Jycn65lnntFtt92m1157Tb/5zW9sqd2rA/EVK1ZIkqZMmaKQkBCP/evWrav379TUVN14441au3ZtvYPYmJSUlAa35+TkqIOimlExAAAA2pKdO3fq/PnzSkpK0tChQz32z5kzRwcOHNDGjRuNGr61Mz2++uqrFmd8l9empmzatEmrV69WUFCQlixZUm9fv379tGzZMmVlZamkpEQnT57UK6+8oh49eujNN9/UHXfc4a2yAAAA0AQuy/L6zQ779++XJA0bNqzB/bXbDxw4YPQ8tTM9unbtapTzbV7piH/xxRe6/fbbZVmWnn322brfIGrdfvvt9f4dERGh2267Tddcc42uvPJKbdiwQbt379ZVV13VpOfLyspqcHtKSopyc0637EUAAADA63Jyci45u+FSY7xvO3HihCQpISGhwf2123Nzc1tY4UW1Mz1mzJhhlPNttnfE8/LyNGXKFBUWFmrRokVasGBBkx/brVs3zZs3T5K0efNmu0sDAABAU7l9cLNB7cUjw8PDG9wfEREhSSouLm7xc/znf/6ntm7dqpiYGFsvPGlrR/zcuXOaPHmycnNzNW/ePC1btqzZGcnJyZIurkMOAACA9i0pKalJnW+nfPzxx1qwYIFcLpdefvllde/e3bZs2wbiJSUluv7663Xo0CHNnj1bL730klwuV7NzCgsLJf3vby8AAADwLZcl2+ZwN/Y8pmoX+LjU+t6lpaWSpKio5i/g8dlnn2nGjBmqqqrSCy+8oFmzZrW80AbYMjWlsrJSM2bM0J49e3TdddfptddeU2BgYLNzLMvS22+/LenSE+4BAACAWomJiZKkU6dONbi/dnuvXr2alXvs2DFNnjxZhYWFSktL089+9jOzQhtgPBCvqanRrbfeqm3btmncuHF66623FBwc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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_heatmap(fidelities)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "f4447bb8", "metadata": {}, "source": [ "The above graph is a heatmap of the 32 different files and their fidelities with each other. It is essentially a visual representation of the fidelity matrix, with shades closer to yellow representing fidelity values close to one, and darker shades closer to blue/violet indication a fidelity close to 0. As expected, we have a yellow diagonal (1s), surrounded by much darker pixels (0s). " ] }, { "cell_type": "code", "execution_count": 11, "id": "90736748", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzwAAAJqCAYAAADuVkWwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAABcSAAAXEgFnn9JSAABWyElEQVR4nO3de3yPdePH8ffX2HmzAxGL5VjkkMNytjTSlkPOVIYOtzs04XarKEV37jJaqV/dt1M6KSNCZEsihyIhcopMJMaOZifb9fvDY9/bt+93I/vudPV6Ph57PPI5XNfn8921db13XdfnshiGYQgAAAAATKhSWQ8AAAAAAEoKgQcAAACAaRF4AAAAAJgWgQcAAACAaRF4AAAAAJgWgQcAAACAaRF4AAAAAJgWgQcAAACAaRF4AAAAAJgWgQcAAACAaRF4AAAAAJgWgQcAAACAaVUu6wGUNzVr1lRGRobq1KlT1kMBAAAA/vJOnjwpLy8v/f777zfUnys8f5CRkaHc3NyyHgYAAAAASbm5ucrIyLjh/lzh+YOCKzsHDhwo45EAAAAAaNq0abH6c4UHAAAAgGkReAAAAACYFoEHAAAAgGkReAAAAACYFoEHAAAAgGkReAAAAACYFstSAwAAlADDMGQYRlkPAyhXLBaLLBZLqe6TwAMAAOAk+fn5Sk1NVXJysrKzs8t6OEC55ObmJn9/f1WtWlWVKpX8DWcEHgAAACcwDEO///67UlNTy3ooQLmWnZ2t33//XVlZWapZs2aJX/Eh8AAAADhBenq6NezcdNNN8vX1lYuLSxmPCihf8vLylJaWpnPnziklJUVeXl7y9fUt0X0SeAAAAJwgLS1NkhQQEKDAwMAyHg1QPlWqVEmBgYG6fPmykpKSlJ6eXuKBh1XaAAAAnODSpUuSJB8fnzIeCVD+FfycZGRklPi+CDwAAADFZBiG8vLyJF15IBtA0Qp+TvLy8kp8NUMCDwAAQDFdfcJW2kvuAhXR1T8nBB4AAAAAuEEEHgAAAACmReABAAAAYFoEHgAAAACmxXt4AAAASlHwlLVlPYRrOjErwunbTEpK0uuvv641a9bo2LFjysrKUs2aNdWlSxeNHj1a7du3d9jv+++/19NPP63vvvvO+mLXX375RcHBwcrIyNDTTz+tTz/9VGfOnFFeXp6ef/55TZ8+vdBxTJ8+XS+88IJNmbe3t/z8/HT77berQ4cOGjFihIKDg4vsv2jRIo0YMeJGPgrTslgsqlu3rk6cOFHWQ7FB4AEAAECJ+vLLLzVw4EAlJycrMDBQnTt3lqenpw4ePKglS5ZoyZIlioqK0pw5c1Sp0v9uQEpPT1fv3r115swZhYaG6pZbbpHFYpG3t7ck6emnn9Ybb7yhBg0aaNCgQXJ1dVXLli2va0wtWrSwts3KytLZs2f17bffKi4uTjNmzFBUVJRmzZolV1dXZ38cKGUEHgAAAJSYnTt3Kjw8XLm5uXrxxRc1ZcoUValSxVr/zTffaOjQoYqJiZGLi4uio6Nt+v722296+OGHtWTJErttr1y5Uh4eHvrhhx+sIeh69e3b1+5K0OXLl7V06VKNHz9ec+fO1dmzZ/XBBx/YtBk7dqyGDBmim2+++U/tD2WHZ3gAAABQIgzDUGRkpHJycvT8889r2rRpNmFHkjp16qQNGzbI3d1dc+fO1Y4dO6x1p06dkiTVq1fP4fZPnTqlm2666U+HncJUrlxZDz30kL755ht5e3vrww8/1GeffWbTplq1arrttttUtWpVp+wTJY/AAwAAgBKxbt06HTx4ULVq1dIzzzxTaLvbb79dY8aMkWEYmjNnjk6cOCGLxaLIyEhJ0gsvvCCLxSKLxaIRI0YoNDRUFotFhmEoISHBWuesl77edtttGj9+vCTp9ddft6mbPn26LBaLFi9ebFP+888/a/r06Wrfvr1q1qwpV1dXBQUFafjw4Tpy5Eih+/r666/VrVs3+fj4yN/fX+Hh4dq1a5cWL14si8Xi8HmkCxcu6B//+IcaNmwod3d3BQQEqGfPntqwYYPDfVgsFgUHBysvL0///ve/1ahRI7m5uemWW27RP//5T2VnZ9v12bNnjyZPnqzWrVurevXqcnNzU7169fTEE0/ot99+K/oDLGcIPAAAACgRa9deWaBh4MCBdld2/ujBBx+UJG3YsEGenp6KjIxUx44dJV153iYyMlKRkZHq1KmTevbsaQ1DXl5e1rqCMmcYMmSIJGnbtm3Kycm5Zvv58+frxRdfVEZGhtq2bavevXvL19dX7733ntq2bat9+/bZ9VmxYoXuueceffXVV7rjjjvUs2dPnTx5Up06ddK3337rcD+nT59WSEiIZs+erZycHPXt21d33nmn4uPjde+992ru3LmFjnHYsGGaOXOmGjdurB49eig9PV2vvPKKHnnkEbu2s2bNsm6rU6dOCg8Pl2EY+r//+z+1adOmQoUenuEpx0p7FZeSWJEFAAD8de3du1eS1KZNm2u2bdasmVxdXZWamqr09HQtXrxYixcv1tatWx0+byNJ7777rqpVq2Z3tcUZbr/9drm5uSkzM1MnTpxQo0aNimzft29f/e1vf9Ott95qU75o0SKNGjVK48eP18aNG63laWlpeuyxx5SXl6cPPvhAw4YNs9Y999xzmjFjhsP9jB49WsePH9ewYcO0aNEi66IK33zzje6991794x//0N133223eENCQoI8PT119OhR1axZU9KV1e5atWqlDz74QC+88ILq169vbf+3v/1NMTExqlGjhrUsPz9fM2fO1PPPP6+pU6dq4cKFRX4m5QVXeAAAAFAiLly4IEmqXr36NdtWrlxZ/v7+kqTz58+X6LiuR6VKlazjSU5Ovmb7du3a2YUdSRo5cqQ6duyoTZs2WZfVlqRPPvlESUlJuueee2zCjnQl8NStW9duW8ePH9eaNWvk7e2tN954w2YFuU6dOmn06NHKy8vTm2++6XCMr7/+ujXsSNKtt96qhx56SJK0ZcsWm7Z33323TdiRrnwmzz33nGrXrm33bFN5xhUeAAAAwAHDMCTpup8NunjxolavXq09e/YoKSlJubm5kqQzZ87IMAwdO3ZMrVq1kiRt3bpV0pXb/f6ocuXK6t+/v+bMmWNT/s0330iSevbsqYCAALt+Dz/8sObMmWMXXiSpSpUquvvuu+3KC65cnTlzxq7uwoUL+uyzz7R//36lpKQoLy9PkpSbm6sLFy4oKSnJ4TjKGwIPAAAASkRgYKAkKTEx8ZptL1++bL2SUq1atRvep6OXgfbt21d9+/b9U9vJz8+3jud6Tuo3btyoIUOGFDnX9PR0638XBIxbbrnFYds6derYlRU8N1PYS1ELyk+fPm1XV7NmTbm4uNiV+/j4SJLdwgUfffSRHn/8cV28eNHhvqQr86kIgYdb2gAAAFAiWrRoIUnatWvXNdvu379fOTk5qlq1qsNbw67Xu+++a/e1Z8+eP72dAwcOKCcnR56enoUGjAIXL17UoEGDdP78eT333HP66aeflJGRofz8fBmGoaFDh0r63xWjklLUlairX+h6LQkJCRoxYoRycnL02muv6ejRo7p06ZIMw5BhGGrfvr2k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wwa1atVKc+fO1cCBA9WuXbsyGK1Uv359ffzxx/Lx8dGCBQs0atQo7d6926bNbbfdViZjw40r8WuGBVd3HnzwQVksFmv5nDlzJElTp061hh1Jat++vUaPHq2UlBQtWLDAZlvz589XWlqa+vTpYw07klSjRg298sorklRqfxUAAABA0datW6eDBw+qVq1aeuaZZwptd/vtt2vMmDEyDMN6jihJoaGhslgsOnHihFauXKl27drJy8tLAQEBGjp0qE6dOlUi446OjpaXl5d++OEHffPNNzZ1jp7hMQxDH330kYYMGaJGjRrJy8tLPj4+CgkJ0VtvvaX8/HyH+8nIyNCUKVMUHBwsd3d3NWjQQDNmzFBubq6Cg4Ntzp2v9vnnn6t79+7y9/eXu7u7GjdurClTpiglJcWu7dXP1vz444/q3bu3/P395eXlpa5du2rbtm12fbKysrRgwQL16dNH9erVk4eHh/z8/NSlSxctXbr0+j7EcqREA09GRoZWrVolSXr44Yet5ZmZmdq4caMkacCAAXb9CspWr15tU7527dpC+0RERMjd3V3x8fHKyspyzgQAAABwwwrO3QYOHHjN28AefPBBSdKGDRvsAsJbb72lAQMGyMPDQ+Hh4fL29tbSpUvVrVs3ZWZmOn3cVatW1X333SdJ+uqrr67ZPjs7W8OGDVN8fLxq1qypXr16qV27djpw4IDGjBmjUaNGOewTFhamf//730pPT9f999+v22+/XbNmzdKgQYMK3dfLL7+siIgIbdq0Sa1bt1bfvn116dIl/fvf/9Zdd92ls2fPOuy3a9cutWvXTidOnNC9996rhg0bavPmzbrnnnu0f/9+m7YnTpzQo48+ql27dik4OFh9+vRRy5YttWPHDg0dOlTTp0+/5mdSnpRo4FmxYoUyMjJ05513qkmTJtbyw4cPKzs7W9WrV1dQUJBdv1atWkmS9u3bZ1O+d+9em/qrubq66o477lBWVpaOHDnizGkAAADgBhScu7Vp0+aabZs1ayZXV1elpqbql19+sal78803tWXLFn311VdatmyZDh06pA4dOujo0aP66KOPSmTsBc/uHDx48JptK1eurE8//VRnzpzR5s2btXTpUsXFxenEiRNq06aN3n33XW3evNmmz6uvvqodO3YoJCREx44dU2xsrFavXq0DBw7o+++/V0JCgt1+du7cqalT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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_histogram(fidelities)" ] }, { "cell_type": "code", "execution_count": 12, "id": "fee17693", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "32" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sum(np.isclose(fidelities, 1))" ] }, { "attachments": {}, "cell_type": "markdown", "id": "7d936c4b", "metadata": {}, "source": [ "We can look at the breakdown of fidelities using a histogram. As expected, there are 32 fidelities close to 1. 75% of the histogram entries are in the 0.0 bar, and the rest are distributed over the 0.1-0.6 range. This is a successful fingerprinting in that it pretty clearly distinguised identical pairs from separate ones, but we can do better and push the non identical fidelities closer to 0. We can achieve this by increasing the depth of the circuit or using more qubits." ] }, { "attachments": {}, "cell_type": "markdown", "id": "1f1baef6", "metadata": {}, "source": [ "---\n", "### Scaling Depth" ] }, { "attachments": {}, "cell_type": "markdown", "id": "80c4125e", "metadata": {}, "source": [ "Instead of a circuit depth of 1, let's use 3." ] }, { "cell_type": "code", "execution_count": 13, "id": "a8b66e2a", "metadata": {}, "outputs": [], "source": [ "num_qubits, depth = (3, 3)\n", "circuits, fidelities = provider.supercheq(files, num_qubits, depth)" ] }, { "cell_type": "code", "execution_count": 14, "id": "e2faabe3", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_heatmap(fidelities)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "8c489a8e", "metadata": {}, "source": [ "We see a visible improvement in results with a circuit depth of 6. There are fewer bright pixels around the diagonal, and the diagonal line is much clearer." ] }, { "cell_type": "code", "execution_count": 15, "id": "6ae7ac0f", "metadata": {}, "outputs": [ { "data": { "image/png": "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1zWmZs2a2dtmZWXp1KlT+vbbb5WQkKBJkyZpxIgRmjJlitzc3Mz+OFDCTAk8iYmJiomJ0U033aSVK1faD8L69evrnXfe0a+//qqVK1dq7ty5euqpp+z1+S/o+r38FxBd/eKua/UpqB8AAABKz7Zt2xQVFaVLly7p1Vdf1bhx4xye4f7mm280cOBAxcXFqWLFioqNjXXo++uvv+qRRx7RggULnLa9bNkyeXp66ocffrCfK16vnj17Ol0Junz5shYtWqSRI0dqxowZOnXqlD744AOHNs8884wefPBB3XzzzX9ofyg9pixasGjRIl26dEldu3Z1ebD1799fkrRhwwZJUp06dSRJx48fd7m9/PK6devay/L7pKSkFPhGVlf9AAAAUDoMw1BMTIxycnL08ssva8KECU4LVrVr105ffPGFPDw8NGPGDG3dutVel39ud/WjEVc7fvy4brrppj8cdgpSqVIlDRo0SN988418fHy0cOFCffrppw5tqlatqttuu01VqlQxZZ8ofqYEnvyDsaBvfH55SkqKpCuXECVpz549unTpklP7/Od/mjZtai/z9/e3h54ffvjBqc8vv/yis2fPqm7duvLz87vRqQAAAMAkq1ev1r59+1SzZk298MILBba7/fbbNXz4cBmGoenTp+vo0aOy2WyKiYmRJL3yyiuy2Wyy2WwaPHiwIiIiZLPZZBiGkpKS7HU2m82Ucd92220aOXKkJOnNN990qJs4caJsNpvmz5/vUP7zzz9r4sSJat26tWrUqCE3NzcFBwfr0Ucf1cGDBwvc19dff61OnTrJ19dXAQEBioqK0vbt2zV//nzZbDaXzyOdO3dOf/vb31S/fn15eHgoMDBQXbt21RdffOFyHzabTSEhIcrNzdU///lPhYWFyd3dXbVr19bf//53ZWdnO/XZuXOnxo4dqzvvvFPVqlWTu7u7br31Vj399NP69ddfC/8AyxhTAk+NGjUkSdu3b3dZn//C0fyHv2655RbdfvvtyszMtL9b52rx8fGSpG7dujmU57+zJ7/+evoAAACgdOSf5/Xr18/lq0iu9vDDD0uSvvjiC3l5eSkmJkZt27aVdOU/y2NiYhQTE6N27dqpa9eu9jDk7e1tr8svM8ODDz4oSdq8ebNycnKu2X727Nl69dVXlZGRobvuukvdu3eXn5+f3nvvPd11110Or1vJt3TpUt1777366quv1LhxY3Xt2lXHjh1Tu3bt9O2337rcz4kTJxQeHq5p06YpJydHPXv21B133KG1a9fqvvvu04wZMwoc40MPPaTJkyerQYMG6tKli9LT0/XGG2/osccec2o7ZcoU+7batWunqKgoGYah//znP2rZsmW5Cj2mPMPTo0cPvfrqq9qwYYP+85//6KmnnrLXbd261f5hXf3C0FGjRumJJ57Q2LFj1aZNG910002SrnzjP/30U9WrV089evRw2M+IESP03//+V2+//bYefPBBtWrVStKVZ4hee+01VapUSSNGjDBjSmVCSa/iUhwrsgAAgD+v/HcvtmzZ8pptmzRpIjc3N6WlpSk9PV3z58/X/PnztWnTJpfP20jSu+++q6pVqzpdbTHD7bffLnd3d2VmZuro0aMKCwsrtH3Pnj31l7/8RbfccotD+bx58zR06FCNHDlS69ats5efP39eTzzxhHJzc/XBBx/ooYceste99NJLmjRpksv9DBs2TIcPH9ZDDz2kefPm2RdV+Oabb3Tffffpb3/7m+655x6nxRuSkpLk5eWlxMRE+8WKI0eOqEWLFvrggw/0yiuvOLya5S9/+Yvi4uJUvXp1e1leXp4mT56sl19+WS+++KLmzp1b6GdSVphyhadFixYaM2aMJOnpp59W48aN1b9/f7Vr105t27ZVRkaGnnzySUVGRtr7DB06VL169VJiYqJuu+029evXT/fcc4/69u0rT09Pvf/++6pUyTGPNWjQQFOnTlV2drbat2+vqKgo9ezZU82aNdO5c+c0ffp01atXz4wpAQAAoIjOnTsnSapWrdo121aqVEkBAQGSpLNnzxbruK5HhQoV7OPJfyyjMK1atXIKO5I0ZMgQtW3bVuvXr7cvqy1JH3/8sZKTk3Xvvfc6hB3pSuBx9Uz64cOH7QuE/etf/3JYQa5du3YaNmyYcnNz9dZbb7kc45tvvmkPO9KVu64GDRokSdq4caND23vuucch7EhXPpOXXnpJtWrVcnq2qSwzbVnqqVOnqk2bNnr77bf1/fff68CBA/L19VXHjh31xBNPaODAgQ7tK1SooMWLFysuLk5z587VypUr5e3trT59+uiVV15Rw4YNXe7nueeeU7169TR16lT7N6Zly5YaO3asHnjgAbOmAwAAgD85wzAk6bqfDbpw4YJWrFihnTt3Kjk52f6s+smTJ2UYhg4dOqQWLVpIkjZt2iTpyu1+v1epUiX16dNH06dPdyj/5ptvJEldu3ZVYGCgU79HHnlE06dPdwovklS5cmXdc889TuX5V65OnjzpVHfu3Dl9+umn2rNnj1JTU5WbmytJunTpks6dO6fk5GSX4yhrTAs8ktSrVy/16tXruttXrFhRo0aN0qhRo/7Qfrp168azOgAAAGVcUFCQJOnMmTPXbHv58mX7lZSqVave8D5dvQy0Z8+e6tmz5x/aTl5enn0813NSv27dOj344IOFzjU9Pd3+5/yAUbt2bZdt8xfrulr+czMFvRQ1v/zEiRNOdTVq1FDFihWdyvNf5/L7hQs+/PBDPfnkk7pw4YLLfUlX5lMeAo8pt7QBAAAAv5e/Mm9BC1tdbc+ePcrJyVGVKlVc3hp2vd59912nr507d/7h7ezdu1c5OTny8vIqMGDku3Dhgvr376+zZ8/qpZde0k8//aSMjAzl5eXJMAz7nU75V4yKS2FXoq5+oeu1JCUlafDgwcrJydHMmTOVmJioixcvyjAMGYah1q1bSyr++ZiFwAMAAIBiERUVJenKarquXkVytYULF0qSunTp8odOzn8v/6T86i9XCx5cy0cffSTpyrMxv3+u/Pc2btyoc+fO2R/NuP322+Xl5WUPIIcPH3bqk//i0l9++cXlNl2V16xZU9KVQOLK0aNHJUm1atUqdLzX8tlnnyknJ0d//etfNWLECNWrV0+enp72elfzKcsIPAAAACgW999/v2677TadOHFCU6ZMKbDdgQMHNGvWLNlstj/8qENx2L9/v2bOnClJ17UCcP6tb8HBwU51P//8s/0dk1fLX3J7yZIlTnW5ublaunSpU3m7du0kSWvWrFFqaqpT/fvvvy9Jat++/TXHXJjC5rNhwwadOnWqSNsvaQQeAAAAFIsKFSpowYIFcnNz08svv6x//OMfunz5skObzZs3q3PnzsrMzNTIkSPtrx0pDZcvX9YHH3yg9u3bKyMjQ48++qj9KlVh8h/8X7p0qcMzPKmpqXrsscdcXt3q16+fAgMDlZCQoEWLFjnUTZ48WUeOHHHqc+uttyo6Olrp6ekaMWKEw3a3bNmi//znP6pYsaKGDx9+3XMubD7vv/++MjIy7OUnTpzQsGHDirTt0mDqogUAAADA1e666y6tWrVK/fv31/jx4zVjxgy1adNGnp6e2r9/v/1dPc8++6ymTZtWYuNatmyZ/RawrKwsnTlzRtu3b9f58+dVoUIFjR49Wq+//vp1batly5bq3LmzEhISFBYWpoiICEnS+vXrVbVqVfXo0UPLly936FOlShX93//9n/r376+BAwfqzTffVEhIiH788UcdPHhQTz75pP773/86LD0tSe+8847at2+vBQsW6Ouvv1br1q115swZrV+/Xrm5uYqNjXV6B88f1b17dzVq1Ejbt29XvXr11LZtW2VlZemrr75S8+bN1aZNG23evLlI+yhJBB4AAIAS9Gd80XdkZKQSExP15ptvasWKFVq/fr2ys7NVvXp1PfLII3rqqafsD8KXlF27dtnDlre3t/z9/XX33Xerbdu2Gjx4sMv34BRm+fLleu211/Txxx9r9erVuummm/Tggw9q8uTJGj16tMs+vXv31tq1a/XKK69o27Zt2rt3r1q1aqU5c+YoISFB0v9WustXq1Ytbdu2Ta+//rqWLVumpUuXysvLS/fee69Gjx6tLl263MCn4cjNzU0bN27U+PHjtXr1aq1cuVK1atXSs88+q5deeum6rnqVJTajvCyvUEIaNWok6crKHKUtZNyqEt3fn/EXMAAAZsjLy9OBAwckXXlRelEeugekK+/a+fzzz7V161bdfffdpT0c0/2Rn5minp/z0wgAAACUghMnTjgtAJCXl6cZM2bo888/V1hYmMLDw0tpdNbBLW0AAABAKdi4caMGDRqkO+64Q3Xr1lV2drb27Nmjo0ePysvLS7Nnzy703Tq4PlzhAQAAAErBnXfeqUcffVSpqan64osv9Pnnnys3N1ePPPKItm3bVuTlpXEFV3gAAACAUlC/fn3NnTu3tIdheVzhAQAAAGBZBB4AAAAAlkXgAQAAAGBZBB4AAAAAlkXgAQAAAGBZBB4AAAAAlkXgAQAAAGBZBB4AAAAAlkXgAQAAAGBZBB4AAAAUu+TkZE2cOFEtW7ZUQECAPD09dcsttygmJkZbtmwpsXHYbDaHr8qVK6tq1apq0qSJBg8erCVLlujy5cuF9g8JCSmx8ZYXEydOlM1m0/z580t7KE4qlfYAAAAA/lQmVintEVzbxDRTN/fll1+qX79+SklJUVBQkNq3by8vLy/t27dPCxYs0IIFCzRixAhNnz5dFSqUzP/Hx8TESJLy8vKUlpamgwcPasGCBXr33XdVr149ffDBBwoPDy+RsaB4EXgAAABQbLZt26aoqChdunRJr776qsaNG6fKlSvb67/55hsNHDhQcXFxqlixomJjY0tkXK6uRBw6dEgvvPCCPv74Y91zzz3atGmTmjdv7tBm3759DuNH2cctbQAAACgWhmEoJiZGOTk5evnllzVhwgSnsNCuXTt98cUX8vDw0IwZM7R169ZSGq0UGhqqjz76SI899pguXryooUOHOrW57bbbFBoaWgqjw40i8AAAAKBYrF69Wvv27VPNmjX1wgsvFNju9ttv1/Dhw2UYhqZPn24vj4iIkM1m09GjR7Vs2TK1atVK3t7eCgwM1MCBA3X8+PFiGXdsbKy8vb31ww8/6JtvvnGoc/UMj2EY+vDDD/Xggw8qLCxM3t7e8vX1VXh4uP79738rLy/P5X4yMjI0btw4hYSEyMPDQ/Xq1dOkSZN06dIlhYSEyGazuez32WefqXPnzgoICJCHh4caNGigcePGKTU11ant1c/W/Pjjj+revbsCAgLk7e2tjh07avPmzU59srKyNGfOHPXo0UO33nqrPD095e/vrw4dOmjRokXX9yGWIQQeAAAAFItVq1ZJkvr163fN28AefvhhSdIXX3zhFBD+/e9/q2/fvvL09FRUVJR8fHy0aNEiderUSZmZmaaPu0qVKrr//vslSV999dU122dnZ+uhhx7S2rVrVaNGDXXr1k2tWrXS3r17NXz4cJdXirKzsxUZGal//vOfSk9P1wMPPKDbb79dU6ZMUf/+/Qvc1+uvv67o6GitX79ed955p3r27KmLFy/qn//8p+6++26dOnXKZb/t27erVatWOnr0qO677z7Vr19fGzZs0L333qs9e/Y4tD169Kgef/xxbd++XSEhIerRo4eaN2+urVu3auDAgZo4ceI1P5OyhMADAACAYrFr1y5JUsuWLa/ZtkmTJnJzc1NaWpqOHDniUPfWW29p48aN+uqrr7R48WLt379fbdq0UWJioj788MNiGXv+szv79u27ZttKlSrpk08+0cmTJ7VhwwYtWrRICQkJOnr0qFq2bKl3331XGzZscOgzdepUbd26VeHh4Tp06JDi4+O1YsUK7d27V99//72SkpKc9rNt2za9+OKL8vHx0TfffKO1a9dq0aJF+vnnn9WvXz8dPHhQw4cPdznGt956S6+//rp2796tRYsWaefO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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_histogram(fidelities)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "8d8b6bb4", "metadata": {}, "source": [ "Notice that the off-diagonals have moved slightly to the left in the histogram. Almost 80% of the pairs are in the 0 bar." ] }, { "attachments": {}, "cell_type": "markdown", "id": "db813c02", "metadata": {}, "source": [ "Let's try out a few more depths to see if we can get any more gains. The below code block calculates the average value of off diagonal elements for circuit dephts from 1 - 15. Better performance would entail an average off diagonal value closer to 0." ] }, { "cell_type": "code", "execution_count": 16, "id": "211dee37", "metadata": {}, "outputs": [], "source": [ "# This cell takes a couple of minutes to run.\n", "mean_off_diags = []\n", "for depth in range(1, 16):\n", " circuits, fidelities = provider.supercheq(files, num_qubits, depth)\n", " off_diag = np.tril(fidelities, -1)\n", " mean_off_diags.append(np.mean(off_diag))" ] }, { "cell_type": "code", "execution_count": 17, "id": "895c7cdd", "metadata": {}, "outputs": [ { "data": { "image/png": "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DXH58mVs2LABWVlZsLKyQocOHXDs2DG0atVKdD4iIiKq/FQuiAoLC1GlSpWyBzIyQmFhYblChISEyPfw/FdSUlKptgEDBpS5t8fU1BQ7d+4sVw4iIiLST6JOu58xYwbMzMyUvvbkyRO1BCIiIiLSNpULoi5duuDKlSuv7UNERET0tlG5IFJ26IqIiIioMhB1YUYiIiKiyogFEREREek9FkRERESk91gQERERkd5TqSDq168fcnNzAQAbN27kLTCIiIioUlGpINqzZw/y8/MBAMHBwcjJydFoKCIiIiJtUum0eycnJ4SHh6Nr164QBAHbtm0r847wAQEBag1IREREpGkqFUSrV6/GhAkTsHfvXkgkEkyfPl3hjvclJBIJCyIiIiJ666hUEL3zzjs4ceIEAMDAwABXr16FjY2NRoMRERERaYvoSdXr169H9erVNRqKiIiISJtET6oeOnQo8vLyNBqKiIiISJs4qZqIiIj0nkoFUUxMDMLCwjipmoiIiCollQoiLy8vhUnVV65cga2trUaDEREREWmL6Ft33Lx5k2eYERERUaWi0h6il2VmZmLZsmW4evUqAKBZs2YYPHgwOnTooPZwRERERNogag/R5MmT4eHhgW+//RZ3797F3bt3sWbNGnTs2BFTpkzRVEYiIiIijVK5INqwYQNWrFiB5cuX4+HDhzh37hzOnTuHR48eYenSpVi+fDk2btyoyaxEREREGqHyIbNVq1ZhwYIFCAkJUWivUqUKxo4di+fPn2PlypU8y4yIiIjeOirvIfrjjz/w0Ucflfm6n58f/vjjD7WEIiIiItImlQsiQ0NDFBYWlvl6UVERDA0N1RKKiIiISJtULojatWuHTZs2lfn6999/j3bt2qklFBEREZE2qTyHaOLEifDz80NBQQEmTJggvzCjVCpFZGQkoqOjsWvXLo0FJSIiItIUlQui3r17Y+nSpZg4cSIiIyNhaWkJAMjJyYGRkRGWLFmC3r17aywoERERkaaIujDjmDFj0LdvX2zfvh3Xrl0D8OLCjP3790f9+vU1EpCIiIhI00RfqbpevXoYP368JrIQERER6YToe5kRERERVTZvREG0atUqODg4wNTUFB4eHjh16tQr+2/fvh1OTk4wNTVF69atsW/fPvlrRUVFmDJlClq3bg1zc3PY29sjICAAf//9t6Y3g4iIiN5SOi+I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6DKtREREROXAOURERESk91gQERERkd5jQURERER6jwURERER6T0WRERERKT3WBARERGR3mNBRERERHqPBRERaYVEIkF8fLxG15GUlASJRILs7GyNrkdTHBwcEB0dresYRHqJBRERVZhUKsWYMWPQuHFjmJiYoH79+vjwww8V7pt1//599OjRQ6M5vLy8cP/+fVhaWgIAvvvuO9SoUeO1y3333XeQSCSQSCQwNDREzZo14eHhgblz5yInJ0ftOVXNRUTaw3uZEVGF3Lp1C++88w5q1KiBr7/+Gq1bt0ZRUREOHDiA0aNH4/LlywDw2juqFxUVoUqVKhXKYmxsXO47t1tYWODKlSsQBAHZ2dlITk5GREQE1q9fj99++w329vYVykZEbzbuISKiCvniiy8gkUhw6tQp9O/fH82aNUOrVq0QFhaGEydOyPu9fMjs1q1bkEgkiIuLg7e3N0xNTbFp0yYAwLp169CqVSuYmJigTp06CAkJUVjm3Llz8jGzs7MhkUjkN3F8+ZBZUlISgoODkZOTI9/7M3v27DK3QyKRwM7ODnXq1EGLFi0wbNgwJCcn4/Hjx5g8ebK8n0wmQ0REBBo1aoSqVavCxcUFP/74o/z1kgx79+5FmzZtYGpqio4dO+LixYvy11+V68mTJxg6dCiqV6+OBg0aVOob7hK9SVgQEVG5PXr0CPv378fo0aNhbm5e6vXXHRb68ssvERoaikuXLsHX1xerV6/G6NGj8fnnn+PChQvYvXs3mjZtWq5sXl5eiI6OhoWFBe7fv4/79+9j4sSJosawsbHBp59+it27d6O4uBgAEBERgY0bNyImJgZ//PEHxo8fj88++wxHjhxRWHbSpEmIjIzE6dOnUbt2bXz44YcoKip6ba7IyEi0b98eZ8+exRdffIFRo0bhypUr5fodEJHqeMiMiMrt+vXrEAQBTk5O5Vp+3Lhx6Nevn/z5/PnzMWHCBISGhsrbOnToUK6xjY2NYWlpKd/zU15OTk7Iy8vDw4cPYWlpiQULFuDgwYPw9PQEADRu3BjHjx/H//3f/8Hb21u+3KxZs/D+++8DADZs2IB69eph165dGDhw4Ctz9ezZE1988QUAYMqUKVi6dCkOHz6M5s2bl3sbiOj1WBARUbkJglCh5du3by//OTMzE3///Te6detW0VhqVbKNEokE169fx5MnT+SFTonCwkK0bdtWoa2kYAKAWrVqoXnz5rh06dJr19emTRv5zyVFU2ZmZkU2gYhUwIKIiMrN0dEREolEPnFarJcPs1WtWvWVfQ0MXhzhf7kIKyoqKtd6xbh06RIsLCxgZWWFv/76CwCwd+9e1K1bV6GfiYmJWtb334nlEokEMplMLWMTUdk4h4iIyq1WrVrw9fXFqlWrkJ+fX+p1MdcDql69OhwcHBRO1X9Z7dq1Abw4fb/EyxOslTE2NpbP/SmPzMxMbN68GX5+fjAwMEDLli1hYmKC9PR0NG3aVOFRv359hWVfnlD+zz//4OrVq2jRooVachGR+nEPERFVyKpVq/DOO+/A3d0dc+fORZs2bfD8+XMkJCRg9erVKh0mKjF79myMHDkSNjY26NGjB/Ly8vDbb79hzJgxqFq1Kjp27IiFCxeiUaNGyMzMxPTp0185noODAx4/fozExES4uLjAzMwMZmZmSvsKggCpVCo/7T4lJQULFiyApaUlFi5cCOBF0TZx4kSMHz8eMpkMnTp1Qk5ODn777TdYWFggMDBQPt7cuXNhZWUFW1tbTJs2DdbW1vDz8xOdi4i0g3uIiKhCGjdujLS0NHTt2hUTJkyAs7Mz3n//fSQmJmL16tWixgoMDER0dDS++eYbtGrVCr1798a1a9fkr69btw7Pnz+Hm5sbxo0bh/nz579yPC8vL4wcORL+/v6oXbs2Fi9eXGbf3Nxc1KlTB3Xr1oWnpyf+7//+D4GBgTh79izq1Kkj7zdv3jzMmDEDERERaNGiBbp37469e/eiUaNGCuMtXLgQoaGhcHNzg1Qqxc8//wxjY2PRuYhIOyRCRWdFEhGRXFJSErp27Yp//vmHV6MmeotwDxERERHpPRZEREREpPd4yIyIiIj0HvcQERERkd5jQURERER6jwURERER6T0WRERERKT3WBARERGR3mNBRERERHqPBRERERHpPRZEREREpPdYEBEREZHe+3+PTmt2emfaEgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.bar(range(1, 16), mean_off_diags)\n", "plt.xlabel(\"Circuit Depth\")\n", "plt.ylabel(\"Average Off Diagonal Value of Fidelity Matrix\")\n", "plt.title(\"Scaling Fingerprinting with Circuit Depth\");" ] }, { "attachments": {}, "cell_type": "markdown", "id": "7ee4280d", "metadata": {}, "source": [ "It seems like for these files, a circuit depth of 2 is sufficient. Deeper circuits don't seem to have significant gains. The average off diagonal fidelity seems to plateau around 0.06." ] }, { "attachments": {}, "cell_type": "markdown", "id": "3398103d", "metadata": {}, "source": [ "----\n", "## Scaling number of qubits" ] }, { "attachments": {}, "cell_type": "markdown", "id": "1591bed7", "metadata": {}, "source": [ "We can similarly increase the number of qubits used. Here we use 4 instead of 3." ] }, { "cell_type": "code", "execution_count": 18, "id": "e58a9f93", "metadata": {}, "outputs": [], "source": [ "num_qubits, depth = (4, 1)\n", "circuits, fidelities = provider.supercheq(files, num_qubits, depth)" ] }, { "cell_type": "code", "execution_count": 19, "id": "9cc9ff5a", "metadata": {}, "outputs": [ { "data": { "image/png": "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LCzUww8/rMjISH3wwQfasmWL/vjHP2rLli368MMPFR0draeffrpJA/uLYSAOAACAVqu6ulpLly6VJC1btkwJCQl1++bNm6eBAwdq8+bN2r790tdtZGdnq6qqSuPHj9fYsWPr7bvuuut04403yrZtffbZZ47UzkAcAAAA9dTOEQ/2w4k54lu2bNGZM2eUmpqqIUOGBOyfNWuWJGnt2rWXzIpu5KIYnTp1alqRF8BAHAAAAK3Wrl27JF34JpC123fv3n3JrBEjRigpKUmbNm3S5s2b6+376KOP9N577yktLU1jxowxrPq8FnlnTQAAALjIlvx2CO6saUu5ublKT09vcHdOzqWX0c3Pz5ekC94EsnZ7Xl7eJbMSExO1fPly3X777br++us1atQoJScn69ixY8rKytLo0aP1hz/8QVFRUZfMagwG4gAAAGi1SktLJUlxF1jTPT4+XpJUUlLSqLyZM2fq3Xff1Q9/+ENt2bKlbnv79u01ceLEJi+FeDFMTQEAAIBrUlNTlZOT0+DDDc8995wmTJig6667Trt371Zpaal2796t8ePH64knntDMmTMdey064gAAAKjHluQLQb/WiYs1a1dJKS8vb3B/Wdn5u163a8QdjT/88EP96le/0tChQ/X666/L4zl/DK6++mqtXr1aw4cP1zvvvKN3331XkydPNq6djjgAAABarZSUFEnSsWPHGtxfu71Xr16XzFq1apUkacaMGXWD8Fper7euG/7RRx81u95voyMOAACA77BCc7GmAzf0GTRokCRpx44dDe6v3T5w4MBLZtUO2hMTExvcX7u9qKioyXU2hI44AAAAWq3Ro0crMTFRubm52rlzZ8D+1atXS5KmTZt2yayuXbtK0gVv2PPpp59Kkq644ormFfsdDMQBAAAQwC9P0B9OiIqK0v333y9Juu++++rmhEvS4sWLtXv3bo0dO1bDhg2r27506VINGDBAjzzySL2sm2++WZL08ssv689//nO9fW+//bZeeeUVeTwezZgxw5HamZoCAACAVu3xxx/Xxo0blZWVVXfDnby8PGVnZ6tLly566aWX6n39yZMntX//fhUUFNTbfvPNN+vWW2/V66+/rmnTpmn48OHq3bu3jhw5Utclf+qpp9S/f39H6qYjDgAAgHrO3+LeCvrDiVVTJCkmJkYffPCBMjIyFBcXpzVr1igvL0+z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cqm61snkFvfR0dHcdvkiLnZsv/nmG3vp0qX22bNn620vKSmx/+Vf/sWWZHft2tUuKysLRaktVk1NjT1jxgxbkj1mzJhGHQ/O2cZp6rHlnG28v/71r/a7775r+3y+eturq6vtF154wfZ4PHZsbKydn59ft4/zFsFk2bZtu/MrgDsqKys1btw4ZWdnq1u3bhozZozy8vKUnZ2tLl26aNu2berTp4/bZbY6K1eu1Jw5c9S1a1cNHTpUSUlJysvL0/bt21VZWan09HRt2rRJl112mdultljvvPNOvSXJPvnkE9m2re9///t12zIyMjR16tS6/547d66WLFmiuLg43XDDDaqurtaGDRtk27ZWr16tm2++OZTfQovVlGN79OhR9e7dWwkJCbrmmmvUrVs3FRYWaseOHTp16pSSkpL05z//WaNHj3bjW2kxlixZorlz50qSZsyYofbt2zf4dYsWLar7c7/EOdsYTT22nLONV/uzqnPnzho2bJg6deqkkydPas+ePSooKFBMTIx+//vf64c//GG953HeImhc/CXANeXl5XZGRoadmppqR0VF2V27drVnz55tf/nll26X1mrt3bvXvueee+yhQ4faXbp0sSMiIuzExET72muvtZ977jmWLWyEFStW2JIu+lixYkWDzxs2bJgdFxdnJyUl2ZMmTbK3bNkS+m+gBWvKsT179qz90EMP2WPHjrV79OhhR0dH23FxcXZ6err94IMP2seOHXP3m2khnnzyyUseU0n2kSNHAp7LOXtxTT22nLONd/jwYfvRRx+1R48ebXfr1s2OjIy04+Pj7fT0dPsXv/iFffDgwQs+l/MWwRB2HXEAAACgJQirizUBAACAloKBOAAAAOACBuIAAACACxiIAwAAAC5gIA4AAAC4gIE4AAAA4AIG4gAAAIALGIgDAAAALmAgDgAAALiAgTgAAADgAgbiAAAAgAsYiAMAAAAuYCAOAAAAuICBOAAAAOACBuIAAACACxiIAwAAAC5gIA4AAAC44P8H5f9j2y0P3oMAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_heatmap(fidelities)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "f355f240", "metadata": {}, "source": [ "Again, we see a performance improvement. The off diagonal elements are all very dark. This is reflected in the histogram below, where about 90% of the off diagonal elements are in the 0.0 bar." ] }, { "cell_type": "code", "execution_count": 20, "id": "b83a8343", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzwAAAJqCAYAAADuVkWwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAABcSAAAXEgFnn9JSAABKKElEQVR4nO3deZxP9eLH8ffX7KtZiKzDMJKsScaSJaRRSAipQbeuX3JHuK5SUXRTGtLVvbo3kVtSJrsoriZbimyXbJERKcssxph9zu8Pj/le375fS+Y726fX8/GYx4PPcs7n850z47ydcz7HZlmWJQAAAAAwUIXSHgAAAAAAFBcCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFiepT2AsqZq1arKyMhQrVq1SnsoAAAAwO/e8ePHFRAQoJ9//vmG+nOF51cyMjKUm5tb2sMAAAAAICk3N1cZGRk33J8rPL9SeGVn3759pTwSAAAAAI0aNSpSf67wAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi2WpAQAAioFlWbIsq7SHAZQpNptNNputRPdJ4AEAAHCTgoICpaWlKSUlRdnZ2aU9HKBM8vHxUWhoqCpWrKgKFYr/hjMCDwAAgBtYlqWff/5ZaWlppT0UoEzLzs7Wzz//rKysLFWtWrXYr/gQeAAAANwgPT3dHnZuuukmBQcHy8PDo5RHBZQt+fn5On/+vE6fPq3U1FQFBAQoODi4WPdJ4AEAAHCD8+fPS5LCwsIUHh5eyqMByqYKFSooPDxceXl5Sk5OVnp6erEHHlZpAwAAcIOLFy9KkoKCgkp5JEDZV/hzkpGRUez7IvAAAAAUkWVZys/Pl3TpgWwAV1f4c5Kfn1/sqxkSeAAAAIro8hO2kl5yFyiPLv85IfAAAAAAwA0i8AAAAAAwFoEHAAAAgLEIPAAAAACMxXt4AAAASlDE+FWlPYRrOja1h9u3mZycrDfffFMrV67UkSNHlJWVpapVq+quu+7S8OHDFR0d7bLft99+q2eeeUbffPON/cWuP/zwgyIiIpSRkaFnnnlGS5Ys0alTp5Sfn6+JEydq0qRJVxzHpEmT9OKLLzqUBQYGKiQkRA0bNlSbNm00ZMgQRUREXLX/3LlzNWTIkBv5KIxls9lUu3ZtHTt2rLSH4oDAAwAAgGL1n//8R/369VNKSorCw8PVvn17+fv7a//+/Zo/f77mz5+vuLg4TZ8+XRUq/O8GpPT0dPXs2VOnTp1Sx44dVbNmTdlsNgUGBkqSnnnmGf3tb39TvXr11L9/f3l7e6tZs2bXNaamTZva22ZlZemXX37R119/rbVr12ry5MmKi4vT1KlT5e3t7e6PAyWMwAMAAIBis23bNsXExCg3N1cvvfSSxo8fLy8vL3v9pk2bNHDgQM2cOVMeHh6Kj4936PvTTz/pkUce0fz58522vXTpUvn5+Wnnzp32EHS9evfu7XQlKC8vTwsXLtSoUaM0Y8YM/fLLL/rggw8c2jz11FMaMGCAbr755t+0P5QenuEBAABAsbAsS7GxscrJydHEiRP1/PPPO4QdSWrXrp0+//xz+fr6asaMGdq6dau97sSJE5KkunXrutz+iRMndNNNN/3msHMlnp6eGjx4sDZt2qTAwEAtWLBAy5cvd2hTqVIl3XLLLapYsaJb9oniR+ABAABAsVi9erX279+vatWq6dlnn71iu4YNG2rEiBGyLEvTp0/XsWPHZLPZFBsbK0l68cUXZbPZZLPZNGTIEHXs2FE2m02WZSkpKcle566Xvt5yyy0aNWqUJOnNN990qJs0aZJsNpvmzZvnUP79999r0qRJio6OVtWqVeXt7a0aNWro0Ucf1aFDh664ry+//FKdO3dWUFCQQkNDFRMTo+3bt2vevHmy2Wwun0c6d+6c/vznP6t+/fry9fVVWFiYunfvrs8//9zlPmw2myIiIpSfn69XX31VUVFR8vHxUc2aNfWXv/xF2dnZTn127dqlcePG6fbbb1flypXl4+OjunXr6sknn9RPP/109Q+wjCHwAAAAoFisWnVpgYZ+/fo5Xdn5tYcffliS9Pnnn8vf31+xsbFq27atpEvP28TGxio2Nlbt2rVT9+7d7WEoICDAXldY5g4DBgyQJG3ZskU5OTnXbP/OO+/opZdeUkZGhu644w717NlTwcHB+ve//6077rhDe/bsceqzePFi3X333friiy902223qXv37jp+/LjatWunr7/+2uV+Tp48qVatWun1119XTk6OevfurebNm2vdunW65557NGPGjCuOcdCgQZoyZYoaNGigbt26KT09Xa+99poee+wxp7ZTp061b6tdu3aKiYmRZVn6xz/+oZYtW5ar0MMzPGVYSa/iUhwrsgAAgN+v3bt3S5Jatmx5zbaNGzeWt7e30tLSlJ6ernnz5mnevHnavHmzy+dtJOm9995TpUqVnK62uEPDhg3l4+OjzMxMHTt2TFFRUVdt37t3b/3xj39UnTp1HMrnzp2rYcOGadSoUVq/fr29/Pz583r88ceVn5+vDz74QIMGDbLXvfDCC5o8ebLL/QwfPlxHjx7VoEGDNHfuXPuiCps2bdI999yjP//5z+rUqZPT4g1JSUny9/fX4cOHVbVqVUmXVrtr0aKFPvjgA7344ouKjIy0t//jH/+omTNnqkqVKvaygoICTZkyRRMnTtRzzz2nd99996qfSVnBFR4AAAAUi3PnzkmSKleufM22np6eCg0NlSSdPXu2WMd1PSpUqGAfT0pKyjXbt27d2insSNLQoUPVtm1bJSYm2pfVlqSPP/5YycnJuvvuux3CjnQp8NSuXdtpW0ePHtXKlSsVGBiov/3tbw4ryLVr107Dhw9Xfn6+3nrrLZdjfPPNN+1hR5Lq1KmjwYMHS5I2btzo0LZTp04OYUe69Jm88MILql69utOzTWUZV3gAAAAAFyzLkqTrfjbowoULWrFihXbt2qXk5GTl5uZKkk6dOiXLsnTkyBG1aNFCkrR582ZJl273+zVPT089+OCDmj59ukP5pk2bJEndu3dXWFiYU79HHnlE06dPdwovkuTl5aVOnTo5lRdeuTp16pRT3blz57R8+XLt3btXqampys/PlyTl5ubq3LlzSk5OdjmOsobAAwAAgGIRHh4uSTpz5sw12+bl5dmvpFSqVOmG9+nqZaC9e/dW7969f9N2CgoK7OO5npP69evXa8CAAVeda3p6uv3PhQGjZs2aLtvWqlXLqazwuZkrvRS1sPzkyZNOdVWrVpWHh4dTeVBQkCQ5LVzw4Ycf6oknntCFCxdc7ku6NJ/yEHi4pQ0AAADFomnTppKk7du3X7Pt3r17lZOTo4oVK7q8Nex6vffee05fu3bt+s3b2bdvn3JycuTv73/FgFHowoUL6t+/v86ePasXXnhB3333nTIyMlRQUCDLsjRw4EBJ/7tiVFyudiXq8he6XktSUpKGDBminJwcvfHGGzp8+LAuXrwoy7JkWZaio6MlFf983IXAAwAAgGIRExMjSUpISLDf3nUlCxYskCR169btN52c/1rhSfnlX64WPLiWjz76SNKlZ2M8Pa9+U9TGjRt17tw5Pfjgg3rxxRfVsGFD+fv72wPI0aNHnfoUvrj0xx9/dLlNV+XVqlWTdCmQuHLs2DFJUvXq1a863mv59NNPlZOToz/96U+Ki4tTvXr15OfnZ693NZ+yjMADAACAYnHvvffqlltu0cmTJzV16tQrtjt48KBmzZolm82m0aNHl+AIXTtw4IDeeOMNSVJcXNw12xfe+lajRg2nuu+//147duxwKi9ccvuTTz5xqsvPz9fixYudytu1aydJWrNmjVJTU53q33//fUlS+/btrznmq7nafDZs2KBffvmlSNsvaQQeAAAAFIsKFSpo/vz58vb21sSJE/XXv/5VeXl5Dm22bNmirl27KjMzU6NGjVLr1q1LabSXniP64IMP1L59e2VkZOjRRx+1X6W6msIH/xcvXuzwDE9qaqoee+wxl1e3+vXrp7CwMK1du1YLFy50qJsyZYp++OEHpz5169ZVjx49lJ6erri4OIftfvXVV/rHP/4hDw8PjRgx4rrnfLX5vP/++8rIyLCXnzx5UsOHDy/StksDixYAAACg2Nxxxx1atWqV+vfvrwkTJmjGjBlq06aN/Pz8dODAAfu7ekaOHKnXX3+9xMa1dOlS+y1gWVlZOnPmjLZv367z58+rQoUKGjNmjF555ZXr2lbLli3VtWtXrV27VlFRUerYsaMkKTExUZUqVVKvXr20bNkyhz4VK1bUv/71L/Xv318DBw7Um2++qYiICP33v//VoUOH9MQTT+if//ynw9LTkvT222+rffv2mj9/vr788ktFR0frzJkzSkxMVH5+vuLj453ewfNb9ezZU40aNdL27dtVr149tW3bVllZWfriiy/UrFkztWnTRlu2bCnSPkoSgQcAAKAE/R5f9N2lSxcdPnxYb775plasWKHExERlZ2erSpUqeuSRR/R///d/9gfhS8ru3bvtYSsgIEAhISG688471bZtWw0ZMsTle3CuZtmyZXr55Zf18ccfa/Xq1brppps0YMAATZkyRWPGjHHZp0+fPlq3bp1efPFFbdu2Tfv27VPr1q01Z84crV27VtL/VrorVL16dW3btk2vvPKKli5dqsWLF8vf31933323xowZo27dut3Ap+HI29tbGzdu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tmypb775xuV+3njjDfXs2VNbtmxR27Zt1blzZ33zzTe67777NGvWLHdNBwAAAIABbJYblg/Jy8tT9erVdfr0aX3wwQcaNGiQvW7//v1q166dkpOTtX79enXq1EmS9M477+jxxx9X/fr1tXHjRlWpUkXSpeDUt29f1atXT/v375en5//WVTh48KAaNWokT09PffHFF4qOjpYkHTp0SG3atFFaWpr279+vevXq3fBcGjVqJEnat2/fDW/DXSLGl+xVq2NTe5To/gAAAIBrKer5uVuu8Bw4cECnT59WgwYNHMKOJDVs2NB+dWfbtm328unTp0uSXnvtNXvYkaQHH3xQPXv21Pfff69ly5Y5bGvmzJnKz8/X8OHD7WFHkqKiojRhwgTl5eVp5syZ7pgSAAAAAAO4JfD4+PhcV7vw8HBJ0g8//KD9+/fLz89PPXo4X1Xo27evpEvP6lyu8Dmdwvrr6QMAAADg98stgadu3bqKjIzUwYMHtWDBAoe6/fv36/3331doaKgeeOABSdLu3bslSbfddpu8vLyctteiRQtJ0p49e+xlqampOn78uCSpefPmTn1q1qypSpUqKSkpSefPn3fHtAAAAACUc2558aiHh4fee+893XfffXr44YcVHx+v+vXr6/Tp09q4caNuvfVWzZs3T2FhYZJkDy41atRwub3C8qSkJHtZYZ/Q0FAFBARcsd/Zs2eVlJSkxo0bX3XMhfcC/tqRI0cUGRl51b4AAAAAyge3BB5Jatu2rb788ks98MAD2rFjh3bs2CFJ8vb2VteuXVW3bl172wsXLkiS/P39XW6rMNCkp6dfd58r9QMAAADw++W2wPPhhx9q6NChat26tT788EM1atRIP/30k15//XXFx8friy++0JYtW677eZ/idqVVHq505QcAAABA+eOWZ3gOHz6s2NhYVapUSStXrlSrVq0UEBCg+vXr6+2339Z9992nHTt26N1335UkBQYGSpIuXrzocnsZGRmSpKCgIHvZtfpcqR8AAACA3y+3BJ6FCxcqNzdX3bt3tweTy/Xv31+StGHDBklSrVq1JEknTpxwub3C8tq1a9vLCvukpKTYg8319AMAAADw++WWwFMYNCpWrOiyvrA8JSVFktS0aVNJ0t69e5Wbm+vUvvD5nyZNmtjLQkJC7KFn586dTn1+/PFHnT17VrVr11ZwcPCNTgUAAACAQdwSeKpWrSpJ2r59u8v6wheORkRESJLq1Kmjhg0bKjMz0/5uncslJCRIku6//36H8sJ39hTWX08fAAAAAL9fbgk8vXr1knTplrV//OMfDnVbt27VjBkzJDm+MHT06NGSpHHjxun06dP28sWLF2v58uWqV6+efbuF4uLi5OHhodmzZ2vr1q328sOHD+vll1+Wp6en4uLi3DElAAAAAAZwS+Bp0aKFxo4dK0l68sknddttt6l///5q166d2rZtq4yMDD3xxBPq0qWLvc+wYcP0wAMP6PDhw7rlllvUr18/derUSX379pWfn5/ef/99eXo6LiLXoEEDTZs2TdnZ2Wrfvr1iYmLUu3dvNW3aVOfOndP06dNVr149d0wJAAAAgAFslmVZ7trYkiVLNHv2bH377bdKS0tTUFCQmjVrpscff1wDBw50ap+fn6+ZM2fq3Xff1ZEjRxQQEKBOnTrpxRdf1K233nrF/axYsULTpk2zP8vTvHlzjRs3Tvfdd1+R51C4LPWVlq0uSRHjnW/3K07HpvYo0f0BAAAA11LU83O3Bh4TEHgAAACAsqOo5+duuaUNAAAAAMoiAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABjLrYHnzJkzGjt2rBo0aCA/Pz+FhYWpRYsW+vOf/+yy/YoVK9ShQwcFBwcrODhYHTt21KpVq666j3379qlfv36qXLmy/Pz81LhxY73xxhsqKChw51QAAAAAGMBtgefbb79Vw4YNFR8fLy8vL/Xq1UutW7dWcnKyZsyY4dT+jTfeUM+ePbVlyxa1bdtWnTt31jfffKP77rtPs2bNcrmPr776SnfccYcSEhJUt25d9ezZU2fPntXTTz+tAQMGyLIsd00HAAAAgAE83bGRM2fOqHv37srMzNSyZcvUs2dPh/pvvvnG4e8HDx7U2LFj5ePjoy+++ELR0dGSpEOHDqlNmzZ6+umn1b17d9WrV8/eJzc3Vw8//LAyMzM1ffp0Pf3005KkCxcuqFu3blq0aJFiYmI0ZMgQd0wJAAAAgAHccoVn4sSJOnv2rKZNm+YUdiSpVatWDn+fOXOm8vPzNXz4cHvYkaSoqChNmDBBeXl5mjlzpkOfJUuW6IcfflDTpk3tYUeSAgMD7VeE4uPj3TEdAAAAAIYocuDJzMzU+++/r4CAAA0dOvS6+hQ+p9O3b1+nusKyFStWXHefFi1aqG7dutq7d6+OHTv2W4YPAAAAwGBFvqVt+/btSk9PV7t27eTn56fVq1dr7dq1ysrKUlRUlPr3769q1arZ26empur48eOSpObNmzttr2bNmqpUqZKSkpJ0/vx5BQcHS5J2794t6VK4caVFixY6evSo9uzZo4iIiKJOCwAAAIABihx4vvvuO0nSTTfdpN69e2vZsmUO9c8++6zmzJmjgQMHSpI97ISGhiogIMDlNmvUqKGzZ88qKSlJjRs3duhXo0aNK/aRpKSkpOsad6NGjVyWHzlyRJGRkde1DQAAAABlW5FvaUtJSZEkLV++XGvWrNFbb72l06dP69ixYxo7dqwyMzMVGxurXbt2Sbq0yIAk+fv7X3GbhUEoPT3dXnatfq76AAAAAPh9K/IVnsL33+Tl5enll1/Wk08+aa+bNm2akpKStGjRIk2bNk0ffPBBUXfnNvv27XNZfqUrPwAAAADKnyJf4QkMDLT/2dWiBYVlX375pUP7ixcvXnGbGRkZkqSgoCCn/Vypn6s+AAAAAH7fihx4ateuLenSrWaVK1d2qi9cQOD06dOSpFq1akm6dCtcYUj5tRMnTjhs+/J+hXXX0wcAAADA71uRA0/hSmuZmZnKzs52qk9OTpb0vys0ISEh9vCyc+dOp/Y//vijzp49q9q1a9tXaJOkpk2bSpJ27NjhchyF5U2aNLnRqQAAAAAwTJEDT61atdS0aVNZlmW/be1yhWWXL0Hdo0cPSVJCQoJT+8Ky+++/36H8an127typo0eP6rbbbmNJagAAAAB2RQ48kjRu3DhJ0tixY3Xq1Cl7+a5duxQfHy9JGj58uL08Li5OHh4emj17trZu3WovP3z4sF5++WV5enoqLi7OYR8PPPCA6tSpo927d2vGjBn28oyMDI0YMUKSNGbMGHdMBwAAAIAh3BJ4Bg0apNjYWP33v//Vrbfeqh49eqhz585q3bq1kpOT9fjjj6tfv3729g0aNNC0adOUnZ2t9u3bKyYmRr1791bTpk117tw5TZ8+XfXq1XPYh5eXl95//335+flp9OjRat26tR566CHVr19fX331lfr27avY2Fh3TAcAAACAIdwSeCRp7ty5+uc//6nIyEglJibqm2++UYsWLTRv3jz985//dGr/9NNPa/ny5YqOjtbGjRv1n//8Ry1bttSKFSs0cuRIl/to06aNtm3bpgcffFDff/+9li9frrCwME2fPl0fffSRbDabu6YDAAAAwAA2y7Ks0h5EWVL4Hp4rvaenJEWMX1Wi+zs2tUeJ7g8AAAC4lqKen7vtCg8AAAAAlDUEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMFaxBJ5z587ppptuks1mU7169a7adt68eWrVqpUCAwMVFhammJgYbdmy5ap9Nm/erJiYGIWFhSkwMFCtWrXS/Pnz3TkFAAAAAAYolsAzZswYnT179prtRo0apaFDh2rv3r3q0qWLWrVqpbVr1+quu+7S0qVLXfb55JNP1KFDB61Zs0ZNmjRR9+7ddfjwYcXGxmrs2LFungkAAACA8sztgec///mP3nvvPT3++ONXbbdu3TrNnDlT4eHh2r17t5YuXao1a9Zow4YN8vDw0NChQ5WamurQJzk5WcOGDVN+fr4SEhKUmJiohIQEHThwQPXq1VN8fLwSExPdPSUAAAAA5ZRbA09mZqb++Mc/6tZbb73m1Zbp06dLkp577jnVr1/fXh4dHa3hw4crNTVVc+bMcejzzjvv6Pz58+rVq5f69OljL69SpYpee+01SVJ8fLy7pgMAAACgnHNr4HnxxRd19OhRzZ49W15eXldsl5mZqfXr10uS+vbt61RfWLZixQqH8lWrVl2xT48ePeTr66t169YpKyvrhucAAAAAwBxuCzx79uxRfHy8hg4dqvbt21+17cGDB5Wdna3KlSurRo0aTvUtWrSwb/Nyu3fvdqi/nLe3t2677TZlZWXp0KFDNzoNAAAAAAbxdMdGCgoK9Ic//EEhISH2W8uu5vjx45LkMuxIUkBAgEJCQpSSkqL09HQFBQXp/PnzSktLu2q/GjVqaPv27UpKSlKTJk2uOoZGjRq5LD9y5IgiIyOvOQcAAAAAZZ9brvD87W9/07Zt2zRt2jSFh4dfs/2FCxckSf7+/ldsExAQIElKT0936HO1fr/uAwAAAOD3rchXeI4fP67nnntOHTp00JAhQ9wwpJKxb98+l+VXuvIDAAAAoPwp8hWeESNGKCcnR7Nnz77uPoGBgZKkixcvXrFNRkaGJCkoKMihz9X6/boPAAAAgN+3Il/hWblypUJCQjR8+HCH8sKV0k6ePKmOHTtKkhYuXKiqVauqVq1akqQTJ0643GZGRoZSU1MVGhpqDy/BwcGqWLGi0tLSdOLECd16661O/Qq3V7t27aJOCwAAAIAB3LJoQWpqqr788kuXdVlZWfa6whDUoEED+fj46MyZMzp58qSqV6/u0GfHjh2S5LTwQNOmTbVhwwbt2LHDKfDk5uZq79698vX1VVRUlDumBQAAAKCcK/ItbZZlufz64YcfJEmRkZH2soiICEmSn5+fOnfuLElatGiR0zYTEhIkSffff79DeY8ePRzqL7dy5UplZWWpS5cu8vX1Leq0AAAAABjArS8e/S1Gjx4tSZoyZYoOHz5sL//qq6/09ttvKyQkRI899phDnz/84Q8KDg7WsmXLtHjxYnv56dOnNW7cOEnSmDFjSmD0AAAAAMqDUgs8Xbp0UVxcnM6dO6dmzZqpd+/eiomJ0V133aW8vDzNnTtXISEhDn3CwsL07rvvqkKFCurbt686d+6sfv36qUGDBvr+++81evRo+/NCAAAAAOCWZ3hu1BtvvKFmzZpp1qxZWrt2rby9vdWlSxc9//zzatOmjcs+Dz74oDZs2KApU6Zo69atysnJ0a233qqnnnpKsbGxJTwDAAAAAGWZzbIsq7QHUZYUvofnSu/pKUkR41eV6P6OTe1RovsDAAAArqWo5+eldksbAAAAABQ3Ag8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABjLLYHn4sWLWrp0qR577DE1aNBAvr6+CggIUNOmTfXSSy/pwoULV+w7b948tWrVSoGBgQoLC1NMTIy2bNly1f1t3rxZMTExCgsLU2BgoFq1aqX58+e7YyoAAAAADOKWwLNgwQI98MADevfdd+Xh4aGePXuqffv2+uGHHzRx4kTdcccdOn36tFO/UaNGaejQodq7d6+6dOmiVq1aae3atbrrrru0dOlSl/v65JNP1KFDB61Zs0ZNmjRR9+7ddfjwYcXGxmrs2LHumA4AAAAAQ7gl8Hh5eemJJ57Qd999p++++04ff/yx1qxZo4MHD6p58+Y6cOCARo0a5dBn3bp1mjlzpsLDw7V7924tXbpUa9as0YYNG+Th4aGhQ4cqNTXVoU9ycrKGDRum/Px8JSQkKDExUQkJCTpw4IDq1aun+Ph4JSYmumNKAAAAAAzglsATGxurt99+Ww0bNnQov/nmm/XWW29JkhYvXqycnBx73fTp0yVJzz33nOrXr28vj46O1vDhw5Wamqo5c+Y4bO+dd97R+fPn1atXL/Xp08deXqVKFb322muSpPj4eHdMCQAAAIABin3RgqZNm0qSsrOzde7cOUlSZmam1q9fL0nq27evU5/CshUrVjiUr1q16op9evToIV9fX61bt05ZWVnumwAAAACAcqvYA8/Ro0clXbrtLSwsTJJ08OBBZWdnq3LlyqpRo4ZTnxYtWkiS9uzZ41C+e/duh/rLeXt767bbblNWVpYOHTrk1jkAAAAAKJ88i3sHM2fOlCR1795dPj4+kqTjx49LksuwI0kBAQEKCQlRSkqK0tPTFRQUpPPnzystLe2q/WrUqKHt27crKSlJTZo0ueq4GjVq5LL8yJEjioyMvPbEAAAAAJR5xXqF59NPP9WcOXPk5eWlyZMn28sLl6n29/e/Yt+AgABJUnp6ukOfq/X7dR8AAAAAv2/FdoXnwIEDGjx4sCzL0rRp0+zP8pQV+/btc1l+pSs/AAAAAMqfYrnCc/LkSXXv3l0pKSkaPXq04uLiHOoDAwMlXXph6ZVkZGRIkoKCghz6XK3fr/sAAAAA+H1ze+BJTk5Wt27dlJSUpKFDh+r11193alOrVi1J0okTJ1xuIyMjQ6mpqQoNDbWHl+DgYFWsWPGq/QrLa9euXeR5AAAAACj/3Bp4Lly4oHvvvVffffed+vTpo3/961+y2WxO7Ro0aCAfHx+dOXNGJ0+edKrfsWOHJDktPFB4W1xh/eVyc3O1d+9e+fr6Kioqyh3TAQAAAFDOuS3wZGdnq1evXvrmm290zz336MMPP5SHh4fLtn5+furcubMkadGiRU71CQkJkqT777/fobxHjx4O9ZdbuXKlsrKy1KVLF/n6+hZpLgAAAADM4JbAk5+fr4EDB2r9+vVq3769Fi9eLG9v76v2GT16tCRpypQpOnz4sL38q6++0ttvv62QkBA99thjDn3+8Ic/KDg4WMuWLdPixYvt5adPn9a4ceMkSWPGjHHHlAAAAAAYwC2rtM2aNUtLliyRJFWqVElPPvmky3avv/66KlWqJEnq0qWL4uLiNHPmTDVr1kxdu3ZVTk6O1q5dK8uyNHfuXIWEhDj0DwsL07vvvqv+/furb9++6tixo8LDw7Vu3TqlpqZq9OjR6tixozumBAAAAMAAbgk8KSkp9j8XBh9XJk2aZA88kvTGG2+oWbNmmjVrltauXStvb2916dJFzz//vNq0aeNyGw8++KA2bNigKVOmaOvWrcrJydGtt96qp556SrGxse6YDgAAAABD2CzLskp7EGVJ4Xt4rvSenpIUMX5Vie7v2NQeJbo/AAAA4FqKen5eLO/hAQAAAICygMADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMJZnaQ8A+C0ixq8q0f0dm9qjRPcHAAAA9+IKDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMBaBBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFiepT0AAAAAAL/BpIolvL+0kt2fm3GFBwAAAICxCDwAAAAAjEXgAQAAAGAsAg8AAAAAYxF4AAAAABiLwAMAAADAWAQeAAAAAMYi8AAAAAAwFoEHAAAAgLE8S3sAAIomYvyqEt3fsak9SnR/AAAARVEur/BkZmbqhRdeUFRUlHx9fVWtWjUNGzZMJ0+eLO2hAQAAAChDyl3gycrKUufOnTV58mRduHBBvXr1Us2aNTV37lw1b95cR48eLe0hAgAAACgjyl3gmTJlirZu3aro6GgdOnRIH330kb7++mvFx8frzJkzGjZsWGkPEQAAAEAZUa4CT05OjmbNmiVJeuuttxQYGGivGz16tJo0aaIvv/xS3377bWkNEQAAAEAZUq4Cz+bNm5WWlqbIyEg1b97cqb5v376SpBUrVpT00AAAAACUQeVqlbbdu3dLklq0aOGyvrB8z549JTYmAGUPK9cBAIBC5SrwHD9+XJJUo0YNl/WF5UlJSdfcVqNGjVyWHzhwQF5eXlesL0k//XKhRPfXaEXgtRuVMj4TZ3wmzvhMnB0u4c+kfpWy/5kAQLl1pmR/p2tR6Z4XHzlyRF5eXjfcv1wFngsXLn1z/f39XdYHBARIktLT0294HzabrUgf6G9x5MgRSVJkZKTLek4YnP0ePxOOk9/u9/iZcJzgelzrOAEKcayUcZVvKe0RSCq548TLy8t+nn8jylXgcad9+/aV9hDsV5HKwlhQdnGc4HpwnOB6cJzgenGs4HqUl+OkXC1aULgq28WLF13WZ2RkSJKCgoJKbEwAAAAAyq5yFXhq1aolSTpx4oTL+sLy2rVrl9iYAAAAAJRd5SrwNG3aVJK0Y8cOl/WF5U2aNCmxMQEAAAAou8pV4Gnbtq0qVqyoI0eOaNeuXU71CQkJkqT777+/hEcGAAAAoCwqV4HH29tbTz31lCRpxIgR9md2JGn69Onas2ePOnTooNtvv720hggAAACgDLFZlmWV9iB+i6ysLHXs2FFff/21br75ZrVv315JSUn6+uuvVblyZW3dulV169Yt7WECAAAAKAPKXeCRpMzMTL3yyitasGCBfvzxR4WFhal79+6aPHnyFV9KCgAAAOD3p1wGHgAAAAC4HuXqGR4AAAAA+C0IPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB43yszM1AsvvKCoqCj5+vqqWrVqGjZsmE6ePPmbt5WSkqK4uDjVrl1bPj4+ql27tkaNGqXU1FT3Dxwlyh3HSWpqqhYsWKCBAweqTp068vb2VlBQkO68807NnDlTubm5xTgDlAR3/j653OHDh+Xn5yebzaYuXbq4abQoLe4+To4dO6bhw4erTp068vHxUaVKlRQdHa1p06a5eeQoSe48TtauXasePXqocuXK8vLyUnh4uLp166YlS5YUw8hRUr799ltNnTpVffr0UY0aNWSz2WSz2W54e2XuPNaCW2RmZlqtW7e2JFk333yz1b9/f6tVq1aWJKty5crWkSNHrntbZ86cserVq2dJsurWrWv179/fatSokSXJioqKss6dO1eMM0FxctdxMmHCBEuSZbPZrObNm1sPPfSQ1blzZ8vHx8eSZLVr187KyMgo5tmguLjz98mvdezY0bLZbJYk6+6773bjqFHS3H2cfPrpp5a/v79ls9ms22+/3RowYIDVtWtXq2rVqlZkZGQxzQLFzZ3HyYwZM+z/9rRp08Z66KGHrDZt2th/pzz77LPFOBMUp169elmSnL5uRFk8jyXwuEnhCWh0dLSVnp5uL4+Pj7ckWR06dLjubT388MOWJKtPnz5Wbm6uvXzkyJGWJCs2NtaNI0dJctdx8te//tUaN26clZSU5FB+6NAhq1atWpYk65lnnnHn0FGC3Pn75HLvvPOOJcl64oknCDwGcOdxsn//fsvX19eqXLmytXnzZoe6/Px8a9u2be4aNkqYu46T06dPWz4+PpaXl5eVmJjoUPfll19aPj4+ls1mK9J/yKD0TJ061Xr++eet5cuXW6dOnbL/B+qNKIvnsQQeN8jOzrYqVqxoSbJ27NjhVN+kSRNLkrV9+/Zrbuunn36yKlSoYHl7e1s///yzQ11WVpZVuXJly8PDw/rll1/cNn6UDHceJ1ezYMECS5IVERFRpO2gdBTXcfLzzz9boaGhVteuXa0vvviCwFPOufs4uffeey1J1qpVq9w9VJQidx4nK1assCRZ99xzj8v6nj17WpKsjz76qMjjRum70cBTVs9jeYbHDTZv3qy0tDRFRkaqefPmTvV9+/aVJK1YseKa21qzZo0KCgrUvn17ValSxaHOx8dH999/v/Lz8/Xpp5+6Z/AoMe48Tq6madOmkqSffvqpSNtB6Siu4yQuLk6ZmZn6+9//7pZxonS58zj58ccf9dlnn6lu3bqKiYlx+1hRetx5nPj4+FzXPsPDw3/bIGGUsnoeS+Bxg927d0uSWrRo4bK+sHzPnj0lui2ULSX1vT169KgkqWrVqkXaDkpHcRwnn376qT766CM9++yzqlevXtEHiVLnzuMkMTFRBQUFatOmjfLy8vTxxx8rLi5OTz31lGbPnq2UlBT3DRwlyp3HSatWrRQSEqL169fryy+/dKjbsGGDPvvsM9WvX1/t27cv4qhRnpXV81jPEt2boY4fPy5JqlGjhsv6wvKkpKQS3RbKlpL63s6cOVOS1KtXryJtB6XD3cdJRkaGnnzySTVo0EB/+ctf3DNIlDp3HiffffedJCkwMFDt27fX1q1bHeonTJighIQEderUqShDRilw53FSsWJFzZkzR4MGDVKnTp3Upk0b1ahRQydOnNCWLVvUtm1bzZ8/X97e3u6bAMqdsnoeyxUeN7hw4YIkyd/f32V9QECAJCk9Pb1Et4WypSS+t7Nnz9a6desUEhKi8ePH3/B2UHrcfZw899xzSkpK0uzZszkRMYg7j5PCKzjvvPOODhw4oAULFig5OVkHDx7U4MGDlZycrAceeKDIS6Kj5Ln790mfPn20evVqhYeHa/Pmzfroo4+0efNmBQUFqVu3bqpevbp7Bo5yq6yexxJ4AENs3LhRcXFxstlsevfdd1WtWrXSHhJK2fbt2/Xmm2/q0UcfVceOHUt7OCijCgoKJEl5eXl6++23NXDgQIWGhioqKkr//ve/dccddygtLY3nv6D4+Hh16dJFd911l/bs2aMLFy5oz5496ty5s1544QX16dOntIcIuETgcYPAwEBJ0sWLF13WZ2RkSJKCgoJKdFsoW4rze7t371716tVLOTk5mjlzph544IEbHyhKlbuOk7y8PD3++OMKCQnR66+/7t5BotQVx787gYGB6tevn1P90KFDJcnpuQ2Ufe48ThITEzV27Fg1a9ZMixYtUuPGjRUQEKDGjRsrISFBzZo106pVq7R69Wr3TQDlTlk9j+UZHjeoVauWJOnEiRMu6wvLa9euXaLbQtlSXN/bH374Qd26dVNKSoomTZqkkSNHFm2gKFXuOk5OnDihXbt2qWrVqk4nsYVvuv7222/tV34SExNvfNAoce78fVLYplatWi7frB4RESFJOn369I0MFaXIncfJv//9b0nSAw88oAoVHP+/3MPDQ3369NGuXbu0YcMG3XvvvUUZNsqxsnoeS+Bxg8JlgHfs2OGyvrC8SZMmJbotlC3F8b09deqUunbtqlOnTikuLk4TJ04s+kBRqtx9nPz888/6+eefXdalpqbyv/bllDuPk8Lliq+0GltycrKk//3PLcoPdx4nhSeqFStWdFlfWM6qfr9vZfY8tkTf+mOoy1/stXPnTqf6G33x6K9fysSLR8s3dx4nlmVZycnJVuPGjS1J1tChQ62CggI3jxilwd3HiSu8eLT8c+dxkpuba4WHh1s2m806cOCAU/3jjz9uSbKGDRvmjqGjBLnzOHn00UctSdajjz7qsn7w4MGWJOuVV14p6rBRBrjjxaNl6TyWwOMmEyZMsCRZbdq0sS5cuGAvj4+PtyRZHTp0cGj/t7/9zWrQoIE1fvx4p209/PDDliTrwQcftHJzc+3lf/rTnyxJVmxsbHFNA8XMXcdJRkaGFR0dbUmy+vfvb+Xl5ZXE8FFC3Pn7xBUCjxnceZy8/PLL9mMiLS3NXr527VrLy8vLstls1tdff11sc0HxcddxsnjxYkuS5eHhYa1YscKhbunSpVaFChWsChUquAzNKH+uFXjK23ksgcdNMjMzrTvvvNOSZN18881W//797X+vXLmydeTIEYf2EydOvOI3/cyZM1ZkZKQlyYqMjLQeeugh67bbbrMkWfXr17fOnTtXQrOCu7nrOBk1apT9H55BgwZZsbGxLr9QPrnz94krBB4zuPM4ycnJsbp06WJJsqpUqWL16tXLatu2reXh4WFJsl5++eUSmhXczV3HSUFBgdWvXz9LkiXJatmypdWvXz+rZcuW9jKOk/Jr5cqV1p133mn/stlsliSHspUrV9rbl7fzWAKPG128eNF6/vnnrcjISMvb29uqWrWqNWTIEOvHH390anutE5Rz585ZI0eOtGrWrGl5e3tbNWvWtP70pz9ZKSkpxTsJFDt3HCexsbH2f2Cu9oXyy52/T36NwGMOdx4nOTk51quvvmo1atTI8vX1tYKDg63OnTs7/W8+yh93HScFBQXWnDlzrLvuussKCQmxPD09rUqVKlkxMTHW6tWrS2AmKC5z58695jnF3Llz7e3L23mszbIs6/qf+AEAAACA8oP38AAAAAAwFoEHAAAAgLEIPAAAAACMReABAAAAYCwCDwAAAABjEXgAAAAAGIvAAwAAAMBYBB4AAAAAxiLwAAAAADAWgQcAAACAsQg8AAAAAIxF4AEAAABgLAIPAAAAAGMReAAAAAAYi8ADAAAAwFgEHgAAAADGIvAAAAAAMNb/A1VKGlcRwOH2AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_histogram(fidelities)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "202601f9", "metadata": {}, "source": [ "Let's try out a few more qubit counts to see if we can get any more gains. The below code block calculates the average value of off diagonal elements for circuit dephts from 1 - 8. Better performance would entail an average off diagonal value closer to 0." ] }, { "cell_type": "code", "execution_count": 21, "id": "bedf6b3d", "metadata": {}, "outputs": [], "source": [ "mean_off_diags = []\n", "depth = 1\n", "for num_qubits in range(1, 9):\n", " circuits, fidelities = provider.supercheq(files, num_qubits, depth)\n", " off_diag = np.tril(fidelities, -1)\n", " mean_off_diags.append(np.mean(off_diag))" ] }, { "cell_type": "code", "execution_count": 22, "id": "d4a37458", "metadata": {}, "outputs": [ { "data": { "image/png": "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ny21cOFChIWFwdHREZcuXUKTJk1Qvnx5/P3332jXrp0mMhIREREpTXRxs3TpUqxYsQKLFi2CoaEhxo8fj0OHDmHkyJHIysrSREYiIiIipYkubtLS0tCsWTMAgImJCXJycgD8e4r45s2b1ZuOiIiISCTRxY2TkxOePHkCAKhcuTJOnz4NAEhJSUEpTrwiIiIiUgvRxU3r1q2xZ88eAEBYWBjGjBmDtm3bonfv3ujatavaAxIRERGJIfpsqRUrVkAmkwEAhg0bhvLly+PUqVPo3LkzBg8erPaARERERGKILm709PQUbofQp08f9OnTR62hiIiIiFSlVHFz5coV1KlTB3p6erhy5cpb+9arV08twYiIiIhUoVRx4+XlhYyMDDg4OMDLywsSiaTYxcMSiUR+Z3AiIiIibVCquElJSYG9vb3830RERERllVLFjaura7H/JiIiIiprRC8oPnLkCHbu3InU1FRIJBJUqVIFPXr0QIsWLTSRj4iIiEgUUde5GTJkCAICArB582Y8fvwYmZmZ2LhxI1q1aoURI0ZoKiMRERGR0pQubnbt2oU1a9Zg9erVePToERISEnD69GlkZmZi5cqVWLFihfzifkRERETaonRxs2bNGkRERCA0NBQSieT/B9DTQ3h4OEaPHo1Vq1ZpJCQRERGRspQubi5evPjW2yt069YNFy5cUEsoIiIiIlUpXdw8evQIFStWLPH1ihUr4vHjx2oJRURERKQqpYubgoIClCtXrsTXDQwMUFBQoJZQRERERKoSdSr4pEmTYGpqWuxreXl5aglEREREVBpKFzctWrRAcnLyO/sQERERaZPSxc2xY8c0GIOIiIhIPURdxI+IiIiorGNxQ0RERDqFxQ0RERHpFBY3REREpFOUKm66deuG7OxsAMD69euRn5+v0VBEREREqlKquNm7dy+eP38OAAgLC0NWVpZGQxERERGpSqlTwWvWrInIyEi0atUKgiBg27ZtsLS0LLZvcHCwWgMSERERiaFUcbNs2TKMHTsW+/btg0QiwXfffadwZ/DXJBIJixsiIiLSKqWKm+bNm+P06dMAAD09Pdy4cQMODg4aDUZERESkCtELitesWQMLCwuNhiIiIiJSlegFxeHh4cjJydFoKCIiIiJVcUExERER6RSlipvly5cjIiKCC4qJiIiozFOquGnWrJnCguLk5GQ4Ojpq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foqnT59qKg8RERFRqYheUFynTh38/fffmshCREREVGqii5vp06dj3Lhx2Lt3L9LT05Gdna3wICIiItIm0QuK27dvDwDo3LkzJBKJvF0QBEgkEkilUvWlIyIiIhJJdHFz9OhRTeQgIiIiUgvRxY2/v78mchARERGpheg1NwBw8uRJfP7552jWrBn++ecfAMCGDRsQHx+v1nBEREREYokubnbs2IHAwECYmJjg4sWLyM/PBwBkZWVhxowZag9IREREJIZKZ0stX74cK1euRLly5eTtzZs3x8WLF9UajoiIiEgs0cVNcnIyWrRoUaTdysoKz549U0cmIiIiIpWJLm6cnJxw69atIu3x8fGoWrWqWkIRERERqUp0cTNo0CCMGjUKZ86cgUQiwf3797Fx40aMGzcOQ4cO1URGIiIiIqWJPhV84sSJkMlkaNOmDfLy8tCiRQsYGRlh3LhxGDFihCYyEhERESlNdHEjkUjw7bff4uuvv8atW7eQm5sLT09PmJubayIfERERkSiiD0v99NNPyMvLg6GhITw9PdGkSRMWNkRERFRmiC5uxowZAwcHB/Tr1w+//fYb7yVFREREZYro4iY9PR1btmyBRCJBr169UKFCBQwbNgynTp3SRD4iIiIiUUQXNwYGBujYsSM2btyIhw8fYv78+UhNTUWrVq3g7u6uiYxEREREShO9oPi/TE1NERgYiKdPn+LOnTu4du2aunIRERERqUSlG2fm5eVh48aNaN++PVxcXBAbG4uuXbvizz//VHc+IiIiIlFEz9z06dMHe/fuhampKXr16oVJkybB19dXE9mIiIiIRBNd3Ojr62Pbtm0IDAyEvr6+wmtXr15FnTp11BaOiIiISCzRxc3GjRsVnufk5GDz5s348ccfceHCBZ4aTkRERFql0pobADhx4gRCQkJQoUIFzJkzB61bt8bp06fVmY2IiIhINFEzNxkZGVi7di1WrVqF7Oxs9OrVC/n5+di9ezc8PT01lZGIiIhIaUrP3HTq1Ak1atTAlStXEBsbi/v372PRokWazEZEREQkmtIzN/v378fIkSMxdOhQVKtWTZOZiIiIiFSm9MxNfHw8cnJy4O3tDR8fHyxevBiPHj3SZDYiIiIi0ZQubpo2bYqVK1ciPT0dgwcPxpYtW+Ds7AyZTIZDhw4hJydHkzmJiIiIlCL6bCkzMzOEh4cj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.bar(range(1, 9), mean_off_diags)\n", "plt.xlabel(\"Numer of Qubits\")\n", "plt.ylabel(\"Average Off Diagonal Value of Fidelity Matrix\")\n", "plt.title(\"Scaling Fingerprinting with Qubit Count\");" ] }, { "attachments": {}, "cell_type": "markdown", "id": "948cdb75", "metadata": {}, "source": [ "It seems like increasing the number of qubits is more powerful than increasing circuit depth for these circuits. The average value of off diagonal terms consistently decrease and tends towards 0. Below is the fidelity heatmap for 8 qubits. All the off diagonal elements are very close to 0 and virtually indististinguishable." ] }, { "cell_type": "code", "execution_count": 23, "id": "f3d423af", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_heatmap(fidelities)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "71c10110", "metadata": {}, "source": [ "## Supercheq on files" ] }, { "attachments": {}, "cell_type": "markdown", "id": "ae649f48", "metadata": {}, "source": [ "Similar execution can be done with files instead of bitstrings" ] }, { "cell_type": "code", "execution_count": 24, "id": "3d3ad34f", "metadata": {}, "outputs": [], "source": [ "def encode_files(files: list[str]) -> list[list[int]]:\n", " \"\"\"Takes a list of files and encodes them as a list of lists of ones and zeroes.\"\"\"\n", " encoded_files = []\n", " for i in files:\n", " with open(i) as f:\n", " lines = f.read()\n", " f.close()\n", " res = \"\".join(format(ord(j), \"08b\") for j in lines)\n", " encoded_file = []\n", " for k in res:\n", " encoded_file.append(int(k))\n", " encoded_files.append(encoded_file)\n", " return encoded_files" ] }, { "cell_type": "code", "execution_count": 25, "id": "5a348a49", "metadata": {}, "outputs": [], "source": [ "files = [\n", " \"static/file.txt\",\n", " \"static/file1.txt\",\n", " \"static/file2.txt\",\n", " \"static/file3.txt\",\n", " \"static/file4.txt\",\n", " \"static/file5.txt\",\n", " \"static/file6.txt\",\n", " \"static/file7.txt\",\n", " \"static/file8.txt\",\n", " \"static/file9.txt\",\n", " \"static/file10.txt\",\n", " \"static/file11.txt\",\n", " \"static/file12.txt\",\n", " \"static/file13.txt\",\n", " \"static/file14.txt\",\n", " \"static/file15.txt\",\n", " \"static/file15.txt\",\n", " \"static/file16.txt\",\n", " \"static/file17.txt\",\n", " \"static/file18.txt\",\n", " \"static/file19.txt\",\n", " \"static/file20.txt\",\n", "]" ] }, { "cell_type": "code", "execution_count": 26, "id": "11b7c935", "metadata": {}, "outputs": [], "source": [ "encoded_files = encode_files(files)" ] }, { "cell_type": "code", "execution_count": 27, "id": "a5206846", "metadata": {}, "outputs": [], "source": [ "num_qubits = 3\n", "depth = 1\n", "circuits, fidelities = provider.supercheq(encoded_files, num_qubits, depth)" ] }, { "cell_type": "code", "execution_count": 28, "id": "f679ac97", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "22\n", "(22, 22)\n" ] } ], "source": [ "print(len(circuits))\n", "print(fidelities.shape)" ] }, { "cell_type": "code", "execution_count": 29, "id": "6e3175a3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
        ┌───┐         \n",
       "q_0: ───┤ I ├─────────\n",
       "     ┌──┴───┴───┐┌───┐\n",
       "q_1: ┤1         ├┤ I ├\n",
       "     │  Unitary │├───┤\n",
       "q_2: ┤0         ├┤ I ├\n",
       "     └──────────┘└───┘
" ], "text/plain": [ " ┌───┐ \n", "q_0: ───┤ I ├─────────\n", " ┌──┴───┴───┐┌───┐\n", "q_1: ┤1 ├┤ I ├\n", " │ Unitary │├───┤\n", "q_2: ┤0 ├┤ I ├\n", " └──────────┘└───┘" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circuits[0].draw(fold=-1)" ] }, { "cell_type": "code", "execution_count": 30, "id": "9809adae", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
     ┌──────────┐┌───┐\n",
       "q_0: ┤0         ├┤ I ├\n",
       "     │  Unitary │├───┤\n",
       "q_1: ┤1         ├┤ I ├\n",
       "     └──┬───┬───┘└───┘\n",
       "q_2: ───┤ I ├─────────\n",
       "        └───┘         
" ], "text/plain": [ " ┌──────────┐┌───┐\n", "q_0: ┤0 ├┤ I ├\n", " │ Unitary │├───┤\n", "q_1: ┤1 ├┤ I ├\n", " └──┬───┬───┘└───┘\n", "q_2: ───┤ I ├─────────\n", " └───┘ " ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circuits[1].draw(fold=-1)" ] }, { "cell_type": "code", "execution_count": 31, "id": "73df8bd9", "metadata": {}, "outputs": [ { "data": { "image/png": "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Ds2yFOe6667TggULlJ2dreLiYh0/flzvvPOOunfvrvfff18//elPGxyruLhYkhQQEOD0eGBgoCTpwoULVz9xAAAAoIVqlo791KlTa/0cGBion/zkJ/rhD3+oG264QatXr1Z6erpuvvnm5piesrOznY7HxMTo6LFCN88GAACgdXPIPReouvJVlDxDizp5tmvXrpo2bZok6aOPPmrQY6qX7JSWljo9XlJSIkkKDg52wQwBAACAlqnFbeweGRkpScrPz2/Q/Xv06CFJOnHihNPj1eMREREumB0AAACahDX2xrWojr0kFRUVSfrX2vj6xMXFSZL27t2rS5cu1TmemZkpSYqNjXXRDAEAAICWp0UV9pZlKS0tTdK/tqmsT69evdSvXz9dvHhR69atq3M8NTVVkjRu3DjXTRQAAACN4pZ97D2c2wv7goICvfrqq3V2qSkuLtajjz6qnTt3qkuXLpo0aVKt4xkZGYqOjtaPfvSjOjETExMlSbNnz9bp06drxletWqUPPvhA1113nSZMmGDg2QAAAAAtg0vW2K9bt07z5s2r+bmiokKSau1qk5SUpLFjx6qkpESPP/64nnrqKQ0ePFhdu3ZVQUGBMjMzdebMGYWEhCg1NbXO9pWlpaXKyclRWVlZnfzTp0/X+vXrlZaWVlP8FxYWauvWrfL399fbb7+tNm1a3OkEAAAAnsOipW6aS6rdgoIC7dy5s874d8cKCgokSR06dNCTTz6p9PR0HTx4UDt27JC3t7d69eqlhIQE/epXv1L37t0bld/Ly0vvvfeeUlJStHTpUn344YcKDAzU5MmT9Yc//EHXX3/91T1BAAAAoIVzSWGfkJCghISEBt03ODhY8+fPb3SOESNGyPqev/S8vb2VmJhYsywHAAAA8CSsTwEAAIBZ7jq51cNX+7SoXXEAAAAANA0dewAAAJjn4d10d6BjDwAAANgAHXsAAAAY56hq7hnYHx17AAAAwAbo2AMAAMA81tgbR8ceAAAAsAE69gAAADDOLfvYezg69gAAAIAN0LEHAACAWZYkyw0tew//VoCOPQAAAGADFPYAAACADbAUBwAAAMZx8qx5dOwBAAAAG6BjDwAAAPPo2BtHxx4AAACwATr2AAAAMMoh96yxd5hP0aLRsQcAAABsgI49AAAAzHPHBao8HB17AAAAwAbo2AMAAMA49rE3j449AAAAYAN07AEAAGCWJffsY+/h3wrQsQcAAABsgMIeAAAAsAGW4gAAAMA4Tp41j8K+kbzKLitw93GjOfIfiDMaX5KC8iuN55CkgA17jOf48evnjefYMG+48Rz9XjhnPIe7ePn6GM8R+o8i4zlOzYg3nqPruznGc0iSVVxiPIcjONh4jqqO7YzniHllhvEc7pL9xGvGc/TuN914jsgH3HM90ZAvK4zn8D77tbHYjkr3/NuOlovCHgAAAIZZUhVnz5rGGnsAAADABujYAwAAwDzPbqa7BR17AAAAwAbo2AMAAMA4dsUxj449AAAAYAN07AEAAGCWJclyQ8vew78VoGMPAAAA2AAdewAAABjHGnvz6NgDAAAA/+bixYt65plnFBUVpbZt26pbt26aPn26Tp482eAY586d04oVK3TfffepV69e8vX1VXBwsG666SalpKTo0qVLLp0zHXsAAADgO8rKyjRy5Eilp6era9eumjBhgo4ePaply5bpww8/VHp6unr37l1vnAULFuj555+Xw+HQjTfeqJtuukkFBQXavn27MjIylJqaqo8//lgBAQEumTcdewAAAJhnueHmIs8995zS09MVHx+vgwcP6t1339XOnTu1cOFCFRQUaPr06Q2KExgYqNmzZ+vo0aPKzMzUn//8Z/3tb3/TF198oR49euh///d/9dxzz7ls3hT2AAAAwLcqKiq0ePFiSdKrr76qoKCgmmOJiYmKjY3V1q1btWvXrnpjzZkzR//xH/+hHj161BqPjIzU/PnzJUkrV6502dwp7AEAAGCcw7KM31xh+/btOn/+vPr06aP+/fvXOT5lyhRJ0tq1a68qT1xcnCTpq6++uqo430VhDwAAAHxrz549kqQBAwY4PV49npWVdVV5Dh8+LEnq0qXLVcX5Lk6eBQAAgHlV7kmTm5urmJgYp8eys7PrffyxY8ckSeHh4U6PV4/n5eU1cYbfSElJkSRNmDDhquJ8Fx17AAAA4FvFxcWSdMWdagIDAyVJFy5caHKO119/XZs2bVJISIieeuqpJsf5d3TsAQAAYJTDksvWwNeXp0+fPg3qzDeXbdu2aebMmXI4HFq6dKm6devmstgu6djv2rVL8+fP16RJkxQeHi6HwyGHw3HF+1cf/77byJEjG5w/ISHhe2O9/vrrrniaAAAAsLnqXXBKS0udHi8pKZEkBQcHNzr23r17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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_heatmap(fidelities)" ] }, { "cell_type": "code", "execution_count": 32, "id": "cc171b13", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzwAAAJqCAYAAADuVkWwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAABcSAAAXEgFnn9JSAABUx0lEQVR4nO3deVhV1eLG8feIAsooYE6kmIKVOeSUs2hoBqWGOGahZl1LS9Ou0WBaWlk5ZGn39lyn9Jda4ZSalmRmqXgdUpNyyBKHTEkGAWUQ9u8PH86VzsGJwwF238/z8Dyx1l57rXXc0H7Ze69tMQzDEAAAAACYUIXSHgAAAAAAlBQCDwAAAADTIvAAAAAAMC0CDwAAAADTIvAAAAAAMC0CDwAAAADTIvAAAAAAMC0CDwAAAADTIvAAAAAAMC0CDwAAAADTIvAAAAAAMC0CDwAAAADTqljaAyhratSooczMTNWpU6e0hwIAAAD87R0/flweHh76448/bqo9V3j+IjMzU7m5uaU9DAAAAACScnNzlZmZedPtucLzFwVXdhISEkp5JAAAAAAaNWpUrPZc4QEAAABgWgQeAAAAAKZF4AEAAABgWgQeAAAAAKZF4AEAAABgWgQeAAAAAKbFstQAAAAlwDAMGYZR2sMAyhSLxSKLxeLUPgk8AAAADpKfn6+0tDSlpKQoOzu7tIcDlElubm6qWrWqfHx8VKFCyd9wRuABAABwAMMw9McffygtLa20hwKUadnZ2frjjz+UlZWlGjVqlPgVHwIPAACAA6Snp1vDzi233CJvb2+5uLiU8qiAsiUvL0/nz5/X2bNnlZqaKg8PD3l7e5donwQeAAAABzh//rwkyc/PT/7+/qU8GqBsqlChgvz9/XXp0iUlJycrPT29xAMPq7QBAAA4wIULFyRJXl5epTwSoOwr+DnJzMws8b4IPAAAAMVkGIby8vIkXX4gG8DVFfyc5OXllfhqhgQeAACAYrryhM3ZS+4C5dGVPycEHgAAAAC4SQQeAAAAAKZF4AEAAABgWgQeAAAAAKbFe3gAAACcJChmXWkP4bocmxrh8H0mJyfrvffe09q1a3X06FFlZWWpRo0a6tSpk0aMGKG2bdvabbd792698MIL+u9//2t9setvv/2moKAgZWZm6oUXXtDKlSt1+vRp5eXlaeLEiZo0aVKR45g0aZJeffXVQmWenp7y9fXVHXfcoXbt2mnIkCEKCgq6avsFCxZoyJAhN/NRmJbFYlHdunV17Nix0h5KIQQeAAAAlKivv/5affv2VUpKivz9/dWxY0dVqVJFP//8sxYtWqRFixZp9OjRmjFjhipU+N8NSOnp6erZs6dOnz6t0NBQ3XrrrbJYLPL09JQkvfDCC3r//ffVoEED9evXT66urmrWrNl1jalp06bWbbOysnTmzBnt2LFDGzdu1OTJkzV69GhNnTpVrq6ujv444GQEHgAAAJSYnTt3Kjw8XLm5uXrttdcUExOjSpUqWeu///57DRw4ULNmzZKLi4umT59eqO3vv/+uRx55RIsWLbLZ96pVq1S5cmX98MMP1hB0vXr37m1zJejSpUtatmyZxowZo5kzZ+rMmTP6+OOPC20zatQoDRgwQDVr1ryh/lB6eIYHAAAAJcIwDEVHRysnJ0cTJ07UhAkTCoUdSerQoYO++uorubu7a+bMmYqPj7fWnTx5UpJ022232d3/yZMndcstt9xw2ClKxYoVNXjwYH3//ffy9PTUkiVL9PnnnxfaJiAgQLfffrt8fHwc0idKHoEHAAAAJWL9+vX6+eefVatWLb344otFbnfHHXdo5MiRMgxDM2bM0LFjx2SxWBQdHS1JevXVV2WxWGSxWDRkyBCFhobKYrHIMAwlJiZa6xz10tfbb79dY8aMkSS99957heomTZoki8WihQsXFir/5ZdfNGnSJLVt21Y1atSQq6urAgMD9eijj+rw4cNF9vXtt9+qa9eu8vLyUtWqVRUeHq5du3Zp4cKFslgsdp9HOnfunP75z38qODhY7u7u8vPzU48ePfTVV1/Z7cNisSgoKEh5eXl66623FBISIjc3N9166616/vnnlZ2dbdNm7969Gj9+vFq0aKFq1arJzc1Nt912m5566in9/vvvV/8AyxiHBZ4ZM2YoMjJSwcHB8vHxkZubm+rWratHH31UP/74o832BQdLUV8xMTFF9rV161aFh4fLz89Pnp6eat26td3LnAAAACg969ZdXqShb9++Nld2/urhhx+WJH311VeqUqWKoqOj1b59e0mXn7eJjo5WdHS0OnTooB49eljDkIeHh7WuoMwRBgwYIEnatm2bcnJyrrn93Llz9dprrykzM1OtWrVSz5495e3trcWLF6tVq1bav3+/TZsVK1bo3nvv1TfffKO77rpLPXr00PHjx9WhQwft2LHDbj+nTp1S69atNW3aNOXk5Kh37966++67FRcXp/vuu08zZ84scoyDBg3SlClT1LBhQ3Xv3l3p6el6++239dhjj9lsO3XqVOu+OnTooPDwcBmGoX/9619q2bJluQo9DnuG54033lBmZqaaNGmixo0bS5ISEhK0ePFiLVu2TCtWrNADDzxg0659+/Zq0KCBTXmLFi3s9rN8+XL1799f+fn56tSpkwICAvT1118rOjpa+/fv17Rp0xw1pVLn7JVcSmJFFgAA8Pe1b98+SVLLli2vuW3jxo3l6uqqtLQ0paena+HChVq4cKG2bt1q93kbSfroo48UEBBgc7XFEe644w65ubnp4sWLOnbsmEJCQq66fe/evfWPf/xD9erVK1S+YMECDRs2TGPGjNGmTZus5efPn9fjjz+uvLw8ffzxxxo0aJC17pVXXtHkyZPt9jNixAj9+uuvGjRokBYsWGBdVOH777/Xfffdp3/+85/q0qWLzeINiYmJqlKlio4cOaIaNWpIurzaXfPmzfXxxx/r1VdfVf369a3b/+Mf/9CsWbNUvXp1a1l+fr6mTJmiiRMn6uWXX9b8+fOv+pmUFQ67wrN69WqlpKRox44dWrFihVasWKFDhw5pzpw5ys3N1fDhw3Xp0iWbdsOHD7ce0Fd+9e3b12bb5ORkDRs2THl5eYqNjdXmzZsVGxurgwcPqkGDBpo+fbo2b97sqCkBAACgGM6dOydJqlat2jW3rVixoqpWrSpJ+vPPP0t0XNejQoUK1vGkpKRcc/s2bdrYhB1JGjp0qNq3b6/Nmzdbl9WWpE8//VTJycm69957C4Ud6XLgqVu3rs2+fv31V61du1aenp56//33C60g16FDB40YMUJ5eXmaM2eO3TG+99571rAjSfXq1dPgwYMlSd99912hbbt06VIo7EiXP5NXXnlFtWvXtnm2qSxz2BWegkuOf/XUU09pxowZOnr0qH766Sc1adLkpvuYO3euzp8/r169eikyMtJaXr16db399tuKjIzU9OnTFRoaetN9AAAAANLlRRckXfezQRkZGVqzZo327t2r5ORk5ebmSpJOnz4twzB09OhRNW/eXNLlRzQk2f0jf8WKFdWnTx/NmDGjUPn3338vSerRo4f8/Pxs2j3yyCOaMWOGTXiRpEqVKqlLly425QVXrk6fPm1Td+7cOX3++ec6cOCAUlNTlZeXJ0nKzc3VuXPnlJycbHccZY1TlqUuuGezuOuYF9wHGhUVZVMXEREhd3d3xcXFKSsrS+7u7sXqCwAAAMXj7+8vSUpKSrrmtpcuXbJeSQkICLjpPu29DLR3797q3bv3De0nPz/fOp7rOanftGmTBgwYcNW5pqenW/+7IGDceuutdretU6eOTVnBczNFvRS1oPzUqVM2dTVq1JCLi4tNuZeXlyTZLFywdOlSPfHEE8rIyLDbl3R5PuUh8JT4Km2LFy/WoUOHFBwcrODgYJv6TZs2acyYMRoxYoSmTJmi3bt3F7mvgvtAC5LxlVxdXXXXXXcpKyvrqithAAAAwDmaNm0qSdq1a9c1tz1w4IBycnLk4+Nj99aw6/XRRx/ZfO3du/eG95OQkKCcnBxVqVKlyIBRICMjQ/369dOff/6pV155RT/99JMyMzOVn58vwzA0cOBASf+7YlRSrnYl6soXul5LYmKihgwZopycHL377rs6cuSILly4IMMwZBiG2rZtK6nk5+MoDr/C88477yghIUGZmZn6+eeflZCQoFq1amnp0qV2U+XixYsLfT9hwgT16dNHCxcuLLSm+vnz5633PQYGBtrtOzAwULt27VJiYuI1b51r1KiR3fKjR48WemALAAAANyc8PFwffPCBYmNj9c4771x1pbYlS5ZIkrp3735DJ+d/5aiT8E8++UTS5WdjKla8+inzd999p3PnzikqKkqvvvqqTf2vv/5qU1bw4tITJ07Y3ae98lq1akm6HEjsOXbsmCSpdu3aVx3vtXzxxRfKycnRc889p9GjR9vU25tPWebwKzxffvmlPvroI8XGxiohIUF169bV0qVLbVZda9CggaZNm6aEhARlZGToxIkT+vjjj1W7dm0tX75cjzzySKHtr7ycVqVKFbt9e3h4SCp8uRAAAACl4/7779ftt9+uU6dOaerUqUVud+jQIc2ePVsWi0Vjx4514gjtO3jwoN59911JsnvC/1cFt77Z+6P8L7/8oj179tiUFzz/vnz5cpu6vLw8rVixwqa8Q4cOkqQNGzYoNTXVpv7//u//JEkdO3a85piv5mrz2bJli86cOVOs/TubwwNPXFycDMNQSkqKtmzZouDgYHXu3Fmvv/56oe0GDx6scePG6c4775SHh4cCAwM1aNAg7dy5U/7+/lq1alWhN+06WkJCgt0vru4AAAA4RoUKFbRo0SK5urpq4sSJeuONN2xW7d22bZu6deumixcvasyYMWrTpk0pjfbyc0Qff/yxOnbsqMzMTD366KMKDw+/ZruCB/9XrFhR6Bme1NRUPfbYY9bFC67Ut29f+fn5aePGjVq2bFmhuilTpui3336zaXPbbbcpIiJC6enpGj16dKH9bt++Xf/617/k4uKikSNHXvecrzaf//u//1NmZqa1/NSpUxoxYkSx9l0aSuwZHl9fX3Xs2FFffPGFWrRooQkTJmjnzp3XbFezZk0NHTpU0uX0WuDK29suXLhgt23BP0jBw1cAAAAoXa1atdK6devk6+url156STVr1lSvXr00YMAANWvWTO3bt9eJEyf09NNPO/V9iqtWrdKQIUM0ZMgQDRgwQPfee6/8/f01ePBgJScna9y4cZo7d+517atly5bq1q2bjh8/rpCQED300EN66KGHVK9ePf3+++/q1auXTRsfHx/95z//kYuLiwYOHKh27dpp0KBBaty4sd544w098cQTkmwX/frwww9Vr149LVq0SMHBwRo4cKDCwsKsIe3tt9+2eQfPjerZs6caNWqkXbt2qUGDBoqKitIDDzygkJAQVa1aVe3atSvW/p2txFdpq1Spkvr376/du3drzZo1atWq1TXbFCxucOXyeN7e3vLx8VFaWppOnjypO++806bdyZMnJcnuuuUAAACl7e/6ku+wsDAdOXJE7733ntasWaPNmzcrOztb1atX1yOPPKInn3zS+iC8s+zbt8+6IJaHh4d8fX11zz33qH379hoyZMgNn0+uXr1ar7/+uj799FOtX79et9xyiwYMGKApU6Zo3LhxdttERkYqLi5Or776qnbu3KmEhAS1adNG8+bN08aNGyX9b6W7ArVr19bOnTv15ptvatWqVVqxYoWqVKmie++9V+PGjVP37t1v4tMozNXVVd99951eeuklrV+/XmvXrlXt2rX19NNP65VXXrmuq15licVwwvIKBW+YHTFihP71r39dc/u33npLMTExevbZZwutP965c2dt2bJFixcvtr4kqUBubq68vb0lXb7v8GaXpS5YzCAhIeGm2jtSUMw6p/b3d/0lDABAceXn5+vQoUOSpIYNGxbroXtAuvyunS+//FLx8fG65557Sns4DncjPzPFPT93yk/jt99+K0nX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QGxsrBYtWmS3zYgRIyRdDldpaWnW8sTERL322mt224wcOVIVKlTQe++9V+g2wZycHD399NO6ePGiIiMji3w26HqFhIQoJSVFn3zySaHymTNnXtd7icoaFi0AAABAiWnVqpXWrVunfv366aWXXtLMmTPVrl07Va5cWQcPHrS+q+fpp5/WtGnTnDauIUOGSJLy8/N1/vx5HT58WAcPHpRhGAoODtaSJUvUuHHj69rX+PHjtWHDBsXExOizzz5TSEiIjhw5ol27dum5556zO69//vOfWrduneLj41W/fn116dJF2dnZ2rRpk+69995CK6IVaN26tSZPnqyXXnpJbdu2VWhoqAICArR161adOHFCwcHBmjNnTrE/mxdeeEGDBw/WgAEDNGfOHAUGBmrfvn06ePCgnn32Wc2cObPYfTgTgQcAAMBZJqVdexsTCgsL05EjR/Tee+9pzZo12rx5s7Kzs1W9enU98sgjevLJJ6/r1jFHKljMoGLFivL29latWrX06KOPqlevXurZs6f1mZXr0alTJ33//fd66aWX9MMPP+jw4cNq3Lixli9frubNm9sNPG5ubtq4caMmT56sZcuW6fPPP1dgYKDGjRunF154Qb6+vtZV7q704osvqmnTppo5c6Z27typixcvqk6dOho/frxiYmKs7zIqjocfflhVq1bV5MmTtXfvXv34449q2bKlPvjgAxmGUe4Cj8UoT0ssOEGjRo0kSQkJCaU8EikoZp1T+zs2NcKp/QEAYBb5+fnW1bgaNmx40w/dA5IUHx+vtm3bqkePHlq/fn1pD6dE3MjPTHHPz/lpBAAAAErBDz/8oPz8/EJlv/76q/7xj39IkgYPHlwawzIdbmkDAAAASsHAgQOVlpamxo0by9/fX8ePH9fu3buVnZ2tnj17atCgQaU9RFMg8AAAAACl4Omnn9ann36q/fv3Kzk5We7u7mrWrJkGDx6sESNGXPVForh+BB4AAACgFIwcOVIjR44s7WGYHs/wAAAAADAtAg8AAAAA0yLwAAAAFNOVz1rwxg/g2q78OSnpZ5UIPAAAAMVksVisL6rMzs4u5dEAZV/Bz4mLiwuBBwAAoDyoUqWKJCk9Pb2URwKUfQU/Jx4eHiXeF6u0AQAAOIC3t7fS09OVnJysihUrytvb23rVB8BleXl5On/+vJKTkyVJXl5eJd4ngQcAAMAB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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_histogram(fidelities)" ] } ], "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.9.16" }, "vscode": { "interpreter": { "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" } } }, "nbformat": 4, "nbformat_minor": 5 }