{ "cells": [ { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:12:17.545921Z", "end_time": "2023-12-28T01:12:17.561563Z" } }, "outputs": [], "source": [ "from qrem.cn import simulation as cnsimulation \n", "from qrem.mitigation import mitigation_routines\n", "from qrem.benchmarks import hamiltonians\n", "from qrem.characterization import characterization_routine\n", "from datetime import date\n", "from qrem.providers import simulation as simulate_experiment\n", "from qrem.qtypes.characterization_data import CharacterizationData\n", "from qrem.qtypes.mitigation_data import MitigationData\n", "from qrem.visualisation import benchmark_plots_functions" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# Tutorial overview\n", "\n", "Currently available noisy intermediate scale quantum (NISQ) devices are prone to errors. QREM is a software package allowing to characterize and mitigate readout occurring on large scale devices. The emphasis is put on diagnostics and mitigation of correlated and non-local error errors occurring in these devices.\n", "\n", "The purpose of this tutorial is to demonstrate the basic workflow of the QREM package. We will cover:\n", "\n", "1. [Preparation of experiments characterizing readout noise](#Part1)\n", "\n", "\n", "2. [Execution of the experiments on simulators/real quantum hardware](#Part2)\n", "\n", " 2.1 [Initial steps](#Part2)\n", " \n", " 2.2 [Experiment preparation](#Part22)\n", " \n", " 2.3 [Experiment implementation](#Part23)\n", " \n", "\n", "3. [Analysis of the experimental data](#Part3)\n", "\n", " 3.1 [3.1 Basic postprocessing of the experimental results into QREM data format](#Postprocessing)\n", " \n", " 3.2 [Addition of correlated readout noise (optional, only for simulator experiments)](#NoiseAddition)\n", " \n", " 3.3 [Marginals computation](#Part33)\n", " \n", " 3.4 [Calculation of reduced POVMs](#Part34)\n", " \n", " 3.5 [Calculation of POVM distances](#POVMsDistances)\n", " \n", " 3.6 [Quantification of POVMs coherences](#POVMsCoherences)\n", " \n", " 3.7 [Calculation of correlation coefficients](#CorrelationCoefficients)\n", " \n", " 3.8 [Plotting correlation coefficients](#PlottingCorrelationCoefficients)\n", "\n", "\n", "4. [Reconstruction of a noise model from the experimental data](#Reconstruction)\n", "\n", " 4.1 [Finding Clusters](#FindingClusters)\n", " \n", " 4.2 [Computing noise matrices](#NoiseMatrices) \n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## 1. Preparation of experiments characterizing readout noise\n", "\n", "The first step in experiment preparation is creation of characterization circuits. \n", "This requires specifying the following parameters: \n", "\n", "1. number_of_qubits - a variable describing number of qubits for which characterization is going to be performed. Note that number_of_qubits is not necessarily equal to the total numbers of qubits in a device, as one may be interested in characterization only a subset of all qubits. In the example below we set number of qubits to 10\n", "\n", "2. experiment_name - a string specifying a typ of readout characterization experiment to be performed. QREM supports two types of characterization experiments Quantum Detector Overlapping Tomography ('QDOT') or Diagonal Detector Overlapping Tomography ('DDOT'). Here we choose 'QDOT'. \n", "\n", "3. Number of characterization circuits: number of circuits that are created to perform characterization.\n", "\n", "4. Number of shots (number of each circuits repetition)\n", "\n", "5. include_benchmark_circuits - a bool variable indicating whether the experiment should include circuits that are going to be used in noise model reconstruction and mitigation benchmarks \n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:12:17.561563Z", "end_time": "2023-12-28T01:12:17.730282Z" } }, "outputs": [], "source": [ "\n", "number_of_qubits = 10\n", "\n", "experiment_type = \"DDOT\"\n", "\n", "number_of_circuits = 200\n", "\n", "number_of_shots = 10**4\n", "\n", "include_benchmark_circuits = True\n", "\n", "number_of_benchmark_circuits = 10\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:12:17.604137Z", "end_time": "2023-12-28T01:12:17.730282Z" } }, "outputs": [], "source": [ "\n", "number_of_4_qubit_clusters = 0\n", "\n", "number_of_3_qubit_clusters = 0\n", "\n", "number_of_2_qubit_clusters = 5\n", "\n", "number_of_1_qubit_clusters = 0\n", "\n", "clusters_specification = [[4,number_of_4_qubit_clusters], [3,number_of_3_qubit_clusters], [2, number_of_2_qubit_clusters], [1, number_of_1_qubit_clusters]]" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:12:17.632251Z", "end_time": "2023-12-28T01:12:17.730282Z" } }, "outputs": [], "source": [ "\n", "noise_model_simulation=cnsimulation.create_random_noise_model(number_of_qubits=number_of_qubits,clusters_specification=clusters_specification)\n", "\n", "\n", "marginals_to_mitigate=list(noise_model_simulation.clusters_tuple) \n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:12:17.674727Z", "end_time": "2023-12-28T01:12:17.730282Z" } }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 23, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:12:17.675738Z", "end_time": "2023-12-28T01:12:17.730282Z" } }, "outputs": [], "source": [ "\n", "\n", "\n", "characterization_data_container = CharacterizationData()\n", "\n", "characterization_data_container.experiment_type = 'DDOT'" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:12:17.699015Z", "end_time": "2023-12-28T01:13:01.816457Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING: Possible count of random circuits (200) is lower than desired total circuit count (1315).\n", "10\n", "completeness: True\n", "Adding 190 random circuits to a 10-element set\n", "Set of 200 circuits, completeness: True\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "WARNING: repeated circuit\n", "\u001B[36m\u001B[1mSaving pickled file to: \u001B[0m '.'\n", "\u001B[36m\u001B[1mSaving pickled file to: \u001B[0m '.'\n", "noiseless results saved\n", "noisy results generated in: 17.002562046051025 seconds\n", "\u001B[36m\u001B[1mSaving pickled file to: \u001B[0m '.'\n", "\u001B[36m\u001B[1mSaving pickled file to: \u001B[0m '.'\n" ] } ], "source": [ "if include_benchmark_circuits:\n", " \n", " hamiltonians_dictionary, circuits_ground_states = hamiltonians.create_hamiltonians_and_ground_states(number_of_qubits=number_of_qubits,number_of_benchmark_circuits=number_of_benchmark_circuits)\n", "\n", "characterization_data_container.results_dictionary = simulate_experiment.simulate_noisy_experiment(noise_model=noise_model_simulation,number_of_circuits=number_of_circuits,number_of_shots=number_of_shots,save_data=True,new_data_format=True,ground_states_circuits=circuits_ground_states,data_directory='').counts\n", "\n", "characterization_data_container.ground_states_list = list(characterization_data_container.results_dictionary)[-number_of_benchmark_circuits:]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:13:01.816457Z", "end_time": "2023-12-28T01:13:05.456247Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001B[36m\u001B[1mMARGINALS COMPUTATION FINISHED\u001B[0m\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 55/55 [00:00<00:00, 1760.15it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\u001B[36m\u001B[1mREDUCED POVMS COMPUTATION FINISHED\u001B[0m\n", "\u001B[31m\u001B[1m\n", "Calculating errors of type:\u001B[0m ('worst_case', 'classical')\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 10/10 [00:00", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAikAAAGzCAYAAADqhoemAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9X0lEQVR4nO3deXQUZfr28asT0h22JGhIAjESwiIgmwaIYRHQSBREHXVA0LDIpuKCeUVZFIioiCgwCoiiqKOiiMuMowwuCD9ccFBkcQFEVgdNAJEkBEgkud8/POmhydphSRG+n3M4h376qaq7+qmqvrq6uuIyMxMAAIDDBFR2AQAAAMUhpAAAAEcipAAAAEcipAAAAEcipAAAAEcipAAAAEcipAAAAEcipAAAAEcipAAAAEcipJwBYmNjdeWVV5bZb/ny5XK5XFq+fPnJL+oM8eKLL8rlcmn79u3etm7duqlbt26VVhNOjEGDBik2NvaUL3f79u1yuVx68cUXT/mygVPtjA0p33//vW666SZFR0fL4/Gofv36uvHGG/X9999XdmmOsmDBAs2cObPc/WNjY+Vyubz/IiIi1KVLF73zzjtF+pqZXn75ZV188cUKCwtTjRo11KpVKz344IPKycnx9nv77bflcrn03HPPlbjcjz76SC6XS08++aSkP99AXC6XQkJCdOjQoSL9N2/e7K3x8ccfL/f6VZYvvvhCkyZN0v79+yu7lBPC3+3qTMRrhLL88MMPmjRpks+HoCrHzkBvvfWWud1ui4qKsvHjx9tzzz1n999/v9WrV8/cbre9/fbblV3iCdWgQQPr1atXmf3y8/Pt0KFDlp+f723r1auXNWjQwK9ltW3b1l5++WV7+eWXberUqRYXF2eS7Omnn/b2O3LkiPXp08ckWZcuXWzGjBn2zDPP2E033WQBAQHWsmVLS09PNzOzw4cPW2hoqHXv3r3E5Q4aNMgCAwMtIyPDzMwGDhxo1apVs8DAQFu4cGGR/hMnTrTg4GCTZNOmTSv3+vnrhRdeMEm2bds2b1tubq7l5ub6NZ9p06YVmc/pzN/tyony8vLs8OHDJ23+Jb1GBQUFdujQITty5MhJWzZOD4sWLTJJtmzZssou5aSpVpkBqTJs2bJFKSkpiouL04oVK1S3bl3vc3fddZe6dOmilJQUrV+/XnFxcZVY6akXEBCg4ODg455PdHS0brrpJu/jAQMGqHHjxpoxY4ZuueUWSdJjjz2mN954Q/fcc4+mTZvm7Tt8+HD16dNH11xzjQYNGqR///vf8ng8uv766/XCCy/ol19+Uf369X2Wd/jwYb3zzju67LLLFBER4W33eDzq1KmTXnvtNfXp08dnmgULFqhXr1566623jnt9/eV2u0/5MlG2nJwc1axZs9z9g4KCTmI1JXO5XCdkPz3THTlyRAUFBeyPTlfZKelUGzFihEmyFStWFPv8//3f/5kkGzFihLdt4sSJJsk2b95sAwcOtNDQUAsJCbFBgwZZTk5OkXm8/PLLduGFF1pwcLDVqVPH+vbtazt37ixXfQUFBTZ58mSLjo626tWrW7du3ey7776zBg0a2MCBA4vUdKziPrkXnkn54IMPrE2bNubxeKx58+b21ltv+Uy7bNkyn1TetWtXk+Tzr6xPvyWdtWnXrp0FBQWZmdnBgwetTp061rRpU/vjjz+Knc/gwYNNkq1cudKntieeeKJI3zfffNMk2csvv+xtGzhwoNWsWdNefPFF83g89vvvv3ufW7VqlUmyt956q8iZlLy8PJs0aZI1btzYPB6PnXXWWdapUyf78MMPS11vM7PvvvvOunfvbsHBwRYdHW2TJ0+2559/vsh4dO3a1bp27eoz7ZNPPmktWrSw6tWrW1hYmMXHx9urr75qZv8b62P/Fc5z/vz51r17d6tbt6653W5r3ry5zZkzp0h9hWPz6aefWvv27c3j8VjDhg3tpZdeKtL3999/t1GjRlmDBg3M7XZbdHS0paSk2J49e7x9Dh8+bBMmTLBGjRqZ2+22c845x0aPHl3m2YWytquMjAy7+eabLSIiwjwej7Vu3dpefPHFMl5933Usa1sv3E+WL19ut956q9WtW9fCwsK8z8+ePdtatGhhbrfb6tWrZ7fddpvPNmT25zZ27P6Qn59vM2bMsBYtWpjH47GIiAgbPny47du3r0itixcvtosvvthq1apltWvXtnbt2nnHvLTXaNu2bSbJXnjhBTP731m27du3F1nGmDFjLCgoyGf5X375pSUnJ1tISIhVr17dLr74Yvvss8/KfG0L98GFCxfapEmTrH79+larVi277rrrbP/+/Xb48GG76667rG7dulazZk0bNGhQsdtCeY6PK1assOuvv95iYmK829aoUaPs4MGDPv2K25fMio5N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LygoUGZmps4+++xyHx8laefOnZowYYLeffddn22zsMaKOna8f/rpJ5mZHnjgAT3wwAPFTrN7925FR0d7H/uz/kfXXt7to6TlSEX31ZJ07dpV1113ndLS0jRjxgx169ZN11xzjfr37y+Px1Pm9E5yRoWU0NBQ1atXT+vXry+13/r16xUdHe3duQsd/YnraGYmSSooKJDL5dK///3vYvvWqlVLkvT4448rLS3N296gQQO/f+de0ieu/Px8v+ZzMoSHhyspKanE5wvfcNavX69rrrmm2D6FY9SiRQuf9ptuukljxozR119/rXPOOUfLli3TiBEjVK1ayZuyx+PRtddeq5deeklbt271BpziXHzxxdqyZYv++c9/6sMPP9Rzzz2nGTNmaO7cuRo6dGiJ0x2P5s2ba9OmTXrvvfe0ZMkSvfXWW5ozZ44mTJjgs50UZ8uWLbr00kvVrFkzTZ8+XTExMXK73Vq8eLFmzJhR5JNxWdtweRUUFKhVq1aaPn16sc8fe8B2qqM/sR+vgoICRURE6NVXXy32+ZIC3YlQv359denSRW+88YbGjRunL7/8Ujt37vSevSysT5KmTZumtm3bFjufwmNUaUrahk7U8TE/P1+XXXaZ9u3bp/vuu0/NmjVTzZo1tWvXLg0aNMhnm3a5XMVuuyUdB48d78J53XPPPSV+0GncuHG51rO49qNr83f7OJ591eVy6c0339SXX36pf/3rX/rggw90880364knntCXX35ZrnF2ijMqpEjSlVdeqXnz5umzzz5T586dizz/6aefavv27RoxYoTf827UqJHMTA0bNvR+civOgAEDfJZduOM0aNBA0p+J++ifP+/Zs6dIei78tLN//36fsxQlfdIr/MRwdLj58ccfJanUu2ZW9PRzaTp37qywsDAtWLBA48ePL3Zn/Pvf/y5JRe6U269fP40dO1YLFixQgwYNlJ+fX66vVPr376/58+crICBAN9xwQ6l9zzrrLA0ePFiDBw/WgQMHdPHFF2vSpEmlhpQGDRoU+xXRpk2byqxNkmrWrKm+ffuqb9++ysvL07XXXquHH35YY8eOVXBwcInj8K9//Uu5ubl69913fT55VfTrFunP7fi7774rs8+6det06aWXVmgbKWmaBg0aaP369SooKPA5m7Jx40bv82Wp6LZ+9Pw3bdrksw/m5eVp27ZtpYbvRo0a6eOPP1anTp1KDT+NGjWSJH333XdF3gCP5u/r2rdvX912223atGmTFi5cqBo1aqh3795FlhsSElLqepws5T0+fvvtt/rxxx/10ksvacCAAd72jz76qEjfOnXqFPv1R3nOuEnyjnFQUNBJf03Ku334o6xt5KKLLtJFF12khx9+WAsWLNCNN96o119//aR94DoZzqhrUiRp9OjRql69ukaMGKHffvvN57l9+/bplltuUY0aNTR69Gi/533ttdcqMDBQaWlpRdKumXmXFxcXp6SkJO+/wtP6SUlJCgoK0lNPPeUzfXF3nSw84KxYscLblpOTo5deeqnY2n755Refu75mZWXp73//u9q2bVvqVz01a9Y8rtOrxalRo4buuecebdq0SePHjy/y/Pvvv68XX3xRycnJuuiii3yeO/fcc9WlSxctXLhQr7zyiho2bKiOHTuWuczu3btr8uTJmjVrVqnre+w2UatWLTVu3Fi5ubmlzr9nz5768ssvtWrVKm/bnj17SvzUVNoy3W63WrRoITPzfp9ceP+OY+84Wxjwjt5eMjMz9cILL5S53JJcd911WrduXYl3CZakPn36aNeuXZo3b16RPocOHfK5Y3BxStquevbsqfT0dC1cuNDbduTIET311FOqVauWunbtWmb9Fd3WpT/3QbfbrSeffNLnNX3++eeVmZmpXr16lThtnz59lJ+fr8mTJxd57siRI96x69Gjh2rXrq0pU6bo8OHDPv2OXqa/+951112nwMBAvfbaa1q0aJGuvPJKn/u+xMfHq1GjRnr88cd9vm4utGfPnnIvqyLKe3wsbps2M/3tb38rMs9GjRpp48aNPrWvW7dOn3/+eblqioiIULdu3fTMM8/o119/LfL8iXxNyrt9+KOk48Lvv/9e5DUuPHtW1rHMac64MylNmjTRSy+9pBtvvFGtWrXSkCFD1LBhQ23fvl3PP/+89u7dq9dee80bAvzRqFEjPfTQQxo7dqy2b9+ua665RrVr19a2bdv0zjvvaPjw4brnnntKnL5u3bq65557NGXKFF155ZXq2bOn1qxZo3//+98KDw/36dujRw+de+65GjJkiEaPHq3AwEDNnz9fdevW1c6dO4vMu2nTphoyZIi++uorRUZGav78+crIyCjzzSw+Pl4LFy5Uamqq2rdvr1q1avl8OquoMWPGaM2aNZo6dapWrlyp6667TtWrV9dnn32mV155Rc2bNy8xcN10000aPny4fvnll2JDTnECAgJ0//33l9mvRYsW6tatm+Lj43XWWWfp66+/1ptvvqnbb7+91Onuvfdevfzyy7r88st11113qWbNmnr22We9ZwZK06NHD0VFRalTp06KjIzUhg0bNGvWLPXq1ct7TU58fLwkafz48brhhhsUFBSk3r17q0ePHnK73erdu7dGjBihAwcOaN68eYqIiCj2oFseo0eP1ptvvqm//vWvuvnmmxUfH699+/bp3Xff1dy5c9WmTRulpKTojTfe0C233KJly5apU6dOys/P18aNG/XGG2/ogw8+ULt27UpcRknb1fDhw/XMM89o0KBBWr16tWJjY/Xmm2/q888/18yZM8u86F2q+LYu/bkPjh07Vmlpabr88st11VVXadOmTZozZ47at2/vc5PCY3Xt2lUjRozQlClTtHbtWvXo0UNBQUHavHmzFi1apL/97W+6/vrrFRISohkzZmjo0KFq3769+vfvrzp16mjdunU6ePCgd7v3d9+LiIhQ9+7dNX36dGVnZ6tv374+zwcEBOi5557TFVdcofPPP1+DBw9WdHS0du3apWXLlikkJET/+te/ynyNKqq8x8dmzZqpUaNGuueee7Rr1y6FhITorbfeKvZajJtvvlnTp09XcnKyhgwZot27d2vu3Lk6//zzi/zwoSSzZ89W586d1apVKw0bNkxxcXHKyMjQypUr9d///lfr1q07Ietf3u3DH23btlVgYKCmTp2qzMxMeTweXXLJJVqwYIHmzJmjv/zlL2rUqJGys7M1b948hYSEqGfPnidkfU6ZU/ETIidav3699evXz+rVq2dBQUEWFRVl/fr1s2+//bZI38Kf+x59Iyuz4n/ua/bnbfc7d+5sNWvWtJo1a1qzZs1s5MiRPj+dLUl+fr6lpaVZvXr1Sr2Zm5nZ6tWrLSEhwdxut5177rk2ffr0Mm/m1rp1a/N4PNasWTNbtGiRz/yK+wnygQMHrH///hYWFlbkplvFKe8t+AvX9YUXXrBOnTpZSEiIBQcH2/nnn29paWnee4AUZ9++febxeEyS/fDDD8X2OfonyCUp7ifIDz30kHXo0MHCwsKsevXq1qxZM3v44Yd9fnJZkvXr11vXrl39vpnbM888YxdffLGdffbZ5vF4rFGjRjZ69GjLzMz0mX/h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kQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkQgpAADAkapVdgEA/nTocJ6Wfr6pxOdzc/84hdUAQOUjpAAOUVBgytibVdllAIBjEFIAh3G5XLqk43klPu9xs9sCODNwtAMcxiUp9pyzK7sMAKh0XDgLAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAciZACAAAcqUIhZfbs2YqNjVVwcLASEhK0atWqck33+uuvy+Vy6ZprrqnIYgEAwBnE75CycOFCpaamauLEifrmm2/Upk0bJScna/fu3aVOt337dt1zzz3q0qVLhYsFAABnDr9DyvTp0zVs2DANHjxYLVq00Ny5c1WjRg3Nnz+/xGny8/N14403Ki0tTXFxccdVMHA6y839Q79nHiz2X2b2ocouDwAcpZo/nfPy8rR69WqNHTvW2xYQEKCkpCStXLmyxOkefPBBRUREaMiQIfr000/LXE5ubq5yc3O9j7OysvwpE3Csbf/9TZ9/vaWyywCA04JfIWXv3r3Kz89XZGSkT3tkZKQ2btxY7DSfffaZnn/+ea1du7bcy5kyZYrS0tL8KQ04rQQGBCgoKLDY51wu1ymuBgCcya+Q4q/s7GylpKRo3rx5Cg8PL/d0Y8eOVWpqqvdxVlaWYmJiTkaJQKU4p14dJXVuVtllAICj+RVSwsPDFRgYqIyMDJ/2jIwMRUVFFem/ZcsWbd++Xb179/a2FRQU/LngatW0adMmNWrUqMh0Ho9HHo/Hn9IAAEAV49eFs263W/Hx8Vq6dKm3raCgQEuXLlViYmKR/s2aNdO3336rtWvXev9dddVV6t69u9auXcvZEQAAUCK/v+5JTU3VwIED1a5dO3Xo0EEzZ85UTk6OBg8eLEkaMGCAoqOjNWXKFAUHB6tly5Y+04eFhUlSkXYA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" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": "
" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "benchmark_plots_functions.create_POVMs_distance_histogram(POVMs_errors=characterization_data_container.POMVs_errors_dictionary,number_of_qubits=number_of_qubits)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:13:06.123354Z", "end_time": "2023-12-28T01:13:07.409878Z" } }, "outputs": [ { "data": { "text/plain": "
", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGzCAYAAAAxPS2EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+rklEQVR4nO3deVyU9f7//yegMCQCGgqCiICaZQWJSuhRq0OH1MzMcjl9EzG38lhG6pEytzJMO6YftdJK89jikmY7Lpw2i7Rc2tRyN1FxScEVlXn//jg/5jgwqIMgXvi4325z03nP+7qu9+u65pp5zjXXNXgYY4wAAAAsxLOiBwAAAOAuAgwAALAcAgwAALAcAgwAALAcAgwAALAcAgwAALAcAgwAALAcAgwAALAcAgwAALAcAgzKVK9evVS/fv0yneebb74pDw8P7dixo0zneyGjR4+Wh4eHDh48eMG+9evXV69evcp/UFe5iRMnKioqSl5eXoqNja3o4ZQJDw8PjR49ukznedttt+m2224r03le6Vw9N86ePathw4YpPDxcnp6euvfeeyWVbp1/8cUX8vDw0BdffFGm40bpEWCuQFu3blX//v0VFRUlm80mf39/tWrVSlOmTNHJkycrenjl5vnnn9eSJUsqehiXzaefflrmb1yV2bJlyzRs2DC1atVKs2fP1vPPP1/RQ6pQGzZs0OjRoy97sL8SlfTcmDVrliZOnKj7779fc+bM0RNPPFHBI72wq+118JIYXFE+/vhj4+vrawIDA81jjz1mZs6caaZNm2a6d+9uqlatavr27VvRQzyv5ORkExERUappq1WrZpKTk4u1nz171pw8edLY7fZLG5ybRo0aZSSZAwcOXLDvqVOnzOnTp92a/8CBAw274MX75z//aTw9PU1+fn5FD6VMSTKjRo1ye7qFCxcaSebzzz8v9lh+fn6lW0/nU9Jzo1u3biYsLKxY/5MnT5ozZ864tYyCggJz8uRJU1BQcEljvZCSXgdRXJWKjU841/bt29W9e3dFREToP//5j+rUqeN4bODAgdqyZYs++eSTChxhxfDy8pKXl1dFD+O8fHx8KnoIbjt+/LiqVatW0cO4aPv375evr6+8vb0reiglrjtjjE6dOiVfX98KGNX/XAnr6HIq6bmxf/9+BQYGFutvs9ncXoanp2eppkM5qugEhf8ZMGCAkWS++eabC/bdvn27kWRmz55d7DEV+URXeCTht99+Mw8++KDx9/c3QUFBZsSIEcZut5tdu3aZe+65x1SvXt0EBwebF1980Wl+s2fPNpLM9u3bndo///zzYp8AXR2BmThxoklISDA1a9Y0NpvNNG3a1CxcuLDYmIveCj+FFF1+hw4dTGRkpMv1cuutt5q4uDintrlz55qmTZsam81matSoYbp162Z27drlcvpzFa63zZs3m+TkZBMQEGD8/f1Nr169zPHjx536RkREOH1qOn36tBk9erRp0KCB8fHxMTVr1jStWrUyy5Ytc6wnVzUXOnbsmElNTTV169Y13t7eplGjRmbixInFjkKdOHHCDBo0yFx77bXGz8/PdOzY0ezevbvE58Cvv/5qevToYQIDA01sbKwxxpgff/zRJCcnm8jISOPj42OCg4NNSkqKOXjwoMv1UdrnUUnOnDljxo4da6Kiooy3t7eJiIgwaWlp5tSpU44+rtaVq+f+ub777jvTrl07ExgYaK655hpz0003mcmTJzv1yczMNH/5y1/MNddcYwICAsw999xjNmzY4LJuV+suIiLCdOjQwWRkZJi4uDjj4+NjXnrpJWOMMYcPHzaPP/64YxtGR0eb8ePHF/sEX3Rb7dixwzzyyCOmUaNGxmazmZo1a5r777/faf8r3CeK3gr3xbZt25q2bds6LScnJ8f07t3b1K5d2/j4+Jibb77ZvPnmm059Cl9XJk6caGbMmOHYJs2aNTOrV68+7/oudPjwYTN48GATERFhvL29TVhYmHnooYecjmRezFiM+e9Rj5deesnccMMNxsfHx9SuXdv069fP/Pnnn07rz9Vz43zrp+g6N8aY3bt3m969e5s6deoYb29vU79+fTNgwADHUR1Xr3fG/Pd5lpSUZPz9/Y2vr69p06aNWblypVOfi30tOd/rYF5ennn88ccd67VWrVomMTHRrFmz5qK2S2XEEZgryEcffaSoqCi1bNmyXObfrVs3XX/99Ro/frw++eQTPffcc6pZs6ZmzJihO+64Qy+88ILefvttDRkyRM2bN1ebNm3KZLlTpkzRPffcowcffFCnT5/WvHnz9MADD+jjjz9Whw4dJElz585Vnz591KJFC/Xr10+SFB0dXWIdPXv21Pfff6/mzZs72nfu3KnvvvtOEydOdLSNGzdOzzzzjLp27ao+ffrowIEDmjp1qtq0aaN169a5/HRWVNeuXRUZGan09HStXbtWr7/+umrXrq0XXnihxGlGjx6t9PR0R015eXn64YcftHbtWt15553q37+/9uzZo+XLl2vu3LlO0xpjdM899+jzzz/Xww8/rNjYWC1dulRDhw5Vdna2XnrpJUffXr16acGCBXrooYd066236ssvv3SsU1ceeOABNWzYUM8//7yMMZKk5cuXa9u2bUpJSVFISIh+/fVXzZw5U7/++qu+++47eXh4FFv/Zfk86tOnj+bMmaP7779fTz75pFatWqX09HRt3LhR77//vqT/Pj9mzpyp1atX6/XXX5ek8+4ny5cv19133606dero8ccfV0hIiDZu3KiPP/5Yjz/+uCRpxYoVateunaKiojR69GidPHlSU6dOVatWrbR27dpiJ6O7WneS9Ntvv6lHjx7q37+/+vbtq+uuu04nTpxQ27ZtlZ2drf79+6tevXr69ttvlZaWpr1792ry5Mkljv3777/Xt99+q+7du6tu3brasWOHXnnlFd12223asGGDrrnmGrVp00aPPfaY/u///k9PPfWUrr/+ekly/FvUyZMnddttt2nLli36xz/+ocjISC1cuFC9evXSkSNHHOuk0DvvvKOjR4+qf//+8vDw0IQJE3Tfffdp27Ztqlq1aoljP3bsmFq3bq2NGzeqd+/eatq0qQ4ePKgPP/xQu3fvVlBQkFtj6d+/v958802lpKToscce0/bt2zVt2jStW7dO33zzjapWreryuXHLLbdo7ty5GjdunI4dO6b09PTzrp89e/aoRYsWOnLkiPr166fGjRsrOztb7733nk6cOFHiEa3//Oc/ateuneLi4jRq1Ch5enpq9uzZuuOOO/T111+rRYsWTv0v9FpyvtfBAQMG6L333tM//vEP3XDDDTp06JBWrlypjRs3qmnTpiVuk0qtggMU/n+5ublGkunUqdNF9S/NEZh+/fo52s6ePWvq1q1rPDw8zPjx4x3thw8fNr6+vk5HEy71CMyJEyec7p8+fdrceOON5o477nBqL+m736LLz83NNT4+PubJJ5906jdhwgTj4eFhdu7caYz57ydZLy8vM27cOKd+P//8s6lSpUqx9qIK11vv3r2d2jt37myuvfZap7aiR2BiYmJMhw4dzjv/ks6BWbJkiZFknnvuOaf2+++/33h4eJgtW7YYY4xZs2aNkWQGDx7s1K9Xr14lPgd69OhRbHlFt48xxrz77rtGkvnqq6+KzaO0zyNX1q9fbySZPn36OLUPGTLESDL/+c9/HG3JycmmWrVq551f4ZgiIyNNRESEOXz4sNNj5x7Bio2NNbVr1zaHDh1ytP3444/G09PT9OzZs1jdrtZdRESEkWQyMjKc2p999llTrVo18/vvvzu1Dx8+3Hh5eTkdASy6rVxtj6ysLCPJ/Pvf/3a0ne8cmKJHYCZPnmwkmbfeesvRdvr0aZOQkGD8/PxMXl6eMeZ/ryvXXnut01GODz74wEgyH330UbFlnWvkyJFGklm8eHGxxwrX/cWO5euvvzaSzNtvv+00n4yMjGLtJT032rZta5o0aVKsveg679mzp/H09DTff/99ieMu+npnt9tNw4YNTVJSktPz6sSJEyYyMtLceeedjjZ3XktKeh0MCAgwAwcOLNZ+NeMqpCtEXl6eJKl69erltow+ffo4/u/l5aVmzZrJGKOHH37Y0R4YGKjrrrtO27ZtK7Plnns+wOHDh5Wbm6vWrVtr7dq1pZqfv7+/2rVrpwULFjh9Ep4/f75uvfVW1atXT5K0ePFi2e12de3aVQcPHnTcQkJC1LBhQ33++ecXtbwBAwY43W/durUOHTrk2GauBAYG6tdff9XmzZvdru/TTz+Vl5eXHnvsMaf2J598UsYYffbZZ5KkjIwMSdKjjz7q1G/QoEElzrtoLZLz9jl16pQOHjyoW2+9VZJcbqOyfB59+umnkqTU1FSn9ieffFKSSnXO17p167R9+3YNHjy42BG2wqNJe/fu1fr169WrVy/VrFnT8fjNN9+sO++80zGuc7lad5IUGRmppKQkp7aFCxeqdevWqlGjhtNzLzExUQUFBfrqq69KHP+52+PMmTM6dOiQGjRooMDAwFLvM59++qlCQkLUo0cPR1vVqlX12GOP6dixY/ryyy+d+nfr1k01atRw3G/durUkXXB7Llq0SDExMercuXOxxwrX/cWOZeHChQoICNCdd97ptA7j4uLk5+d30fvvhdjtdi1ZskQdO3ZUs2bNShx3UevXr9fmzZv197//XYcOHXKM7/jx4/rrX/+qr776Sna73Wma0ryWFAoMDNSqVau0Z88eN6qr3PgK6Qrh7+8vSTp69Gi5LaPwjb1QQECAbDabgoKCirUfOnSozJb78ccf67nnntP69euVn5/vaC/pheFidOvWTUuWLFFWVpZatmyprVu3as2aNU6H5jdv3ixjjBo2bOhyHuc7FH6uouut8IX98OHDju1W1NixY9WpUyc1atRIN954o+666y499NBDuvnmmy+4vJ07dyo0NLRYmC08/L1z507Hv56enoqMjHTq16BBgxLnXbSvJP35558aM2aM5s2bp/379zs9lpubW6x/WT6PCmsoOuaQkBAFBgY6anXH1q1bJUk33njjeZcrSdddd12xx66//notXbq02Im6rtZdSe2bN2/WTz/9pFq1armcpuh6PtfJkyeVnp6u2bNnKzs72ymku9oeF2Pnzp1q2LChPD2dP7MWfU4VOt9z/ny2bt2qLl26lMlYNm/erNzcXNWuXdvlfM63Dt1x4MAB5eXlnff54krhh5Pk5OQS++Tm5joFwdK8lhSaMGGCkpOTFR4erri4OLVv3149e/ZUVFSUW+OuTAgwVwh/f3+Fhobql19+uaj+Jb35FxQUlDiNqyt5Srq659wXzdIsq9DXX3+te+65R23atNHLL7+sOnXqqGrVqpo9e7beeeedC05fko4dO+qaa67RggUL1LJlSy1YsECenp564IEHHH3sdrs8PDz02WefuazTz8/vopZ1MeuoqDZt2mjr1q364IMPtGzZMr3++ut66aWX9OqrrzodwbjcXF0d07VrV3377bcaOnSoYmNj5efnJ7vdrrvuuqvYJ0ip9M+j87mUMHu5lHRlkat2u92uO++8U8OGDXM5TaNGjUpczqBBgzR79mwNHjxYCQkJCggIkIeHh7p37+5ye5SHS92eZcFut6t27dp6++23XT5eUji8XAq3xcSJE0v8UcWirzGXsl67du2q1q1b6/3339eyZcs0ceJEvfDCC1q8eLHatWvn3uArCQLMFeTuu+/WzJkzlZWVpYSEhPP2LUzuR44ccWovzSfWC7mUZS1atEg2m01Lly51utR49uzZxfq68yZWrVo13X333Vq4cKEmTZqk+fPnq3Xr1goNDXX0iY6OljFGkZGR533DKC81a9ZUSkqKUlJSdOzYMbVp00ajR492BJiS6o2IiNCKFSt09OhRp6MwmzZtcjxe+K/dbtf27dudjjJt2bLlosd4+PBhZWZmasyYMRo5cqSjvTRffZVGYQ2bN292OsEyJydHR44ccdTqjsKTHn/55RclJiaWuFzpvyfgFrVp0yYFBQVd0iXm0dHROnbsWInLP5/33ntPycnJ+te//uVoO3XqVLH9z539JSIiQj/99JPsdrvTkY+iz6lLFR0dfcEPYRc7lujoaK1YsUKtWrUq18vSa9WqJX9//4v+8Fio8Hnm7+9fqu1ckvNt1zp16ujRRx/Vo48+qv3796tp06YaN27cVRtgOAfmCjJs2DBVq1ZNffr0UU5OTrHHt27dqilTpkj6704TFBRU7Lv0l19+uczHVbijnrusgoICzZw584LTenl5ycPDw+lozY4dO1z+0mS1atWKvUifT7du3bRnzx69/vrr+vHHH9WtWzenx++77z55eXlpzJgxxT7hGGPK9GuyoorO28/PTw0aNHD6Cq3wDbJoze3bt1dBQYGmTZvm1P7SSy/Jw8PD8WJVeN5F0W0+derUix5n4SfCouvnfFfJlKX27du7XN6kSZMk6bxXVJWkadOmioyM1OTJk4ut28I669Spo9jYWM2ZM8epzy+//KJly5Y5xlVaXbt2VVZWlpYuXVrssSNHjujs2bMlTuvl5VVse0ydOrXYEc+Snj+utG/fXvv27dP8+fMdbWfPntXUqVPl5+entm3bXnAeF6NLly768ccfHVePnauwposdS9euXVVQUKBnn3222LzOnj3r1mvF+RT+iYGPPvpIP/zwQ4njLiouLk7R0dF68cUXdezYsWKPHzhwoFTjcfU6WFBQUOzrw9q1ays0NNTpNeVqwxGYK0h0dLTeeecdx2WqPXv21I033qjTp0/r22+/dVxqWKhPnz4aP368+vTpo2bNmumrr77S77//XubjatKkiW699ValpaXpzz//VM2aNTVv3rzzvggX6tChgyZNmqS77rpLf//737V//35Nnz5dDRo00E8//eTUNy4uTitWrNCkSZMUGhqqyMhIxcfHlzjv9u3bq3r16hoyZIi8vLyKffceHR2t5557TmlpadqxY4fuvfdeVa9eXdu3b9f777+vfv36aciQIaVbKRdwww036LbbblNcXJxq1qypH374wXEJ5Ln1StJjjz2mpKQkeXl5qXv37urYsaNuv/12Pf3009qxY4diYmK0bNkyffDBBxo8eLAjUMbFxalLly6aPHmyDh065LiMuvA5cDGf0P39/dWmTRtNmDBBZ86cUVhYmJYtW6bt27eXw1opLiYmRsnJyZo5c6aOHDmitm3bavXq1ZozZ47uvfde3X777W7P09PTU6+88oo6duyo2NhYpaSkqE6dOtq0aZN+/fVXR6iYOHGi2rVrp4SEBD388MOOy6gDAgIu+U88DB06VB9++KHuvvtu9erVS3FxcTp+/Lh+/vlnvffee9qxY0exc4YK3X333Zo7d64CAgJ0ww03KCsrSytWrNC1117r1C82NlZeXl564YUXlJubKx8fH91xxx0uzxnp16+fZsyYoV69emnNmjWqX7++3nvvPX3zzTeaPHlymV08MHToUL333nt64IEH1Lt3b8XFxenPP//Uhx9+qFdffVUxMTEXPZa2bduqf//+Sk9P1/r16/W3v/1NVatW1ebNm7Vw4UJNmTJF999/f5mM+/nnn9eyZcvUtm1b9evXT9dff7327t2rhQsXauXKlS5/bsHT01Ovv/662rVrpyZNmiglJUVhYWHKzs7W559/Ln9/f3300Uduj8XV6+B1112nunXr6v7771dMTIz8/Py0YsUKff/9905H6q46l/mqJ1yE33//3fTt29fUr1/feHt7m+rVq5tWrVqZqVOnOv2414kTJ8zDDz9sAgICTPXq1U3Xrl3N/v37S7yEtuhP4rtz6eHWrVtNYmKi44fOnnrqKbN8+fKLuoz6jTfeMA0bNjQ+Pj6mcePGZvbs2Y4xnWvTpk2mTZs2xtfX97w/ZHeuBx980EgyiYmJJa7PRYsWmb/85S+mWrVqplq1aqZx48Zm4MCB5rfffitxGmNKXm+uxlP0MurnnnvOtGjRwgQGBhpfX1/TuHFjM27cOKc/N3D27FkzaNAgU6tWLePh4eG0Po4ePWqeeOIJExoaaqpWrWoaNmzo8ofsjh8/bgYOHGhq1qxp/Pz8zL333mt+++03I8npsubz/VmE3bt3m86dO5vAwEATEBBgHnjgAbNnz55yeR65cubMGTNmzBgTGRlpqlatasLDw4v9kN35llOSlStXmjvvvNNUr17dVKtWzdx8881m6tSpTn1WrFhhWrVqZXx9fY2/v7/p2LFjiT9k52rdFf6QnStHjx41aWlppkGDBsbb29sEBQWZli1bmhdffNHpeVB0PR8+fNikpKSYoKAg4+fnZ5KSksymTZuKPceMMea1114zUVFRxsvL66J+yK5wvt7e3uamm24q9jMM5/6QXVFFx1mSQ4cOmX/84x8mLCzMeHt7m7p165rk5GSnH0a8mLEUmjlzpomLizO+vr6mevXq5qabbjLDhg0ze/bscfS51MuojTFm586dpmfPnqZWrVrGx8fHREVFmYEDB17wh+zWrVtn7rvvPnPttdcaHx8fExERYbp27WoyMzMdfdx5LXH1Opifn2+GDh1qYmJiHM/nmJgY8/LLL7tcZ1cLD2Mu41lZAMrd+vXrdcstt+itt97Sgw8+WNHDAYBywTkwgIW5+uvkkydPlqenZ5n9kjIAXIk4BwawsAkTJmjNmjW6/fbbVaVKFX322Wf67LPP1K9fP4WHh1f08ACg3PAVEmBhy5cv15gxY7RhwwYdO3ZM9erV00MPPaSnn35aVarw+QRA5UWAAQAAlsM5MAAAwHIIMAAAwHIqzZfkdrtde/bsUfXq1S3xd1UAAMB/f+346NGjCg0NLfZHPs+n0gSYPXv2cNUFAAAW9ccff6hu3boX3b/SBJjCn5/+448/LvhnyQEAwJUhLy9P4eHhbv9Ji0oTYAq/NvL39yfAAABgMe6e/sFJvAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHIIMAAAwHLcDjBfffWVOnbsqNDQUHl4eGjJkiUXnOaLL75Q06ZN5ePjowYNGujNN98s1mf69OmqX7++bDab4uPjtXr1aneHBgAArhJuB5jjx48rJiZG06dPv6j+27dvV4cOHXT77bdr/fr1Gjx4sPr06aOlS5c6+syfP1+pqakaNWqU1q5dq5iYGCUlJWn//v3uDg8AAFwFPIwxptQTe3jo/fff17333ltin3/+85/65JNP9MsvvzjaunfvriNHjigjI0OSFB8fr+bNm2vatGmSJLvdrvDwcA0aNEjDhw+/qLHk5eUpICBAubm58vf3L21JAADgMirt+3e5nwOTlZWlxMREp7akpCRlZWVJkk6fPq01a9Y49fH09FRiYqKjjyv5+fnKy8tzugEAgKtDuQeYffv2KTg42KktODhYeXl5OnnypA4ePKiCggKXffbt21fifNPT0xUQEOC4hYeHl8v4AQDAlceyVyGlpaUpNzfXcfvjjz8qekgAAOAyqVLeCwgJCVFOTo5TW05Ojvz9/eXr6ysvLy95eXm57BMSElLifH18fOTj41MuYwYAAFe2cj8Ck5CQoMzMTKe25cuXKyEhQZLk7e2tuLg4pz52u12ZmZmOPgAAAOdyO8AcO3ZM69ev1/r16yX99zLp9evXa9euXZL++9VOz549Hf0HDBigbdu2adiwYdq0aZNefvllLViwQE888YSjT2pqql577TXNmTNHGzdu1COPPKLjx48rJSXlEssDAACVkdtfIf3www+6/fbbHfdTU1MlScnJyXrzzTe1d+9eR5iRpMjISH3yySd64oknNGXKFNWtW1evv/66kpKSHH26deumAwcOaOTIkdq3b59iY2OVkZFR7MReAAAA6RJ/B+ZKwu/AAABgPVfs78AAAACUNQIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwnFIFmOnTp6t+/fqy2WyKj4/X6tWrS+x75swZjR07VtHR0bLZbIqJiVFGRoZTn6NHj2rw4MGKiIiQr6+vWrZsqe+//740QwMAAFcBtwPM/PnzlZqaqlGjRmnt2rWKiYlRUlKS9u/f77L/iBEjNGPGDE2dOlUbNmzQgAED1LlzZ61bt87Rp0+fPlq+fLnmzp2rn3/+WX/729+UmJio7Ozs0lcGAAAqLQ9jjHFngvj4eDVv3lzTpk2TJNntdoWHh2vQoEEaPnx4sf6hoaF6+umnNXDgQEdbly5d5Ovrq7feeksnT55U9erV9cEHH6hD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6tSpk+OxEydOyNPTeSheXl6y2+3uDA8AAFwl3P4KKTU1VcnJyWrWrJlatGihyZMn6/jx40pJSZEk9ezZU2FhYUpPT5ckrVq1StnZ2YqNjVV2drZGjx4tu92uYcOGOebZsWNHjRs3TvXq1VOTJk20bt06TZo0Sb179y6jMgEAQGXidoDp1q2bDhw4oJEjR2rfvn2KjY1VRkaG48TeXbt2OR1NOXXqlEaMGKFt27bJz89P7du319y5cxUYGOjoM3XqVD3zzDN69NFHtX//foWGhqp///4aOXLkpVcIAAAqHbd/B+ZKxe/AALhS7Nrzp5Z/vVFBNfzU6W8xFT0c4IpW2vdv/hYSAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwnFIFmOnTp6t+/fqy2WyKj4/X6tWrS+x75swZjR07VtHR0bLZbIqJiVFGRoZTn/r168vDw6PYbeDAgaUZHgAAqOTcDjDz589XamqqRo0apbVr1yomJkZJSUnav3+/y/4jRozQjBkzNHXqVG3YsEEDBgxQ586dtW7dOkef77//Xnv37nXcli9fLkl64IEHSlkWAACozDyMMcadCeLj49W8eXNNmzZNkmS32xUeHq5BgwZp+PDhxfqHhobq6aefdjqa0qVLF/n6+uqtt95yuYzBgwfr448/1ubNm+Xh4XFR48rLy1NAQIByc3Pl7+/vTkkALOBI3gm592pVcfYdyNW3a7YpqIafOv0tpqKHA1zRSvv+XcWdhZw+fVpr1qxRWlqao83T01OJiYnKyspyOU1+fr5s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ndKIESO0bds2+fn5qX379po7d64CAwMdfZo3b673339faWlpGjt2rCIjIzV58mQ9+OCDl14hAACodNz+HZgrFb8DA1QOu7L/1PKVG1X72urqmHhzRQ8HQDkr7fs3Z8MBAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLIcAAAADLKVWAmT59uurXry+bzab4+HitXr26xL5nzpzR2LFjFR0dLZvNppiYGGVkZDj1GT16tDw8PJxujRs3Ls3QAADAVcDtADN//nylpqZq1KhRWrt2rWJiYpSUlKT9+/e77D9ixAjNmDFDU6dO1YYNGzRgwAB17txZ69atc+rXpEkT7d2713FbuXJl6SoCAACVntsBZtKkSerbt69SUlJ0ww036NVXX9U111yjWbNmuew/d+5cPfXUU2rfvr2ioqL0yCOPqH379vrXv/7l1K9KlSoKCQlx3IKCgkpXEQAAqPSquNP59OnTWrNmjdLS0hxtnp6eSkxMVFZWlstp8vPzZbPZnNp8fX2LHWHZvHmzQkNDZbPZlJCQoPT0dNWrV6/EseTn5ys/P99xPzc3V5KUl5fnTkkALqP9h/K09uc/ztsn//QZnTxxSidsHuzPwFWgcD83xrg3oXFDdna2kWS+/fZbp/ahQ4eaFi1auJymR48e5oYbbjC///67KSgoMMuWLTO+vr7G29vb0efTTz81CxYsMD/++KPJyMgwCQkJpl69eiYvL6/EsYwaNcpI4saNGzdu3LhVgtsff/zhTiQxHsZcfOTZs2ePwsLC9O233yohIcHRPmzYMH35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WRYu17gCAwPVqFEjy27XF198UePHj9eyZct08803O9or0/5aqKRaXbHy/urp6akGDRooNjZWTz75pO6//36lp6dLqnzb9Xy1umLF7bp161bt2LFDHTt2VJUqVVSlShX9+9//1ocffqgqVapo69atZbpdLR9gvL29FRcXp8zMTEeb3W5XZmamEhISXE6TkJDg1F+Sli9f7ugfGRmpkJAQpz55eXlatWpVifO8HMqjVld2796tQ4cOqU6dOmUz8FIoTa0VMc+ycLnGdezYMW3dutWS23XChAl69tlnlZGRoWbNmjk9Vpn2V+n8tbpSmfZXu92u/Px8SZVvuxZ1bq2uWHG7Nm7cWD///LPWr1/vuN1zzz26/fbbtX79eoWHh5ftdnXrlN8r1Lx584yPj4958803zYYNG0y/fv1MYGCg2bdvnzHGmIceesgMHz7c0f+bb74xVapUMS+++KLZuHGjGTVqlMvLqAMDA80HH3xgfvrpJ9OpU6cr5vK9sqz16NGjZsiQISYrK8ts377drFixwjRt2tQ0bNjQnDp1qkJqLORurfn5+WbdunVm3bp1pk6dOmbIkCFm3bp1ZvPmzRc9z4pSHrU++eST5osvvjDbt28333zzjUlMTDRBQUFm//79l72+c7lb6/jx4423t7d57733nC4xPXr0qFOfyrC/XqjWyrS/Pv/882bZsmVm69atZsOGDebFF180VapUMa+99pqjT2XZrheqtTJt16JcXV1VVtu1UgQYY4yZOnWqqVevnvH29jYtWrQw3333neOxtm3bmuTkZKf+CxYsMI0aNTLe3t6mSZMm5pNPPnF63G63m2eeecYEBwcbHx8f89e//tX89ttvl6OUCyrLWk+cOGH+9re/mVq1apmqVauaiIgI07dv3wp/Qy/kTq3bt283kord2rZte9HzrEhlXWu3bt1MnTp1jLe3twkLCzPdunUzW7ZsuYwVlcydWiMiIlzWOmrUKEefyrK/XqjWyrS/Pv3006ZBgwbGZrOZGjVqmISEBDNv3jyn+VWW7XqhWivTdi3KVYApq+3qYYwx7h2zAQAAqFiWPwcGAABcfQgwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcv4/QNgUdUL3acQAAAAASUVORK5CYII=" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": "
" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "distances_types = ('worst_case','classical')\n", "\n", "benchmark_plots_functions.create_correlations_distance_histogram(correlations_coefficients_matrix=characterization_data_container.correlation_coefficients_dictionary[distances_types[0]][distances_types[1]])" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:13:07.409878Z", "end_time": "2023-12-28T01:13:07.588174Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 10/10 [00:00<00:00, 319.86it/s]\n", "100%|██████████| 10/10 [00:00<00:00, 320.95it/s]\n", "100%|██████████| 10/10 [00:00<00:00, 320.04it/s]\n" ] } ], "source": [ "\n", "\n", "predicted_energy_dictionary = mitigation_routines.compute_noisy_energy_over_noise_models(characterization_data=characterization_data_container,hamiltonians_dictionary=hamiltonians_dictionary)\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:13:07.523619Z", "end_time": "2023-12-28T01:13:08.605823Z" } }, "outputs": [ { "data": { "text/plain": "
", "image/png": "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ax8fH/t/Z2ZmymazqX79+qpcubLi4uL0yCOP5FrHtYNe3d3d1a5dO504cUKjRo1y2P9GjRrp999/v+l99fX1zXcd+VmwYIHKlSunAQMGSLp6lqRPnz5atGiR3nnnHYcxR7t375Z09dLebbfdlmtdeY0fcZVz586pXLlyqlixYq5lOXW9//77edY1duxYVapUSVar1WF+lSpVdOnSJV28eDHPM2SAWRBYABfp0KFDnndnVKlSJc9LB9d68803NXz4cAUHB6tt27a65557NGzYMIcv5rycOXNGFy9eVKNGjXIta9KkibKzs3X8+HFVrVpVly5dyvOul/zuhJGujpm51qVLlxQREaGoqCidPHlShmHYl6WkpOS5jlq1ajm8tlqt8vb2tl/aunb+uXPn8q2lsPvarFmzfNeRl6ysLC1atEh33nmnQ02DBw/WN998o9WrV6t37972+bt27VK5cuUUHh4uT0/PfNd75MgR1alTR126dNHGjRvt85ctW6YHH3xQw4cPV3R0tI4cOaJ69eopNTVVX3zxhZ555hlJVy/xGIZhv5usc+fOBR6rXbt2yd3dXWPHjs11B9qlS5d0/vx5de3aNVe/nGPIXUIwOwbdAiYwaNAg/f777/roo48UFBSkt956S82aNdMPP/xQonVde0ZFkp566im9+uqrGjRokJYsWaKffvpJK1euVLVq1fJ9iFled0Tld5fUtQGouKxZs0aJiYkaPHiww/z7779fPj4+uQbf7t69W3Xq1CkwrEhXA0SDBg3022+/2ef9+eef+te//qW6deuqVatWDu3Kly+vUaNGKS0tTWlpaRoxYoSeeuop++uffvpJ1apV059//qnU1NRc29u9e7fq1auX5+3y+/fvV3Z2dq7xK5J0/vx5lS9fPtexBsyGwAKYRGBgoJ588kktX75cCQkJqlatml599VVJ+f/rt0aNGipfvrwOHDiQa9lvv/0mNzc3BQcHy8/PT97e3nkOxsxrXn7+85//aPjw4XrnnXf00EMP6e6771bXrl2L5YF2hd1XZy1YsEAeHh7q37+/w/yKFSvqnnvu0bJly3Tp0iX7/N27d6tJkybXXe+uXbvUrVs3VahQQcnJyZKkOXPmqG3btpL+d7fOrl27HO7cuXY7fw0YjRs3lnT1bqG82ud3dmnv3r0O27xWQkJCofYHKGkEFqCEZWVl5bqc4ufnp6CgIPtj03Oef/LXYODu7q7evXvr66+/dri1ODk5WQsXLlTXrl3l6+srd3d39erVS8uXL9epU6fs7Q4dOuTUWRx3d/dcZ0E++uij647RcYXC7qszLl26pK+++kp33313ng+AGzRokFJTU/XNN99Iuvosk9OnT9uDQ0F27dqlli1bqkWLFtq3b58uXryo119/Xc8++6wSEhIKDCyGYWjPnj25AkunTp0kKddTlXPqupHAEhcXp86dO193f4CSxhgWoISlpqaqZs2aeuihhxQSEqKKFStq1apV2rZtm/3ZJDn/Kv/Xv/6lIUOGyMPDQ/369VOFChX0yiuvaOXKleratauefPJJlStXTp988okyMjL05ptv2rczffp0/fTTT+rSpYueeOIJZWVlaebMmWrevHmhf2fnvvvu0+effy6r1aqmTZtq8+bNWrVqlapVq+by9yUvhd3Xwvrmm2/sl1def/31XMsvXrwo6epZmMGDB9ufJHvmzBnNnz8/V/uQkBC1aNFC0tUg8tRTTykxMVH79+/Xpk2b1L9/f6Wmpuq2225T1apV7e1GjhzpsJ7Dhw8rIyMjVwCpW7eumjdvrlWrVjn0yamroMBSsWJF1atXz2H+jh079Mcff+iBBx7I5x0CzIPAApSw8uXL68knn9RPP/2kr776StnZ2apfv74+/vhjPfHEE5Kk9u3ba8aMGZo9e7ZiYmKUnZ2thIQEVahQQc2aNdPPP/+sKVOmKCIiQtnZ2erYsaPmz5/v8Js4bdu21Q8//KBJkybpxRdfVHBwsF5++WXt37/fYZxFQT744AO5u7trwYIFunz5srp06aJVq1YV6aPor1XYfS2snPEpK1as0IoVK/JtFxMTo3PnztnvxImKilJUVFSudvPmzVOLFi2Ulpam33//XS1bttTJkyf17bffKjY2Vjt37tSSJUvsZzpy2v31zMeuXbvUsGHDPMejjBw5UlOnTtWlS5fs405y6ioosDRv3jzXpcUvv/xStWrV4im3KBUsRkmMcgNgGmFhYdq7d68OHjxY0qWUGbGxsRo8eLCOHz+u3bt3KyQkRK+99pqmTJmisWPH2scnxcbGql+/frnujpo2bZr9YYF/lZKSorp16+rNN990uDXcWRkZGapdu7aef/55+51JgJkxhgW4hVw7eFSSDh48qBUrVhTq0fUovJzxK5LUtGlTrVy5UhMmTJAke4DJaVfYAbc5rFarnn32Wb311lv53plVGFFRUfLw8Mj1rB3ArDjDAtxCAgMDNWLECNWtW1dHjx7VrFmzlJGRoZ07dxbpA89uNWPHjlWVKlUUERHhMN8wDPn6+mr79u1q1KiRxo4dKx8fH7333nsO7erVq6cPP/zQ4YcKgVsdgQW4hTz66KNau3atkpKS5OXlpU6dOum1117L87dpAMBMnLokFBERofbt26tSpUry8/NTWFhYrmciXL58WePGjVO1atVUsWJFDRgwwP4MgvwYhqGpU6cqMDBQPj4+6tWrF9fTgSIQFRWlI0eO6PLly0pJSVFMTAxhBUCp4FRgWb9+vcaNG6ctW7Zo5cqVyszMVO/evZWenm5v849//EPffvutvvzyS61fv16nTp3Sgw8+WOB633zzTX344YeaPXu2fvnlF1WoUEGhoaG6fPnyje0VAAAoU27qktCZM2fk5+en9evXq3v37kpJSVGNGjW0cOFCPfTQQ5KuPoGySZMm2rx5s/72t7/lWodhGAoKCtI///lPTZo0SdLVUfD+/v6Kjo7WkCFDbrQ8AABQRtzUc1hyns6Z8wCkHTt2KDMzU7169bK3ady4sWrVqpVvYElISFBSUpJDH6vVqo4dO2rz5s15BpaMjAz7E0AlKTs7W3/88YeqVavGD3gBAFBKGIah1NRUBQUFyc2t4Is+NxxYsrOzNWHCBHXp0kXNmzeXdPXx0J6enqpcubJDW39/fyUlJeW5npz5/v7+he4TERGhl1566UZLBwAAJnL8+HHVrFmzwDY3HFjGjRunPXv2OPxsenGZMmWKJk6caH+dkpKiWrVq6fjx407/lggAACgZNptNwcHBqlSp0nXb3lBgGT9+vL777jtt2LDBIREFBAToypUrunDhgsNZluTkZAUEBOS5rpz5ycnJCgwMdOiT8/Prf+Xl5ZXnI6t9fX0JLAAAlDKFGc7h1F1ChmFo/PjxWrZsmdasWaM6deo4LG/btq08PDy0evVq+7wDBw7o2LFj9l8Z/as6deooICDAoY/NZtMvv/ySbx8AAHBrcSqwjBs3TvPnz9fChQtVqVIlJSUlKSkpyf64b6vVqlGjRmnixIlau3atduzYoUcffVSdOnVyGHDbuHFjLVu2TNLVVDVhwgS98sor+uabb/Trr79q2LBhCgoKUlhYmOv2FAAAlFpOXRKaNWuWJOX63ZGoqCiNGDFCkvTee+/Jzc1NAwYMUEZGhkJDQ/Xxxx87tD9w4ID9DiNJevbZZ5Wenq4xY8bowoUL6tq1q2JiYuTt7X0DuwQAAMqaMvFofpvNJqvVqpSUFMawACiVDMPQn3/+qaysrJIuBXApd3d3lStXLs9xKs58f9/Uc1gAADfvypUrSkxM1MWLF0u6FKBIlC9fXoGBgfL09LzhdRBYAKAEZWdnKyEhQe7u7goKCpKnpycPwESZYRiGrly5ojNnzighIUENGjS47gPi8kNgAYASdOXKFWVnZys4OFjly5cv6XIAl/Px8ZGHh4eOHj2qK1eu3PD41BuLOQAAl7rRf3UCpYErPt/8hQAAANMjsAAAANNjDAsAmNScxZuKbVujBncptm0BN4IzLAAAp1kslgKn6dOn68iRIw7zqlWrpt69e2vnzp329fTo0UMWi0Wvv/56rm3ce++99nUBBBYAgNMSExPt0/vvvy9fX1+HeZMmTbK3XbVqlRITE/Xjjz8qLS1Nffv21YULF+zLg4ODFR0d7bD+kydPavXq1Q4/iotbG4EFAOC0gIAA+2S1WmWxWBzmVaxY0d62WrVqCggIULt27fT2228rOTlZv/zyi335fffdp7Nnz2rTpv9dAvvss8/Uu3dv+fn5Fet+wbwILACAYuPj4yPp6vNncnh6emro0KGKioqyz4uOjtbIkSOLvT6YF4EFAFAsLly4oBkzZqhixYrq0KGDw7KRI0dqyZIlSk9P14YNG5SSkqL77ruvhCqFGXGXEACgSHXu3Flubm5KT09X3bp1tXjxYvn7+zu0CQkJUYMGDfSf//xHa9eu1SOPPKJy5fiKwv/waQAAFKnFixeradOmqlatmipXrpxvu5EjRyoyMlL79u3T1q1bi69AlApcEgIAFKng4GDVq1evwLAiSQ8//LB+/fVXNW/eXE2bNi2e4lBqcIYFAGAKVapUUWJiojw8PEq6FJgQgQUATOpWfPrs9c7C4NZlMQzDKOkibpbNZpPValVKSop8fX1LuhwAKLTLly8rISFBderUkbe3d0mXAxSJ/D7nznx/M4YFAACYHoEFAACYHoEFAACYHoEFAACYHoEFAACYHoEFAACYHoEFAACYHoEFAACYHoEFAACYHo/mBwCTmjd9SbFta9j0QcW2LTNat26devbsqfPnzxf65wFq166tCRMmaMKECXkuHzFihC5cuKDly5e7rM7rsVgsWrZsmcLCwnTkyBHVqVNHO3fuVKtWrYqthqLCGRYAwA1LSkrSU089pbp168rLy0vBwcHq16+fVq9ebW9Tu3ZtWSwWbdmyxaHvhAkT1KNHj2Ku+NYRHBysxMRENW/eXNLVUGaxWHThwoWbWu+RI0c0atQo1alTRz4+PqpXr56mTZumK1euuKDq/HGGBQBwQ44cOaIuXbqocuXKeuutt9SiRQtlZmbqxx9/1Lhx4/Tbb7/Z23p7e+u5557T+vXrS7DiW4u7u7sCAgJcvt7ffvtN2dnZ+uSTT1S/fn3t2bNHo0ePVnp6ut5++22Xby8HZ1gAADfkySeflMVi0datWzVgwAA1bNhQzZo108SJE3OdTRkzZoy2bNmiFStWFHr9OWcEfvzxR7Vu3Vo+Pj668847dfr0af3www9q0qSJfH199fDDD+vixYv2fhkZGXr66afl5+cnb29vde3aVdu2bXNY94oVK9SwYUP5+PioZ8+eOnLkSK7tb9y4Ud26dZOPj4+Cg4P19NNPKz093bk36RqFqWvv3r2677775Ovrq0qVKqlbt246fPiwJGnbtm26++67Vb16dVmtVt1xxx2Ki4vLd3tHjhyRxWJRfHy8jhw5op49e0qSqlSpIovFohEjRmjevHmqVq2aMjIyHPqGhYXpkUceyXO9ffr0UVRUlHr37q26devq/vvv16RJk/TVV1/d8HtTGAQWAIDT/vjjD8XExGjcuHGqUKFCruV/HQdSp04djR07VlOmTFF2drZT25o+fbpmzpyp2NhYHT9+XIMGDdL777+vhQsX6vvvv9dPP/2kjz76yN7+2Wef1dKlS/XZZ58pLi5O9evXV2hoqP744w9J0vHjx/Xggw+qX79+io+P12OPPabnn3/eYZuHDx9Wnz59NGDAAO3evVuLFy/Wxo0bNX78eKdqv9b16jp58qS6d+8uLy8vrVmzRjt27NDIkSP1559/SpJSU1M1fPhwbdy4UVu2bFGDBg10zz33KDU19brbDg4O1tKlSyVJBw4cUGJioj744AMNHDhQWVlZ+uabb+xtT58+re+//14jR44s9L6lpKSoatWqzrwdTiOwAACcdujQIRmGocaNGxe6zwsvvKCEhAQtWLDAqW298sor6tKli1q3bq1Ro0Zp/fr1mjVrllq3bq1u3brpoYce0tq1ayVJ6enpmjVrlt566y317dtXTZs21aeffiofHx/NmTNHkjRr1izVq1dP77zzjho1aqShQ4dqxIgRDtuMiIjQ0KFDNWHCBDVo0ECdO3fWhx9+qHnz5uny5ctO1V/YuiIjI2W1WrVo0SK1a9dODRs21KOPPqpGjRpJku688079/e9/V+PGjdWkSRP9+9//1sWLFwt1mc3d3d0eKPz8/BQQECCr1SofHx89/PDDioqKsredP3++atWqVejxRYcOHdJHH32kxx9/3Ml3xTkEFgCA0wzDcLpPjRo1NGnSJE2dOtWpAZotW7a0/7e/v7/Kly+vunXrOsw7ffq0pKtnRjIzM9WlSxf7cg8PD3Xo0EH79++XJO3fv18dO3Z02EanTp0cXu/atUvR0dGqWLGifQoNDVV2drYSEhIKv9P/X2Hqio+PV7du3eTh4ZHnOpKTkzV69Gg1aNBAVqtVvr6+SktL07Fjx5yu51qjR4/WTz/9pJMnT0qSoqOjNWLECFksluv2PXnypPr06aOBAwdq9OjRN1XH9TDoFgDgtAYNGshisTgMrC2MiRMn6uOPP9bHH39c6D7XfoFbLJZcX+gWi8Xpy0zXk5aWpscff1xPP/10rmW1atVy6bZy+Pj4FLh8+PDhOnfunD744APdfvvt8vLyUqdOnW767pzWrVsrJCRE8+bNU+/evbV37159//331+136tQp9ezZU507d9a///3vm6qhMJw+w7Jhwwb169dPQUFBslgsue4vt1gseU5vvfVWvuucPn16rvbOnGYEABSvqlWrKjQ0VJGRkXkORM3v1tmKFSvqxRdf1KuvvlqosRfOqlevnjw9PbVp0yb7vMzMTG3btk1NmzaVJDVp0kRbt2516PfXQcJt2rTRvn37VL9+/VyTp6dnkdTVsmVL/fzzz8rMzMxzHZs2bdLTTz+te+65R82aNZOXl5fOnj1b6Bpy6s7Kysq17LHHHlN0dLSioqLUq1cvBQcHF7iukydPqkePHmrbtq2ioqLk5lb0F2yc3kJ6erpCQkIUGRmZ5/LExESHae7cubJYLBowYECB623WrJlDv40bNzpbGgCgGEVGRiorK0sdOnTQ0qVLdfDgQe3fv18ffvhhrkss1xozZoysVqsWLlzo8poqVKigJ554QpMnT1ZMTIz27dun0aNH6+LFixo1apQkaezYsTp48KAmT56sAwcOaOHChYqOjnZYz3PPPafY2FiNHz9e8fHxOnjwoL7++usbHnRbmLrGjx8vm82mIUOGaPv27Tp48KA+//xzHThwQNLVs1qff/659u/fr19++UVDhw697lmZa91+++2yWCz67rvvdObMGaWlpdmXPfzwwzpx4oQ+/fTT6w62zQkrtWrV0ttvv60zZ84oKSlJSUlJN/DOFJ7Tl4T69u2rvn375rv8r/d8f/311+rZs6fD9cY8CylXrkjuFweA0srsT5+tW7eu4uLi9Oqrr+qf//ynEhMTVaNGDbVt21azZs3Kt5+Hh4dmzJihhx9+uEjqev3115Wdna1HHnlEqampateunX788UdVqVJF0tVLOkuXLtU//vEPffTRR+rQoYNee+01hy/qli1bav369frXv/6lbt26yTAM1atXT4MHDy6yuqpVq6Y1a9Zo8uTJuuOOO+Tu7q5WrVrZx73MmTNHY8aMUZs2bRQcHKzXXntNkyZNKvT2b7vtNr300kt6/vnn9eijj2rYsGH2oGa1WjVgwAB9//33CgsLK3A9K1eu1KFDh3To0CHVrFnTYdmNjG0qLItxE2u/9hHAeUlOTlbNmjX12WefFfjBnD59ut566y1ZrVZ5e3urU6dOioiIyPc6YUZGhsM94zabTcHBwUpJSZGvr++N7g4AFLvLly8rISFBderUkbe3d0mXg1vYXXfdpWbNmunDDz90+brz+5zbbDZZrdZCfX8X6UWnzz77TJUqVdKDDz5YYLuOHTsqOjpaMTExmjVrlhISEtStW7d8r29GRETIarXap+tdawMAAHk7f/68li1bpnXr1mncuHElXU6+ivQuoblz52ro0KHX/VfDtZeYWrZsqY4dO+r222/XkiVL7Nf2rjVlyhRNnDjR/jrnDAsAAHBO69atdf78eb3xxhv2Z76YUZEFlp9//lkHDhzQ4sWLne5buXJlNWzYUIcOHcpzuZeXl7y8vG62RAAAbnl5/SyBGRXZJaE5c+aobdu2CgkJcbpvWlqaDh8+rMDAwCKoDAAAlDZOB5a0tDTFx8crPj5ekpSQkKD4+HiHJ+3ZbDZ9+eWXeuyxx/Jcx1133aWZM2faX0+aNEnr16/XkSNHFBsbq/79+8vd3V3h4eHOlgcAAMogpy8Jbd++3f6Lj5LsY0mGDx9uvz1q0aJFMgwj38Bx+PBhh4fdnDhxQuHh4Tp37pxq1Kihrl27asuWLapRo4az5QEAgDLopm5rNgtnbosCADPhtmbcCkx/WzMAAIArEFgAAIDpEVgAAIDpEVgAAGXKuXPn5Ofnd0PPFxkyZIjeeecd1xeFm1akT7oFANy4mFNLi21bfYIG3FT/zZs3q3Pnzrrnnnv0/fff51p+xx13aMOGDbnmP/LII5o3b95NbfuvXn31VT3wwAOqXbt2rhrq1aunuXPnOsz/+OOP9eyzz8pms+mFF15Q9+7d9dhjj8lqtbq0LtwczrAAAG7anDlzFB4ertWrV+vUqVMOywzD0M6dO/X2228rMTHRYfr4449dWsfFixc1Z86cXD/rklND27Ztc/XZvn27WrVqJTc3NzVv3lz16tXT/PnzXVoXbh6BBQBwU9LS0rR48WJNmDBBPXv2tD+TK8fBgweVmpqq7t27KyAgwGGqWLGiS2tZsWKFvLy89Le//S3PGvILLNfO79evnxYtWuTSunDzCCwAgJuyZMkSBQQEqEOHDho6dKjmzp2rax/xtWPHDpUrV04tW7Ys8lp+/vnnPEPJjh075O7unuvnYi5duqR9+/apTZs29nkdOnTQ1q1blZGRUeT1ovAILACAmzJnzhwNHTpUkhQWFqbExEStX7/evjwuLk5ZWVmqVq2aKlasaJ8ef/xxe5t3331XNWvWVKtWrdSqVSu1bt1aqampOn78uPr376927dqpfv36GjlypGbPnq1WrVqpRYsW8vT0tPeJjIzU0aNHFRQUlKvGnBrKly8vi8Vin8qXL6+srCyHwBIUFKQrV64oKSmpCN81OItBtwCAG3bgwAHFxsbaLwNVrFhRDzzwgObMmaMePXpIuhoWwsPD9dJLLzn0rVq1qv2/9+zZow8++EADBjgO/u3Tp4+mTp2q0NBQGYah/fv3q2nTpho7dqx2796t0aNH65dffrG3/+abb/J8YnBcXJz69++vqVOnOsxftGiRPvzwQzVt2tQ+z8fHR9LV8TAwD86wAABu2Jw5c9S+fXs1aNDAPm/o0KFaunSpUlJSJF0NC126dFH9+vUdpr8GllatWjms+/Lly9q2bZu6dOkiSbJYLA7BYu/evWrWrJlDn+rVq+v8+fO56oyLi1OPHj3sZ2Nypj/++EMtW7aUu7u7ve0ff/whSfyenckQWAAAN+TPP//UvHnz9PDDDzvM7927t8qXL68vvvhCv//+uy5cuJBr7Mi1DMPQgQMHNGDAAHuQWLFihby9vdW5c2c1btxYTz/9tOLj4x367dmzJ1dgad26tfbt2+cwL6eGay/75IiLi8s15mXPnj2qWbOmqlevXpi3AcWES0IAgBvy3XffKTk5Wc2bN9eePXsclnXv3l1z5sxRtWrVJEn+/v65xoT4+fnJzc1NCQkJaty4scOlnRxr1qzR+vXrtXTpUnXu3FmbNm1S69atJV09w/LEE084tA8NDdWUKVN0/vx5ValSRdLVAbdubm65zuBkZmZqz549udbx888/q3fv3s6/IShSBBYAwA2ZM2eOJOnuu+/Ot83ChQslyeGSkSR5eXnJZrPJ09NTe/bsUcOGDfPs7+bmpp49e6pnz546fPiw9u3bZw8seZ1hadGihdq0aaMlS5bYB/XGxcWpQYMGuW6h3rdvnzIyMhzOvFy+fFnLly9XTExMYd4CFCMCCwCY1M0+fbaoffvtty5ZT36B5ccff9Sdd94pDw8PJSQk6LfffrOPZ7l06ZLOnz+vmjVr5uo3depUTZ48WaNHj5abm5siIiIUERGRq11ISIjD7deSFBUVpQ4dOuR6jgtKHoEFAFCi9uzZo59//llLl179KYIqVapo7dq1+vLLL/Xkk0+qUqVKqlChgj799FP74/b379+vxo0b57m+e++9VwcPHtTJkycVHBzsVC0eHh766KOPbmp/UDQsxl/jZSlks9lktVqVkpIiX1/fki4HAArt8uXLSkhIUJ06dfK8HRcoC/L7nDvz/c1dQgAAwPQILAAAwPQILAAAwPQILAAAwPQILABgAmXg/gcgX674fBNYAKAEeXh4SOKH9lC25Xy+cz7vN4LnsABACXJ3d1flypV1+vRpSVL58uVlsVhKuCrANQzD0MWLF3X69GlVrlzZ4UcmnUVgAYASFhAQIEn20AKUNZUrV7Z/zm8UgQUASpjFYlFgYKD8/PyUmZlZ0uUALuXh4XFTZ1ZyEFgAwCTc3d1d8j92oCxi0C0AADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9pwPLhg0b1K9fPwUFBclisWj58uUOy0eMGCGLxeIw9enT57rrjYyMVO3ateXt7a2OHTtq69atzpYGAADKKKcDS3p6ukJCQhQZGZlvmz59+igxMdE+ffHFFwWuc/HixZo4caKmTZumuLg4hYSEKDQ0lN/VAAAAkm7g0fx9+/ZV3759C2zj5eXl1I8cvfvuuxo9erQeffRRSdLs2bP1/fffa+7cuXr++eedLREAAJQxRTKGZd26dfLz81OjRo30xBNP6Ny5c/m2vXLlinbs2KFevXr9ryg3N/Xq1UubN2/Os09GRoZsNpvDBAAAyi6XB5Y+ffpo3rx5Wr16td544w2tX79effv2VVZWVp7tz549q6ysLPn7+zvM9/f3V1JSUp59IiIiZLVa7VNwcLCrdwMAAJiIy3+teciQIfb/btGihVq2bKl69epp3bp1uuuuu1yyjSlTpmjixIn21zabjdACAEAZVuS3NdetW1fVq1fXoUOH8lxevXp1ubu7Kzk52WF+cnJyvuNgvLy85Ovr6zABAICyq8gDy4kTJ3Tu3DkFBgbmudzT01Nt27bV6tWr7fOys7O1evVqderUqajLAwAApYDTgSUtLU3x8fGKj4+XJCUkJCg+Pl7Hjh1TWlqaJk+erC1btujIkSNavXq1HnjgAdWvX1+hoaH2ddx1112aOXOm/fXEiRP16aef6rPPPtP+/fv1xBNPKD093X7XEAAAuLU5PYZl+/bt6tmzp/11zliS4cOHa9asWdq9e7c+++wzXbhwQUFBQerdu7dmzJghLy8ve5/Dhw/r7Nmz9teDBw/WmTNnNHXqVCUlJalVq1aKiYnJNRAXAADcmiyGYRglXcTNstlsslqtSklJYTwLAAClhDPf3/yWEAAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD2nA8uGDRvUr18/BQUFyWKxaPny5fZlmZmZeu6559SiRQtVqFBBQUFBGjZsmE6dOlXgOqdPny6LxeIwNW7c2OmdAQAAZZPTgSU9PV0hISGKjIzMtezixYuKi4vTiy++qLi4OH311Vc6cOCA7r///uuut1mzZkpMTLRPGzdudLY0AABQRpVztkPfvn3Vt2/fPJdZrVatXLnSYd7MmTPVoUMHHTt2TLVq1cq/kHLlFBAQ4Gw5AADgFlDkY1hSUlJksVhUuXLlAtsdPHhQQUFBqlu3roYOHapjx47l2zYjI0M2m81hAgAAZVeRBpbLly/rueeeU3h4uHx9ffNt17FjR0VHRysmJkazZs1SQkKCunXrptTU1DzbR0REyGq12qfg4OCi2gUAAGACFsMwjBvubLFo2bJlCgsLy7UsMzNTAwYM0IkTJ7Ru3boCA8tfXbhwQbfffrveffddjRo1KtfyjIwMZWRk2F/bbDYFBwcrJSXFqe0AAICSY7PZZLVaC/X97fQYlsLIzMzUoEGDdPToUa1Zs8bpEFG5cmU1bNhQhw4dynO5l5eXvLy8XFEqAAAoBVx+SSgnrBw8eFCrVq1StWrVnF5HWlqaDh8+rMDAQFeXBwAASiGnA0taWpri4+MVHx8vSUpISFB8fLyOHTumzMxMPfTQQ9q+fbsWLFigrKwsJSUlKSkpSVeuXLGv46677tLMmTPtrydNmqT169fryJEjio2NVf/+/eXu7q7w8PCb30MAAFDqOX1JaPv27erZs6f99cSJEyVJw4cP1/Tp0/XNN99Iklq1auXQb+3aterRo4ck6fDhwzp79qx92YkTJxQeHq5z586pRo0a6tq1q7Zs2aIaNWo4Wx4AACiDbmrQrVk4M2gHAACYgzPf3/yWEAAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD0CCwAAMD2nA8uGDRvUr18/BQUFyWKxaPny5Q7LDcPQ1KlTFRgYKB8fH/Xq1UsHDx687nojIyNVu3ZteXt7q2PHjtq6dauzpQEAgDLK6cCSnp6ukJAQRUZG5rn8zTff1IcffqjZs2frl19+UYUKFRQaGqrLly/nu87Fixdr4sSJmjZtmuLi4hQSEqLQ0FCdPn3a2fIAAEAZZDEMw7jhzhaLli1bprCwMElXz64EBQXpn//8pyZNmiRJSklJkb+/v6KjozVkyJA819OxY0e1b99eM2fOlCRlZ2crODhYTz31lJ5//vlc7TMyMpSRkWF/bbPZFBwcrJSUFPn6+t7o7gAAgGJks9lktVoL9f3t0jEsCQkJSkpKUq9evezzrFarOnbsqM2bN+fZ58qVK9qxY4dDHzc3N/Xq1SvfPhEREbJarfYpODjYlbsBAABMxqWBJSkpSZLk7+/vMN/f39++7K/Onj2rrKwsp/pMmTJFKSkp9un48eMuqB4AAJhVuZIu4EZ4eXnJy8urpMsAAADFxKVnWAICAiRJycnJDvOTk5Pty/6qevXqcnd3d6oPAAC4tbg0sNSpU0cBAQFavXq1fZ7NZtMvv/yiTp065dnH09NTbdu2deiTnZ2t1atX59sHAADcWpy+JJSWlqZDhw7ZXyckJCg+Pl5Vq1ZVrVq1NGHCBL3yyitq0KCB6tSpoxdffFFBQUH2O4kk6a677lL//v01fvx4SdLEiRM1fPhwtWvXTh06dND777+v9PR0Pfrooze/hwAAoNRzOrBs375dPXv2tL+eOHGiJGn48OGKjo7Ws88+q/T0dI0ZM0YXLlxQ165dFRMTI29vb3ufw4cP6+zZs/bXgwcP1pkzZzR16lQlJSWpVatWiomJyTUQFwAA3Jpu6jksZuHMfdwAAMAcSuw5LAAAAEWBwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEzP5YGldu3aslgsuaZx48bl2T46OjpXW29vb1eXBQAASrFyrl7htm3blJWVZX+9Z88e3X333Ro4cGC+fXx9fXXgwAH7a4vF4uqyAABAKebywFKjRg2H16+//rrq1aunO+64I98+FotFAQEBri4FAACUEUU6huXKlSuaP3++Ro4cWeBZk7S0NN1+++0KDg7WAw88oL179xa43oyMDNlsNocJAACUXUUaWJYvX64LFy5oxIgR+bZp1KiR5s6dq6+//lrz589Xdna2OnfurBMnTuTbJyIiQlar1T4FBwcXQfUAAMAsLIZhGEW18tDQUHl6eurbb78tdJ/MzEw1adJE4eHhmjFjRp5tMjIylJGRYX9ts9kUHByslJQU+fr63nTdAACg6NlsNlmt1kJ9f7t8DEuOo0ePatWqVfrqq6+c6ufh4aHWrVvr0KFD+bbx8vKSl5fXzZYIAABKiSK7JBQVFSU/Pz/de++9TvXLysrSr7/+qsDAwCKqDAAAlDZFEliys7MVFRWl4cOHq1w5x5M4w4YN05QpU+yvX375Zf3000/6/fffFRcXp7///e86evSoHnvssaIoDQAAlEJFcklo1apVOnbsmEaOHJlr2bFjx+Tm9r+cdP78eY0ePVpJSUmqUqWK2rZtq9jYWDVt2rQoSgMAAKVQkQ66LS7ODNoBAADm4Mz3N78lBAAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATI/AAgAATK9cSRdQFsybviTfZcOmDyrGSgAAKJs4wwIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEzP5YFl+vTpslgsDlPjxo0L7PPll1+qcePG8vb2VosWLbRixQpXlwUAAEqxIjnD0qxZMyUmJtqnjRs35ts2NjZW4eHhGjVqlHbu3KmwsDCFhYVpz549RVEaAAAohYoksJQrV04BAQH2qXr16vm2/eCDD9SnTx9NnjxZTZo00YwZM9SmTRvNnDmzKEoDAAClUJEEloMHDyooKEh169bV0KFDdezYsXzbbt68Wb169XKYFxoaqs2bN+fbJyMjQzabzWECAABll8sDS8eOHRUdHa2YmBjNmjVLCQkJ6tatm1JTU/Nsn5SUJH9/f4d5/v7+SkpKyncbERERslqt9ik4ONil+wAAAMzF5YGlb9++GjhwoFq2bKnQ0FCtWLFCFy5c0JIlS1y2jSlTpiglJcU+HT9+3GXrBgAA5lOuqDdQuXJlNWzYUIcOHcpzeUBAgJKTkx3mJScnKyAgIN91enl5ycvLy6V1AgAA8yry57CkpaXp8OHDCgwMzHN5p06dtHr1aod5K1euVKdOnYq6NAAAUEq4PLBMmjRJ69ev15EjRxQbG6v+/fvL3d1d4eHhkqRhw4ZpypQp9vbPPPOMYmJi9M477+i3337T9OnTtX37do0fP97VpQEAgFLK5ZeETpw4ofDwcJ07d041atRQ165dtWXLFtWoUUOSdOzYMbm5/S8nde7cWQsXLtQLL7yg//u//1ODBg20fPlyNW/e3NWlAQCAUsrlgWXRokUFLl+3bl2ueQMHDtTAgQNdXQoAACgj+C0hAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgei4PLBEREWrfvr0qVaokPz8/hYWF6cCBAwX2iY6OlsVicZi8vb1dXRoAACilXB5Y1q9fr3HjxmnLli1auXKlMjMz1bt3b6WnpxfYz9fXV4mJifbp6NGjri4NAACUUuVcvcKYmBiH19HR0fLz89OOHTvUvXv3fPtZLBYFBAS4uhwAAFAGFPkYlpSUFElS1apVC2yXlpam22+/XcHBwXrggQe0d+/efNtmZGTIZrM5TAAAoOwq0sCSnZ2tCRMmqEuXLmrevHm+7Ro1aqS5c+fq66+/1vz585Wdna3OnTvrxIkTebaPiIiQ1Wq1T8HBwUW1CwAAwAQshmEYRbXyJ554Qj/88IM2btyomjVrFrpfZmammjRpovDwcM2YMSPX8oyMDGVkZNhf22w2BQcHKyUlRb6+vi6p3Rnzpi/Jd9mw6YOKsRIAAEoPm80mq9VaqO9vl49hyTF+/Hh999132rBhg1NhRZI8PDzUunVrHTp0KM/lXl5e8vLyckWZAACgFHD5JSHDMDR+/HgtW7ZMa9asUZ06dZxeR1ZWln799VcFBga6ujwAAFAKufwMy7hx47Rw4UJ9/fXXqlSpkpKSkiRJVqtVPj4+kqRhw4bptttuU0REhCTp5Zdf1t/+9jfVr19fFy5c0FtvvaWjR4/qsccec3V5AACgFHJ5YJk1a5YkqUePHg7zo6KiNGLECEnSsWPH5Ob2v5M758+f1+jRo5WUlKQqVaqobdu2io2NVdOmTV1dHgAAKIVcHlgKM4Z33bp1Dq/fe+89vffee64uBQAAlBH8lhAAADA9AgsAADC9IrutuSwp6DkrN9vXjM9pmbN4U4HLRw3uUkyVmENB78et9l4AKLtiTi0tcHmfoAHFVEneOMMCAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMj8ACAABMr1xJF3Crm7N40w33HTW4iwsruXXdzDG41VzvvSroMxlzammBffsEDbihmqSSq+tmtns9BdV1M+9VWXS9Y1gSOEauxxkWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgekUWWCIjI1W7dm15e3urY8eO2rp1a4Htv/zySzVu3Fje3t5q0aKFVqxYUVSlAQCAUqZIAsvixYs1ceJETZs2TXFxcQoJCVFoaKhOnz6dZ/vY2FiFh4dr1KhR2rlzp8LCwhQWFqY9e/YURXkAAKCUKZLA8u6772r06NF69NFH1bRpU82ePVvly5fX3Llz82z/wQcfqE+fPpo8ebKaNGmiGTNmqE2bNpo5c2ZRlAcAAEqZcq5e4ZUrV7Rjxw5NmTLFPs/NzU29evXS5s2b8+yzefNmTZw40WFeaGioli9fnmf7jIwMZWRk2F+npKRIkmw2201Wn7dLGReLZL2SlHkx/Yb7Ftn+XqemotpuSbne/hakrL0X13Mzn4301IL/jm7mvSypuoryb6Wgum61z931XO8YloTSeIyK8m/0eus0DOP6jQ0XO3nypCHJiI2NdZg/efJko0OHDnn28fDwMBYuXOgwLzIy0vDz88uz/bRp0wxJTExMTExMTGVgOn78+HXzhcvPsBSHKVOm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" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": "
", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAG1CAYAAADa9q//AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9h0lEQVR4nO3deVxWZf7/8fctsrlwu7Em7rsmmtu4pZaJVhZlLtgkLmmWVg5p5UylZUVqe5I1fRNadLKm1KYaSnEbwx3RMmPEwBVwhRswkeD8/ujHPd6xyK0sB3w9H4/zeHSfc13X+Rxu6H57znXObTEMwxAAAICJ1arqAgAAAC6HwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAIAAEyPwAJUkOjoaFksFqWkpFR1KTXazp071a9fP9WtW1cWi0UJCQlVXVKVWLRokTp06KCCgoIrHuOdd95Rs2bNlJubW46VAeWDwAKUUWEA2bVrV7HbBw8erC5dulzVPuLi4jR//nxlZGRc1TjXiry8PI0ePVpnz57Va6+9po8++kjNmze/bL+3335bFotFffr0KbXdt99+K4vFUuLy4YcfltehXBWbzaaFCxfqiSeeUK1ajv9bLzyGFStWFNv3jjvuUN26dVVQUKCJEyfq4sWLevfddyujbMAptau6AKCmuu+++zRu3Di5u7uXuU9cXJyeffZZTZw4UQ0aNKi44mqIQ4cO6fDhw3rvvfd0//33l7nf8uXL5ebmph07digpKUlt2rQptt3evXslSW+++aYaNmxYZHtwcPCVFV7Oli1bpt9++02hoaFFthUeQ8+ePYvtu3v3bnXp0kW1atWSh4eHwsLC9Oqrr+rhhx+WxWKp0LoBZxBYgAri4uIiFxeXqi7DaTk5Oapbt25Vl1EmJ0+elCSnwl1ycrLi4uL03HPPacGCBVq+fLnmzZtXbNt9+/bJarVq5syZpv7wjoqK0h133CEPD48i2/bt2ycvLy+1bdu2yLa0tDSdOHFCt912m33dmDFjtGjRIm3YsEE33XRThdYNOINLQkAFKW4OS1ZWlmbNmqUWLVrI3d1dPj4+uuWWWxQfH6/58+drzpw5kqSWLVvaLztc2n/Pnj0aMWKEvLy8VK9ePd18883atm1bkX1v3LhRPXv2lIeHh1q3bq13331X8+fPL/KhW7jup59+0vjx49WwYUMNGDBAhw8f1kMPPaT27dvL09NTjRs31ujRo4udj1M4xn//+1/9+c9/ltVqlbe3t55++mkZhqGjR4/qzjvvlJeXl/z8/PTKK6+U6ed3uWOdOHGiBg0aJEkaPXq0LBaLBg8efNlxly9fLhcXF02bNk233HKLli9fXmLbvXv3qnv37qYOK8nJydq3b5+GDh1a7PbSjmH37t2SpKCgIPu6Hj16qFGjRlqzZk3FFAxcIc6wAE7KzMzU6dOni6zPy8u7bN/p06frn//8p2bOnKlOnTrpzJkz2rJliw4cOKC7775b//3vf/WPf/xDr732mpo0aSJJ8vb2liTt379fAwcOlJeXlx5//HG5urrq3Xff1eDBg7Vp0yb7fIw9e/Zo+PDh8vf317PPPqv8/Hw999xz9nGKM3r0aLVt21YvvviiDMPQzp07FRcXp3Hjxqlp06ZKSUnR0qVLNXjwYP3000+qU6dOkTHGjh2rjh076qWXXtLXX3+t559/Xo0aNdK7776rm266SQsXLtTy5cs1e/Zs9erVSzfeeGOJ9ZTlWB944AFdd911evHFF/XII4+oV69e8vX1vex7sHz5ct14443y9fXVmDFjNHHiRO3cuVO9evVyaHfx4kUlJiZqwIABxb7fVqtVrq6ul91fRYuLi5Mk3XDDDUW2FR5DaGiokpKSimxfv369JKlr164O62+44QZ9//33FVAtcBUMAGUSFRVlSCp16dy5c5H2ycnJ9nVWq9WYMWNGiftYvHhxkT6FQkJCDDc3N+PQoUP2dSdOnDDq169v3HjjjfZ1I0eONOrUqWMcP37cvu7gwYNG7dq1jT/+yc+bN8+QZISGhjqsP3/+fJH9b9261ZBkfPjhh8WOMW3aNPu63377zWjatKlhsViMl156yb7+3LlzhqenpxEWFlbiz8CZY92wYYMhyfjss89KHa/Qrl27DEnGO++8YxiGYWRkZBhubm7Go48+WqTtnj17Sn2vExMTy7TPivbUU08ZkoysrKwi2y53DIVLRkaGQ79p06YZnp6elXUIQJlwhgVwUmRkpNq1a1dk/WOPPab8/PxS+zZo0EDbt2/XiRMnFBAQUOZ95ufn67vvvlNISIhatWplX+/v76/x48frvffek81mU926dbVu3TrdddddDuO3adNGI0aM0L/+9a9ix58+fbrDa09PT/t/5+XlyWazqU2bNmrQoIHi4+N13333FRnj0kmvLi4u6tmzp44dO6YpU6Y4HH/79u31yy+/XPWxenl5lThGSZYvX67atWtr1KhRkn4/SzJ8+HB98skneuWVVxzmHO3bt0/S75f2rrvuuiJjFTcnpCqcOXNGtWvXVr169YpsKzyG119/vdhjmD59uurXry+r1eqwvmHDhvr11191/vz5Ys+mAVWBwAI4qXfv3sXecdGwYcNiLx1catGiRQoLC1NgYKB69OihW2+9VRMmTHD4YC7OqVOndP78ebVv377Ito4dO6qgoEBHjx5Vo0aN9OuvvxZ710tJd8JIv8+ZudSvv/6qiIgIRUVF6fjx4zIMw74tMzOz2DGaNWvm8NpqtcrDw8N+aevS9WfOnCmxlrIea+fOnUscozj5+fn65JNPdNNNNznUNHbsWH355ZeKjY3VsGHD7Ov37t2r2rVrKzQ0VG5ubiWOm5KSopYtW9pvDb7uuuv0xhtv6NZbb3XYZhiGWrRoobfffts+9+bS7Zdau3at+vbt67DdYrHIz89Pw4YN07x58+Tj43PZY967d69cXFw0ffr0Iner/frrrzp37pwGDBhQpF/h+23muTu49jDpFqhEY8aM0S+//KK33npLAQEBWrx4sTp37qx///vfVVrXpWdUJOnhhx/WCy+8oDFjxujTTz/Vd999p7Vr16px48YlPpisuDuiSrpL6tIAVFnWr1+v1NRUjR071mH9HXfcIU9PzyKTb/ft26eWLVuWGlak30NBly5dlJ2drfPnzyssLEwPPvigfVvnzp2VnZ2t7Oxs3XnnnZo2bZpD306dOtm3Fy59+/a1b+/YsaOys7OVlZWl2NhYnT17Vrfffrt+++03SVLjxo3122+/KSsrq0ht+/btU+vWrYu9tf7AgQMqKCgoMn9Fks6dO6c6deoU+b0AqhKBBahk/v7+euihh7R69WolJyercePGeuGFFySV/C9ab29v1alTR4mJiUW2/fzzz6pVq5YCAwPl4+MjDw+PYidYFreuJP/85z8VFhamV155Rffcc49uueUWDRgwoFIeaFfWY3XW8uXL5erqqrvuusthfb169XTrrbdq1apV+vXXX+3r9+3bp44dO1523L179zqccevVq5d9AnbhHTrS7+9t//79Hc7C7d27Vx06dCh17EsD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uEaNGqV9+/Zp5cqV2rJli2bOnOlU7Ze6XF3Hjx/XjTfeKHd3d61fv167d+/W5MmT9dtvv0mSsrKyFBYWpi1btmjbtm1q27atbr31VmVlZV1234GBgfr8888lSYmJiUpNTdUbb7yh0aNHKz8/X19++aW97cmTJ/X1119r8uTJZT62zMxMNWrUyJkfh9MILAAApyUlJckwDHXo0KHMfZ566iklJydr+fLlTu3r+eefV//+/dW9e3dNmTJFmzZt0tKlS9W9e3cNHDhQ99xzjzZs2CBJysnJ0dKlS7V48WKNGDFCnTp10nvvvSdPT0+9//77kqSlS5eqdevWeuWVV9S+fXvde++9mjhxosM+IyIidO+992rWrFlq27at+vXrpzfffFMffvihLly44FT9Za0rMjJSVqtVn3zyiXr27Kl27dpp0qRJat++vSTppptu0p///Gd16NBBHTt21N///nedP3++TJfZXFxc7IHCx8dHfn5+slqt8vT01Pjx4xUVFWVv+/HHH6tZs2Zlnl+UlJSkt956Sw888ICTPxXnEFgAAE4zDMPpPt7e3po9e7aeeeYZpyZodu3a1f7fvr6+qlOnjlq1auWw7uTJk5J+PzOSl5en/v3727e7urqqd+/eOnDggCTpwIED6tOnj8M++vbt6/B67969io6OVr169exLcHCwCgoKlJycXPaD/v/KUldCQoIGDhwoV1fXYsdIT0/X1KlT1bZtW1mtVnl5eSk7O1tHjhxxup5LTZ06Vd99952OHz8uSYqOjtbEiRNlsVgu2/f48eMaPny4Ro8eralTp15VHZfDpFsAgNPatm0ri8XiMLG2LMLDw/X222/r7bffLnOfSz/ALRZLkQ90i8Xi9GWmy8nOztYDDzygRx55pMi2Zs2aleu+Cnl6epa6PSwsTGfOnNEbb7yh5s2by93dXX379r3qu3O6d++uoKAgffjhhxo2bJj279+vr7/++rL9Tpw4oSFDhqhfv376+9//flU1lIXTZ1g2b96skSNHKiAgQBaLpcj95RaLpdhl8eLFJY45f/78Iu2dOc0IAKhcjRo1UnBwsCIjI4udiFrSrbP16tXT008/rRdeeKFMcy+c1bp1a7m5uen777+3r8vLy9POnTvVqVMnSVLHjh21Y8cOh35/nCR8ww036KefflKbNm2KLG5ubhVSV9euXfWf//xHeXl5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" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": "
" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "benchmark_plots_functions.create_error_mitigation_prediction_histogram(mitigation_data=mitigation_data,noise_models_predicted_energy_dictionary=predicted_energy_dictionary,energy_dictionary=energy_dictionary,number_of_qubits=number_of_qubits)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "ExecuteTime": { "start_time": "2023-12-28T01:13:08.605823Z", "end_time": "2023-12-28T01:13:08.615393Z" } }, "outputs": [], "source": [ "\n", "\n", "\n", "\n", "\n" ] } ], "metadata": { "kernelspec": { "name": "python3", "language": "python", "display_name": "Python 3 (ipykernel)" }, "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.10.11" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }