From 814872249d6909a7f01948b1f9db805bfbbb5f37 Mon Sep 17 00:00:00 2001 From: Anne-Claire Date: Mon, 4 Dec 2023 10:02:46 +0100 Subject: [PATCH] [FEAT] Add QAOA notebook --- samples/azure-quantum/qaoa/qaoa-pasqal.ipynb | 977 +++++++++++++++++++ 1 file changed, 977 insertions(+) create mode 100644 samples/azure-quantum/qaoa/qaoa-pasqal.ipynb diff --git a/samples/azure-quantum/qaoa/qaoa-pasqal.ipynb b/samples/azure-quantum/qaoa/qaoa-pasqal.ipynb new file mode 100644 index 00000000000..33503365c29 --- /dev/null +++ b/samples/azure-quantum/qaoa/qaoa-pasqal.ipynb @@ -0,0 +1,977 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# QAOA and QAA to solve a QUBO problem" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[notice] A new release of pip is available: 23.1.2 -> 23.3.1\n", + "[notice] To update, run: python.exe -m pip install --upgrade pip\n" + ] + } + ], + "source": [ + "# Restart the kernel once you have run this cell\n", + "!pip install -U -q azure-quantum\n", + "\n", + "try:\n", + " import pulser-simulation\n", + " import pulser-core\n", + "except ImportError:\n", + " !pip -q install pulser-simulation\n", + " !pip -q install pulser-core" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from pulser import Pulse, Sequence, Register\n", + "from pulser_simulation import QutipEmulator\n", + "from pulser.devices import Chadoq2\n", + "from pulser.waveforms import InterpolatedWaveform\n", + "from scipy.optimize import minimize\n", + "from scipy.spatial.distance import pdist, squareform" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Introduction " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this tutorial, we illustrate how to solve a Quadratic Unconstrained Binary Optimization (QUBO) instance using an ensemble of Rydberg atoms in analog mode.\n", + "\n", + "QUBO has been extensively studied [Glover, et al., 2018](https://arxiv.org/pdf/1811.11538.pdf) and is used to model and solve numerous categories of optimization problems including important instances of network flows, scheduling, max-cut, max-clique, vertex cover and other graph and management science problems, integrating them into a unified modeling framework.\n", + "\n", + "Mathematically, a QUBO instance consists of a symmetric matrix $Q$ of size $(N \\times N)$, and the optimization problem associated with it is to find the bitstring $z=(z_1, \\dots, z_N) \\in \\{0, 1 \\}^N$ that minimizes the quantity\n", + "$$f(z) = z^{T}Qz$$ \n", + "\n", + "\n", + "In this tutorial, we will demonstrate how a QUBO instance can be mapped and solved using neutral atoms." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Suppose we are given the following QUBO matrix $Q$:" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "Q = np.array(\n", + " [\n", + " [-10.0, 19.7365809, 19.7365809, 5.42015853, 5.42015853],\n", + " [19.7365809, -10.0, 20.67626392, 0.17675796, 0.85604541],\n", + " [19.7365809, 20.67626392, -10.0, 0.85604541, 0.17675796],\n", + " [5.42015853, 0.17675796, 0.85604541, -10.0, 0.32306662],\n", + " [5.42015853, 0.85604541, 0.17675796, 0.32306662, -10.0],\n", + " ]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because the QUBO is small, we can classically check all solutions and mark the optimal ones. This will help us later in the tutorial to visualize the quality of our quantum approach." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('01011', -27.288260020000003), ('00111', -27.288260019999996), ('00101', -19.64648408)]\n" + ] + } + ], + "source": [ + "bitstrings = [np.binary_repr(i, len(Q)) for i in range(2 ** len(Q))]\n", + "costs = []\n", + "# this takes exponential time with the dimension of the QUBO\n", + "for b in bitstrings:\n", + " z = np.array(list(b), dtype=int)\n", + " cost_qutip_emulator = z.T @ Q @ z\n", + " costs.append(cost_qutip_emulator)\n", + "zipped = zip(bitstrings, costs)\n", + "sort_zipped = sorted(zipped, key=lambda x: x[1])\n", + "print(sort_zipped[:3])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This QUBO admits `01011` and `00111` as optimal solutions." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Embedding a QUBO onto an atomic register" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now illustrate how to use Pulser to embbed the QUBO matrix $Q$ on a neutral-atom device.\n", + "\n", + "The key idea is to encode the off-diagonal terms of $Q$ by using the Rydberg interaction between atoms. As the interaction $U$ depends on the pairwise distance ($U=C_6/r_{ij}^6$) between atoms $i$ and $j$, we attempt to find the optimal positions of the atoms in the Register that replicate best the off-diagonal terms of $Q$:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "def evaluate_mapping(new_coords, *args):\n", + " \"\"\"Cost function to minimize. Ideally, the pairwise\n", + " distances are conserved\"\"\"\n", + " Q, shape = args\n", + " new_coords = np.reshape(new_coords, shape)\n", + " new_Q = squareform(Chadoq2.interaction_coeff / pdist(new_coords) ** 6)\n", + " return np.linalg.norm(new_Q - Q)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "shape = (len(Q), 2)\n", + "costs = []\n", + "np.random.seed(0)\n", + "x0 = np.random.random(shape).flatten()\n", + "res = minimize(\n", + " evaluate_mapping,\n", + " x0,\n", + " args=(Q, shape),\n", + " method=\"Nelder-Mead\",\n", + " tol=1e-6,\n", + " options={\"maxiter\": 200000, \"maxfev\": None},\n", + ")\n", + "coords = np.reshape(res.x, (len(Q), 2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can then plot the obtained coordinates in a Register using:" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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SowxbN++HQBw7LHH0nwYIWQaOiqQUOKcY2hoCENDQ1RKihAyo8gEsE9/+tM499xzYRgGMpnMjLcRBGHaz7e+9a3WNpQ0hCAIWLNmDdasWUNrwAghM4rMEKLjOLjssstwzjnn4Ctf+cqst/va176GCy64oP7v2YIdCTdRFLFq1aqgm0EICbHIBLBbb70VAHDvvfce8XaZTAb9/f0taBEhhJAgRWYIca6uv/56dHd346yzzsJXv/rVo86f2LaNQqEw5YcEj3MOx3HgOA7NgRFCZhSZHthcfPKTn8Qf//EfwzAM/PznP8df//Vfo1Qq4f3vf/+s97n99tvrvTsSHowxPP744wCA173udZAkKeAWEULCJtBKHB/96Efx2c9+9oi3eeGFF7Bhw4b6v++991584AMfQC6XO+rj33zzzfja176GvXv3znob27brRWMBIJ/PY+XKldi7dy9V4giQ7/v1AHbuuedSACNkiUkmk0dN4Aq0B/bBD34Q11xzzRFvs3bt2gU//ubNm/GpT30Ktm1D07QZb6Np2pTf1YYQV6xYseDnJYQQsjhzKecXaADr6elBT09P0x5/69at6OjomDV4zWRwcBB79+6dU/QPi0KhgBUrVrRdr7EdX1c7viagPV9XO74mIDqvK5lMHvU2kZkD27NnDyYnJ7Fnzx74vo+tW7cCANatW4dEIoEf//jHGBkZwdlnnw1d1/Hggw/iM5/5DD70oQ/N63mivBNwKpUK9QdyodrxdbXjawLa83W142sC2uN1RSaA3Xzzzfj6179e//epp54KAPjFL36B17/+9VAUBffccw9uuOEGcM6xbt06fO5zn8O73vWuoJpMCCGkiSITwO69994jrgG74IILpixgJoQQ0t7abh3YUqRpGj7xiU/Ma64vCtrxdbXjawLa83W142sC2ut10YaWhBBCIol6YIQQQiKJAhghhJBIogBGCCEkkiiAtaHVq1dP2xftjjvuCLpZ83LPPfdg9erV0HUdmzdvxlNPPRV0kxbllltumfaeHFoiLSoeffRRXHzxxRgcHIQgCHjggQem/J5zjptvvhkDAwOIxWI477zz6jtrh9XRXtM111wz7b0Le8bz7bffjjPPPBPJZBK9vb245JJL8NJLL025jWVZuP7669HV1YVEIoG3vvWtGBkZCajFC0MBrE198pOfrO9oPDQ0hPe9731BN2nOvv3tb+PGG2/EJz7xCfzmN7/BKaecgvPPPx+jo6NBN21RTjzxxCnvyWOPPRZ0k+atXC7jlFNOwT333DPj7++88058/vOfx5e+9CU8+eSTiMfjOP/882FZVotbOndHe01AdZnOoe/dN7/5zRa2cP4eeeQRXH/99XjiiSfw4IMPwnVdvOlNb0K5XK7f5oYbbsCPf/xj3H///XjkkUdw4MABXHrppQG2egE4aTurVq3i//iP/xh0MxbsrLPO4tdff339377v88HBQX777bcH2KrF+cQnPsFPOeWUoJvRUAD4D37wg/q/GWO8v7+f33XXXfXrcrkc1zSNf/Ob3wyghfN3+GvinPOrr76av+UtbwmkPY0yOjrKAfBHHnmEc159XxRF4ffff3/9Ni+88AIHwLds2RJUM+eNemBt6o477kBXVxdOPfVU3HXXXfA8L+gmzYnjOHjmmWdw3nnn1a8TRRHnnXcetmzZEmDLFm/79u0YHBzE2rVrccUVV2DPnj1BN6mhdu3aheHh4SnvXTqdxubNmyP/3j388MPo7e3Fcccdh/e+972YmJgIuknzks/nAQCdnZ0AgGeeeQau6055rzZs2ICVK1dG6r2KTCUOMnfvf//7cdppp6GzsxOPP/44brrpJgwNDeFzn/tc0E07qvHxcfi+j76+vinX9/X14cUXXwyoVYu3efNm3HvvvTjuuOMwNDSEW2+9Fa973euwbdu2ORUtjYLh4WEAmPG9q/0uii644AJceumlWLNmDXbu3Im/+7u/w4UXXogtW7ZEYpsfxhg+8IEP4DWveQ1OOukkANX3SlVVZDKZKbeN2ntFASwi5rN32o033li/buPGjVBVFe9+97tx++23t8Xq+yi68MIL65c3btyIzZs3Y9WqVfjOd76D6667LsCWkaN5xzveUb988sknY+PGjTjmmGPw8MMP441vfGOALZub66+/Htu2bYvknOvRUACLiMXsnbZ582Z4nodXXnkFxx13XBNa1zjd3d2QJGlaNtTIyAj6+/sDalXjZTIZrF+/Hjt27Ai6KQ1Te39GRkYwMDBQv35kZASbNm0KqFWNt3btWnR3d2PHjh2hD2B/8zd/g3//93/Ho48+OmWXjf7+fjiOg1wuN6UXFrXvGc2BRURPTw82bNhwxB9VVWe879atWyGKInp7e1vc6vlTVRWnn346Hnroofp1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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "qubits = dict(enumerate(coords))\n", + "reg = Register(qubits)\n", + "reg.draw(\n", + " blockade_radius=Chadoq2.rydberg_blockade_radius(1.0),\n", + " draw_graph=False,\n", + " draw_half_radius=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Building the quantum algorithm " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the QUBO $Q$ is encoded in the Register, we can peprare the following Ising Hamiltonian $H_Q$:\n", + "\n", + "$$ H_Q= \\sum_{i=1}^N \\frac{\\hbar\\Omega}{2} \\sigma_i^x - \\sum_{i=1}^N \\frac{\\hbar \\delta}{2} \\sigma_i^z+\\sum_{j \\lt i}\\frac{C_6}{|\\textbf{r}_i-\\textbf{r}_j|^{6}} n_i n_j. $$\n", + "\n", + "In the case where our mapping of the atoms is perfect, the last sum replicates exactly the off-diagonal terms of $Q$. In that case, the next step is to prepare the ground-state of $H_Q$ to output the optimal bitstrings.\n", + "\n", + "To do so we present two different approaches, namely the Quantum Approximation Optimization Algorithm (QAOA) and the Quantum Adiabatic Algorithm (QAA) that have been introduced to prepare ground-states of Hamiltonians." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### QAOA" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This algorithm (see [Farhi, et al., 2014](https://arxiv.org/pdf/1411.4028.pdf)) has gained a lot of traction lately as a gate-based quantum algorithm. It has shown promising results in a number of applications and yields decent results for low-depth circuits.\n", + "\n", + "All atoms are initially in the groundstate $|00\\dots0\\rangle$ of the `ground-rydberg` basis. We then apply $p$ layers of alternating non-commutative Hamiltonians. The first one, called the mixing Hamiltonian $H_M$, is realized by taking $\\Omega = 1$ rad/µs, and $\\delta = 0$ rad/µs in the Hamiltonian equation. The second Hamiltonian $H_Q$ is realized with $\\Omega =0$ rad/µs and $\\delta = 1.$ rad/µs. $H_M$ and $H_Q$ are applied turn in turn with parameters $\\tau$ and $t$ respectively. A classical optimizer is then used to estimate the optimal parameters. \n", + "\n", + "Instead of creating a new `Sequence` everytime the quantum loop is called, we are going to create a parametrized `Sequence` and give that to the quantum loop." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "LAYERS = 2\n", + "\n", + "# Parametrized sequence\n", + "seq = Sequence(reg, Chadoq2)\n", + "seq.declare_channel(\"ch0\", \"rydberg_global\")\n", + "\n", + "t_list = seq.declare_variable(\"t_list\", size=LAYERS)\n", + "s_list = seq.declare_variable(\"s_list\", size=LAYERS)\n", + "\n", + "for t, s in zip(t_list, s_list):\n", + " pulse_1 = Pulse.ConstantPulse(1000 * t, 1.0, 0.0, 0)\n", + " pulse_2 = Pulse.ConstantPulse(1000 * s, 0.0, 1.0, 0)\n", + "\n", + " seq.add(pulse_1, \"ch0\")\n", + " seq.add(pulse_2, \"ch0\")\n", + "\n", + "seq.measure(\"ground-rydberg\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once we have the parameters that we want to apply, we use the `.build()` method to assign these values into a `assigned_seq` sequence. It is this sequence which is simulated every time the quantum loop is called." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Experimentally, we don't have access to the state vector $|\\psi\\rangle$. We therefore make it more realistic by taking samples from the state vector that results from running the simulation with `simul.run()`. This is done with the built-in method `results.sample_final_state()`, in which we add the measurement basis which was declared at the end of the sequence, and the number of samples desired. Currently, the repetition rate of the machine is $5$ Hz." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "def quantum_loop(parameters):\n", + " params = np.array(parameters)\n", + " t_params, s_params = np.reshape(params.astype(int), (2, LAYERS))\n", + " assigned_seq = seq.build(t_list=t_params, s_list=s_params)\n", + " simul = QutipEmulator.from_sequence(assigned_seq, sampling_rate=0.01)\n", + " results = simul.run()\n", + " count_dict = results.sample_final_state() # sample from the state vector\n", + " return count_dict" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(123) # ensures reproducibility of the tutorial\n", + "guess = {\n", + " \"t\": np.random.uniform(8, 10, LAYERS),\n", + " \"s\": np.random.uniform(1, 3, LAYERS),\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "example_dict = quantum_loop(np.r_[guess[\"t\"], guess[\"s\"]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can then plot the distribution of the samples, to see the most frequent bitstrings sampled." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_distribution(C):\n", + " C = dict(sorted(C.items(), key=lambda item: item[1], reverse=True))\n", + " indexes = [\"01011\", \"00111\"] # QUBO solutions\n", + " color_dict = {key: \"r\" if key in indexes else \"g\" for key in C}\n", + " plt.figure(figsize=(12, 6))\n", + " plt.xlabel(\"bitstrings\")\n", + " plt.ylabel(\"counts\")\n", + " plt.bar(C.keys(), C.values(), width=0.5, color=color_dict.values())\n", + " plt.xticks(rotation=\"vertical\")\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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OwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFA1De3nn39+dtttt/Tt2zeDBg3KoYcemvnz57fa5s0338zEiROzySab5H3ve18OP/zwLFq0qNU2zz77bA466KD06dMngwYNyumnn56VK1d2ZisAAADQ4Woa2m+//fZMnDgxd999d2699dasWLEiBxxwQJYuXdqyzde+9rXccMMN+eUvf5nbb789CxYsyGGHHdYy/tZbb+Wggw7K8uXLc9ddd+Waa67J1VdfnbPPPrsWLQEAAECHqVSr1Wqti3jbCy+8kEGDBuX222/P3nvvncWLF2fTTTfN9OnT88lPfjJJ8thjj2W77bbLrFmzsscee+R3v/tdDj744CxYsCCDBw9OkkybNi1nnnlmXnjhhfTo0eMdH7e5uTn9+vXL4sWL09DQsF57XFeVKZVOe6zqOYXZNQAAAErl3ebQQn2mffHixUmSAQMGJEnmzJmTFStWZMyYMS3bDB8+PJtvvnlmzZqVJJk1a1Z23HHHlsCeJGPHjk1zc3MefvjhNh9n2bJlaW5ubvUDAAAARVOY0L5q1aqccsop2WuvvbLDDjskSZqamtKjR4/079+/1baDBw9OU1NTyzZ/G9jfHn97rC3nn39++vXr1/IzbNiwDu4GAAAA1l1hQvvEiRPz0EMP5ec///l6f6zJkydn8eLFLT/PPffcen9MAAAAeK+61bqAJDn55JNz44035o477shmm23Wcn9jY2OWL1+eV199tdXR9kWLFqWxsbFlm9mzZ7f6e29/u/zb2/y9nj17pmfPnh3cBQAAAHSsmh5pr1arOfnkk/PrX/86t912W7baaqtW4yNHjkz37t0zY8aMlvvmz5+fZ599NqNHj06SjB49On/605/y/PPPt2xz6623pqGhIdtvv33nNAIAAADrQU2PtE+cODHTp0/P9ddfn759+7Z8Br1fv37p3bt3+vXrl+OPPz6TJk3KgAED0tDQkC9/+csZPXp09thjjyTJAQcckO233z6f/exn853vfCdNTU35xje+kYkTJzqaDgAAQF2raWi//PLLkyT77rtvq/uvuuqqHHfccUmSqVOnpkuXLjn88MOzbNmyjB07NpdddlnLtl27ds2NN96Yk046KaNHj85GG22UY489Nuedd15ntQEAAADrRaGu014rrtPeNtdpBwAAWD/q8jrtAAAAwP8Q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AABgQ/SeQvsWW2yRJFm1atV6KQYAAAD4H+265FuSPP744/nDH/6Q559/frUQf/bZZ69zYQAAALCha1do/9GPfpSTTjopAwcOTGNjYyqVSstYpVIR2gEAAKADtCu0f/Ob38y3vvWtnHnmmR1dDwAAAPD/a9d12l955ZX80z/9U0fXAgAAAPyNdoX2f/qnf8ott9zS0bUAAAAAf6Ndp8d/8IMfzFlnnZW77747O+64Y7p3795q/Ctf+UqHFAcAAAAbskq1Wq2+11/aaqut1vwHK5X85S9/WaeiOltzc3P69euXxYsXp6GhodblrFVlSuWdN+og1XPe864BAADAu/Buc2i7jrQ/9dRT7S4MAAAAeHfa9Zl2AAAAYP1r15H2z3/+82sdv/LKK9tVDAAAAPA/2hXaX3nllVa3V6xYkYceeiivvvpq9ttvvw4pDAAAADZ07Qrtv/71r1e7b9WqVTnppJPygQ98YJ2LYsPTmV+wl/iSPQAAoD502Gfau3TpkkmTJmXq1Kkd9ScBAABgg9auI+1r8uSTT2blypUd+Seh7rlMHwAA0F7tCu2TJk1qdbtarWbhwoX57W9/m2OPPbZDCgMAAIANXbtC+wMPPNDqdpcuXbLpppvmwgsvfMdvlgcAAADenXaF9j/84Q8dXQcAAADwd9bpM+0vvPBC5s+fnyTZdttts+mmm3ZIUQAAAEA7vz1+6dKl+fznP58hQ4Zk7733zt57752hQ4fm+OOPz+uvv97RNQIAAMAGqV2hfdKkSbn99ttzww035NVXX82rr76a66+/PrfffntOPfXUjq4RAAAANkjtOj3+V7/6Vf7jP/4j++67b8t948ePT+/evfOpT30ql19+eUfVBwAAABusdh1pf/311zN48ODV7h80aJDT4wEAAKCDtCu0jx49Ouecc07efPPNlvveeOONTJkyJaNHj+6w4gAAAGBD1q7T4y+66KKMGzcum222WXbaaackyYMPPpiePXvmlltu6dACAQAAYEPVrtC+44475vHHH8+1116bxx57LEly5JFH5uijj07v3r07tEAAAADYULUrtJ9//vkZPHhwTjzxxFb3X3nllXnhhRdy5plndkhxAAAAsCFr12faf/jDH2b48OGr3f/hD38406ZNW+eiAAAAgHaG9qampgwZMmS1+zfddNMsXLhwnYsCAAAA2hnahw0bljvvvHO1+++8884MHTp0nYsCAAAA2vmZ9hNPPDGnnHJKVqxYkf322y9JMmPGjJxxxhk59dRTO7RAAAAA2FC1K7Sffvrpeemll/KlL30py5cvT5L06tUrZ555ZiZPntyhBQIAAMCGql2hvVKp5IILLshZZ52VRx99NL17986HPvSh9OzZs6PrAwqsMqXSaY9VPafaaY8FAABF0a7Q/rb3ve992W233TqqFgAAAOBvtOuL6AAAAID1T2gHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKC61boAgKKpTKl02mNVz6l22mMBAFB/HGkHAACAgnKkHWAD4iwCAID64kg7AAAAFJTQDgAAAAUltAMAAEBBCe0AAABQUEI7AAAAFJTQDgAAAAVV09B+xx135JBDDsnQoUNTqVRy3XXXtRqvVqs5++yzM2TIkPTu3TtjxozJ448/3mqbl19+OUcffXQaGhrSv3//HH/88VmyZEkndgEAAADrR01D+9KlS7PTTjvl0ksvbXP8O9/5Ti6++OJMmzYt99xzTzbaaKOMHTs2b775Zss2Rx99dB5++OHceuutufHGG3PHHXdkwoQJndUCAAAArDfdavngBx54YA488MA2x6rVai666KJ84xvfyCc+8YkkyU9+8pMMHjw41113XY444og8+uijuemmm3Lvvfdm1113TZJccsklGT9+fL773e9m6NChndYLAAAAdLTCfqb9qaeeSlNTU8aMGdNyX79+/TJq1KjMmjUrSTJr1qz079+/JbAnyZgxY9KlS5fcc889a/zby5YtS3Nzc6sfAAAAKJrChvampqYkyeDBg1vdP3jw4JaxpqamDBo0qNV4t27dMmDAgJZt2nL++eenX79+LT/Dhg3r4OoBAABg3RU2tK9PkydPzuLFi1t+nnvuuVqXBAAAAKspbGhvbGxMkixatKjV/YsWLWoZa2xszPPPP99qfOXKlXn55ZdbtmlLz54909DQ0OoHAAAAiqawoX2rrbZKY2NjZsyY0XJfc3Nz7rnnnowePTpJMnr06Lz66quZM2dOyza33XZbVq1alVGjRnV6zQAAANCRavrt8UuWLMkTTzzRcvupp57K3LlzM2DAgGy++eY55ZRT8s1vfjMf+tCHstVWW+Wss87K0KFDc+ihhyZJtttuu4wbNy4nnnhipk2blhUrVuTkk0/OEUcc4ZvjAQAAqHs1De333XdfPvaxj7XcnjRpUpLk2GOPzdVXX50zzjgjS5cuzYQJE/Lqq6/mox/9aG666ab06tWr5XeuvfbanHzyydl///3TpUuXHH744bn44os7vRcAAADoaDUN7fvuu2+q1eoaxyuVSs4777ycd955a9xmwIABmT59+vooDwAAAGqqsJ9pBwAAgA2d0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFCFDu3nnntuKpVKq5/hw4e3jL/55puZOHFiNtlkk7zvfe/L4YcfnkWLFtWwYgAAAOg4hQ7tSfLhD384CxcubPn5r//6r5axr33ta7nhhhvyy1/+MrfffnsWLFiQww47rIbVAgAAQMfpVusC3km3bt3S2Ni42v2LFy/OFVdckenTp2e//fZLklx11VXZbrvtcvfdd2ePPfbo7FIBqJHKlEqnPVb1nGqnPRYAQOGPtD/++OMZOnRott566xx99NF59tlnkyRz5szJihUrMmbMmJZthw8fns033zyzZs1a699ctmxZmpubW/0AAABA0RT6SPuoUaNy9dVXZ9ttt83ChQszZcqU/K//9b/y0EMPpampKT169Ej//v1b/c7gwYPT1NS01r97/vnnZ8qUKeuxcgDoGM4iAIANW6FD+4EHHtjy74985CMZNWpUtthii/z7v/97evfu3e6/O3ny5EyaNKnldnNzc4YNG7ZOtQIAAEBHK/zp8X+rf//+2WabbfLEE0+ksbExy5cvz6uvvtpqm0WLFrX5Gfi/1bNnzzQ0NLT6AQAAgKKpq9C+ZMmSPPnkkxkyZEhGjhyZ7t27Z8aMGS3j8+fPz7PPPpvRo0fXsEoAAADoGIU+Pf60007LIYccki222CILFizIOeeck65du+bII49Mv379cvzxx2fSpEkZMGBAGhoa8uUvfzmjR4/2zfEAAACUQqFD+1//+tcceeSReemll7Lpppvmox/9aO6+++5suummSZKpU6emS5cuOfzww7Ns2bKMHTs2l112WY2rBgAAgI5R6ND+85//fK3jvXr1yqWXXppLL720kyoCAACAzlNXn2kHAACADYnQDgAAAAUltAMAAEBBCe0AAABQUEI7AAAAFJTQDgAAAAUltAMAAEBBCe0AAABQUEI7AAAAFJTQDgAAAAUltAMAAEBBCe0AAABQUEI7AAAAFFS3WhcAAGx4KlMqnfp41XOqnfp4ANBRHGkHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAgupW6wIAAEqlUum8x6pWO++xAKgJR9oBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKKhutS4AAIA6UKl07uNVq537eAAF5Ug7AAAAFJTQDgAAAAUltAMAAEBBCe0AAABQUEI7AAAAFJTQDgAAAAUltAMAAEBBCe0AAABQUEI7AAAAFJTQDgAAAAUltAMAAEBBCe0AAABQUEI7AAAAFJTQDgAAAAUltAMAAEBBCe0AAABQUEI7AAAAFJTQDgAAAAUltAMAAEBBdat1AQAAUEuVKZVOe6zqOdVOeyygHEpzpP3SSy/NlltumV69emXUqFGZPXt2rUsCAACAdVKKI+2/+MUvMmnSpEybNi2jRo3KRRddlLFjx2b+/PkZNGhQrcsDAIBO15lnECTOIoD1pRRH2r/3ve/lxBNPzOc+97lsv/32mTZtWvr06ZMrr7yy1qUBAABAu9X9kfbly5dnzpw5mTx5cst9Xbp0yZgxYzJr1qw2f2fZsmVZtmxZy+3FixcnSZqbm9dvsR3hzc57qE7979GJfSXl7a3T9+Gy9lbWvpLy9lbWvpLy9lbmdb8zlbWvpHN78/9Zh+jM3vqd36/THmvx5MWd9lhJeXsra1/r4u3/Z6rVtZ+lUqm+0xYFt2DBgrz//e/PXXfdldGjR7fcf8YZZ+T222/PPffcs9rvnHvuuZkyZUpnlgkAAACree6557LZZputcbzuj7S3x+TJkzNp0qSW26tWrcrLL7+cTTbZJJVK5372pzM0Nzdn2LBhee6559LQ0FDrcjpMWftKyttbWftKyttbWftKyttbWftKyttbWftK9FaPytpXUt7eytpXUu7ekv8+wv7aa69l6NCha92u7kP7wIED07Vr1yxatKjV/YsWLUpjY2Obv9OzZ8/07Nmz1X39+/dfXyUWRkNDQyl39rL2lZS3t7L2lZS3t7L2lZS3t7L2lZS3t7L2leitHpW1r6S8vZW1r6TcvfXr984fG6j7L6Lr0aNHRo4cmRkzZrTct2rVqsyYMaPV6fIAAABQb+r+SHuSTJo0Kccee2x23XXX7L777rnooouydOnSfO5zn6t1aQAAANBupQjtn/70p/PCCy/k7LPPTlNTU3beeefcdNNNGTx4cK1LK4SePXvmnHPOWe0jAfWurH0l5e2trH0l5e2trH0l5e2trH0l5e2trH0leqtHZe0rKW9vZe0rKXdv70Xdf3s8AAAAlFXdf6YdAAAAykpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIqxXXa2TC8+OKLufLKKzNr1qw0NTUlSRobG7PnnnvmuOOOy6abblrjClmbZcuWJckGf51NAOqb5zOgsznSvgF58skns99++9W6jHa59957s8022+Tiiy9Ov379svfee2fvvfdOv379cvHFF2f48OG57777al3melHP83brrbdm/Pjx2XjjjdOnT5/06dMnG2+8ccaPH5/f//73tS5vnTzyyCP50pe+lBEjRmTIkCEZMmRIRowYkS996Ut55JFHal1eu5W1rw3Vc889l89//vO1LqPdNsT98dFHH83WW29d6zLWi3rurczPZxuqen59tTYPPvhgunbtWusyOsSyZcta3iTb0FWq1Wq11kXQOR588MHssssueeutt2pdynu2xx57ZKeddsq0adNSqVRajVWr1Xzxi1/MvHnzMmvWrBpVuP7U67xdc801OeGEE/LJT34yY8eOzeDBg5MkixYtyi233JL/+I//yBVXXJHPfvazNa70vfvd736XQw89NLvssstqvd16662ZM2dOrr/++owdO7bGlb43Ze3rbY888kh+8IMfrHa2zujRo3PyySdn++23r3GFHa9e14+k/PvjmtTznL2Teu2tzM9n78aTTz6ZE088MbfddlutS+lQ9bo/vpMHH3wwI0aMyKpVq2pdSrvceuutmTp1ambNmpXm5uYkSUNDQ0aPHp1JkyZlzJgxNa6wNoT2Ern44ovXOv7//t//y3e/+926XJx69+6dBx54IMOHD29z/LHHHsuIESPyxhtvdHJl666s87bNNtvkq1/9aiZOnNjm+GWXXZapU6fm8ccf7+TK1t1OO+2UT3ziEznvvPPaHD/33HPzn//5n5k3b14nV7ZuytpXUt4A+Jvf/Gat43/5y19y6qmn1t36kZR3f5w0adJax1944YVMnz69LuesrL2V+fns3ajXcFvW11eHHXbYWscXL16cmTNn1l1fiTfI1kZoL5EuXbpkyJAh6dGjR5vjy5cvT1NTU13+T7zVVltlypQpOeaYY9oc/8lPfpKzzz47Tz/9dOcW1gHKOm+9evXKgw8+mG233bbN8fnz52fnnXeuyzdaevfunblz55aut7L2lZQ3AHbp0iWVSiVreyqvVCp1t34k5d0fu3btmp133jkNDQ1tji9ZsiT3339/Xc5ZWXsr8/NZUt5wW9bXV927d8/HP/7xlkD7915++eXceOONdddX4g2ytapSGltuuWX1F7/4xRrHH3jggWqXLl06saKO84Mf/KDas2fP6le+8pXq9ddfX7377rurd999d/X666+vfuUrX6n27t27eumll9a6zHYp67ztsssu1dNPP32N42eccUZ1l1126cSKOs7w4cOrF1544RrHL7zwwuq2227biRV1jLL2Va1Wq7169ao+9thjaxx/7LHHqr169erEijrG0KFDq9ddd90ax+t1/ahWy7s/brPNNtWf/vSnaxyv5zkra29lfj6rVqvVSqVSHTp0aHXLLbds82fo0KF1OW9lfX214447Vn/84x+vcbxe+6pWq9WePXuW8rm6I/j2+BIZOXJk5syZk0996lNtjr/T0ZgimzhxYgYOHJipU6fmsssua3n3sGvXrhk5cmSuvvrqNfZddGWdtwsvvDAHH3xwbrrppowZM6bVKU4zZszIX/7yl/z2t7+tcZXtc9555+Woo47KzJkz2+ztpptuyvTp02tc5XtX1r6SZMstt8xvf/vbNR4p++1vf5stttiik6tad2+vH5/4xCfaHK/X9SMp7/646667Zs6cOfnMZz7T5ng9z1lZeyvz81mSbLHFFrngggvW+Dpk7ty5GTlyZCdXte7K+vpq5MiRuf/++3P88ce3Od6zZ89svvnmnVxVx/jwhz+cK664It/5znfaHL/yyitL+f0z74bT40vkkUceyeuvv55dd921zfEVK1ZkwYIFdfnC9G+tWLEiL774YpJk4MCB6d69e40rWjdlnrenn346l19+ee6+++7Vvvjri1/8YrbccsvaFrgO7rrrrlx88cVtfqnZV7/61YwePbrGFbZPWfv65S9/maOOOioHHnjgWgPg4YcfXuNK35s//vGPWbp0acaNG9fm+NKlS3Pfffdln3326eTKOkYZ98empqYsW7asLtf0d1Lm3sr8fPbJT34yH/jAB3LBBRe0OV6vX2xW1tdXy5Yty1tvvZU+ffrUupQON3PmzBx88MHZeuut1/oG2d57713jSjuf0E5dco1U4L0qYwAEWFdlDbfUpzK/QbYuhHbqxoZwCYjFixe3WqD69etX44p4J2Wds7L2VXbe0ARY3Yb0nLZy5cosWLCgbk+Rp21dal0AnefRRx/N1ltvXesy2uWaa67J+PHj069fv0ydOjU33nhjbrzxxkydOjX9+/fP+PHj89Of/rTWZbbbj3/842y//fYZMGBAtt9++1b/vuKKK2pd3nrx4IMPpmvXrrUuo93+fs622267UsxZWfv6W4sXL878+fMzf/78LF68uNblrLNbb70148ePz8Ybb5w+ffqkT58+2XjjjTN+/Pj8/ve/r3V56009P6etTb2vjWtT1t7K1FfZ1scN8fXVww8/nK222qrWZdDBfBHdBmT58uV55plnal1Gu3zrW9/KRRdd1OYlII477rh89KMfzXnnnVeX123813/915x77rn5yle+0uY1Kb/61a/mlVdeyWmnnVbjSjtevZ7oU9Y5K2tfb/vxj3+c733ve5k/f36S/97/KpVKtt1225x66qlr/FKfIvvba9pOnTp1tTkbP358aa9pW8/Pae+kXtfGd6OsvdV7X3+/Pr6tntfHsj+nbYgefPDB7LLLLnV5Obt15fT4Epk0adJax1944YVMnz69Lnf0Ml8jdYsttsi//uu/rvHbTX/xi1/k9NNPz7PPPtvJla2bww47bK3jixcvzsyZM+tyfyzrnJW1r+SdX7xdfPHFOffcc+vuxVuZr2lb1ue0Mq+NZe2trH29razrY1mf03bZZZe1jr/xxhv585//XLf749rU65cidgShvUS6du2anXfeOQ0NDW2OL1myJPfff39d/k88cuTI7L///mu8BMSZZ56Z3//+95kzZ04nV7buevfunfvvvz/bbbddm+OPPPJIdt1117z++uudXNm66d69ez7+8Y+3PPn/vZdffjk33nhjXe6PZZ2zsvaVlPfFW5nf0Czrc1qZ18ay9lbWvt5W1vWxrM9pvXr1yhFHHLHGU+AXLlyYH/3oR3W5P5b9DbJ14fT4EvngBz+Yr33ta2u8Pmq9XmczKfc1Unfbbbd8+9vfzhVXXJFu3Vr/L/nWW2/lggsuyG677Vaj6tpvu+22y+GHH77GU+rmzp2bG2+8sZOr6hhlnbOy9pUkzz//fHbcccc1ju+4444tl5KsJ2W+pm1Zn9PKvDaWtbey9vW2sq6PZX1O22GHHTJq1KicdNJJbY7PnTs3P/rRjzq5qo5xww03rPUNsg0xrL9NaC+RXXfdNXPmzFnjC5xKpVK3n7nad99989BDD7V5CYgDDzywri8B8YMf/CBjx45NY2Nj9t5771ZvSNxxxx3p0aNHbrnllhpX+d6NHDky999//xpf5PTs2bNuv9m0rHNW1r6S8r54K/MbmmV9Tivz2ljW3sra19vKuj6W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AKDshHYAKLl77703EyZMaLldqVRy3XXXvevfv/rqq9O/f/93te2wYcOycOHC7LDDDu+xSgCgLd1qXQAAsH5tuummnfI4y5cvT48ePdLY2NgpjwcAGwJH2gGgBFauXJmTTz45/fr1y8CBA3PWWWelWq0maX16/JZbbpkk+cd//MdUKpWW2w8++GA+9rGPpW/fvmloaMjIkSNz3333ZebMmfnc5z6XxYsXp1KppFKp5Nxzz235W//yL/+SY445Jg0NDZkwYcJqp8fPnDkzlUolM2bMyK677po+ffpkzz33zPz581vV/81vfjODBg1K3759c8IJJ+TrX/96dt5555bxmTNnZvfdd89GG22U/v37Z6+99sozzzyzvv5zAkBhCO0AUALXXHNNunXrltmzZ+f73/9+vve97+XHP/7xatvde++9SZKrrroqCxcubLl99NFHZ7PNNsu9996bOXPm5Otf/3q6d++ePffcMxdddFEaGhqycOHCLFy4MKeddlrL3/vud7+bnXbaKQ888EDOOuusNdb3z//8z7nwwgtz3333pVu3bvn85z/fMnbttdfmW9/6Vi644ILMmTMnm2++eS6//PKW8ZUrV+bQQw/NPvvsk3nz5mXWrFmZMGFCKpXKOv93A4Cic3o8AJTAsGHDMnXq1FQqlWy77bb505/+lKlTp+bEE09std3bp8r379+/1Wnszz77bE4//fQMHz48SfKhD32oZaxfv36pVCptnva+33775dRTT225/fTTT7dZ37e+9a3ss88+SZKvf/3rOeigg/Lmm2+mV69eueSSS3L88cfnc5/7XJLk7LPPzi233JIlS5YkSZqbm7N48eIcfPDB+cAHPpAk2W677d7Tfx8AqFeOtANACeyxxx6tjjyPHj06jz/+eN5666139fuTJk3KCSeckDFjxuTb3/52nnzyyXf1e7vuuuu72u4jH/lIy7+HDBmSJHn++eeTJPPnz8/uu+/eavu/vT1gwIAcd9xxGTt2bA455JB8//vfz8KFC9/V4wJAvRPaAYCce+65efjhh3PQQQfltttuy/bbb59f//rX7/h7G2200bv6+927d2/599tvLqxatepd13fVVVdl1qxZ2XPPPfOLX/wi22yzTe6+++53/fsAUK+EdgAogXvuuafV7bvvvjsf+tCH0rVr19W27d69e5tH4LfZZpt87Wtfyy233JLDDjssV111VZKkR48e7/qIfXtsu+22LZ+tf9vf306SESNGZPLkybnrrruyww47ZPr06eutJgAoCqEdAErg2WefzaRJkzJ//vz87Gc/yyWXXJKvfvWrbW675ZZbZsaMGWlqasorr7ySN954IyeffHJmzpyZZ555JnfeeWfuvffels+Nb7nlllmyZElmzJiRF198Ma+//nqH1v7lL385V1xxRa655po8/vjj+eY3v5l58+a1HJF/6qmnMnny5MyaNSvPPPNMbrnlljz++OM+1w7ABsEX0QFACRxzzDF54403svvuu6dr16756le/mgkTJrS57YUXXphJkyblRz/6Ud7//vfnz3/+c1566aUcc8wxWbRoUQYOHJjDDjssU6ZMSZLsueee+eIXv5hPf/rTeemll3LOOee0XPatIxx99NH5y1/+ktNOOy1vvvlmPvWpT+W4447L7NmzkyR9+vTJY489lmuuuSYvvfRShgwZkokTJ+YLX/hCh9UAAEVVqb59EVcAgIL4+Mc/nsbGxvz0pz+tdSkAUFOOtAMANfX6669n2rRpGTt2bLp27Zqf/exn+f3vf59bb7211qUBQM050g4A1NQbb7yRQw45JA888EDefPPNbLvttvnGN76Rww47rNalAUDNCe0AAABQUL49HgAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKKj/D1+rjpALcFAsAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_distribution(example_dict)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The bitstrings `01011` and `00111` (in red) correspond to the two optimal solutions (calculated at the beginning of the notebook). The goal of QAOA is to choregraph interferences between the basis states, in order to maximize the frequency of the optimal solution states. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Optimization " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We estimate the cost of a sampled state vector by making an average over the samples. This is done by taking the corresponding bitstring ${\\bf z}=(z_1, \\ldots, z_N)$ and calculating\n", + "\n", + "$$\n", + "C({\\bf z}) = {\\bf z}^\\top \\cdot Q \\cdot {\\bf z}\n", + "$$\n", + "\n", + "Determining the cost of a given bitstring takes polynomial time. The average estimate is then used in the classical loop to optimize the variational parameters $\\tau$ and $t$." + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "def get_cost_colouring(bitstring, Q):\n", + " z = np.array(list(bitstring), dtype=int)\n", + " cost = z.T @ Q @ z\n", + " return cost\n", + "\n", + "\n", + "def get_cost(counter, Q):\n", + " cost = sum(counter[key] * get_cost_colouring(key, Q) for key in counter)\n", + " return cost / sum(counter.values()) # Divide by total samples" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To perform a minimization loop, we define the following function that will be called at each step by SciPy. `*args` enables to pass the QUBO value, and `params` contains the trial value to score, which changes at each step." + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "def func(param, *args):\n", + " Q = args[0]\n", + " C = quantum_loop(param)\n", + " cost = get_cost(C, Q)\n", + " return cost" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### QAOA for depth $p = 2$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now use a classical optimizer `minimize` in order to find the best variational parameters. This function takes as arguments `func`, the QUBO $Q$ and an initial point `x0` for the simplex in Nelder-Mead minimization. As the optimizer might get trapped in local minima, we repeat the optimization 20 times and select the parameters that yield the best approximation ratio." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "scores = []\n", + "params = []\n", + "for repetition in range(20):\n", + " guess = {\n", + " \"t\": np.random.uniform(1, 10, LAYERS),\n", + " \"s\": np.random.uniform(1, 10, LAYERS),\n", + " }\n", + "\n", + " try:\n", + " res = minimize(\n", + " func,\n", + " args=Q,\n", + " x0=np.r_[guess[\"t\"], guess[\"s\"]],\n", + " method=\"Nelder-Mead\",\n", + " tol=1e-5,\n", + " options={\"maxiter\": 10},\n", + " )\n", + " scores.append(res.fun)\n", + " params.append(res.x)\n", + " except Exception as e:\n", + " pass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now plot the sample that we woud obtain using the optimal variational parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+0AAAIwCAYAAADzkIpWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAABIEElEQVR4nO3de5xU9X0//tdyFdRdggoL9ZoYL0RUgoqrLbFKREGr0TSJmmgSlcZgqqLG0CqKTestKcYkhiT19m0lSdPWXMhD0ZCAaURRFO8SbxFSWMDbrqBynd8f+bnN1kVhXXbOHp7Px2MeD2Y+Z3febz7n7MxrzplzaiqVSiUAAABA4XSrdgEAAABA24R2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKKiqhvbvfOc72XfffVNbW5va2to0NDTk9ttvbxk/7LDDUlNT0+r2hS98odXvWLhwYcaOHZu+fftmwIABufDCC7N27drObgUAAAA6XI9qPvmOO+6YK6+8Mh/84AdTqVRyyy235LjjjstDDz2UD33oQ0mSM888M5dffnnLz/Tt27fl3+vWrcvYsWNTX1+fe+65J0uWLMmpp56anj175p/+6Z86vR8AAADoSDWVSqVS7SL+VP/+/XPNNdfk9NNPz2GHHZb9998/1157bZvL3n777TnmmGOyePHiDBw4MEkyderUXHTRRVm+fHl69eq1Uc+5fv36LF68ONtuu21qamo6qhUAAABoU6VSyWuvvZbBgwenW7cNHwRf1T3tf2rdunX58Y9/nJUrV6ahoaHl8VtvvTX/9m//lvr6+hx77LG55JJLWva2z5kzJ0OHDm0J7EkyevTonHXWWXn88cczbNiwNp9r1apVWbVqVcv9//mf/8mQIUM2U2cAAADQtkWLFmXHHXfc4HjVQ/ujjz6ahoaGvPnmm9lmm21y2223tQTok08+ObvssksGDx6cRx55JBdddFEWLFiQ//qv/0qSNDY2tgrsSVruNzY2bvA5r7jiikyePPltjy9atCi1tbUd1RoAAAC0qbm5OTvttFO23Xbbd1yu6qF9zz33zPz589PU1JT/+I//yGmnnZbZs2dnyJAhGTduXMtyQ4cOzaBBg3LEEUfk2WefzQc+8IF2P+fEiRMzYcKElvtv/We9dUI8AAAA6Azv9hXtql/yrVevXtl9990zfPjwXHHFFdlvv/3yjW98o81lR4wYkSR55plnkiT19fVZunRpq2Xeul9fX7/B5+zdu3dLQBfUAQAAKKqqh/b/a/369a2+b/6n5s+fnyQZNGhQkqShoSGPPvpoli1b1rLMXXfdldraWt9RBwAAoMur6uHxEydOzNFHH52dd945r732WqZNm5ZZs2ZlxowZefbZZzNt2rSMGTMm2223XR555JGcd955GTlyZPbdd98kyZFHHpkhQ4bkM5/5TK6++uo0Njbm4osvzvjx49O7d+9qtgYAAADvWVVD+7Jly3LqqadmyZIlqaury7777psZM2bkox/9aBYtWpRf/vKXufbaa7Ny5crstNNOOfHEE3PxxRe3/Hz37t0zffr0nHXWWWloaMjWW2+d0047rdV13QEAAKCrKtx12quhubk5dXV1aWpq8v12AAAANruNzaGF+047AAAA8EdCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABRUj2oXwCaqqemc56lUOud5AAAA2CB72gEAAKCg7Gmnehw1AAAA8I7saQcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoIR2AAAAKCihHQAAAApKaAcAAICCEtoBAACgoKoa2r/zne9k3333TW1tbWpra9PQ0JDbb7+9ZfzNN9/M+PHjs91222WbbbbJiSeemKVLl7b6HQsXLszYsWPTt2/fDBgwIBdeeGHWrl3b2a0AAABAh6tqaN9xxx1z5ZVXZt68eXnggQdy+OGH57jjjsvjjz+eJDnvvPPy85//PD/+8Y8ze/bsLF68OCeccELLz69bty5jx47N6tWrc8899+SWW27JzTffnEmTJlWrJQAAAOgwNZVKpVLtIv5U//79c8011+TjH/94dthhh0ybNi0f//jHkyRPPfVU9t5778yZMycHH3xwbr/99hxzzDFZvHhxBg4cmCSZOnVqLrrooixfvjy9evXaqOdsbm5OXV1dmpqaUltbu9l66xA1NZ3zPJ2xWpSpFwAAgE2wsTm0MN9pX7duXX74wx9m5cqVaWhoyLx587JmzZqMGjWqZZm99torO++8c+bMmZMkmTNnToYOHdoS2JNk9OjRaW5ubtlb35ZVq1alubm51Q0AAACKpuqh/dFHH80222yT3r175wtf+EJuu+22DBkyJI2NjenVq1f69evXavmBAwemsbExSdLY2NgqsL81/tbYhlxxxRWpq6true20004d2xQAAAB0gKqH9j333DPz58/Pfffdl7POOiunnXZannjiic36nBMnTkxTU1PLbdGiRZv1+QAAAKA9elS7gF69emX33XdPkgwfPjz3339/vvGNb+STn/xkVq9enVdffbXV3valS5emvr4+SVJfX5+5c+e2+n1vnV3+rWXa0rt37/Tu3buDOwEAAICOVfU97f/X+vXrs2rVqgwfPjw9e/bMzJkzW8YWLFiQhQsXpqGhIUnS0NCQRx99NMuWLWtZ5q677kptbW2GDBnS6bUDAABAR6rqnvaJEyfm6KOPzs4775zXXnst06ZNy6xZszJjxozU1dXl9NNPz4QJE9K/f//U1tbmS1/6UhoaGnLwwQcnSY488sgMGTIkn/nMZ3L11VensbExF198ccaPH29POgAAAF1eVUP7smXLcuqpp2bJkiWpq6vLvvvumxkzZuSjH/1okmTKlCnp1q1bTjzxxKxatSqjR4/O9ddf3/Lz3bt3z/Tp03PWWWeloaEhW2+9dU477bRcfvnl1WoJAAAAOkzhrtNeDa7T3gbXaQcAANhsutx12gEAAIDWhHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACqqqof2KK67IgQcemG233TYDBgzI8ccfnwULFrRa5rDDDktNTU2r2xe+8IVWyyxcuDBjx45N3759M2DAgFx44YVZu3ZtZ7YCAAAAHa5HNZ989uzZGT9+fA488MCsXbs2f/d3f5cjjzwyTzzxRLbeeuuW5c4888xcfvnlLff79u3b8u9169Zl7Nixqa+vzz333JMlS5bk1FNPTc+ePfNP//RPndoPAAAAdKSaSqVSqXYRb1m+fHkGDBiQ2bNnZ+TIkUn+uKd9//33z7XXXtvmz9x+++055phjsnjx4gwcODBJMnXq1Fx00UVZvnx5evXq9a7P29zcnLq6ujQ1NaW2trbD+tksamo653k6Y7UoUy8AAACbYGNzaKG+097U1JQk6d+/f6vHb7311my//fbZZ599MnHixLz++ustY3PmzMnQoUNbAnuSjB49Os3NzXn88cfbfJ5Vq1alubm51Q0AAACKpqqHx/+p9evX59xzz82hhx6affbZp+Xxk08+ObvssksGDx6cRx55JBdddFEWLFiQ//qv/0qSNDY2tgrsSVruNzY2tvlcV1xxRSZPnryZOgEAAICOUZjQPn78+Dz22GP57//+71aPjxs3ruXfQ4cOzaBBg3LEEUfk2WefzQc+8IF2PdfEiRMzYcKElvvNzc3Zaaed2lc4AAAAbCaFODz+7LPPzvTp0/PrX/86O+644zsuO2LEiCTJM888kySpr6/P0qVLWy3z1v36+vo2f0fv3r1TW1vb6gYAAABFU9XQXqlUcvbZZ+e2227Lr371q+y2227v+jPz589PkgwaNChJ0tDQkEcffTTLli1rWeauu+5KbW1thgwZslnqBgAAgM5Q1cPjx48fn2nTpuWnP/1ptt1225bvoNfV1aVPnz559tlnM23atIwZMybbbbddHnnkkZx33nkZOXJk9t133yTJkUcemSFDhuQzn/lMrr766jQ2Nubiiy/O+PHj07t372q2BwAAAO9JVS/5VrOBS37ddNNN+exnP5tFixbl05/+dB577LGsXLkyO+20Uz72sY/l4osvbnVI+wsvvJCzzjors2bNytZbb53TTjstV155ZXr02LjPJFzyrQ0u+QYAALDZbGwOLdR12qtFaG+D0A4AALDZdMnrtAMAAAD/S2gHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCqGtqvuOKKHHjggdl2220zYMCAHH/88VmwYEGrZd58882MHz8+2223XbbZZpuceOKJWbp0aatlFi5cmLFjx6Zv374ZMGBALrzwwqxdu7YzWwEAAIAOV9XQPnv27IwfPz733ntv7rrrrqxZsyZHHnlkVq5c2bLMeeedl5///Of58Y9/nNmzZ2fx4sU54YQTWsbXrVuXsWPHZvXq1bnnnntyyy235Oabb86kSZOq0RIAAAB0mJpKpVKpdhFvWb58eQYMGJDZs2dn5MiRaWpqyg477JBp06bl4x//eJLkqaeeyt577505c+bk4IMPzu23355jjjkmixcvzsCBA5MkU6dOzUUXXZTly5enV69e7/q8zc3NqaurS1NTU2prazdrj+9ZTU3nPE9nrBZl6gUAAGATbGwOLdR32puampIk/fv3T5LMmzcva9asyahRo1qW2WuvvbLzzjtnzpw5SZI5c+Zk6NChLYE9SUaPHp3m5uY8/vjjbT7PqlWr0tzc3OoGAAAARVOY0L5+/fqce+65OfTQQ7PPPvskSRobG9OrV6/069ev1bIDBw5MY2NjyzJ/GtjfGn9rrC1XXHFF6urqWm477bRTB3cDAAAA711hQvv48ePz2GOP5Yc//OFmf66JEyemqamp5bZo0aLN/pwAAACwqXpUu4AkOfvsszN9+vTcfffd2XHHHVser6+vz+rVq/Pqq6+22tu+dOnS1NfXtywzd+7cVr/vrbPLv7XM/9W7d+/07t27g7sAAACAjlXVPe2VSiVnn312brvttvzqV7/Kbrvt1mp8+PDh6dmzZ2bOnNny2IIFC7Jw4cI0NDQkSRoaGvLoo49m2bJlLcvcddddqa2tzZAhQzqnEQAAANgMqrqnffz48Zk2bVp++tOfZtttt235DnpdXV369OmTurq6nH766ZkwYUL69++f2trafOlLX0pDQ0MOPvjgJMmRRx6ZIUOG5DOf+UyuvvrqNDY25uKLL8748ePtTQcAAKBLq+ol32o2cMmvm266KZ/97GeTJG+++WbOP//8/OAHP8iqVasyevToXH/99a0OfX/hhRdy1llnZdasWdl6661z2mmn5corr0yPHhv3mYRLvrXBJd8AAAA2m43NoYW6Tnu1CO1tENoBAAA2my55nXYAAADgfwntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQbUrtC9atCh/+MMfWu7PnTs35557br73ve91WGEAAACwpWtXaD/55JPz61//OknS2NiYj370o5k7d27+/u//PpdffnmHFggAAABbqnaF9sceeywHHXRQkuTf//3fs88+++See+7Jrbfemptvvrkj6wMAAIAtVrtC+5o1a9K7d+8kyS9/+cv81V/9VZJkr732ypIlSzquOgAAANiC9WjPD33oQx/K1KlTM3bs2Nx11135h3/4hyTJ4sWLs91223VogdAV1Eyu6ZTnqVxa6ZTnAQAAiqFde9qvuuqqfPe7381hhx2Wk046Kfvtt1+S5Gc/+1nLYfMAAADAe9OuPe2HHXZYXnzxxTQ3N+d973tfy+Pjxo3L1ltv3WHFAQAAwJasXXvaDz/88Lz22mutAnuS9O/fP5/85Cc7pDAAAADY0rUrtM+aNSurV69+2+NvvvlmfvOb37znogAAAIBNPDz+kUceafn3E088kcbGxpb769atyx133JE/+7M/67jqAAAAYAu2SaF9//33T01NTWpqanL44Ye/bbxPnz755je/2WHFAQAAwJZsk0L7888/n0qlkve///2ZO3dudthhh5axXr16ZcCAAenevXuHFwkAAABbok0K7bvsskuSZP369ZulGAAAAOB/teuSb0ny9NNP59e//nWWLVv2thA/adKk91wYAAAAbOnaFdq///3v56yzzsr222+f+vr61NTUtIzV1NQI7QAAANAB2hXav/rVr+Yf//Efc9FFF3V0PQAAAMD/r13XaX/llVfy13/91x1dCwAAAPAn2hXa//qv/zp33nlnR9cCAAAA/Il2HR6/++6755JLLsm9996boUOHpmfPnq3G//Zv/7ZDigMAAIAtWU2lUqls6g/ttttuG/6FNTV57rnn3lNRna25uTl1dXVpampKbW1ttct5Z39y0r/NatNXi01Xol5qJndOL5VLO2FeAACAzW5jc2i79rQ///zz7S4MAAAA2Djt+k47AAAAsPm1a0/75z//+Xccv/HGG9tVDAAAAPC/2hXaX3nllVb316xZk8ceeyyvvvpqDj/88A4pDAAAALZ07Qrtt91229seW79+fc4666x84AMfeM9FAQAAAB34nfZu3bplwoQJmTJlSkf9SgAAANiideiJ6J599tmsXbu2I38lAAAAbLHadXj8hAkTWt2vVCpZsmRJfvGLX+S0007rkMIAAABgS9eu0P7QQw+1ut+tW7fssMMO+frXv/6uZ5YHAAAANk67Qvuvf/3rjq4DAAAA+D/aFdrfsnz58ixYsCBJsueee2aHHXbokKIAAACAdp6IbuXKlfn85z+fQYMGZeTIkRk5cmQGDx6c008/Pa+//npH1wgAAABbpHaF9gkTJmT27Nn5+c9/nldffTWvvvpqfvrTn2b27Nk5//zzO7pGAAAA2CK16/D4//zP/8x//Md/5LDDDmt5bMyYMenTp08+8YlP5Dvf+U5H1QcAAABbrHbtaX/99dczcODAtz0+YMAAh8cDAABAB2lXaG9oaMill16aN998s+WxN954I5MnT05DQ0OHFQcAAABbsnYdHn/ttdfmqKOOyo477pj99tsvSfLwww+nd+/eufPOOzu0QAAAANhStSu0Dx06NE8//XRuvfXWPPXUU0mSk046Kaecckr69OnToQUCAADAlqpdof2KK67IwIEDc+aZZ7Z6/MYbb8zy5ctz0UUXdUhxAAAAsCVr13fav/vd72avvfZ62+Mf+tCHMnXq1PdcFAAAANDO0N7Y2JhBgwa97fEddtghS5Ysec9FAQAAAO0M7TvttFN++9vfvu3x3/72txk8ePB7LgoAAABo53fazzzzzJx77rlZs2ZNDj/88CTJzJkz8+Uvfznnn39+hxYIAAAAW6p2hfYLL7wwL730Ur74xS9m9erVSZKtttoqF110USZOnNihBQIAAMCWqqZSqVTa+8MrVqzIk08+mT59+uSDH/xgevfu3ZG1dZrm5ubU1dWlqakptbW11S7nndXUdM7ztH+12Hgl6qVmcuf0Urm0E+YFAADY7DY2h7ZrT/tbttlmmxx44IHv5VcAAAAAG9CuE9EBAAAAm5/QDgAAAAUltAMAAEBBVTW033333Tn22GMzePDg1NTU5Cc/+Umr8c9+9rOpqalpdTvqqKNaLfPyyy/nlFNOSW1tbfr165fTTz89K1as6MQuAAAAYPOoamhfuXJl9ttvv3z729/e4DJHHXVUlixZ0nL7wQ9+0Gr8lFNOyeOPP5677ror06dPz913351x48Zt7tIBAABgs3tPZ49/r44++ugcffTR77hM7969U19f3+bYk08+mTvuuCP3339/DjjggCTJN7/5zYwZMyZf+9rXMnjw4A6vGQAAADpL4b/TPmvWrAwYMCB77rlnzjrrrLz00kstY3PmzEm/fv1aAnuSjBo1Kt26dct9991XjXIBAACgw1R1T/u7Oeqoo3LCCSdkt912y7PPPpu/+7u/y9FHH505c+ake/fuaWxszIABA1r9TI8ePdK/f/80NjZu8PeuWrUqq1atarnf3Ny82XoAAACA9ip0aP/Upz7V8u+hQ4dm3333zQc+8IHMmjUrRxxxRLt/7xVXXJHJkyd3RIkAAACw2RT+8Pg/9f73vz/bb799nnnmmSRJfX19li1b1mqZtWvX5uWXX97g9+CTZOLEiWlqamq5LVq0aLPWDQAAAO3RpUL7H/7wh7z00ksZNGhQkqShoSGvvvpq5s2b17LMr371q6xfvz4jRozY4O/p3bt3amtrW90AAACgaKp6ePyKFSta9ponyfPPP5/58+enf//+6d+/fyZPnpwTTzwx9fX1efbZZ/PlL385u+++e0aPHp0k2XvvvXPUUUflzDPPzNSpU7NmzZqcffbZ+dSnPuXM8QAAAHR5Vd3T/sADD2TYsGEZNmxYkmTChAkZNmxYJk2alO7du+eRRx7JX/3VX2WPPfbI6aefnuHDh+c3v/lNevfu3fI7br311uy111454ogjMmbMmPz5n/95vve971WrJQAAAOgwNZVKpVLtIqqtubk5dXV1aWpqKv6h8jU1nfM8nbFalKiXmsmd00vl0i1+cwUAgFLY2Bzapb7TDgAAAFsSoR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAghLaAQAAoKCEdgAAACgooR0AAAAKSmgHAACAgqpqaL/77rtz7LHHZvDgwampqclPfvKTVuOVSiWTJk3KoEGD0qdPn4waNSpPP/10q2VefvnlnHLKKamtrU2/fv1y+umnZ8WKFZ3YBQAAAGweVQ3tK1euzH777Zdvf/vbbY5fffXVue666zJ16tTcd9992XrrrTN69Oi8+eabLcuccsopefzxx3PXXXdl+vTpufvuuzNu3LjOagEAAAA2m5pKpVKpdhFJUlNTk9tuuy3HH398kj/uZR88eHDOP//8XHDBBUmSpqamDBw4MDfffHM+9alP5cknn8yQIUNy//3354ADDkiS3HHHHRkzZkz+8Ic/ZPDgwRv13M3Nzamrq0tTU1Nqa2s3S38dpqamc56nM1aLEvVSM7lzeqlcWojNFQAAeI82NocW9jvtzz//fBobGzNq1KiWx+rq6jJixIjMmTMnSTJnzpz069evJbAnyahRo9KtW7fcd999nV4zAAAAdKQe1S5gQxobG5MkAwcObPX4wIEDW8YaGxszYMCAVuM9evRI//79W5Zpy6pVq7Jq1aqW+83NzR1VNgAAAHSYwu5p35yuuOKK1NXVtdx22mmnapcEAAAAb1PY0F5fX58kWbp0aavHly5d2jJWX1+fZcuWtRpfu3ZtXn755ZZl2jJx4sQ0NTW13BYtWtTB1QMAAMB7V9jQvttuu6W+vj4zZ85seay5uTn33XdfGhoakiQNDQ159dVXM2/evJZlfvWrX2X9+vUZMWLEBn937969U1tb2+oGAAAARVPV77SvWLEizzzzTMv9559/PvPnz0///v2z884759xzz81Xv/rVfPCDH8xuu+2WSy65JIMHD245w/zee++do446KmeeeWamTp2aNWvW5Oyzz86nPvWpjT5zPAAAABRVVUP7Aw88kL/8y79suT9hwoQkyWmnnZabb745X/7yl7Ny5cqMGzcur776av78z/88d9xxR7baaquWn7n11ltz9tln54gjjki3bt1y4okn5rrrruv0XgAAAKCjFeY67dXkOu1tcJ32TeI67QAAwKbo8tdpBwAAgC2d0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQQntAAAAUFBCOwAAABSU0A4AAAAFJbQDAABAQRU6tF922WWpqalpddtrr71axt98882MHz8+2223XbbZZpuceOKJWbp0aRUrBgAAgI5T6NCeJB/60IeyZMmSltt///d/t4ydd955+fnPf54f//jHmT17dhYvXpwTTjihitUCAABAx+lR7QLeTY8ePVJfX/+2x5uamnLDDTdk2rRpOfzww5MkN910U/bee+/c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nreu4He/+11OOeWUDY6fdNJJueqqqzqxovbbZZddctVVV23wk/autJ6de+657/qmvav40Ic+lBtuuCFXX311m+M33nhjhgwZ0slVtd/ChQszatSoDY4fccQROf/88zuxovYr0zZTpvWsTPMyaNCgXH/99TnuuOPaHO9Kvey66675xS9+scGQ+4tf/CK77LJLJ1fVfmXaZg488MBceeWVueGGG9KjR+s4tG7dulx11VU58MADq1TdpjvhhBPecbypqeltR3sWVZl66UhCe4kccMABmTdv3gaD7rt9cl0kZerlggsuyLhx4zJv3rwcccQRrQ6NnTlzZr7//e93qe9NlelNyPDhwzNv3rwNvtHtSutZmd60f/3rX88xxxyTO+64I6NGjXrbNvPcc8/lF7/4RZWr3HhleqNbpm2mTOtZmeblrV42FNq7Ui+XX355Tj755MyaNavNdeyOO+7ItGnTqlzlxivTNvOtb30ro0ePTn19fUaOHNmql7vvvju9evXKnXfeWeUqN97Pf/7zfPSjH93gTqCucGTKW8rUS0dyeHyJNDY2ZtWqVV0mML2TMvWS/PG7UVOmTMm8efNa/th07949w4cPz4QJEzb4RquIfvzjH+fkk0/O0Ucf/Y5vQk488cQqV/runnjiibz++us54IAD2hxfs2ZNFi9e3CXWw49//OP5wAc+sMGjHLra4WS///3v853vfCf33ntvq0vxNDQ05Atf+EJ23XXX6ha4CWbNmpVjjjkm73//+9/xje7IkSOrXOm7K9M2k5RnPSvTvPzmN7/JypUrc9RRR7U5vnLlyjzwwAP5yEc+0smVtc8999yT6667LnPmzHnbOnbOOeekoaGhyhVumrJsM0ny2muv5d/+7d/a7OXkk0/e4Fc0i2jffffNOeeck9NPP73N8bc+uO8KgbdMvXQkoR060Zo1a/Liiy8mSbbffvv07NmzyhW1T9nehJRBmd60l1GZ3ugCUCyf+9zn0rdv33z7299uc/zJJ5/MmDFj8vzzz3dyZZuuTL10JKEdOtlb12fu3bt3lSvhTzU1NbUKU3V1dVWuCIrNNkNn8JpZPGvXrs3jjz/esv0PGjQoe++9d5fdEdGWNWvWZMmSJdl5552rXcpGWbVqVdatW5e+fftWu5T3rEy9dCTXad+CPPzww+nevXu1y+gQXa2Xsl6juampKQsWLMiCBQvS1NRU7XLa5V/+5V8yZMiQ9O/fP0OGDGn17xtuuKHa5bVLGeblnXS17b9syrjNtKVM69mTTz6Z97///dUuY6OV9TXz/+pq87J+/fpcfPHF2WGHHTJs2LAcffTROfroo7P//vtnwIABueSSS7rMV7DezRNPPJHddtut2mVstN69e5cm5Japl44ktG9hynRgRVfp5ZZbbsmYMWNSV1eXKVOmZPr06Zk+fXqmTJmSfv36ZcyYMfnXf/3Xape5Sf7vm/a99967S75pv+aaa3LOOefkuOOOy8yZM/PYY4/lsccey8yZM3P88cfnnHPO6VInCdxSwlTSdbb/jdGVwmHZtpl3U5b1bPXq1XnhhReqXcZGKeNr5oZ0pXlJkq985Sv53ve+lyuvvDLPPfdcVq5cmZUrV+a5557LVVddle9973uZOHFitcukDWvXri3NNefL1MumcHh8iWzMJRJmzZrVJU7cUKZeynSN5uSPb9ovu+yy/O3f/m1Gjx7d6qRad955Z6677rpcdtllueCCC6pc6bvbZZddcs0112zwRIA/+tGPcuGFF3aJF4cyzUuZtv+N0ZVOElimbaZM69mECRPecXz58uWZNm1al+ilTK+ZZZqX5I9fg7nlllsyevToNsdnzJiRU089NUuXLu3kyjbdhz/84Xccf+ONN/K73/2uy8zNu3n44Yfz4Q9/uBT9lKmXTSG0l0jPnj3f8RIJL7/8cqZPn94lVvIy9bLVVlvl4Ycf3uAl0hYsWJD9998/b7zxRidX1j5letPep0+fPPjgg9l7773bHH/iiSdywAEH5PXXX+/kyjZdmealTNt/Uq5wWKZtpkzrWffu3bP//vtv8GzXK1asyIMPPtgleinTa2aZ5iVJtt5669x7770ZOnRom+OPPPJIDjnkkKxYsaKTK9t0W221VT71qU9t8BD4JUuW5Pvf/36XmZt3U6agW6ZeNoXrtJfI3nvvnRNPPPEdL5Ewffr0Tq6qfcrUS5mu0Zwky5Yt2+ALdpIMHTq05Qz5RXfggQfmyiuvzA033JAePVr/OVy3bl2uuuqqHHjggVWqbtOUaV7KtP0n5brmbJm2mTKtZ7vvvnvOO++8fPrTn25z/K1LJHUFZXrNLNO8JMlhhx2WCy64ILfeemu23377VmMvvvhiLrroohx22GHVKW4T7bPPPhkxYkTOOuusNsfnz5+f73//+51cVfttzJEDXUWZeulIQnuJDB8+PA8++OAG34D07t27y5wFs0y9fP3rX88xxxyTO+644x2v0dxVlOlN+7e+9a2MHj069fX1GTlyZKu5ufvuu9OrV6/ceeedVa5y45RpXsq0/SflCodl2mbKtJ4dcMABmTdv3gbDYU1NTZf5fn6ZXjPLNC9JMnXq1IwZMyaDBg3K0KFDW83No48+miFDhnSZv2WHHnpoFixYsMHxbbfdNiNHjuzEit6bJ5544l2PHPjd737XyVW1T5l66UgOjy+RMl0ioUy9JOW6RvMjjzyS0aNHZ82aNe/4pn2fffapcqUb57XXXsu//du/tTk3J5988gYPayyaMs1L2bb/sl1ztizbTJnWs8bGxqxatSq77LJLtUvpEGV5zSzbvCR/PIP8jBkz2pybI488Mt26Ocd1NRxwwAE5/fTT3/HIgeHDh3eJI7vK1EtHEtqBTVaWN+1lY16KqUzhEIDiOeecc1JTU5Nrr722zfFnn302Z5xxRn796193bmHtUKZeOpLQXkKNjY257777Wr1pHzFiROrr66tcWcdZu3ZtFi9e3GUOXUz+WPPjjz/eMi+DBg3K3nvvnZ49e1a5MjZkzZo1WbJkSZdaz8pkS/hb1lX937kZNGhQDjrooFLNTRleZ+rr6zNkyJAu+TpTptfMMs3LO1m5cmXmzZvXpQ4r35Ay9UI5+E57iaxcuTJ/8zd/kx/+8IepqalJ//79k/zxDLiVSiUnnXRSvvvd75Zib8/jjz/eZc4cuX79+kyaNCnf/va309TU1Gqsrq4uZ599diZPntzlDinbEt60P/HEE11mPXtLGealrH/LyvAhRFnnpi1eZ6pDL13XM888k7/8y7/sEtvMuylTL5REhdI4/fTTKx/84Acrd9xxR2Xt2rUtj69du7YyY8aMyh577FE544wzqlhhx5k/f36lW7du1S5jo1x44YWVHXbYoTJ16tTK888/X3n99dcrr7/+euX555+vfPe7360MGDCg8uUvf7naZW60FStWVE455ZRK9+7dKz169KgMGDCgMmDAgEqPHj0q3bt3r3z605+urFy5stpldoiutJ6VaV7K9rfM3HRNXWn7L9PrjF66rq60zbybMvVSqfzxdWj27NnVLmOT3HfffZVrr7228pWvfKXyla98pXLttddW7rvvvmqXVTUOjy+R973vffnFL36RQw45pM3x3/72tznmmGPyyiuvdHJlm25jLvfwu9/9rkt8AlpfX59bbrklo0ePbnN8xowZOfXUU7N06dJOrqx9zjjjjNx999355je/mVGjRqV79+5J/niG8pkzZ+ZLX/pSRo4c2SUulVKm9axM81Kmv2WJuSmqMm3/ZXqd0UtxvXVkzYasW7cuK1as6BLbTJl62Rhd6drmy5Yty4knnpjf/va32XnnnVudWHfhwoU59NBD85//+Z8ZMGBAlSvtXA6PL5H169enV69eGxzv1atX1q9f34kVtV+ZLvfw2muvZfDgwRscHzRoUFauXNmJFb03//mf/9nmm/bu3bvnyCOPzI033phjjjmmSwSQMq1nZZqXMv0tS8xNUZVp+y/T64xeimvVqlU566yzMnTo0DbHX3jhhUyePLmTq2qfMvVSNl/84hezbt26PPnkk9lzzz1bjS1YsCCf//znM378+Pz4xz+uUoVVUu1d/XSck08+uTJs2LDKgw8++LaxBx98sDJ8+PDKKaecUoXKNt3w4cMr119//QbHH3rooS5z2NKYMWMqRx55ZGX58uVvG1u+fHnlqKOOqowdO7YKlbVPbW1t5f7779/g+Ny5cyu1tbWdWFH7lWk9K9O8lOlvWaViboqqTNt/mV5n9FJchxxySOXaa6/d4HhXOqS8TL1UKpXK+973vne81dbWdpl+ttlmmzZfY97ywAMPVLbZZptOrKgY7GkvkW9961s5+eSTM3z48Lzvfe9rOWxk2bJlefXVVzN69Oh861vfqnKVG+fQQw/NggULNji+7bbbdpkzek6dOjVjxozJoEGDMnTo0FaH+Tz66KMZMmRIpk+fXuUqN94xxxyTcePG5YYbbsiwYcNajT300EM566yzcuyxx1apuk1TpvWsTPNSpr9libkpqjJt/2V6ndFLcY0dOzavvvrqBsf79++fU089tfMKeg/K1EtSriMHevfunebm5g2Ov/baa+ndu3cnVlQMvtNeQk899VTmzJnztus077XXXlWubMu1fv36zJgxo83rZx955JFd6syxr7zySk4++eTMmDFjg2/ap02bln79+lW30C1MGeelLH/LzA2doUyvM3qBTXPooYfmE5/4RM4555w2x7vSd9rHjx+fX/ziF5kyZUqOOOKI1NbWJkmam5szc+bMTJgwIcccc0y++c1vVrnSziW0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//vfp6amJvPnz++U5wOAshPaAaDk7r///owbN67lfk1NTX7yk59s9M/ffPPN6dev30Ytu9NOO2XJkiXZZ599NrFKAKAtPapdAACwee2www6d8jyrV69Or169Ul9f3ynPBwBbAnvaAaAE1q5dm7PPPjt1dXXZfvvtc8kll+Stq7r+6eHxu+66a5LkYx/7WGpqalruP/zww/nLv/zLbLvttqmtrc3w4cPzwAMPZNasWfnc5z6Xpqam1NTUpKamJpdddlnL7/qHf/iHnHrqqamtrc24cePednj8rFmzUlNTk5kzZ+aAAw5I3759c8ghh2TBggWt6v/qV7+aAQMGZNttt80ZZ5yRr3zlK9l///1bxmfNmpWDDjooW2+9dfr165dDDz00L7zwwub67wSAwhDaAaAEbrnllvTo0SNz587NN77xjfzzP/9z/uVf/uVty91///1JkptuuilLlixpuX/KKadkxx13zP3335958+blK1/5Snr27JlDDjkk1157bWpra7NkyZIsWbIkF1xwQcvv+9rXvpb99tsvDz30UC655JIN1vf3f//3+frXv54HHnggPXr0yOc///mWsVtvvTX/+I//mKuuuirz5s3LzjvvnO985zst42vXrs3xxx+fj3zkI3nkkUcyZ86cjBs3LjU1Ne/5/w0Ais7h8QBQAjvttFOmTJmSmpqa7Lnnnnn00UczZcqUnHnmma2We+tQ+X79+rU6jH3hwoW58MILs9deeyVJPvjBD7aM1dXVpaamps3D3g8//PCcf/75Lfd///vft1nfP/7jP+YjH/lIkuQrX/lKxo4dmzfffDNbbbVVvvnNb+b000/P5z73uSTJpEmTcuedd2bFihVJkubm5jQ1NeWYY47JBz7wgSTJ3nvvvUn/PwDQVdnTDgAlcPDBB7fa89zQ0JCnn34669at26ifnzBhQs4444yMGjUqV155ZZ599tmN+rkDDjhgo5bbd999W/49aNCgJMmyZcuSJAsWLMhBBx3Uavk/vd+/f/989rOfzejRo3PsscfmG9/4RpYsWbJRzwsAXZ3QDgDksssuy+OPP56xY8fmV7/6VYYMGZLbbrvtXX9u66233qjf37Nnz5Z/v/Xhwvr16ze6vptuuilz5szJIYcckh/96EfZY489cu+99270zwNAVyW0A0AJ3Hfffa3u33vvvfngBz+Y7t27v23Znj17trkHfo899sh5552XO++8MyeccEJuuummJEmvXr02eo99e+y5554t361/y/+9nyTDhg3LxIkTc88992SfffbJtGnTNltNAFAUQjsAlMDChQszYcKELFiwID/4wQ/yzW9+M+ecc06by+66666ZOXNmGhsb88orr+SNN97I2WefnVmzZuWFF17Ib3/729x///0t3xvfdddds2LFisycOTMvvvhiXn/99Q6t/Utf+lJuuOGG3HLLLXn66afz1a9+NY888kjLHvnnn38+EydOzJw5c/LCCy/kzjvvzNNPP+177QBsEZyIDgBK4NRTT80bb7yRgw46KN27d88555yTcePGtbns17/+9UyYMCHf//7382d/9mf53e9+l5deeimnnnpqli5dmu233z4nnHBCJk+enCQ55JBD8oUvfCGf/OQn89JLL+XSSy9tuexbRzjllFPy3HPP5YILLsibb76ZT3ziE/nsZz+buXPnJkn69u2bp556KrfcckteeumlDBo0KOPHj8/f/M3fdFgNAFBUNZW3LuIKAFAQH/3oR1NfX59//dd/rXYpAFBV9rQDAFX1+uuvZ+rUqRk9enS6d++eH/zgB/nlL3+Zu+66q9qlAUDV2dMOAFTVG2+8kWOPPTYPPfRQ3nzzzey55565+OKLc8IJJ1S7NACoOqEdAAAACsrZ4wEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCghHYAAAAoKKEdAAAACkpoBwAAgIIS2gEAAKCg/j9Huf8r2BX3WAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "optimal_count_dict = quantum_loop(params[np.argmin(scores)])\n", + "plot_distribution(optimal_count_dict)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "QAOA is capable of finding good variational parameters $\\tau$ and $t$. Now, sampling from this final state $|\\psi(t_{f})\\rangle$ will return both optimal strings with high probability." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "However, using QAOA to solve the problem is not the best idea; it's difficult to yield a >90% quality solution without going to high depths of the QAOA, implying that the growing closed-loop optimization can rapidly become expensive, with no guarantee of convergence. We therefore propose another approach called the Quantum Adiabatic Algorithm (QAA). This fast, reliant and exclusively analog method shows optimal convergence to the solution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Quantum Adiabatic Algorithm" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The idea behind the adiabatic algorithm (see [Albash, Lidar, 2018](https://arxiv.org/pdf/1611.04471.pdf)) is to slowly evolve the system from an easy-to-prepare groundstate to the groundstate of $H_Q$. If done slowly enough, the system of atoms stays in the instantaneous ground-state.\n", + "\n", + "In our case, we continuously vary the parameters $\\Omega(t), \\delta(t)$ in time, starting with $\\Omega(0)=0, \\delta(0)<0$ and ending with $\\Omega(0)=0, \\delta>0$. The ground-state of $H(0)$ corresponds to the initial state $|00000\\rangle$ and the ground-state of $H(t_f)$ corresponds to the ground-state of $H_Q$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Rydberg blockade radius is directly linked to the Rabi frequency $\\Omega$ and is obtained using `Chadoq2.rydberg_blockade_radius()`. In this notebook, $\\Omega$ is initially fixed to a frequency of 1 rad/µs. We can therefore build the adjacency matrix $A$ of $G$ in the following way:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To ensure that we are not exciting the system to states that are too excited, we keep $\\Omega \\in [0, \\Omega_{\\text{max}}]$, and choose $\\Omega_{\\text{max}}$ as the median of the values of Q to ensures that the adiabatic path is efficient." + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "# We choose a median value between the min and the max\n", + "Omega = np.median(Q[Q > 0].flatten())\n", + "delta_0 = -5 # just has to be negative\n", + "delta_f = -delta_0 # just has to be positive\n", + "T = 4000 # time in ns, we choose a time long enough to ensure the propagation of information in the system" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABpwAAAF8CAYAAADSPhg4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC+90lEQVR4nOzdeXxU9bk/8M/s+0wm+75AyEJYJGyCsrorihtqasWN9t5etVZvN72/2rq02Nva1rbWtl7cEVQUXEBRERCRfQ2EJQSSkH2Zyez7nN8fJxkSWQSSySTh83695pU5Z86c8wxOS5jPPM9XIgiCACIiIiIiIiIiIiIiIqLzJI11AURERERERERERERERDS4MXAiIiIiIiIiIiIiIiKiXmHgRERERERERERERERERL3CwImIiIiIiIiIiIiIiIh6hYETERERERERERERERER9QoDJyIiIiIiIiIiIiIiIuoVBk5ERERERERERERERETUKwyciIiIiIiIiIiIiIiIqFcYOBEREREREREREREREVGvMHAiIiIiIiIiIiIiIiKiXpHHugCKjY6ODuzZswc2mw2CIPT6fFKpFHFxcSgtLYVOp+uDComIiIiIiIiIiIiIaLBg4HSB2bx5M555+il89vnnCASCfX5+jVqFa6+9Dr958kmMGjWqz89PREREREREREREREQDj0Toi/YWGhS+/vprXH3VFRieFMD900O4YjSQoAekfTBYMRQGWu3Aqt3AS+tl6PAb8eXa9Rg9enTvT05ERERERERERERERAMaA6chLhwOo6GhARqNBkWFI1CSbMPKn4ahU0fvmhYnMPt3MnhVudiydQckEkn0LkZERERERERERERERGdNEAQ4HA6kp6dD2hcdKZ0YOA1xdXV1yMrKimxvfwYYnxf9667cBcz5Y/SvQ0RERERERERERERE5+748ePIzMzss/NxDachzmAwAAAWLFiAzz54FaW5fb9u06lcMRrQqaX4+WO/xk9+8pOzft57772HW265JXqFERERERERERERERFdwOx2O7KysiL5QV9h4DTEdY2zs9vtyE0U0F/T7ZRyID1eBrvdDqPReNbPU6vV53Q8ERERERERERERERGdu75eDqfvhvPRgBYMBqGU9+/0RJUcCAQC5/Sc4cOHR6kaIiIiIiIiIiIiIiKKFgZONKBkZGTEugQiIiIiIiIiIiIiIjpHDJxoQPnqq69iXQIREREREREREREREZ0jBk50Tv61Bhj5s1hXQUREREREREREREREAwkDJzonbQ7gUGP0zj9z5szonZyIiIiIiIiIiIiIiKKCgRMNKLW1tbEugYiIiIiIiIiIiIiIzhEDJxpQjh49GusSiIiIiIiIiIiIiIjoHDFwogFFLpfHugQiIiIiIiIiIiIiIjpHDJxoQJk3b16sSyAiIiIiIiIiIiIionPEdhLCn1ad/bEbD0evDgB47733cMstt0T3IkRERERERERERERE1KcYOBF++ta5HS+JThkAAL/fH8WzExERERERERERERFRNDBwIqz9n1hXcEJOTk6sSyAiIiIiIiIiIiIionPEwIkwozjWFZwwfPjwWJdARERERERERERERETnSBrrAmhw2VoF/Oei6J3/yy+/jN7JiYiIiIiIiIiIiIgoKtjhRN+p3QG8/jXw8jqgol7c98/7Y1oSERERERERERERERENIAyc6JQEAfh0D7BoHfDxbsAfBHITgUevBW6ZGL3rXnrppdE7ORERERERERERERERRQUDJ+rhaIvYyfTaBqDBCujVQCAI/P1u4L+uiP71W1pakJWVFf0LERERERERERERERFRn2HgRPD6gXe3AC+vB746CMhlwHUXAfdMB0akAiW/AFLj+qeWw4cPY/z48f1zMSIiIiKiQSYUDmFD5QY0djQiLS4N00ZMg0wqi3VZREREREREDJwISH0AcHiAi3KAv9wFfG8qkGAQH6tqjm1tREREREQken/n+3h46cOos9ZF9mWaM/H8Hc/j5tKbY1gZERERERERII11ARR7dg8wPEVcn2nBrBNhUyyUlZXF7uJERERERAPU+zvfx60v3tojbAKAems9bn3xVry/8/0YVUZERERERCRi4ER44R7ApAXuehFI/S9gwUvAhoOxqeWDDz6IzYWJiIiIiAaoUDiEh5c+DAHCSY917fvJ0p8gFA71d2lEREREREQRHKlH+NHl4m1PDbBoHfDWN8Ar64HcJODK0YCkH2txu939eDUiIiIiougQBAGhcOjETQj13O62XxCEyHMiz8eJfZuPbT6ps6nHtSDguPU4Fm9ZjMl5kyP7ZVIZpBJp5Odp70ulkElkPX5KJVJIJP35LwEiIiIiIhrsGDhRxNgc4K93A3+8E1i+TQyfXloLCAB+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x63HsaFyA2YWzuzvMgeUrrygr3ODXq/htGzZMtx22234y1/+gh//+Md9VRd1amhoQEZGBr755htMmTIlsv/nP/851q9fjy1btvQ4/je/+Q2efPLJk87zf//3f9BqOX6OiIiIiIiIiIiIiOhC5na7sWDBAhw/fhyZmZl9dt5edzjdeuuteOCBB/CLX/wCZrMZd911V1/URefpsccew6OPPhrZttlsyM7Oxrx58/p08a9oefvtt3H77bfHugwiIiIiIiIiIiIioiHJbrdjwYIFMBgMfXreXgdO9913HwBAq9Xinnvuwa9+9StMnDjxjIVKJBIsWrTotI/TCYmJiZDJZGhubu6xv7m5GampqScdr1KpoFKp+qu8PhcOh2NdAhERERERERERERHRkCeRSPr0fL0OnF599VVIJJLIrL/a2lrU1tae8tiu4xg4nT2lUonx48djzZo1uPHGGwGIocyaNWvw4IMPxra4KBg+fHisSyAiIiIiIiIiIiIionPU68Bp/vz5fZ6CUU+PPvoo7r77bkyYMAGTJk3CX/7yF7hcLtx7772xLq3PZWRkxLoEIiIiIiIiIiIiIiI6R33S4UTRdfvtt6O1tRVPPPEEmpqacNFFF+HTTz9FSkpKrEvrc1999RXKyspiXQYREREREREREREREZ2DXgdO1D8efPDBITlCj4iIiIiIiIiIiIiIBj9prAsg6m7mzJmxLoGIiIiIiIiIiIiIiM4RAycaUGpra2NdAhERERERERERERERnaNzGqk3e/ZsAEBOTg5eeeWVHvvOhUQiwZo1a875eTT0HT16FJMnT451GUREREREREREREREdA7OKXBat24dAKCoqOikfedCIpGc83PowiCXc1kxIiIiIiIiIiIiIqLB5pw+3f/1r38NAEhMTDxpH1FfmDdvXqxLICIiIiIiIiIiIiKicyQRBEGIdREUPXa7HSaTCTabDUajMdblfKf33nsPt9xyS6zLICIiIiIiIiIiIiIakqKVG0j77ExEfcDv98e6BCIiIiIiIiIiIiIiOkdcMIcGlJycnFiXQERERERERERERESDWCgUxv4NtbA2OmFO06NkWjZkMvbfRFuv/4T9fj9qa2vR1NR00mNOpxM//elPMXbsWIwbNw6/+tWv4PF4envJQes3v/kNJBJJj1tRUdEZn/Puu++iqKgIarUao0ePxqpVq/qp2tgYPnx4rEsgIiIiIiIiIiIiokHqm/cP4P7cv+LxWW/gD99bjsdnvYH7c/+Kb94/EOvShrxeB07/93//h7y8PDz++OMnPXbdddfhz3/+M8rLy7Fnzx787ne/wzXXXIMLedmokpISNDY2Rm5ff/31aY/95ptvUFZWhvvvvx+7du3CjTfeiBtvvBH79u3rx4r715dffhnrEoiIiIiIiIiIiIhoEPrm/QP43a3L0Fbn6LG/rd6B3926jKFTlPU6cFq9ejUA4Hvf+16P/R9++CE2bNgAiUSCO++8EwsWLIBCocCGDRvwxhtv9Payg5ZcLkdqamrklpiYeNpjn3/+eVx99dX42c9+huLiYjz99NMoLS3F3//+936smIiIiIiIiIiIiIhoYAuFwvj3w6uBU/W7dO77908+QygU7te6LiS9DpwOHBATwfHjx/fY/9Zbb0EikeAXv/gF3njjDfz73//GX/7yFwiCgLfeequ3lx20KisrkZ6ejmHDhuHOO+9EbW3taY/dtGkTLr/88h77rrrqKmzatOm0z/H5fLDb7T1ug8mll14a6xKIiIiIiIiIiIiIaBAQBAFuhw8NRyxY9eL2kzqbeh4MtB23Y/+G038mT70j7+0JWltbodVqYTabe+xfu3YtAGDBggWRfXfddRf+67/+C3v27OntZQelyZMn49VXX0VhYSEaGxvx5JNPYtq0adi3bx8MBsNJxzc1NSElJaXHvpSUlFOul9Vl4cKFePLJJ/u89v7S0tKCrKysWJdBRERERERERERERDEgCAJcHV5Ym13oaHaho9kJa7MLlgYHrI1OWJtc6Ghxwtbqhr3Ng4A3CJlcCqX67OIOa6Mzyq/gwtXrwMnlckGj0fTYV11djdbWVmRnZyMvLy+yX6fTIS4uDhaLpbeXHZSuueaayP0xY8Zg8uTJyMnJwTvvvIP777+/T67x2GOP4dFHH41s2+32QRXgHD58+KRuOSIiIiIiIiIiIiIavMJhAY52d48QydLohKXBiY4mMVDqaHHB3uqCo92DYCAMhUoGXZwaGoMSGr0SGoMSap0SGr0CpuTkE/v0Sqh1CrTU2PDRX7d9Zy3mNH0/vOILU68Dp/j4eLS2tqKjowNxcXEAgC+//BIAMHXq1JOODwaD0Ov5HxQA4uLiUFBQgCNHjpzy8dTUVDQ3N/fY19zcjNTU1NOeU6VSQaVS9WmdRERERERERERERETdhYJh2FrFAMnaI0RywNoobtta3bC1ueG0eBAOCVBpFdCZVNAYVVDrFJEQSR+vRmKmAerOEEmjV0KplUOulEMul0KmkEEml0KukEKmkEKukEEilfSoJ3WYGesW74Oj3XPqgiVAYqYRJdOy++FP58LU68CptLQUq1evxqJFi/Df//3fCIfDWLRoESQSCWbNmtXj2NbWVjidThQXF/f2skOC0+lEVVUV7rrrrlM+PmXKFKxZswY/+clPIvs+//xzTJkypZ8q7H9lZWWxLoGIiIiIiIiIiIjoghTwBdHR0tWF5IqMsrM0iuPsOppdnaPs3HB1eCEIgMaghNakgtagigRGaq0C5jQ9UoebI/u0BiUUakVnaCTrER7JFFLI5FJIJJLvLvI0pDIprvpBKZY9u/HkBztP+8O/XAmZTHre16Az63XgdPfdd+PTTz/FL3/5S3zxxRdobW3Fzp07YTAYMG/evB7HbtiwAQAu2MDppz/9Ka6//nrk5OSgoaEBv/71ryGTySIhy/z585GRkYGFCxcCAB5++GHMmDEDzz33HK677josXboU27dvx7///e9Yvoyo+uCDDzB37txYl0FEREREREREREQ0JHhd/kh4ZGtxwdrUrROpaz2kFjFE8jj8kEggBkjGznF2BnFknVqvRHKOCZnFiZEuJLVeCaVafnKA1NmNJO1liHSuiqdm4tZfXoLVL+3s0emUmGnED/9yJabefGFmE/2l14HT7bffjtWrV+PVV1/F6tWrAQBqtRr//Oc/IyP2urz99tun7Hy6UNTV1aGsrAzt7e1ISkrCpZdeis2bNyMpKQkAUFtbC6n0RLo6depUvPXWW/h//+//4fHHH8eIESOwYsUKjBo1KlYvIercbnesSyAiIiIiIiIiIiIasARBgNvu6zHKrqPJBUujA5ZGcU2kjhY3bC0u2Nvc8HmCkMok0JnU0JpUPdZDUusVSMuPR97YlEiApNErIFfJuwVHss4g6cRou4GseGomCienY9dnRxGXoseoGdkomZbNzqZ+IBEEQeiLE23cuBHffPMN4uLicNlll2HYsGE9Hvf7/XjwwQcRCATwxBNPIC8vry8uS9/BbrfDZDLBZrPBaDTGupzvtGHDBkybNi3WZRARERERERERERH1m3BYgNPq6TbKzglrkwuWegcsTU5xPaQW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3qk77rhDV111VSneCvYi8XhcBx98sG6++eZh7//+97+vG2+8UbfccoteeOEF+Xw+LVy4UKlUqnDN6aefrtdff13Lly/Xww8/rGeeeUbnnntu4f5YLKYFCxZo/PjxWrVqla6//npdffXVuvXWW0f8/WHv8mHnWZKOPfbYos/qpUuXFt3PeUY5ePrpp3Xeeefp+eef1/Lly9XX16cFCxYoHo8XrtkTv1usW7dOixYt0jHHHKPVq1froosu0le/+lX9/ve/H9X3i8r1Uc6yJJ1zzjlFn81Dg3zOMspFS0uLrrvuOq1atUovvviiPvOZz+jEE0/U66+/LonPZYwdH3aWJT6XMfb8+c9/1s9+9jNNnz696HY+m8uMAcrArFmzzHnnnVf4PpPJmKamJrNkyZISVgUU+/a3v20OPvjgYe/r6uoyDofD3HvvvYXb3nzzTSPJrFy50hhjzO9+9ztjtVpNe3t74Zqf/vSnJhgMmnQ6PaK1AwMkmQceeKDwfTabNQ0NDeb6668v3NbV1WVcLpdZunSpMcaYN954w0gyf/7znwvX/O///q+xWCzmvffeM8YY85Of/MREIpGis/ytb33LTJ48eYTfEfZmO55nY4w588wzzYknnrjLx3CeUa62bNliJJmnn37aGLPnfrf45je/aQ488MCi1zr11FPNwoULR/otYS+141k2xpg5c+aYCy+8cJeP4SyjnEUiEfOLX/yCz2WMeQNn2Rg+lzH2dHd3m/32288sX7686Pzy2Vx+6HBCyfX29mrVqlWaP39+4Tar1ar58+dr5cqVJawM2Nnf/vY3NTU1adKkSTr99NO1YcMGSdKqVavU19dXdI6nTJmicePGFc7xypUrddBBB6m+vr5wzcKFCxWLxYr+lREwmtatW6f29vaisxsKhTR79uyisxsOh3XooYcWrpk/f76sVqteeOGFwjVHH320nE5n4ZqFCxdqzZo16uzsHKV3A+Q89dRTqqur0+TJk/X1r39d27dvL9zHeUa5ikajkqSqqipJe+53i5UrVxY9x8A1/J6NkbLjWR5w1113qaamRtOmTdPixYuVSCQK93GWUY4ymYyWLVumeDyutrY2PpcxZu14lgfwuYyx5LzzztOiRYt2OnN8Npcfe6kLALZt26ZMJlP0//SSVF9fr7feeqtEVQE7mz17tu644w5NnjxZmzZt0jXXXKOjjjpKr732mtrb2+V0OhUOh4seU19fr/b2dklSe3v7sOd84D6gFAbO3nBnc+jZraurK7rfbrerqqqq6JqJEyfu9BwD90UikRGpH9jRscceq5NPPlkTJ07U22+/rSuuuELHHXecVq5cKZvNxnlGWcpms7rooot05JFHatq0aZK0x3632NU1sVhMyWRSHo9nJN4S9lLDnWVJ+tKXvqTx48erqalJr7zyir71rW9pzZo1uv/++yVxllFeXn31VbW1tSmVSsnv9+uBBx7QAQccoNWrV/O5jDFlV2dZ4nMZY8uyZcv00ksv6c9//vNO9/E7c/khcAKAj+i4444r/H369OmaPXu2xo8fr9/85jf8Bw8AlIkvfvGLhb8fdNBBmj59uvbZZx899dRTmjdvXgkrA3btvPPO02uvvVa0GxIYi3Z1lofuyTvooIPU2NioefPm6e2339Y+++wz2mUCH2jy5MlavXq1otGo7rvvPp155pl6+umnS10W8LHt6iwfcMABfC5jzHj33Xd14YUXavny5XK73aUuBx8BI/VQcjU1NbLZbNq8eXPR7Zs3b1ZDQ0OJqgI+XDgc1v7776+1a9eqoaFBvb296urqKrpm6DluaGgY9pwP3AeUwsDZ+6DP4IaGBm3ZsqXo/v7+fnV0dHC+UfYmTZqkmpoarV27VhLnGeXn/PPP18MPP6wnn3xSLS0thdv31O8Wu7omGAzyD2awR+3qLA9n9uzZklT02cxZRrlwOp3ad999NXPmTC1ZskQHH3yw/vu//5vPZYw5uzrLw+FzGeVq1apV2rJliw455BDZ7XbZ7XY9/fTTuvHGG2W321VfX89nc5khcELJOZ1OzZw5U48//njhtmw2q8cff7xotixQbnp6evT222+rsbFRM2fOlMPhKDrHa9as0YYNGwrnuK2tTa+++mrR/9C5fPlyBYPBQls7MNomTpyohoaGorMbi8X0wgsvFJ3drq4urVq1qnDNE088oWw2W/gvJm1tbXrmmWfU19dXuGb58uWaPHky48dQUhs3btT27dvV2NgoifOM8mGM0fnnn68HHnhATzzxxE5jHPfU7xZtbW1FzzFwDb9nY0/5sLM8nNWrV0tS0WczZxnlKpvNKp1O87mMMW/gLA+Hz2WUq3nz5unVV1/V6tWrC1+HHnqoTj/99MLf+WwuMwYoA8uWLTMul8vccccd5o033jDnnnuuCYfDpr29vdSlAQWXXnqpeeqpp8y6devMc889Z+bPn29qamrMli1bjDHGfO1rXzPjxo0zTzzxhHnxxRdNW1ubaWtrKzy+v7/fTJs2zSxYsMCsXr3aPProo6a2ttYsXry4VG8Je4nu7m7zl7/8xfzlL38xkswPf/hD85e//MX8/e9/N8YYc91115lwOGweeugh88orr5gTTzzRTJw40SSTycJzHHvsseZTn/qUeeGFF8yzzz5r9ttvP3PaaacV7u/q6jL19fXmn//5n81rr71mli1bZrxer/nZz3426u8Xle2DznN3d7f5xje+YVauXGnWrVtn/vCHP5hDDjnE7LfffiaVShWeg/OMcvD1r3/dhEIh89RTT5lNmzYVvhKJROGaPfG7xTvvvGO8Xq+57LLLzJtvvmluvvlmY7PZzKOPPjqq7xeV68PO8tq1a813vvMd8+KLL5p169aZhx56yEyaNMkcffTRhefgLKNcXH755ebpp58269atM6+88oq5/PLLjcViMY899pgxhs9ljB0fdJb5XMZYN2fOHHPhhRcWvuezubwQOKFs3HTTTWbcuHHG6XSaWbNmmeeff77UJQFFTj31VNPY2GicTqdpbm42p556qlm7dm3h/mQyaf71X//VRCIR4/V6zUknnWQ2bdpU9Bzr1683xx13nPF4PKampsZceumlpq+vb7TfCvYyTz75pJG009eZZ55pjDEmm82aK6+80tTX1xuXy2XmzZtn1qxZU/Qc27dvN6eddprx+/0mGAyas846y3R3dxdd8/LLL5tPf/rTxuVymebmZnPdddeN1lvEXuSDznMikTALFiwwtbW1xuFwmPHjx5tzzjlnp3/AwnlGORjuHEsyt99+e+GaPfW7xZNPPmlmzJhhnE6nmTRpUtFrALvrw87yhg0bzNFHH22qqqqMy+Uy++67r7nssstMNBoteh7OMsrB2WefbcaPH2+cTqepra018+bNK4RNxvC5jLHjg84yn8sY63YMnPhsLi8WY4wZvX4qAAAAAAAAAAAAVBp2OAEAAAAAAAAAAGC3EDgBAAAAAAAAAABgtxA4AQAAAAAAAAAAYLcQOAEAAAAAAAAAAGC3EDgBAAAAAAAAAABgtxA4AQAAAAAAAAAAYLcQOAEAAAAAAAAAAGC3EDgBAAAAAAAAAABgtxA4AQAAAEAFOf7443XOOeeMyHNv375dPp9Pv/vd70bk+QEAAACMXRZjjCl1EQAAAACAYitWrNBjjz2miy66SOFw+CM95rnnntOcOXP01ltvad999x2Rui688EI9++yzWrVq1Yg8PwAAAICxiQ4nAAAAAChDK1as0DXXXKOurq6P/Jjrr79e8+bNG7GwSZK+9rWv6aWXXtITTzwxYq8BAAAAYOwhcAIAAACACrBlyxY98sgj+sIXvjCirzN16lRNmzZNd9xxx4i+DgAAAICxhcAJAAAAAMrM1Vdfrcsuu0ySNHHiRFksFlksFq1fv36Xj3nkkUfU39+v+fPnF91+xx13yGKx6LnnntMll1yi2tpa+Xw+nXTSSdq6dWvRtS+++KIWLlyompoaeTweTZw4UWefffZOr/UP//AP+u1vfysmtAMAAAAYYC91AQAAAACAYieffLL++te/aunSpfrRj36kmpoaSVJtbe0uH7NixQpVV1dr/Pjxw95/wQUXKBKJ6Nvf/rbWr1+vG264Qeeff77uueceSbkOqQULFqi2tlaXX365wuGw1q9fr/vvv3+n55o5c6Z+9KMf6fXXX9e0adP2wDsGAAAAMNYROAEAAABAmZk+fboOOeQQLV26VJ/73Oc0YcKED33MW2+99YHXVVdX67HHHpPFYpEkZbNZ3XjjjYpGowqFQlqxYoU6Ozv12GOP6dBDDy087rvf/e5OzzVp0iRJ0htvvEHgBAAAAEASI/UAAAAAoCJs375dkUhkl/efe+65hbBJko466ihlMhn9/e9/lySFw2FJ0sMPP6y+vr4PfK2B19m2bdtuVg0AAACgUhA4AQAAAECF+KCdSuPGjSv6fiA06uzslCTNmTNHp5xyiq655hrV1NToxBNP1O233650Or3L1xkaYAEAAADYuxE4AQAAAEAFqK6uLoRHw7HZbMPePjQ8uu+++7Ry5Uqdf/75eu+993T22Wdr5syZ6unpKXrMwOsM7JYCAAAAAAInAAAAAChDH7d7aMqUKVq3bt1uv+7hhx+u//iP/9CLL76ou+66S6+//rqWLVtWdM3A60ydOnW3Xw8AAABAZSBwAgAAAIAy5PP5JEldXV0f6fq2tjZ1dnbqnXfe+USv19nZudNIvhkzZkjSTmP1Vq1apVAopAMPPPATvRYAAACAymMvdQEAAAAAgJ3NnDlTkvRv//Zv+uIXvyiHw6HPfvazhSBqR4sWLZLdbtcf/vAHnXvuuR/79e6880795Cc/0UknnaR99tlH3d3d+vnPf65gMKjjjz++6Nrly5frs5/9LDucAAAAABQQOAEAAABAGTrssMN07bXX6pZbbtGjjz6qbDardevW7TJwqq+v1/HHH6/f/OY3nyhwmjNnjv70pz9p2bJl2rx5s0KhkGbNmqW77rpLEydOLFz31ltv6bXXXtMNN9zwSd8aAAAAgApkMTvOTAAAAAAAjEl//OMfNXfuXL311lvab7/9RuQ1LrroIj3zzDNatWoVHU4AAAAACgicAAAAAKCCHHfccWppadHPf/7zPf7c27dv1/jx4/Wb3/xmpzF7AAAAAPZuBE4AAAAAAAAAAADYLdZSFwAAAAAAAAAAAICxjcAJAAAAAAAAAAAAu4XACQAAAAAAAAAAALuFwAkAAAAAAAAAAAC7hcAJAAAAAAAAAAAAu4XACQAAAAAAAAAAALuFwAkAAAAAAAAAAAC7hcAJAAAAAAAAAAAAu4XACQAAAAAAAAAAALuFwAkAAAAAAAAAAAC75f8DPOKO9tPe060AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "adiabatic_pulse = Pulse(\n", + " InterpolatedWaveform(T, [1e-9, Omega, 1e-9]),\n", + " InterpolatedWaveform(T, [delta_0, 0, delta_f]),\n", + " 0,\n", + ")\n", + "seq = Sequence(reg, Chadoq2)\n", + "seq.declare_channel(\"ising\", \"rydberg_global\")\n", + "seq.add(adiabatic_pulse, \"ising\")\n", + "seq.draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'01011': 496, '00111': 468, '00011': 23, '00101': 5, '10000': 4, '01000': 2, '01010': 2})\n" + ] + } + ], + "source": [ + "simul = QutipEmulator.from_sequence(seq)\n", + "results = simul.run()\n", + "final = results.get_final_state()\n", + "count_dict = results.sample_final_state()\n", + "print(results.sample_final_state())" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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AAAAhRLaAQAAoFBCOwAAABRKaAcAAIBCCe0AAABQKKEdAAAACiW0AwAAQKGEdgAAACiU0A4AAACFEtoBAACgUEI7AAAAFEpoBwAAgEIJ7QAAAFAooR0AAAAKJbQDAABAoYR2AAAAKFQxof273/1uampqcuaZZ7Y+tmTJkowbNy6bbbZZNt5444wePToLFixo87w5c+Zk1KhR6dOnTwYMGJBzzz03K1as6OTqAQAAoOMVEdofeeSRXHvttdlll13aPH7WWWfl9ttvz6233pr7778/8+bNy9FHH906vnLlyowaNSrLli3Lgw8+mJtuuik33nhjLrjggs5+CwAAANDhqh7aFy1alDFjxuSnP/1pNt1009bHm5qact111+UHP/hBDjjggAwbNiw33HBDHnzwwTz00ENJksmTJ2fWrFn593//9+y222459NBD861vfStXXXVVli1bVq23BAAAAB2i6qF93LhxGTVqVEaMGNHm8RkzZmT58uVtHt9xxx2z9dZbZ9q0aUmSadOmZeedd87AgQNbpxk5cmSam5vzzDPPrPU1ly5dmubm5jY3AAAAKE2Par74z3/+8zz22GN55JFHVhtrbGxMr1690rdv3zaPDxw4MI2Nja3TvDuwvzP+ztjaXHrppbn44os/YPUAAADw4aralva5c+fmjDPOyM0335wNNtigU197woQJaWpqar3NnTu3U18fAAAAKlG10D5jxowsXLgwQ4cOTY8ePdKjR4/cf//9ufLKK9OjR48MHDgwy5Yty+uvv97meQsWLEh9fX2SpL6+frWzyb9z/51p1qR3796pra1tcwMAAIDSVC20H3jggXnqqacyc+bM1tvw4cMzZsyY1r979uyZqVOntj5n9uzZmTNnThoaGpIkDQ0Neeqpp7Jw4cLWaaZMmZLa2toMGTKk098TAAAAdKSqHdO+ySabZKeddmrz2EYbbZTNNtus9fETTzwx48ePT79+/VJbW5vTTz89DQ0N2XvvvZMkBx98cIYMGZLPf/7zufzyy9PY2JhvfvObGTduXHr37t3p7wkAAAA6UlVPRNeeiRMnplu3bhk9enSWLl2akSNH5uqrr24d7969e+64446ceuqpaWhoyEYbbZQTTjghl1xySRWrBgAAgI5R09LS0lLtIqqtubk5dXV1aWpqKv/49pqaalewutJmIT0CAAAKV2kOrfp12gEAAIA1E9oBAACgUEI7AAAAFEpoBwAAgEIJ7QAAAFAooR0AAAAKJbQDAABAoYR2AAAAKJTQDgAAAIUS2gEAAKBQQjsAAAAUSmgHAACAQgntAAAAUCihHQAAAAoltAMAAEChhHYAAAAolNAOAAAAhRLaAQAAoFBCOwAAABRKaAcAAIBCCe0AAABQKKEdAAAACiW0AwAAQKGEdgAAACiU0A4AAACFEtoBAACgUEI7AAAAFEpoBwAAgEIJ7QAAAFAooR0AAAAKJbQDAABAoYR2AAAAKJTQDgAAAIUS2gEAAKBQQjsAAAAUSmgHAACAQgntAAAAUCihHQAAAAoltAMAAEChhHYAAAAolNAOAAAAhRLaAQAAoFBCOwAAABRKaAcAAIBCCe0AAABQKKEdAAAACiW0AwAAQKGEdgAAACiU0A4AAACFEtoBAACgUEI7AAAAFEpoBwAAgEIJ7QAAAFAooR0AAAAKJbQDAABAoYR2AAAAKJTQDgAAAIUS2gEAAKBQQjsAAAAUSmgHAACAQgntAAAAUCihHQAAAAoltAMAAEChhHYAAAAolNAOAAAAhRLaAQAAoFBCOwAAABRKaAcAAIBCCe0AAABQKKEdAAAACiW0AwAAQKGEdgAAACiU0A4AAACFEtoBAACgUEI7AAAAFEpoBwAAgEIJ7QAAAFAooR0AAAAKVdXQfs0112SXXXZJbW1tamtr09DQkN/85jet40uWLMm4ceOy2WabZeONN87o0aOzYMGCNv9jzpw5GTVqVPr06ZMBAwbk3HPPzYoVKzr7rQAAAECHq2po33LLLfPd7343M2bMyKOPPpoDDjggRx55ZJ555pkkyVlnnZXbb789t956a+6///7MmzcvRx99dOvzV65cmVGjRmXZsmV58MEHc9NNN+XGG2/MBRdcUK23BAAAAB2mpqWlpaXaRbxbv3798r3vfS/HHHNM+vfvn1tuuSXHHHNMkuS5557L4MGDM23atOy99975zW9+k8MPPzzz5s3LwIEDkySTJk3Keeedl1dffTW9evWq6DWbm5tTV1eXpqam1NbWfmjvrUPU1FS7gtWVNQvpEQAAULxKc2gxx7SvXLkyP//5z7N48eI0NDRkxowZWb58eUaMGNE6zY477pitt94606ZNS5JMmzYtO++8c2tgT5KRI0emubm5dWv9mixdujTNzc1tbgAAAFCaqof2p556KhtvvHF69+6dr3zlK7ntttsyZMiQNDY2plevXunbt2+b6QcOHJjGxsYkSWNjY5vA/s74O2Nrc+mll6aurq71ttVWW3XsmwIAAIAOUPXQvsMOO2TmzJl5+OGHc+qpp+aEE07IrFmzPtTXnDBhQpqamlpvc+fO/VBfDwAAANZFj2oX0KtXr3ziE59IkgwbNiyPPPJIfvSjH+XYY4/NsmXL8vrrr7fZ2r5gwYLU19cnSerr6zN9+vQ2/++ds8u/M82a9O7dO7179+7gdwIAAAAdq+pb2v/eqlWrsnTp0gwbNiw9e/bM1KlTW8dmz56dOXPmpKGhIUnS0NCQp556KgsXLmydZsqUKamtrc2QIUM6vXYAAADoSFXd0j5hwoQceuih2XrrrfPGG2/klltuyX333Ze77747dXV1OfHEEzN+/Pj069cvtbW1Of3009PQ0JC99947SXLwwQdnyJAh+fznP5/LL788jY2N+eY3v5lx48bZkg4AAMBHXlVD+8KFCzN27NjMnz8/dXV12WWXXXL33XfnoIMOSpJMnDgx3bp1y+jRo7N06dKMHDkyV199devzu3fvnjvuuCOnnnpqGhoastFGG+WEE07IJZdcUq23BAAAAB2muOu0V4PrtH9Apc1CegQAABTuI3eddgAAAKAtoR0AAAAKJbQDAABAoYR2AAAAKJTQDgAAAIUS2gEAAKBQQjsAAAAUap1C+9y5c/OnP/2p9f706dNz5pln5n/9r//VYYUBAABAV7dOof3444/PvffemyRpbGzMQQcdlOnTp+cb3/hGLrnkkg4tEAAAALqqdQrtTz/9dPbcc88kyX/8x39kp512yoMPPpibb745N954Y0fWBwAAAF3WOoX25cuXp3fv3kmSe+65J//9v//3JMmOO+6Y+fPnd1x1AAAA0IWtU2j/9Kc/nUmTJuX3v/99pkyZkkMOOSRJMm/evGy22WYdWiAAAAB0VesU2i+77LJce+212X///XPcccdl1113TZL8+te/bt1tHgAAAPhgalpaWlrW5YkrV65Mc3NzNt1009bHXn755Wy00Ubp379/hxXYGZqbm1NXV5empqbU1tZWu5z3VlNT7QpWt26z0IdHjwAAgMJVmkPXaUv7AQcckDfeeKNNYE+Sfv365dhjj12XfwkAAAD8nXUK7ffdd1+WLVu22uNLlizJ73//+w9cFAAAAJD0eD8TP/nkk61/z5o1K42Nja33V65cmbvuuisf+9jHOq46AAAA6MLeV2jfbbfdUlNTk5qamhxwwAGrjW+44Yb58Y9/3GHFAQAAQFf2vkL7Sy+9lJaWlmy//faZPn16mxPO9erVKwMGDEj37t07vEgAAADoit5XaN9mm22SJKtWrfpQigEAAAD+5n2F9nd7/vnnc++992bhwoWrhfgLLrjgAxcGAAAAXd06hfaf/vSnOfXUU7P55punvr4+Ne+6LnZNTY3QDgAAAB1gnUL7t7/97XznO9/Jeeed19H1AAAAAP/fOl2n/bXXXss//dM/dXQtAAAAwLusU2j/p3/6p0yePLmjawEAAADeZZ12j//EJz6R888/Pw899FB23nnn9OzZs834v/zLv3RIcQAAANCV1bS0tLS83ydtt912a/+HNTV58cUXP1BRna25uTl1dXVpampKbW1ttct5b+866V8x3v8s9OHSIwAAoHCV5tB12tL+0ksvrXNhAAAAQGXW6Zh2AAAA4MO3Tlvav/SlL73n+PXXX79OxQAAAAB/s06h/bXXXmtzf/ny5Xn66afz+uuv54ADDuiQwgAAAKCrW6fQftttt6322KpVq3Lqqafm4x//+AcuCgAAAOjAY9q7deuW8ePHZ+LEiR31LwEAAKBL69AT0b3wwgtZsWJFR/5LAAAA6LLWaff48ePHt7nf0tKS+fPn584778wJJ5zQIYUBAABAV7dOof3xxx9vc79bt27p379/rrjiinbPLA8AAABUZp1C+7333tvRdQAAAAB/Z51C+zteffXVzJ49O0myww47pH///h1SFAAAALCOJ6JbvHhxvvSlL2XQoEHZd999s++++2aLLbbIiSeemDfffLOjawQAAIAuaZ1C+/jx43P//ffn9ttvz+uvv57XX389v/rVr3L//ffn7LPP7ugaAQAAoEuqaWlpaXm/T9p8883zn//5n9l///3bPH7vvffms5/9bF599dWOqq9TNDc3p66uLk1NTamtra12Oe+tpqbaFazu/c9CHy49AgAACldpDl2nLe1vvvlmBg4cuNrjAwYMsHs8AAAAdJB1Cu0NDQ258MILs2TJktbH3nrrrVx88cVpaGjosOIAAACgK1uns8f/8Ic/zCGHHJItt9wyu+66a5LkiSeeSO/evTN58uQOLRAAAAC6qnU6pj15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dthhjeOzZ8/ObrvtlrfeequTKyvHBhtskCeeeEKP2tGtW7fU1NTkvVb5ampquvRnzuetMvpUGT9OV8YPr5Wze/x67hOf+ETOOuus/PM///Max2fOnJlhw4Z1clXl0af2bbPNNrnsssvy2c9+do3jevS2P/zhDxkzZsxax4877rhcdtllnVhRecxLldl2221z5513rnXl+M4778w222zTyVWV5dOf/nSuu+66XH755Wscv/766x2OkmTQoEG5+uqrc+SRR65x3GfO561S+lSZM888s90fp0nmzJnznru/H3jggTn77LM7saJyCe3rueHDh2fGjBlrDaPt/fLeVehT+4YNG5YZM2asNWjp0dus0LTPvFSZSy65JMcff3zuu+++jBgxos1ug1OnTs1dd92VW265pcpVVtcVV1yRww8/PHfdddcae/Tiiy/mzjvvrHKV1ffOZ25tod1nzuetUvpUGT9OV8YPr5Wze/x6rrGxMUuXLu3yIaE9+tS+WbNm5c0338zw4cPXOL58+fLMmzevy/fw1ltvzfHHH59DDz30PVdoRo8eXeVKq8e8VLkHH3wwV1555RpPanjGGWekoaGhyhVW38svv5xrrrkmDz300Go9+spXvpJtt922ugUW4Pe//30WL16cQw45ZI3jixcvzqOPPpr99tuvkysri89bZfSpfcccc0w+/vGPr3XPuieeeCK77757Vq1a1cmVleW+++7L4Ycfnu233/49f3jdd999q1xp9QntAB3MCg0AdF1+nK6cH14rI7QDUDVNTU1tvqTr6uqqXFGZ9ImO9M51kHv37l3lSvgos1yCztOt2gVQXU888US6d+9e7TKKp0/te/bZZ7P99ttXu4yiNDU1Zfbs2Zk9e3aampqqXU5R/vVf/zVDhgxJv379MmTIkDZ/X3fdddUurxh/36fBgwfr0/tg2f03U6ZMyWGHHZZNN900ffr0SZ8+fbLpppvmsMMOyz333FPt8ornO+5vLJfeH+sCdAShnS5/8plK6dN7W7ZsWV555ZVql1EEKzTv7Xvf+17OOOOMHHnkkZk6dWqefvrpPP3005k6dWqOOuqonHHGGfn+979f7TKrbk19euaZZ/TpfbLsfvtayIcddljq6uoyceLE3HHHHbnjjjsyceLE9O3bN4cddlj+7d/+rdplFs133Nsslyrnx+kPzg+vf2P3+PXc0Ucf/Z7jTU1Nue+++7r8dSL1qX3jx49/z/FXX301t9xyS5fuUfL2Cs1FF12Uf/mXf8nIkSPbnFRl8uTJufLKK3PRRRflnHPOqXKl1bPNNtvke9/73lrPqvuLX/wi5557bubMmdPJlZVFn9pn2V0Z10Jun++4ylguVca6QMdwwr6/EdrXcz179sxBBx3UurD4e3/9619zxx13dPkvIX1qX/fu3bPbbrultrZ2jeOLFi3KY4891qV7lFihqcSGG26Yxx57LIMHD17j+KxZszJ8+PC8+eabnVxZWfSpfZbdldlggw3yxBNPrPVSlLNnz85uu+2Wt956q5MrK4fvuMpYLlXGukBl/PBaOddpX88NHjw4o0ePzoknnrjG8ZkzZ+aOO+7o5KrKo0/t+8QnPpGzzjprrdeyd83Rty1cuDA777zzWsd33nnn/PnPf+7Eisqzxx575Lvf/W6uu+669OjR9mto5cqVueyyy7LHHntUqbpy6FP7LLsr41rI7fMdVxnLpcpYF6jM7bff/p4/vArrfyO0r+eGDRuWxx57bK0rNL17987WW2/dyVWVR5/aN3z48MyYMWOtKzQ1NTWOHY0Vmkr85Cc/yciRI1NfX5999923zW6Dv/vd79KrV69Mnjy5ylVWnz61z7K7MldccUUOP/zw3HXXXe95LeSuzHdcZSyXKmNdoDJ+eK2c3ePXc0uXLs3KlSvTp0+fapdSNH1qX2NjY5YuXeqaou148sknM3LkyCxfvvw9V2h22mmnKldaXW+88Ub+/d//fY3XZT3++OPXuotqV6NP782yu3KuhfzefMdVznKpfdYFKvPFL34xffr0yVVXXbXG8WeffTaHHXZYXnrppU6urDxCO0AHs0IDAF2bdYH2+eG1ckJ7F9HY2JiHH364zUJjr732Sn19fZUr+2hYsWJF5s2bZzfLvN2LZ555ps28NGTIkPTs2bPKlbG+WL58eebPn+/z9v/9/fJ70KBB2XPPPS2/38V3XGX+fvk9aNCgDB482PL7XXzHfTCW3/DhcEz7em7x4sX58pe/nJ///OepqalJv379krx9Rt2WlpYcd9xxufbaa/3C1Y5nnnkmQ4cO7dInxFi1alUuuOCCXHXVVWlqamozVldXl9NOOy0XX3xxunXrVqUKyyJorbtZs2Z1+c9bYvldCT2qjOV3+/SoY1h+t2VdoDJ+eK1AC+u1E088seWTn/xky1133dWyYsWK1sdXrFjRcvfdd7d86lOfajnppJOqWOFHw8yZM1u6detW7TKq6txzz23p379/y6RJk1peeumlljfffLPlzTffbHnppZdarr322pYBAwa0fO1rX6t2mVW3aNGiljFjxrR07969pUePHi0DBgxoGTBgQEuPHj1aunfv3vLP//zPLYsXL652mUXzeXub5Xf79Kgylt/t06OOYfn9NusCldGnytk9fj236aab5s4778w+++yzxvEHHngghx9+eF577bVOrqwsQ4cOfc/xt956K3/4wx+69C/H9fX1uemmmzJy5Mg1jt99990ZO3ZsFixY0MmVleWkk07K7373u/z4xz/OiBEj0r179yRvny126tSpOf3007Pvvvvmpz/9aZUrrR6ft8pYfrdPjypj+d0+PaqM5XdlrAtURp8qZ/f49dyqVavSq1evtY736tUrq1at6sSKyjRr1qx87nOfy3bbbbfG8fnz5+cPf/hDJ1dVljfeeCNbbLHFWscHDRqUxYsXd2JFZfqv//qvNYaI7t275+CDD87111+fww8/vEt/Afm8Vcbyu316VBnL7/bpUWUsvytjXaAy+lQ5oX09d/jhh+eUU07Jddddl913373N2OOPP55TTz01RxxxRJWqK8dOO+2UvfbaK6eeeuoax2fOnNnlFxj7779/zjnnnNx8883ZfPPN24z9+c9/znnnnZf999+/OsUVRIhon89bZSy/26dHlbH8bp8eVcbyuzLWBSqjT5VzNo313E9+8pMMHDgww4YNy2abbZbBgwdn8ODB2WyzzTJ8+PAMGDAgP/nJT6pdZtV95jOfyezZs9c6vskmm2TfffftxIrKM2nSpMybNy+DBg3K0KFDc+ihh+bQQw/N0KFDM2jQoMybNy/XXHNNtcusundCxOOPP77amBDxNp+3ylh+t0+PKmP53T49qozld2WsC1RGnyrnmPYu4rnnnsu0adNWu07kjjvuWOXK+ChZtWpV7r777jVec/Tggw92Vt0kr732Wo4//vjcfffd2XTTTTNgwIAkycKFC/P6669n5MiRueWWW9K3b9/qFspHhuV3+/SofZbf7dMjOop1gcroU+WEdoAPwbPPPrvGFT8hAgC6BusCldGn9gntXdxrr72W22+/PWPHjq12KUWYPn36GrfW7LnnnlWurBxr6tE+++yTPfbYo8qV8VHj8/bBWH63T4/asvxunx5VxvIbOpfQ3sU98cQTGTp0aJe/NMfChQszevToPPDAA9l6660zcODAJMmCBQsyZ86cfOYzn8l//dd/te620xXpUeWWLVuWX/7yl2tc8TvyyCPf86QrXYF5qWNYfrdPj97mM9c+PaqMPlXOukBl9KkyDs5ZzzU3N7/n7Y033qh2iUX46le/mpUrV+bZZ5/Nyy+/nIcffjgPP/xwXn755Tz77LNZtWpVxo0bV+0yq0qPKvPHP/4xgwcPzgknnJDHH388q1atyqpVq/L4449n7Nix+fSnP50//vGP1S6zqsxLlbH8bp8eVcZnrn16VBl9qox1gcroU+VsaV/PdevWLTU1NWsdb2lpSU1NTZffCrHJJpvkd7/73WqXDHrHjBkzsv/++3fpFUA9qsxBBx2UjTbaKP/7f//v1NbWthlrbm7O2LFj89Zbb+Xuu++uUoXVZ16qjOV3+/SoMj5z7dOjyuhTZawLVEafKuc67eu5TTbZJN/4xjey1157rXH8+eefz5e//OVOrqo8vXv3TnNz81rH33jjjfTu3bsTKyqPHlXmgQceyPTp01f78kmS2trafOtb31rr57GrMC9VxvK7fXpUGZ+59ulRZfSpMtYFKqNPlRPa13NDhw5Nkuy3335rHO/bt2/sbJEce+yxOeGEEzJx4sQceOCBrQuP5ubmTJ06NePHj89xxx1X5SqrS48q07dv37z88svZaaed1jj+8ssvd/lLl5iXKmP53T49qozPXPv0qDL6VBnrApXRp8oJ7eu5448/Pm+++eZax+vr63PhhRd2YkVl+sEPfpBVq1blc5/7XFasWNF60otly5alR48eOfHEE/P973+/ylVWlx5V5qSTTsrYsWNz/vnn58ADD2xzkp6pU6fm29/+dk4//fQqV1ld5qXKWH63T48q4zPXPj2qjD5VxrpAZfSpco5ph3dpbm7OjBkz2py9ctiwYWvcbaer0qP2XXbZZfnRj36UxsbG1uNtW1paUl9fnzPPPDNf+9rXqlxhGcxL0Ll85tqnR5XRp/ZZF6iMPlVGaO8C/vznP+f6669f46UUvvCFL6R///5VrrAM+tQ+PXp/XnrppTZ92m677apcUTnMS5XRp/bpUWX0qX16VBl9en+sC1RGn96b0L6ee+SRRzJy5Mj06dMnI0aMWG23kzfffDN33313hg8fXuVKq0uf2qdHHWPu3Lm58MILc/3111e7lKoxL1VGn9qnR5XRp/bpUWX0qWNYF6iMPv2N0L6e23vvvbPrrrtm0qRJq10Wp6WlJV/5ylfy5JNPZtq0aVWqsAz61D496hhPPPFEhg4d2qUvQWVeqow+tU+PKqNP7dOjyuhTx7AuUBl9+huhfT234YYb5vHHH8+OO+64xvHnnnsuu+++e956661Orqws+tQ+ParMr3/96/ccf/HFF3P22Wd36S8g81Jl9Kl9elQZfWqfHlVGnypjXaAy+lQ5Z49fz9XX12f69OlrXbhOnz69ddemrkyf2qdHlTnqqKNSU1PznpeZ+vutE12Neaky+tQ+PaqMPrVPjyqjT5WxLlAZfaqc0L6eO+ecc3LKKadkxowZa7yUwk9/+lOX5og+VUKPKjNo0KBcffXVOfLII9c4PnPmzAwbNqyTqyqLeaky+tQ+PaqMPrVPjyqjT5WxLlAZfXofWljv/fznP2/Za6+9Wnr06NFSU1PTUlNT09KjR4+Wvfbaq+UXv/hFtcsrhj61T4/ad8QRR7Scf/75ax2fOXNmS01NTSdWVCbzUmX0qX16VBl9ap8eVUaf2mddoDL6VDnHtHchy5cvz5///Ockyeabb56ePXtWuaIy6VP79Gjtfv/732fx4sU55JBD1ji+ePHiPProo9lvv/06ubIymZcqo0/t06PK6FP79Kgy+rR21gUqo0+VE9oBAACgUN2qXQAAAACwZkI7AAAAFEpoBwAAgEIJ7QDwEbf//vvnzDPPXOv4tttumx/+8IedUsvLL7+cmpqazJw5s1NeDwDWd0I7AKznHnnkkZxyyimt92tqavLLX/6y4uffeOON6du3b0XTbrXVVpk/f3522mmn91klALAmPapdAADw4erfv3+nvM6yZcvSq1ev1NfXd8rrAUBXYEs7AKwHVqxYkdNOOy11dXXZfPPNc/755+edq7q+e/f4bbfdNknyP/7H/0hNTU3r/SeeeCL/+I//mE022SS1tbUZNmxYHn300dx333354he/mKamptTU1KSmpiYXXXRR6//61re+lbFjx6a2tjannHLKarvH33fffampqcnUqVMzfPjw9OnTJ/vss09mz57dpv5vf/vbGTBgQDbZZJOcdNJJ+frXv57ddtutdfy+++7LnnvumY022ih9+/bNZz7zmbzyyisfVjsBoBhCOwCsB2666ab06NEj06dPz49+9KP84Ac/yL/+67+uNt0jjzySJLnhhhsyf/781vtjxozJlltumUceeSQzZszI17/+9fTs2TP77LNPfvjDH6a2tjbz58/P/Pnzc84557T+v+9///vZdddd8/jjj+f8889fa33f+MY3csUVV+TRRx9Njx498qUvfal17Oabb853vvOdXHbZZZkxY0a23nrrXHPNNa3jK1asyFFHHZX99tsvTz75ZKZNm5ZTTjklNTU1H7hvAFA6u8cDwHpgq622ysSJE1NTU5MddtghTz31VCZOnJiTTz65zXTv7Crft2/fNruxz5kzJ+eee2523HHHJMknP/nJ1rG6urrU1NSscbf3Aw44IGeffXbr/ZdffnmN9X3nO9/JfvvtlyT5+te/nlGjRmXJkiXZYIMN8uMf/zgnnnhivvjFLyZJLrjggkyePDmLFi1KkjQ3N6epqSmHH354Pv7xjydJBg8e/L76AwAfVba0A8B6YO+9926z5bmhoSHPP/98Vq5cWdHzx48fn5NOOikjRozId7/73bzwwgsVPW/48OEVTbfLLru0/j1o0KAkycKFC5Mks2fPzp577tlm+nff79evX77whS9k5MiROeKII/KjH/0o8+fPr+h1AeCjTmgHAHLRRRflmWeeyahRo/Lb3/42Q4YMyW233dbu8zbaaKOK/n/Pnj1b/37nx4VVq1ZVXN8NN9yQadOmZZ999skvfvGLfOpTn8pDDz1U8fMB4KNKaAeA9cDDDz/c5v5DDz2UT37yk+nevftq0/bs2XONW+A/9alP5ayzzsrkyZNz9NFH54YbbkiS9OrVq+It9utihx12aD22/h1/fz9Jdt9990yYMCEPPvhgdtppp9xyyy0fWk0AUAqhHQDWA3PmzMn48eMze/bs/OxnP8uPf/zjnHHGGWucdtttt83UqVPT2NiY1157LW+99VZOO+203HfffXnllVfywAMP5JFHHmk9bnzbbbfNokWLMnXq1Pz5z3/Om2++2aG1n3766bnuuuty00035fnnn8+3v/3tPPnkk61b5F966aVMmDAh06ZNyyuvvJLJkyfn+eefd1w7AF2CE9EBwHpg7Nixeeutt7Lnnnume/fuOeOMM3LKKaescdorrrgi48ePz09/+tN87GMfyx/+8If85S9/ydixY7NgwYJsvvnmOfroo3PxxRcnSfbZZ5985StfybHHHpu//OUvufDCC1sv+9YRxowZkxdffDHnnHNOlixZks9+9rP5whe+kOnTpydJ+vTpk+eeey433XRT/vKXv2TQoEEZN25cvvzlL3dYDQBQqpqWdy7iCgBQiIMOOij19fX5t3/7t2qXAgBVZUs7AFBVb775ZiZNmpSRI0eme/fu+dnPfpZ77rknU6ZMqXZpAFB1trQDAFX11ltv5Ygjjsjjjz+eJUuWZIcddsg3v/nNHH300dUuDQCqTmgHAACAQjl7PAAAABRKaAcAAIBCCe0AAABQKKEdAAAACiW0AwAAQKGEdgAAACiU0A4AAACFEtoBAACgUEI7AAAAFOr/AW4pW30knuhyAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_distribution(count_dict)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "See how fast and performant this method is! In only a few micro-seconds, we find an excellent solution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### How does the time evolution affect the quality of the results?" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "cost_qutip_emulator = []\n", + "for T in 1000 * np.linspace(1, 10, 10):\n", + " seq = Sequence(reg, Chadoq2)\n", + " seq.declare_channel(\"ising\", \"rydberg_global\")\n", + " adiabatic_pulse = Pulse(\n", + " InterpolatedWaveform(T, [1e-9, Omega, 1e-9]),\n", + " InterpolatedWaveform(T, [delta_0, 0, delta_f]),\n", + " 0,\n", + " )\n", + " seq.add(adiabatic_pulse, \"ising\")\n", + " simul = QutipEmulator.from_sequence(seq)\n", + " results = simul.run()\n", + " final = results.get_final_state()\n", + " count_dict = results.sample_final_state()\n", + " cost_qutip_emulator.append(get_cost(count_dict, Q) / 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "def plot_cost(cost, title):\n", + " plt.figure(figsize=(12, 6))\n", + " plt.plot(range(1, 11), np.array(cost), \"--o\")\n", + " plt.xlabel(\"total time evolution (µs)\", fontsize=14)\n", + " plt.ylabel(\"cost\", fontsize=14)\n", + " plt.title(title, fontsize=16)\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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eumlstvt+uGHHyp0rq+//lpS2dPm/fz81L17d+Xn52vjxo0ltg8YMEDe3t4lnm/VqpUk6ZprrilxiYO7u7tjDYJjx45VKOfFWrNmjWbMmKEHHnhA48eP17hx43T//ffL09NTSUlJlV7LoGhNgLFjx5a6/a677pJUOC2/tPc4aNCgUi9/AACgCNfkAwBQAUXXPZ84caJC+588edLxdWWuc69JsbGx5W7bvHlzhUfyDx48KEkaM2aMxowZU+6+pc1kaNq0aan7+vn5lbvd399fkpSdnV2hnFV18uRJjRo1SqtXry53v7S0NAUFBVX4vAkJCZLK/l00bNhQwcHBOnXqlI4ePaqoqKhi289faBEAgNJQ8gEAqIBu3bpp/vz52rx5s/Lz84tNMy/Nhg0bJEmBgYHlluvfs9vtF5XzYp0/A6E8RTmHDh16wUsYYmJiSjz3+2nwld1eWZX9ud59991avXq1evbsqalTp6pz584KCgqSh4eHJCkqKkrHjx+v8M+ruvj4+NTq6wEAnA8lHwCAChg+fLgee+wxpaamasGCBRo1alSZ+5qmqXnz5kmSRowYUaywFl27np6eXuqxhw4dqsbUxcXFxZW5LT4+XlLhtegVER0drd27d+uuu+7SDTfcUB3xLoqHh4fy8vKUnp7uGO0/X2V+rpmZmfrmm29ks9n0zTfflLhdYmZmphITE6uUs3Hjxtq9e7djJsTvpaam6tSpU459AQCoLK7JBwCgAlq0aKGbbrpJkvT444+XuE/6+d58801t27ZNnp6eeuKJJ4ptKypuu3btKnGcaZr69ttvSz1n0YcD+fn5VYkvSdq2bZu2bdtW4vkdO3Zo8+bNstls6tu3b4XOdc0110hSmfd1r23l/Vy3bdumI0eOVPhcqampKigoUEBAQImCL0nz588vcwT/Qr+n/v37SypcuLA077//vqTCtQko+QCAqqDkAwBQQW+88YaaNWumuLg4DRw4UDt27Ci2PT8/Xy+//LIefvhhSdI777yj9u3bF9tn0KBBkqR58+Zp586djufz8vL05JNPlrpInfTbCPu+ffuUl5dXpfymaWrChAnFFotLTU3VhAkTZJqmRo0apejo6Aqd695771VMTIw+++wzPfnkk6XOTEhMTNS7775bpayVVfRznTp1qnJychzPx8fHa+zYsZWaVh8eHq6goCCdOXPGMSOjyLp16zR58uQyjy36Pf3+b6PIPffco4CAAG3evFnPP/98sVy//PKLpk2bJqnwgyQAAKqC6foAAFRQcHCwfvzxR40cOVKbNm1Sx44d1b17d7Vo0UJZWVlau3atkpKSFBAQoJdeeqnUFdR79+6tESNGaMGCBerevbv69OkjHx8fbd68WWlpaXr44Yf16quvljiuadOm6t69u37++WfH63p7eyskJEQvvPBChfJfe+212r59u5o3b64BAwbIMAytXLlSp06dUqtWrfT6669X+Gfh6+urr7/+WsOGDdOLL76od955R506dVKTJk2UlZWlvXv3ateuXQoLC9M999xT4fNW1V//+ld9/vnn+uabb9S6dWtddtllSkpK0saNG9W7d2/16tVLa9asqdC53Nzc9Le//U2PPvqo7rjjDr3xxhtq3ry5Dh8+rDVr1uj222/XDz/8UOolAKNGjdLs2bP1xBNP6Pvvv1dYWJgMw9Cdd96pXr16KTw8XP/5z39044036qmnntK8efN06aWX6uTJk1q1apXy8/M1fvz4WvmZAQBcEyP5AABUQpMmTbRhwwZ9+OGHuvbaa5WQkKAvvvhCCxcuVFJSkho0aKDNmzfr3nvvLfMcn3zyiZ5++mlFRkZq5cqVWrduna688kpt3ry51FvcFfniiy906623Ki0tTZ988olmzZqljz/+uMLZg4KCtG7dOt18883auHGjFi9eLF9fXz300ENat26dwsLCKvOjUPv27bVt2za9+OKLuuSSS7Rt2zZ99tlnWr9+vXx9ffWXv/xFX375ZaXOWVWxsbFas2aNrr/+eqWnp2vx4sU6ceKEnnrqKX3zzTeOBfMq6pFHHtFXX32lXr16ac+ePVq0aJFycnL0xhtvlDnVXpL++Mc/6t1331WHDh20fPlyvf/++5o1a5b27t3r2GfYsGHavHmzxo4dq4yMDH3++efatGmTrrzySn388ceOKfsAAFSFYdb2srAAALig1NRUDRgwQL/88osGDx6shQsXysvLy+pYkqQPPvhA48eP19ixY/XBBx9YHQcAANQgRvIBAKgGgYGB+u6773TJJZfof//7n26++eaLWiQPAACgKrgmHwCAahIaGqrvv/9e7777rkzT1KZNm9SjRw+rYwEAgHqEkg8AQDWKiorSlClTrI4BAADqKa7JBwAAAADARXBNPgAAAAAALoKSDwAAAACAi+Ca/Cqw2+06duyY/P39ZRiG1XEAAAAAAC7ONE2lp6crKipKNlvZ4/WU/Co4duyYoqOjrY4BAAAAAKhnjhw5oiZNmpS5nZJfBf7+/pIKf7gBAQEWpwEAAAAAuLq0tDRFR0c7+mhZKPlVUDRFPyAggJIPAAAAAKg1F7pknIX3AAAAAABwEZR8AAAAAABcBCUfAAAAAAAXQckHAAAAAMBFUPIBAAAAAHARlHwAAAAAAFwEJR8AAAAAABdByQcAAAAAwEVQ8gEAAAAAcBGUfAAAAAAAXAQlHwAAAAAAF0HJBwAAAADARVDyAQAAAABwEe5WB0DNKLCb2hB3SifTsxXm763LY4PlZjOsjgUAAAAAqEGUfBe0ZPtxTV20U8dTsx3PRQZ6a8rwdhraIdLCZAAAAACAmsR0fRezZPtxTZi/uVjBl6TE1GxNmL9ZS7YftygZAAAAAKCmUfJdSIHd1NRFO2WWsq3ouamLdqrAXtoeAAAAAABnR8l3IRviTpUYwT+fKel4arY2xJ2qvVAAAAAAgFpDyXchJ9PLLvhV2Q8AAAAA4Fwo+S4kzN+7WvcDAAAAADgXSr4LuTw2WJGB3irrRnmGClfZvzw2uDZjAQAAAABqCSXfhbjZDE0Z3k6SSi36pqQpw9vJzVbWxwAAAAAAAGdGyXcxQztEaubtXRURWHJKfkyjBhrSPsKCVAAAAACA2uBudQBUv6EdInV1uwhtiDulk+nZ8nK36ZGPt+hQSpaW7TqpQe3CrY4IAAAAAKgBlHwX5WYz1LNFI8f34/uk6mBShpqFNLAwFQAAAACgJlHy64nHB7eRjWvxAQAAAMClcU1+PUHBBwAAAADX5/Ql/+uvv1aPHj3k4+OjoKAgjRw5stz9x40bJ8Mwij2GDh1aO2HrgKOnszTpi236ettxq6MAAAAAAKqZU0/X/+KLL3TPPffo+eef18CBA5Wfn6/t27df8LihQ4dq9uzZju+9vLxqMmad8t/NCfp44xFtiD+lIe3D5e7m9J/zAAAAAADOcdqSn5+fr4cfflgvvfSS7rrrLsfz7dq1u+CxXl5eioion7eSG9+7md7/KU4HkzK1YMsxjerWxOpIAAAAAIBq4rTDuJs3b1ZCQoJsNpsuvfRSRUZG6pprrqnQSP7KlSsVFhamNm3aaMKECUpJSSl3/5ycHKWlpRV7OCt/bw/9qW8LSdKry/Ypr8BucSIAAAAAQHVx2pJ/8OBBSdKzzz6rp59+WosXL1ZQUJD69++vU6dOlXnc0KFDNXfuXC1btkwzZszQqlWrdM0116igoKDMY6ZPn67AwEDHIzo6utrfT20a2ytGIX6eOnwqS//dfNTqOAAAAACAalLnSv6kSZNKLIz3+8fu3btltxeOQD/11FMaNWqUunXrptmzZ8swDH322Wdlnn/06NG69tpr1bFjR40cOVKLFy/Wxo0btXLlyjKPmTx5slJTUx2PI0eOVPfbrlUNPN11X7/C0fzXlu1Xbj6j+QAAAADgCurcNfmPPfaYxo0bV+4+zZs31/HjhavDn38NvpeXl5o3b67Dhw9X+PWaN2+ukJAQ7d+/X1dddVWp+3h5ebnc4ny3XxGjd388qIQzZ/Xpz0d0+xUxVkcCAAAAAFykOlfyQ0NDFRoaesH9unXrJi8vL+3Zs0d9+vSRJOXl5Sk+Pl4xMRUvrEePHlVKSooiIyOrnNkZeXu46bGr2yg+JVPDOtWv9w4AAAAArqrOTdevqICAAN13332aMmWK/ve//2nPnj2aMGGCJOnGG2907Ne2bVt9+eWXkqSMjAw9/vjjWrduneLj47Vs2TKNGDFCLVu21JAhQyx5H1a66bJoPTG0rRo28LQ6CgAAAACgGtS5kfzKeOmll+Tu7q4xY8bo7Nmz6tGjh5YvX66goCDHPnv27FFqaqokyc3NTdu2bdOcOXN05swZRUVFafDgwXruuedcbjp+ZZmmKbspudkMq6MAAAAAAKrIME3TtDqEs0lLS1NgYKBSU1MVEBBgdZyLtunQac34dreuuiRMfzq3IB8AAAAAoO6oaA912un6qD4HkzK0If6U3lp1QBk5+VbHAQAAAABUESUfuu7Sxmoe4qvTWXn64Kc4q+MAAAAAAKqIkg+5u9n08KBWkqR3fjio1LN5FicCAAAAAFQFJR+SpGGdotQqzE9p2fl6fzWj+QAAAADgjCj5kFS4qv4jg1pLkt5fHaczWbkWJwIAAAAAVBYlHw7XdIhQ2wh/pefk6+ONR6yOAwAAAACoJHerA6DusNkMPf3HdjqRlq0RXaKsjgMAAAAAqCRKPorp0yrE6ggAAAAAgCpiuj7KlJNfoLRsVtoHAAAAAGdByUepvt95Qv1fWqmX/7fX6igAAAAAgAqi5KNUPp5uOp6arQ/XH9axM2etjgMAAAAAqABKPkrVq0Uj9YgNVm6BXa+v2G91HAAAAABABVDyUSrDMDTx6taSpE83HtGRU1kWJwIAAAAAXAglH2Xq0byR+rQMUb7d1L+X77M6DgAAAADgAij5KNfEwYWj+V9sTlB8cqbFaQAAAAAA5aHko1xdmwZpQJtQFdhNLd15wuo4AAAAAIByGKZpmlaHcDZpaWkKDAxUamqqAgICrI5T4/adSFd6Tr66Ng2yOgoAAAAA1EsV7aHutZgJTqpVuL/VEQAAAAAAFcB0fVRKYmo2K+0DAAAAQB1FyUeFffnLUfV9aYWmfb3T6igAAAAAgFJQ8lFhHRsHKr/Aru92nND2hFSr4wAAAAAAfoeSjwprGeavEV0aS5JeXrrX4jQAAAAAgN+j5KNSHr6qldxshpbvPqnNh09bHQcAAAAAcB5KPiqlWYivRnUtHM3/F6P5AAAAAFCnUPJRaX8e2EoeboZ+3JesDXGnrI4DAAAAADiHko9Kiw5uoJu6R8vL3ab9JzOsjgMAAAAAOMcwTdO0OoSzSUtLU2BgoFJTUxUQEGB1HEskZ+TIbjcVFuBtdRQAAAAAcHkV7aHutZgJLiTEz8vqCAAAAACA32G6Pi7apkOnWGkfAAAAAOoASj4uyofrD2vUzLV6duEOceUHAAAAAFiLko+LMrh9uBp4umnb0VQt3XnC6jgAAAAAUK9R8nFRQvy8NLZXM0nSy0v3ym5nNB8AAAAArELJx0W798rm8vNy1+7EdH27PdHqOAAAAABQb1HycdGCfD11Z59YSdK/vt+rAkbzAQAAAMASlHxUi7v6xCrA2137T2Zo0dZjVscBAAAAgHqJko9qEejjoXv7Nlfjhj7ycufPCgAAAACsYJjc96zS0tLSFBgYqNTUVAUEBFgdp87IziuQYUhe7m5WRwEAAAAAl1LRHupei5ng4rw9KPcAAAAAYCXmVaPa5RfY9enPR7R4G9fmAwAAAEBtYiQf1e6zTUc1+b+/KirQW1e3C2f6PgAAAADUEkbyUe2uu7SxwgO8dCw1W59sPGJ1HAAAAACoNyj5qHbeHm56cEBLSdLry/crO6/A4kQAAAAAUD9Q8lEjbrosWo0b+uhkeo7mrztkdRwAAAAAqBco+agRXu5u+vPAwtH8t1YdUFZuvsWJAAAAAMD1UfJRY0Z1a6KmwQ2UnJGrOWsYzQcAAACAmkbJR43xcLPp4ata6Yrmwbo8NsjqOAAAAADg8riFHmrU9V0ba1S3JlbHAAAAAIB6gZF81CjDMKyOAAAAAAD1BiP5qBWnMnP19g8HFODtoQfO3V4PAAAAAFC9KPmoFRviUvT2qoPy9XTTrZc3VZCvp9WRAAAAAMDlMF0ftWJwuwi1iwxQZm6B3v7hoNVxAAAAAMAlUfJRK2w2QxOvbi1JmrMmXknpORYnAgAAAADXQ8lHrbnqkjB1jm6os3kFemvVAavjAAAAAIDLoeSj1hjGb6P589cd0om0bIsTAQAAAIBroeSjVvVtFaLuMUHKybfrzRX7rY4DAAAAAC6F1fVRqwzD0GOD22jRtmP6U78WVscBAAAAAJdCyUet69mikXq2aGR1DAAAAABwOUzXh+XyC+xWRwAAAAAAl0DJh2UOJGXonrk/a9J/f7U6CgAAAAC4BEo+LJOena+lO0/ov5uP6mBShtVxAAAAAMDpUfJhmS7RDXVV2zDZTenVZfusjgMAAAAATo+SD0s9enVrSdLCrce090S6xWkAAAAAwLlR8mGpDo0DNbR9hExTeuX7vVbHAQAAAACnRsmH5R69urUMQ/rm10TtOJZqdRwAAAAAcFqUfFiuTYS/hnWKkiTN/ine2jAAAAAA4MTcrQ4ASNLDV7VSl+iGuq1HU6ujAAAAAIDTouSjTmgZ5qeWYX5WxwAAAAAAp8Z0fdQ5BXZTKRk5VscAAAAAAKdDyUedsuXIGQ155Qc99PEvVkcBAAAAAKfjtCV/5cqVMgyj1MfGjRvLPC47O1sPPPCAGjVqJD8/P40aNUonTpyoxeQoT4ifpw6lZOqn/SladzDF6jgAAAAA4FSctuT36tVLx48fL/a4++67FRsbq+7du5d53KOPPqpFixbps88+06pVq3Ts2DFdf/31tZgc5WkS1ECjLytcfO/l/+2VaZoWJwIAAAAA5+G0Jd/T01MRERGOR6NGjbRgwQKNHz9ehmGUekxqaqpmzZqll19+WQMHDlS3bt00e/ZsrVmzRuvWravld4CyPDCgpTzdbdoQf0qr9ydbHQcAAAAAnIbTlvzfW7hwoVJSUjR+/Pgy99m0aZPy8vI0aNAgx3Nt27ZV06ZNtXbt2jKPy8nJUVpaWrEHak5EoLfjVnr/ZDQfAAAAACrMZUr+rFmzNGTIEDVp0qTMfRITE+Xp6amGDRsWez48PFyJiYllHjd9+nQFBgY6HtHR0dUVG2WY0L+FvD1s2nLkjFbsOWl1HAAAAABwCnWu5E+aNKnMBfWKHrt37y52zNGjR/Xdd9/prrvuqpFMkydPVmpqquNx5MiRGnkd/CbM31tjezaTJC3dycKIAAAAAFAR7lYH+L3HHntM48aNK3ef5s2bF/t+9uzZatSoka699tpyj4uIiFBubq7OnDlTbDT/xIkTioiIKPM4Ly8veXl5XTA7qtef+rVQzxaN1K91qNVRAAAAAMAp1LmSHxoaqtDQipc60zQ1e/Zs3XHHHfLw8Ch3327dusnDw0PLli3TqFGjJEl79uzR4cOH1bNnz4vKjeoX7Oup/m3CrI4BAAAAAE6jzk3Xr6zly5crLi5Od999d4ltCQkJatu2rTZs2CBJCgwM1F133aWJEydqxYoV2rRpk8aPH6+ePXvqiiuuqO3oqITUrDztOs6ChwAAAABQnjo3kl9Zs2bNUq9evdS2bdsS2/Ly8rRnzx5lZWU5nvvXv/4lm82mUaNGKScnR0OGDNGbb75Zm5FRSesPpujuuT8rPMBb3z3SV2620m+RCAAAAAD1nWFyf7JKS0tLU2BgoFJTUxUQEGB1HJeXlp2nK2esUOrZPP3r5s667tKy76AAAAAAAK6ooj3U6afrw/UFeHvo3r6Fiy2++v0+5RfYLU4EAAAAAHUTJR9OYVyvZmrk66n4lCz9d3OC1XEAAAAAoE6i5MMp+Hq5675+LSRJry3fp9x8RvMBAAAA4Pco+XAat18Ro1B/Lx09fVafbTpidRwAAAAAqHMo+XAaPp5ueqB/C7nZDB07c9bqOAAAAABQ5zj9LfRQv9zSo6n6tQlTbIiv1VEAAAAAoM5hJB9OxcvdjYIPAAAAAGWg5MNp7TuRrmW7TlgdAwAAAADqDEo+nNLaAyka/MoPevzzbcrMybc6DgAAAADUCZR8OKXLmgUpJriBTmXm6oM18VbHAQAAAIA6gZIPp+TuZtPDg1pJkt754aDSsvMsTgQAAAAA1qPkw2ld27mxWoT6KvVsnt5fHWd1HAAAAACwHCUfTsvNZuiRQa0lSbN+jFNqFqP5AAAAAOo3Sj6c2h87RqpthL/Sc/L17o8HrY4DAAAAAJai5MOp2c6N5gc18FCov5fVcQAAAADAUu5WBwAu1pD24erTaqD8vPhzBgAAAFC/MZIPp2cYBgUfAAAAAETJhwsxTVP/25GoWay0DwAAAKCeYvgTLmPTodO6d94mebrb9IeOEYoM9LE6EgAAAADUKkby4TK6xQTp8mbBys23640V+62OAwAAAAC1jpIPl2EYhiYObi1J+mTjER09nWVxIgAAAACoXZR8uJQrmjdS75aNlFdg6t/LGM0HAAAAUL9Q8uFyJl5dOJr/+eajOpSSaXEaAAAAAKg9lHy4nG4xwerXOlQFdlOvLttndRwAAAAAqDWsrg+XNPHq1kpKz9EfOkRaHQUAAAAAag0lHy6pc3RDff1QHxmGYXUUAAAAAKg1TNeHy6LgAwAAAKhvKPlwaVm5+Zq58oAm/3eb1VEAAAAAoMZR8uHSEk6f1Yvf7dZHG45oe0Kq1XEAAAAAoEZR8uHSWoX769rOUZKkfy3da3EaAAAAAKhZlHy4vIevaiWbIS3bfVK/HD5tdRwAAAAAqDGUfLi85qF+ur5rE0nSy4zmAwAAAHBhlHzUCw8NbCV3m6Ef9yVrY/wpq+MAAAAAQI2g5KNeaNqogW7sXjia/8r3jOYDAAAAcE3uVgcAasuDA1spI6dADw1saXUUAAAAAKgRlHzUG40b+ujft1xqdQwAAAAAqDFM10e9lVdgtzoCAAAAAFQrSj7qnZNp2frLZ1s1+p11Mk3T6jgAAAAAUG0o+ah3DMPQ19uOa9Oh01q++6TVcQAAAACg2lDyUe+E+nvpjl4xkqSXl+5lNB8AAACAy6Dko176U98W8vV0045jafpuR6LVcQAAAACgWlDyUS8F+3rqzj6xkqR/Ld0nu53RfAAAAADOj5KPeuvuPs3l7+2uPSfStfjX41bHAQAAAICLRslHvRXYwEP3XNlckvT+6jiL0wAAAADAxXO3OgBgpfG9m0mSxvZqZmkOAAAAAKgOlHzUa/7eHnroqlZWxwAAAACAasF0feAc0zR1Ii3b6hgAAAAAUGWUfEDSkVNZun7mGl3/5hrl5BdYHQcAAAAAqoSSD0gK9fdSwumzSjhzVp/+fNTqOAAAAABQJZR8QJK3h5seGNBSkvTG8v3KzmM0HwAAAIDzoeQD54y+PFpRgd5KTMvWh+sPWx0HAAAAACqNkg+c4+XupgcHFq60/+bKAzqby2g+AAAAAOdCyQfOc2P3JooO9lFyRo7mro23Og4AAAAAVAolHziPh5tND50bzV+++6RM07Q4EQAAAABUnLvVAYC65rpLG8vPy12D20fIMAyr4wAAAABAhVHygd9xd7Ppmo6RVscAAAAAgEpjuj5Qjuy8Am06dNrqGAAAAABQIZR8oAyHU7LU98UVGvv+Bp3OzLU6DgAAAABcECUfKEOTIB8F+3oqIydf7/540Oo4AAAAAHBBlHygDDaboYlXt5YkfbAmXikZORYnAgAAAIDyUfKBclzdLlydmgQqK7dAb606YHUcAAAAACgXJR8oh2EYevTcaP7ctYd0Mi3b4kQAAAAAUDZKPnAB/VuHqmvThsrJt+vNlYzmAwAAAKi7KPnABRiGoccGt5EkpWTmyjRNixMBAAAAQOncrQ4AOINeLRrp+4l91TLM3+ooAAAAAFAmRvKBCjAMg4IPAAAAoM6j5AOVdOzMWX2x6ajVMQAAAACgBKbrA5Vw7MxZ9X9ppQpMU11jghQb4mt1JAAAAABwcNqR/JUrV8owjFIfGzduLPO4/v37l9j/vvvuq8XkcGZRDX3Uu2UjFdhNvbZsn9VxAAAAAKAYpy35vXr10vHjx4s97r77bsXGxqp79+7lHnvPPfcUO+7FF1+spdRwBROvLlxp/6stCdp/Mt3iNAAAAADwG6ct+Z6enoqIiHA8GjVqpAULFmj8+PEyDKPcYxs0aFDs2ICAgFpKDVfQsUmgBrcLl2lK//qe0XwAAAAAdYfTlvzfW7hwoVJSUjR+/PgL7vuf//xHISEh6tChgyZPnqysrKxy98/JyVFaWlqxB+q3R69uLUn6ettx7TrO3wMAAACAusFlSv6sWbM0ZMgQNWnSpNz9br31Vs2fP18rVqzQ5MmTNW/ePN1+++3lHjN9+nQFBgY6HtHR0dUZHU7oksgA/bFTpCTpX0v3WpwGAAAAAAoZpmmaVoc436RJkzRjxoxy99m1a5fatm3r+P7o0aOKiYnRp59+qlGjRlXq9ZYvX66rrrpK+/fvV4sWLUrdJycnRzk5OY7v09LSFB0drdTUVKb612P7T6Zr5BtrNKZnjB4f3EY2W/mXiQAAAABAVaWlpSkwMPCCPbTOlfykpCSlpKSUu0/z5s3l6enp+P65557Tv//9byUkJMjDw6NSr5eZmSk/Pz8tWbJEQ4YMqdAxFf3hwvVl5uTL14s7UQIAAACoWRXtoXWunYSGhio0NLTC+5umqdmzZ+uOO+6odMGXpC1btkiSIiMjK30sQMEHAAAAUJc4/TX5y5cvV1xcnO6+++4S2xISEtS2bVtt2LBBknTgwAE999xz2rRpk+Lj47Vw4ULdcccd6tu3rzp16lTb0eFC1h9M0Qvf7rY6BgAAAIB6zumHIWfNmqVevXoVu0a/SF5envbs2eNYPd/T01Pff/+9XnnlFWVmZio6OlqjRo3S008/Xdux4UJOpmfrtvfWK99uamDbMF0eG2x1JAAAAAD1VJ27Jt8ZcE0+fu+vX/6qD9cf1uXNgvTo1a11Mj1HYf7eujw2WG4syAcAAADgIjntwnvOgJKP3zt25qz6vrhC+fbi/3WKDPTWlOHtNLQDaz4AAAAAqLqK9lCnvyYfqAu2HT1TouBLUmJqtibM36wl249bkAoAAABAfUPJBy5Sgd3U1EU7S91WVPunLtqpglI+BAAAAACA6kTJBy7ShrhTOp6aXeZ2U9Lx1GxtiDtVe6EAAAAA1EuUfOAinUwvu+BXZT8AAAAAqCpKPnCRwvy9q3U/AAAAAKgqSj5wkS6PDVZkoLfKu1FeZGDh7fQAAAAAoCZR8oGL5GYzNGV4O0kqs+jf37+F3GzlfQwAAAAAABePkg9Ug6EdIjXz9q6KCCw+Jd/DrbDYf7AmXqln86yIBgAAAKAeMUzT5L5elZSWlqbAwEClpqYqICDA6jioQwrspjbEndLJ9GyF+XurWaMGun7mGh1PzVafliGaPf4yebjx2RoAAACAyqloD6VtANXIzWaoZ4tGGtGlsXq2aKTIhj6aNfYyNfB00+r9yZqycIf4XA0AAABATaHkAzWsXVSAXht9qQxD+nD9Yc1aHWd1JAAAAAAuipIP1IJB7cL11B8ukSR9tyNR+QV2ixMBAAAAcEXuVgcA6ou7+sQq0MdDwztHyZ3r8gEAAADUAJoGUEsMw9CN3aPl7eHmeC47r8DCRAAAAABcTZVLvpubm5577rly9/m///s/ubszWQD4Pbvd1ItLduumt9fqbC5FHwAAAED1qHLJN02zQquEs5I4UFJSRo4+2nBY246mauKnW2S3898TAAAAABevRqfrJyUlycfHpyZfAnBK4QHeentMd3m4Gfp2e6L+8b89VkcCAAAA4AIqNZd+7ty5xb7fsmVLieckqaCgQEeOHNHcuXPVoUOHi0sIuKjLY4P1wvWd9NhnW/XmygOKDfHVjd2jrY4FAAAAwIkZZiXm09tsNhmGccH9ik7p4+OjL774QkOHDq16wjooLS1NgYGBSk1NVUBAgNVx4OT+8d0evb5ivzzcDM27q4euaN7I6kgAAAAA6piK9tBKjeTPnj1bUmGJv/POOzVy5EiNGDGixH5ubm4KDg5Wz549FRQUVMnoQP0y8erWOpicoW9+TdSE+Zu08vEBCvTxsDoWAAAAACdUqZI/duxYx9erVq3Sddddp2uvvbbaQwH1ic1m6J83dlFy+gbddkVTCj4AAACAKqvUdH0UYro+aoJpmhW6HAYAAABA/VPRHlrl1fV//fVXvf/++0pLS3M8d/bsWU2YMEGNGzdWixYt9NZbb1X19EC9c37BP5mWrZkrD3ALSgAAAACVUqnp+uebNm2aVq9erfHjxzue++tf/6q3335bfn5+Sk5O1gMPPKAWLVro6quvrpawQH1wNrdA1725RglnzsrdZuievs2tjgQAAADASVR5JH/Dhg0aMGCAY/QxPz9fs2fP1uWXX66TJ08qLi5OoaGhevXVV6stLFAf+Hi66c4+sZKk57/dpf/tSLQ4EQAAAABnUeWSn5SUpOjo3+7pvXHjRqWlpem+++6Tt7e3oqKiNGLECG3durVaggL1yZ29m+m2Hk1lmtLDH2/R9oRUqyMBAAAAcAJVLvnu7u7KyclxfL9y5UoZhqEBAwY4nmvUqJGSk5MvLiFQDxmGoWevba8rW4XobF6B7p7zsxJTs62OBQAAAKCOq3LJb9asmVasWOH4/rPPPlNsbKxiYmIczyUkJKhRo0YXlxCopzzcbHr91q5qGeanxLRs3T13o7Jy862OBQAAAKAOq3LJHzNmjLZu3aoePXqob9++2rp1q2699dZi+2zbtk2tWrW66JBAfRXo46H3x16mYF9P5eTZlXo2z+pIAAAAAOqwKq+u/+CDD2rDhg36/PPPZZqm/vCHP+ivf/2rY/uOHTu0detWTZ06tVqCAvVV00YNNP+uHmoS7KMAbw+r4wAAAACowwzzIm/EnZaWJsMw5O/vX+z55ORkJSQkqFmzZgoMDLyokHVNWlqaAgMDlZqaqoCAAKvjoB46kZat8ABvq2MAAAAAqCUV7aFVnq5fJCAgoETBl6SQkBB17tzZ5Qo+YCXTNPXejwd15YsrtPZAitVxAAAAANQxVZ6uXyQzM1NfffWVtmzZorS0NAUEBKhLly4aOXKkfH19qyMjgPNsOXJGufl23Td/k768v5eah/pZHQkAAABAHXFRJf+LL77QvffeqzNnzuj8Wf+GYahhw4Z69913df311190SACFDMPQP27srKOnz2rLkTO6a87P+vL+XmrYwNPqaAAAAADqgCpfk79mzRr169dPbm5uGjt2rAYMGKDIyEglJiZqxYoVmjNnjgoKCrRq1Sr17NmzunNbimvyYbWk9ByNfOMnJZw5qyuaB2vunT3k6X7RV98AAAAAqKMq2kOrXPKHDRumlStX6qefflLnzp1LbN+2bZt69eqlAQMGaNGiRVV5iTqLko+6YHdimm6YuVYZOfm6qXsTzRjVSYZhWB0LAAAAQA2o8YX31q5dq5tvvrnUgi9JnTp10k033aQ1a9ZU9SUAlKNtRID+fculshnSpz8f1er9yVZHAgAAAGCxKl+Tn5WVpfDw8HL3CQ8PV1ZWVlVfAsAFDGgbpinD28s0TV3ZKtTqOAAAAAAsVuWR/GbNmmnp0qXl7rNs2TI1a9asqi8BoALG9mqmcb1jrY4BAAAAoA6ocsm/6aabtGnTJo0dO1bHjh0rtu348eMaN26cNm3apJtvvvmiQwKomNSzeXr0ky1KTM22OgoAAAAAC1R54b2srCwNGDBAGzdulKenp1q2bKnw8HCdOHFC+/fvV25uri6//HKtWLFCPj4+1Z3bUiy8h7pqwvxN+nZ7otpHBeiz+3qqgedF3SUTAAAAQB1R4wvvNWjQQD/88IOeffZZNWnSRDt37tSKFSu0c+dONWnSRFOnTtWqVatcruADddlf/3CJGvl6asexND3y8RbZ7VX6DA8AAACAk6rySP7vpaenKy0tTQEBAfL396+OU9ZZjOSjLtt06LRueXedcvPt+lPf5pr8h0usjgQAAADgItX4SP5PP/2kiRMnKjExUZLk7++vxo0bOwr+8ePHNXHiRK1bt66qLwGgCrrFBOmlGzpJkt7+4aA+3nDY4kQAAAAAakuVS/7LL7+sRYsWKSIiotTtkZGRWrx4sf71r39VORyAqhnRpbEevqqVJOnpr7Zrzf5kixMBAAAAqA1VLvkbN25Unz59yt2nb9++jOQDFnlkUCtd2zlK4QHeCvbztDoOAAAAgFpQ5aW3T548qcaNG5e7T0REhE6ePFnVlwBwEQzD0Is3dFJ6dr5C/b2sjgMAAACgFlR5JL9hw4Y6fLj8a30PHTokPz+/qr4EgIvk7eFWrOBvT0hVbr7dwkQAAAAAalKVS/4VV1yhL7/8UkeOHCl1++HDh/XVV1+pV69eVQ4HoPos2JKg699co6e+/FXVdFMNAAAAAHVMlUv+xIkTlZWVpd69e2vu3Lk6fvy4pMJV9efMmaPevXvr7Nmzeuyxx6otLICqC/TxUL7drs82HdVbqw5aHQcAAABADTDMixjSe/XVV/XYY485RgUNw3B8bbPZ9Morr+iBBx6onqR1SEXvTwjUNXPXxutvC3ZIkt66vauGdoi0OBEAAACAiqhoD72oki9J27Zt01tvvaWNGzcqNTVVDRs21OWXX6777rtPHTp0uJhT11mUfDizKQu2a87aQ/L2sOmzP/VSxyaBVkcCAAAAcAG1VvLrI0o+nFl+gV13z/1ZK/ckKczfSwse7K3IQB+rYwEAAAAoR0V7aJWvyQfgnNzdbPr3LZeqTbi/Tqbn6MP15d8lAwAAAIDzcLc6AIDa5+/toVnjumvh1mO6r28Lq+MAAAAAqCaUfKCeahLUQPf3b+n43jRNGYZhYSIAAAAAF4vp+gCUnVegBz/6RR9tYOo+AAAA4MwYyQegL39J0Nfbjuu77YlqGtxAvVuGWB0JAAAAQBUwkg9Aoy+L1oguUcq3m7pv/ibtP5lhdSQAAAAAVUDJByDDMDRjVCd1iwlSena+7pqzUacyc62OBQAAAKCSKPkAJEneHm56e0w3NQny0aGULN03b5Ny8gusjgUAAACgEij5ABxC/Lz0/rjL5O/lrg3xpzRlwQ6rIwEAAACoBEo+gGJah/vr9du6KtTfS6O6NbE6DgAAAIBKYHV9ACX0ax2qHx4fIB9PN6ujAAAAAKgERvIBlOr8gr/reJq2HT1jXRgAAAAAFULJB1CuTYdO64aZa3TXnJ+VcOas1XEAAAAAlIOSD6BcrcP91CSogZLSc3TXBxuVkZNvdSQAAAAAZaDkAyiXv7eHZo3rrhA/L+1OTNfDH/2iArtpdSwAAAAApXDqkr93716NGDFCISEhCggIUJ8+fbRixYpyjzFNU3/7298UGRkpHx8fDRo0SPv27aulxIBzahLUQO/e0U1e7jYt231Sz3+zy+pIAAAAAErh1CV/2LBhys/P1/Lly7Vp0yZ17txZw4YNU2JiYpnHvPjii3rttdf01ltvaf369fL19dWQIUOUnZ1di8kB53Np0yD986bOkqRZq+P0n/WHLE4EAAAA4PectuQnJydr3759mjRpkjp16qRWrVrphRdeUFZWlrZv317qMaZp6pVXXtHTTz+tESNGqFOnTpo7d66OHTumr776qnbfAOCEhnWK0mNXt5YkLd15QqbJtH0AAACgLnG3OkBVNWrUSG3atNHcuXPVtWtXeXl56e2331ZYWJi6detW6jFxcXFKTEzUoEGDHM8FBgaqR48eWrt2rUaPHl3qcTk5OcrJyXF8n5aWVr1vBnAiDw5sqciGPhrRJUqGYVgdBwAAAMB5nLbkG4ah77//XiNHjpS/v79sNpvCwsK0ZMkSBQUFlXpM0TT+8PDwYs+Hh4eXO8V/+vTpmjp1avWFB5yYYRi6oVsTx/emaSon3y5vDzcLUwEAAACQ6uB0/UmTJskwjHIfu3fvlmmaeuCBBxQWFqYff/xRGzZs0MiRIzV8+HAdP368WjNNnjxZqampjseRI0eq9fyAs8ovsOuZBds1ZtZ65eQXWB0HAAAAqPfq3Ej+Y489pnHjxpW7T/PmzbV8+XItXrxYp0+fVkBAgCTpzTff1NKlSzVnzhxNmjSpxHERERGSpBMnTigyMtLx/IkTJ9SlS5cyX8/Ly0teXl6VfzOAizt2JlsLthxTena+Jn3xq16+qTNT+AEAAAAL1bmSHxoaqtDQ0Avul5WVJUmy2YpPRrDZbLLb7aUeExsbq4iICC1btsxR6tPS0rR+/XpNmDDh4oID9VDTRg305m1dNW72Rn35S4JahPrqwYGtrI4FAAAA1Ft1brp+RfXs2VNBQUEaO3astm7dqr179+rxxx9XXFyc/vjHPzr2a9u2rb788ktJhdcSP/LII5o2bZoWLlyoX3/9VXfccYeioqI0cuRIi94J4NyubBWqqde2lyT94397tXjbMYsTAQAAAPVXnRvJr6iQkBAtWbJETz31lAYOHKi8vDy1b99eCxYsUOfOnR377dmzR6mpqY7vn3jiCWVmZuree+/VmTNn1KdPHy1ZskTe3t5WvA3AJdx+RYwOJmXq/Z/i9NinW9W4oY8ubVr6ApgAAAAAao5hcqPrSktLS1NgYKBSU1Md6wEA9V2B3dS9c3/Wst0nFR7gpZV/GSAfT1bcBwAAAKpDRXuo007XB1C3uNkMvXrLpeoeE6Tnr+tIwQcAAAAs4LTT9QHUPX5e7vrsvp6ssA8AAABYhJF8ANXq/IJ/5FSW3vnhgIVpAAAAgPqFkXwANSL1bJ6ue/MnJWfkysfTXWOuiLE6EgAAAODyGMkHUCMCfTw0vnesJOnZhTv0w94kixMBAAAAro+SD6DG3N+/hUZ1baICu6kH/rNZ+06kWx0JAAAAcGmUfAA1xjAMPX99B13eLFjpOfm6c85GpWTkWB0LAAAAcFmUfAA1ysvdTW+N6aaYRg105NRZ3Ttvk7LzCqyOBQAAALgkSj6AGhfs66lZYy9TgLe78grsyszJtzoSAAAA4JJYXR9ArWgZ5qcP77lCLUL95OPpZnUcAAAAwCUxkg+g1nRoHFis4B87c9bCNAAAAIDroeQDqHWmaerlpXs14B8rtfnwaavjAAAAAC6Dkg+g1tlNaeexNOXk23Xv3J919HSW1ZEAAAAAl0DJB1Dr3GyGXh3dRe0iA5Sckau7PvhZ6dl5VscCAAAAnB4lH4AlfL3cNWtcd4X5e2nPiXT9+aNflF9gtzoWAAAA4NQo+QAsExnoo/fGdpe3h00r9yRp2te7rI4EAAAAODVKPgBLdWrSUK/c3EWS9MGaeP3CQnwAAABAlblbHQAAhnaI1F//0FbBvl66tGmQ1XEAAAAAp0XJB1An3Nu3hdURAAAAAKfHdH0AdU5Seo4e/HCzkjNyrI4CAAAAOBVKPoA6Z+KnW7R423HdO/dnZecVWB0HAAAAcBqUfAB1zrPXtleAt7s2Hz6jJz7fJtM0rY4EAAAAOAVKPoA6p0Won966vZvcbYYWbj2mV5ftszoSAAAA4BQo+QDqpF4tQzRtZAdJ0ivf79OCLQkWJwIAAADqPko+gDpr9OVNdW/f5pKkxz/fpk2HTlmcCAAAAKjbuIUegDrtyaFtFZecqQMnM9TI18vqOAAAAECdRskHUKe52Qy9cnMX5ReYCmzgYXUcAAAAoE5juj6AOs/Xy71Ywd98+LTyC+wWJgIAAADqJko+AKfy4frDumHmGk1dtJNb6wEAAAC/Q8kH4FSCfT1lSpq37pDmrIm3Og4AAABQp1DyATiVoR0i9OTQtpKkvy/eqRW7T6rAbmrtgRQt2JKgtQdSVGBnhB8AAAD1EwvvAXA6f+rbXAeTMvTpz0c1Yf4m+Xm7Kzkj17E9MtBbU4a309AOkRamBAAAAGofI/kAnI5hGJo2sqNah/spO99erOBLUmJqtibM36wl249blBAAAACwBiUfgFNysxlKPZtX6raiyfpTF+1k6j4AAADqFUo+AKe0Ie6UTqTllLndlHQ8NVsb4k7VXigAAADAYpR8AE7pZHp2te4HAAAAuAJKPgCnFObvXa37AQAAAK6Akg/AKV0eG6zIQG8Z5ewTGeity2ODay0TAAAAYDVKPgCn5GYzNGV4O0kqs+j/ZUgbudnK+xgAAAAAcC2UfABOa2iHSM28vasiAotPyS/q9Yu3HmN1fQAAANQrhmma/Au4ktLS0hQYGKjU1FQFBARYHQeo9wrspjbEndLJ9GyF+XvLx8NNN7+zVjn5dk3o30JPDm1rdUQAAADgolS0h7rXYiYAqBFuNkM9WzQq9tyLN3TSwx9v0cyVB9QuMkDDO0dZlA4AAACoPZR8AC5pRJfG2nksTQu3HlOzRr5WxwEAAABqBdP1q4Dp+oBzKLCbSj2bp2BfT6ujAAAAABeloj2UhfcAuCw3m1Gs4O9JTFdegd3CRAAAAEDNouQDqBcWbEnQ8NdX67nFO62OAgAAANQYSj6AesHHw025+XbNXXtIn2w8bHUcAAAAoEZQ8gHUC4PbR2ji1a0lSU9/tV2bDp22OBEAAABQ/Sj5AOqNBwe01ND2EcorMHXf/E1KTM22OhIAAABQrSj5AOoNm83QP2/qrDbh/kpKz9Gf5v2s7LwCq2MBAAAA1YaSD6Be8fVy17t3dFfDBh7aejRVH23g+nwAAAC4DnerAwBAbWvaqIHeuLWr1h9M0diezayOAwAAAFQbSj6Aeql3yxD1bhlidQwAAACgWjFdH0C9l51XoL8t2K7DKVlWRwEAAAAuCiUfQL03ddFOzV17SPfO+1mZOflWxwEAAACqjJIPoN57+KpWCvX30u7EdP3ls60yTdPqSAAAAECVUPIB1HsRgd566/au8nAz9O32RL2+fL/VkQAAAIAqoeQDgKRuMcF6bkQHSdI/l+7V0p0nLE4EAAAAVB4lHwDOGX15U425IkaS9OgnW7T/ZLrFiQAAAIDKoeQDwHn+NrydLo8NlruboVOZeVbHAQAAACrF3eoAAFCXeLjZNPO2rsrKLVB0cAOr4wAAAACVQskHgN9p5OelRud9fzozV0G+npblAQAAACqK6foAUI4Vu0+q70srtGBLgtVRAAAAgAui5ANAOTbGn1J6dr6e/GKbtiekWh0HAAAAKBclHwDK8djgNurfJlTZeXb9ad4mJWfkWB0JAAAAKBMlHwDK4WYz9OroS9U8xFcJZ87q/v9sVl6B3epYAAAAQKko+QBwAYE+Hnrnjm7y83LXhrhT+vuinVZHAgAAAEpFyQeACmgZ5q9Xbu4iw5DmrTukJdsTrY4EAAAAlODUJX/v3r0aMWKEQkJCFBAQoD59+mjFihXlHjNu3DgZhlHsMXTo0FpKDMCZDWoXromDWuu2Hk01sG2Y1XEAAACAEtytDnAxhg0bplatWmn58uXy8fHRK6+8omHDhunAgQOKiIgo87ihQ4dq9uzZju+9vLxqIy4AF/DgwJYyDMPqGAAAAECpnHYkPzk5Wfv27dOkSZPUqVMntWrVSi+88IKysrK0ffv2co/18vJSRESE4xEUFFRLqQE4u/MLfn6BXe/9eFDZeQUWJgIAAAB+47Qlv1GjRmrTpo3mzp2rzMxM5efn6+2331ZYWJi6detW7rErV65UWFiY2rRpowkTJiglJaXc/XNycpSWllbsAQATP92qaV/v0l//+6tM07Q6DgAAAOC8Jd8wDH3//ff65Zdf5O/vL29vb7388stasmRJuSPzQ4cO1dy5c7Vs2TLNmDFDq1at0jXXXKOCgrJH4qZPn67AwEDHIzo6uibeEgAnM/qyaLnZDP33lwTNWh1ndRwAAABAhlnHhp8mTZqkGTNmlLvPrl271KZNG40cOVJ5eXl66qmn5OPjo/fee08LFy7Uxo0bFRkZWaHXO3jwoFq0aKHvv/9eV111Van75OTkKCcnx/F9WlqaoqOjlZqaqoCAgIq/OQAuZ/ZPcZq6aKdshjTnzst1ZatQqyMBAADABaWlpSkwMPCCPbTOlfykpKQLTp9v3ry5fvzxRw0ePFinT58u9gZbtWqlu+66S5MmTarwa4aGhmratGn605/+VKH9K/rDBeD6TNPU459v0+ebjirQx0MLH+ytmEa+VscCAACAi6loD61zq+uHhoYqNPTCI2FZWVmSJJut+BUHNptNdru9wq939OhRpaSkVHjkHwDOZxiGpo3soP0nM7TlyBndO3eT/nt/L/l61bn/eQUAAEA94LTX5Pfs2VNBQUEaO3astm7dqr179+rxxx9XXFyc/vjHPzr2a9u2rb788ktJUkZGhh5//HGtW7dO8fHxWrZsmUaMGKGWLVtqyJAhVr0VAE7O28NNb4/ppjB/Lx0+laWdx1mcEwAAANZw2qGmkJAQLVmyRE899ZQGDhyovLw8tW/fXgsWLFDnzp0d++3Zs0epqamSJDc3N23btk1z5szRmTNnFBUVpcGDB+u5556Tl5eXVW8FgAsID/DWO3d0l5e7TZdEchkPAAAArFHnrsl3BlyTD6AiCuym3GyG1TEAAADgAiraQ512uj4A1GWbDp3SoJdXae+JdKujAAAAoB6h5ANADXht2X7FJWfq3rk/KzUrz+o4AAAAqCco+QBQA/51cxc1CfJRfEqWHvxos/ILKn7XDwAAAKCqKPkAUAOCfT31zpju8vFw04/7kvXid3usjgQAAIB6gJIPADWkXVSAXrqxkyTpnR8O6qtfEixOBAAAAFdHyQeAGjSsU5QeGNBCkvTkF9u041iqxYkAAADgytytDgAAru6xq9to1/F0eXvY1KyRr9VxAAAA4MIo+QBQw2w2Q2/e1lVe7jYZhmF1HAAAALgwpusDQC3w9nBzFHzTNLViz0mLEwEAAMAVUfIBoBaZpqmHP96i8bM36j/rD1kdBwAAAC6Gkg8AtcgwDLWJ8JckTVmwQxvjT1mcCAAAAK6Ekg8Atez+/i00rFOk8u2mJszfpGNnzlodCQAAAC6Ckg8AtcwwDL14QyddEhmg5Ixc3TvvZ2XnFVgdCwAAAC6Akg8AFmjg6a53xnRTsK+ntiekadIX22SaptWxAAAA4OQo+QBgkejgBnrj1q5ysxlavO24dh1PtzoSAAAAnJy71QEAoD7r2aKRpl/XUc1CfNUuKsDqOAAAAHBylHwAsNhNl0VbHQEAAAAugun6AFCH7ElM191zNiojJ9/qKAAAAHBClHwAqCMK7KYm/GeTvt91Uo9+skV2OwvxAQAAoHIo+QBQR7jZDP3zxs7ydLNp6c4TenXZPqsjAQAAwMlQ8gGgDrm0aZCev76jJOnVZfu0ZHuixYkAAADgTCj5AFDH3NCticb3biZJmvjpFu1J5NZ6AAAAqBhKPgDUQU/94RL1atFIWbkFumfuzzqTlWt1JAAAADgBSj4A1EHubja9cWtXRQf7qEmQj0zW4AMAAEAFuFsdAABQuiBfT318b0+F+3vJ3Y3PZAEAAHBh/KsRAOqwxg19ihX8QymZFqYBAABAXUfJBwAnkFdg1zNfbdfV//pB246esToOAAAA6ihKPgA4ATfD0PHUs8rNt+tP8zbpZHq21ZEAAABQB1HyAcAJ2GyG/nVzF7UI9dXx1GzdP3+zcvPtVscCAABAHUPJBwAn4e/toXfv6C5/b3f9fOi0pizcYXUkAAAA1DGUfABwIs1D/fTvWy6VYUgfbTis+esOWR0JAAAAdQglHwCcTP82YXpiSFtJ0t8X7VRiKtfnAwAAoJC71QEAAJV3X7/mOnwqS1e1DVNEoLfVcQAAAFBHUPIBwAkZhqHp13e0OgYAAADqGKbrA4ALOHIqSy//b49M07Q6CgAAACzESD4AOLms3HyNmrlGJ9Nz5Ovlrj/1a2F1JAAAAFiEkXwAcHINPN3154EtJUkvLNmtlXtOWpwIAAAAVqHkA4ALuP2KGI2+LFqmKf35o18Ul5xpdSQAAABYgJIPAC7AMAxNHdFe3WKClJ6dr3vm/qz07DyrYwEAAKCWUfIBwEV4ubtp5u1dFRHgrf0nM/ToJ1tlt7MQHwAAQH1CyQcAFxLm7623x3STp7tNJ9KylcZoPgAAQL3C6voA4GI6RzfU/Lt6qFOTQHl7uFkdBwAAALWIkXwAcEGXxwYXK/hZufkWpgEAAEBtoeQDgAuz2029vHSvhr7yo05n5lodBwAAADWMkg8ALiw9J19f/nJUh09l6cGPNiu/wG51JAAAANQgSj4AuLBAHw+9e0d3NfB000/7UzT9291WRwIAAEANouQDgItrGxGgl2/qLEmatTpOX2w6anEiAAAA1BRKPgDUA0M7ROqhgS0lSZO//FVbjpyxNhAAAABqBCUfAOqJRwa11qBLwpWbb9ef5v2sjBxW3AcAAHA1lHwAqCdsNkP/urmzOjQO0BND2srPy93qSKiCAruptQdStGBLgtYeSFGB3bQ6EgAAqEP4Fx4A1CP+3h5a8EAfudkMq6OgCpZsP66pi3bqeGq247nIQG9NGd5OQztEWpgMAADUFYzkA0A9c37BT87I0ZLtiRamQUUt2X5cE+ZvLlbwJSkxNVsT5m/Wku3HLUoGAADqEko+ANRTJ9Ozde2/V+vBDzdr3cEUq+OgHAV2U1MX7VRpE/OLnpu6aCdT9wEAACUfAOqrUD8vXRYbrHy7qfv/s1lHT2dZHQnnsdtNxSVnauHWY3rkk19KjOCfz5R0PDVb98zdqLdXHVDq2bzaCwoAAOoUwzRNPvavpLS0NAUGBio1NVUBAQFWxwGAKsvOK9ANb63R9oQ0tYsM0BcTesnH083qWPXSsTNntTH+lLYnpOrXhFTtSEhTehXvgLB1ymAF+nhIkl5btk8b408pNsRXsSG+ahbiq+Yhvmrc0EfubnzWDwCAs6hoD2XhPQCox7w93PT2mO669t+rtfN4mh7/fKv+fculMgwW5qspdrup+JRM/ZqQqr6tQhXk6ylJ+vTnI3rl+33F9vVyt+mSyACF+nlp6a4TFzz39V0by9PN5ij4kvTzodP6cV+yftyXXGxfDzdD0cENtOjBPvI9d6eF+ORMebrbFBHgLRuLMwIA4JQo+QBQzzVu6KOZt3fTre+u0+Jtx9U+KlAT+rewOpZLOL/Q/3q0cIR+57HfRujfvaO7rm4XLkm6tGmQukQ3VMfGgYWPJoFqGeYnDzebCuym+sxYrsTU7FKvyzckRQR666UbOpe4c8JfBrfWsI6ROpicqfjkTMUlZyo+JVM5+Xadysx1FHxJmrpoh1bsSZK3h03NGvk6Rv+LHt1igvgACACAOo6SDwDQ5bHBevba9nr6q+36fNMRje/dTN4eTNuvDLvdVFxKpgK8PRTq7yVJWrTtmB7+eEuJfb3cbWoXFaDzZ8v3ax2qfq1DSz23m83QlOHtNGH+ZhlSsaJfVLmnDG9X6q0ROzVpqE5NGpbIejwtW0npOcWeLzAld5uh7Dy7diema3diumObv5e7tj072PH9ez8eVEZOfrHLAAK8PQQAAKxFyQcASJJuvyJGpqRrO0dR8C/Abjd1MDnTcf180Qh9Rk6+nv7jJbr7yuaSpPZRAY5C37FxoDqcG6VvFeZX6evhh3aI1Mzbu2rqop3FFuGLCPTWlOHtNLRDZIXPZbMZatzQR40b+hR7fu6dlyuvwK6jp886Rv2LRv693N2KjeJ/tOGwDiRlFjs+xM9TzRr5qn1UgKaO6OB4Pr/AzvX/AADUEko+AMBhzBUxxb43TbPeT8+2201l5RXI79y09n0n0nXdm2uUUcqieF7uNqVl//Z88xA/7Zg6pNoK7tAOkbq6XYQ2xJ3SyfRshfl76/LY4FJH8KvKw83mGJ0fUM5+t1zeVPtOZCgupfCDgKT0HCVn5Co5I1dZuQXF9h3279VKO5unZr+b/t8sxFfRQQ3k6c4HAAAAVBdKPgCgBNM0NWdNvNYeTNHM27rVm0XYCuym4pIzzl1Dn6btCanacSxV13VtrGkjO0qSooMb6Gxegbw9bGoXed4IfZNAtQwtPkJvsxmyqXp/dm42Qz1bNKrWc1ZF0WyFIhk5+Y7R//M/dCi6FWBOvl3HUrO15kBKseMuiQzQtw9f6fh+wZYEBfsWzgiIauhTrR9gAABQH1DyAQAlHD19VtO/3a2cfLteXrpXfxnSxupINSo7r0BjZq3XjmNpJUahJWlvYobja28PN30/sZ+ig7gF3fn8vNzV4dwHHuez2Qytm3xVsYX/4lIyFZdUeBlATHADx76maWrSF7/qbF7h78DT3aaY4AaOkf9Lmzas1GUJAADUR5R8AEAJ0cEN9MKojnr0k616fcV+tYsK0B86Om+5Khqh33ZuhfvtCakK9vXU22O6Syos7sfOZCsrt0A+Hm7FrqHv1CRQLUL9ip0vNsTXirfhtIJ8PdXN11PdYoKKPW+apqPQS1JWboH6tApRXHKmDqdkKTffrn0nM7TvZOGHLFe3C3eUfNM0deNbaxUe6K3mIb6FdwMI9VVsI1/HbQmrU4HdrNHLJAAAqC6UfABAqa67tIl2HkvTuz/G6bFPtyo2xFeXRAZYHatSXv7fHq09mFLqCH3DBh7F1hx46cZOCvHzUotQP8pbLTEMQw08f/uniK+Xu969o/CDlwK7qWNnzhabAXBJpL9j36SMHP186HSp523YwEM3dmuip/7YTlLhBwI7j6epWSPfYrcMrKgl24+XWPAwsgoLHgIAUBsM0zRLu+UuypGWlqbAwEClpqYqIMC5/sELAJWRX2DX+A826sd9yWoS5KOFD/ZRcA2MklZVgd3UwaTfRuiTMnL0xq1dHdtvfXed4xpwHw83tY8KcKxw3+ncfejr+8KCzupsboF+2p+s+JRMHUz+bfp/URG/q0+snhlWWPJPZeaq63NLJUlh/l5qFuJbOPp/7jKAdpEBij7vsoHzLdl+XBPmb9bv/7FU9Fcz8/auFH0AQK2oaA+l5FcBJR9AfXImK1cj3vhJh1Ky1LN5I82763JLr0VfsfukVu1N0vaEVO08XnKEfuvfBiuwQeH92pfuPKG0s3nq1CRQzRmhrxeycvMVn5wlPy93NW1UWNx3J6bptnfXKyUzt9RjxvVqpmevbS9JSsvO00tL9ig2xFcxjRpo0he/Kikjp9TjDBXewnD1kwP52wIA1LiK9lCm6wMAytWwgafevaO7Rs1co6suCauVMpNfYNeBpEzH9fOT/9BWXu5ukqT/7UzURxuOOPZt4Fl8hN7d7bd8V7cLr/GsqFsaeLqrXVTxf/i0jQjQpmeuVurZvN8W/zv3iE/JVLvzLkM5mJSpeesOVei1TEnHU7O1Ie5UnbjjAQAAEiP5VcJIPoD66ExWrho2+G2qfnUuRHbkVJbWx53Sr0fP6NdzI/TZeXbH9oUP9lanJg0lSd/vPKE1B1LUsUnh4nixIYzQo/ocSsnUJxuPKC45U1uPnNGx867DL0vTYB91iwlW8xBfNQ/1U/PQwssAvD3caiExAKC+YLp+DaLkA6jvvtx8VP/3zS4lZ/w2/bkiC5HlF9i1PylDvx5NVb/WoQoL8JYkvbXqgF74dnexfX093dQ+qnCF+zE9Y1jRHrVu7YEU3fLuuiodaxjScyM66PYrYiRJyRk52nU8TS1C/RQR4C0bH0wBACqpXkzX37x5s5588klt3LhRbm5uGjVqlF5++WX5+fmVeYxpmpoyZYreffddnTlzRr1799bMmTPVqlWrWkwOAM7rP+sO6amvtpd4PjE1WxPmb3YsRHZ+od+ekFpihP61Wy7VtZ2jJEldmwbp8thgdTw35b5D40A1D/GlCMFSl8cGKzLQW4mp2SUW3pMKr8kP8fPS1GvbKS4lSweTMnUwOUMHkzKVejZPEec+xJKkdQdT9OCHv0gqXAQyNsRXzUMLR/5bhPrqiuaNFH7e/gAAVJXTlvxjx45p0KBBuvnmm/X6668rLS1NjzzyiMaNG6fPP/+8zONefPFFvfbaa5ozZ45iY2P1zDPPaMiQIdq5c6e8vfk/VwAoT4Hd1GvL95W6ragETV20U1e3i9D3u07ovvmbS+zn6+mm9o0D5XPeVObLY4P16Z961kRkoMrcbIamDG+nCfM3y5CKFf2ij5+eG9m+xOwV0zR1KjO32O0BTVNqHuqrwylZOptXoJ3H07TzeJpj+9tjumlI+whJ0sb4U/rylwQ1D/FVi3PT/5sENeCyFABAhThtyV+8eLE8PDz0xhtvyGYrXOX5rbfeUqdOnbR//361bNmyxDGmaeqVV17R008/rREjRkiS5s6dq/DwcH311VcaPXp0rb4HAHA2G+JO6URa6SuNFylaiKxD40BHoS+6ZV2HxoGKbcQIPZzH0A6Rmnl7V01dtNNxez6pcFX9si5PMQxDjfy8ij03vHOUhneOUl6BXUdOFR/1P5iUqVZhv81C3Bh/Sh+uP1zseE83m2IaNVDzUF9NvLqN2kT4S5LsdpP/PgEAinHakp+TkyNPT09HwZckHx8fSdLq1atLLflxcXFKTEzUoEGDHM8FBgaqR48eWrt2bZklPycnRzk5v/2jNi0trdT9AMDVnUy/8CJkRftd0TxYvz47hAICpze0Q6SubhdRLQtNerjZzi3O5yep9Ls/9IgN1gMDWjg+AIhLyVRuvl37TmZo38kMPTKotWPf91Yf1NurDhZO/Q/xc1wC0DzUV02DG8jDwttdAoAzqM6FhOsKpy35AwcO1MSJE/XSSy/p4YcfVmZmpiZNmiRJOn78eKnHJCYmSpLCw4v/n2p4eLhjW2mmT5+uqVOnVlNyAHBeYf4Vu6wpzN9bhmHIcO7/jwQc3GxGrd0mr1tMsLrFBDu+L7CbOnbmrA4kFY78n78I5cGkTKVk5iolM1cb408XO4+7zdDXD13pGPXfeyJdZ7Ly1DzUV418PWXwX1CUwRVLD1CaJduPl5ipVZGFhOu6OlfyJ02apBkzZpS7z65du9S+fXvNmTNHEydO1OTJk+Xm5qaHHnpI4eHhxUb3q8PkyZM1ceJEx/dpaWmKjo6u1tcAAGdQkYXIIgIL/0EIoHq42QxFBzdQdHAD9W9TfNszw9rp9itiHB8AHEzO1MGkDMUlZyort0BNgnwc+85dG6/56wovAwjwdneM+LcI9VPzEF/1bxMmH09u+1ffuWrpcQZ8uFK7lmw/rgnzN5f498zvFxJ2RnXuFnpJSUlKSUkpd5/mzZvL0/O3ezWfOHFCvr6+MgxDAQEB+vjjj3XjjTeWOO7gwYNq0aKFfvnlF3Xp0sXxfL9+/dSlSxe9+uqrFcrILfQA1GdF/6colb4QmTP/nyLgKkzT1Mn0nGIr9r/w7W4t3nZMCWfOqrR//W2dMliBPh6SpPnrDulAUkbh6v8hhZcAhAd4Mfrv4soqPfzve83jw5XaVWA31WfG8mI/7/MVDVqsfnJgnfqgxWlvoRcaGqrQ0NBKHVM0/f7999+Xt7e3rr766lL3i42NVUREhJYtW+Yo+WlpaVq/fr0mTJhwUbkBoL6oykJkAGqXYRglbsk36Zq2mnRNW2XnFSg+JfPcNf+FMwCSM3MdBV+SvtuRqB/3JRc73tfTTbHnrv1/6cZO8nIvHPUvsJt16h/BqJoCu6mpi3aWOkvLVGHpKbp7Cr/v6uXKI8qlMU1T+XZTeQV22QxD3ufutpNXYFdccuEaJHkFduUVFO6Tm29XboFdjRv6qEPjQEnS2dwCfbThsHIL7Mo7t73wa1O5BQXq3KShbuxeOPM6O69AE+ZvOm+7Xaczc8ss+FLh33zRQsK1dalWdapzJb8yXn/9dfXq1Ut+fn5aunSpHn/8cb3wwgtq2LChY5+2bdtq+vTpuu6662QYhh555BFNmzZNrVq1ctxCLyoqSiNHjrTsfQCAs6nOhcgA1C5vDze1jQhQ24iyR4Fu6h6tNuH+jun/R06fVWZugbYnpOno6bOOgi9J98z9WbuOp5Vc/C/EV40b+lzU4ptMX66c/AK7zuYVKDvPruy8AuXkF359Nq9A+QVmsbKydOcJxSdnKjuvQGfzChSXnFmh0nPHrPUKD/CWzWbIzTBkO3eryaKitnjbMf2akCo3w5CbzZDt3H8WfT22V4zj9pIb4k5p74n0wu3nzuVmk+OYAW3C5OtVuO/BpAwdPX32d+f8bd/W4f6ODKczc3XmbN65c8rx+kWZ/Lzc5X5uUcoCe2G1thmyZKZKTX64kldgV9rZPEdZznGU58Li3CSogSICCz8MTMnI0er9yY5CnZdfWLJzz+3bq0Uj9Whe+Pdz5FSWXl2277wyfv65TV3ftbFu6xEjSYpPztTN76wtPFfRuQvsjtlEd/eJ1dPD2kmSTqbnaPC/fijz/dzao6mev66jpMLi/vfFO8vcN6NLvqPkG4a0Yk9SpX52RSq64HBd49Qlf8OGDZoyZYoyMjLUtm1bvf322xozZkyxffbs2aPU1FTH90888YQyMzN177336syZM+rTp4+WLFkib++KLSYFAChUmwuRAahdRbf8K5Kbb9fhU1k6mJShjJz8YvseSMrQ8dRsHU/N1k/7i19yGervpY1P/XZXo7UHUuTj6abmob4K8PZQeVxh+rLdbio7v0B5+aYCG/z2fnccS1VqVp6y8wt0NrewkGefK+Se7jaNuSLGse8r3+/V/pMZys6zKye/QGdzf9u3gaebFj7Yx7Hvre+t14a4U6Vm8fawafdz1zi+/3D9oSoVn58OlLys9plhlzi+XrE7SV9sPlrm8Td2b+Io+Qu3JjjWiSjNj08McJT8TzYe0ds/HCxz3+8e6etYZPKDNfF6ddm+Mvf98v5eurRpkCRp1uqDev6b3ZIKi36xDxEMQ++N7e4ot19sOqqXl+4t/OCg6EOJ8z7MmDK8nWPflXtOaubKA8U+4PjtP6V7rmyu7s2CtSHuVKVGlNceSNFzi3cWFnXHKLap3PwC5RWYevbadrr5sqaSCv/7dsf7G8o89zPD2umuPrGSpPiUTD388ZYy93W3GY73lp6dr883lf07vqzZb+vyGIbKvfVuXoHd8bWXu01BDTzk4WaTp7tNnm42x9ceboaigxo49vXxdNO1naPObTd+t69Nl0T+9iGmp5tNL93QybHNw82m/SfTNWPJnjJzFanogsN1jVOX/Llz515wn98vOWAYhv7+97/r73//e03FAgAAcCme7ja1DPNTyzC/EtsWPNBbB4qm/if/dglAfEqmogKL/wP5qa9+1cGkTElSiJ/XuYX/CmcAtInwV9/WhZds1uT05ey8gnOPolHv37739rA5yp8kfbzhsE5l5RYW7HMj3kX7hgd46ak/tnPsO/b9DYo7NzJetE/uuQLTPMRXy//S37HvY59u1e7E9FLzhfl7FSv5P+5L1qZDp0vd1/d3CyUWjWQXfm2Tt4ebvN3d5O1hk4+nu0zTdIxW92oRooYNPOXtYZOXu5tSMnO1aOuxC/78br+iqZoGN1CBXbKbpgrsZrFbNfZrE6qgBh4qME3Z7aYKTLNw33Nfn5+xXWSghrQPV4FdKrDbVWCe26+UfUP9vXRJZIDjPL+du/BrT/ffMni62+Tn5e44T9G+RbXg/BHx8zqm7KZkLzB1/ooz5/8NpmfnKeHM2TJ/Nll5BY6vT6blaH0ZH7hI0rWdGxfuV4lb00rS2bx87Txe9u28c/J/e0NFvxd3m1GsAHu6GfJwtxX7+wn08VSfliHycCvc18PdJq9zhdjD3XBMk5cKL897cmjbc0XcKFaePd1tan7eHUAiAr21+M99fivt5wq753lFvkiIn5d++dvgCv08vD3c9Notl1ZoX8MwHKP6RQa2DdPctYdcdiHhOrfwnjNg4T0AAIDy5RfYlXo2T438vCQVDrzc8f4G7UlM18n0kiN77aMC9PVDV15wQSxJatjAQ5uevtpR1h7/bKvSs/PPjXD/Nl09O69AHRoH6vVbuzqO7fL3/+lMVl6p5+3cJFALzhsZ7/3C8jJLXcswP30/sZ/j+6tfXqV9JzNK3Tcq0FtrJl/l+H7C/E06kJRRWMKLHu42+Xi6KaiBp569tr1j34Vbjyk5PUc+noVlvbC0Fz58PN3UJbqhY9/MnHy52Qx5udsqPfW86Od+odJT1xYiqwzz3IcCtnOj8FLhhz5ncwtKfHBQ9IgM9HHcdSI5I0cJp8/+tq/jQwSpwDTVISrA8fd+5FSWthw54/ggpMBunvu6cN++rUIU08hXaw+k6JZ3110w+0f3XKGeLRopJSNH24+lnSvJvy/vNgX5esrv3OwHe9GlCE76+6ppzriQsNMuvAcAAADn5+5mcxQeqXA0bd5dPSQVjojGJf+2+N+B5EzFBBdOxb3Q9GVJOpOVV2xBrCXbE5X+u8sIigT5ehb73tvdTVKe3G3GubJsc5TmJsENiu07tEOEUs/myed3+3m52xTq71Vs35du7KwCu71YcS867vw1DCRp5u3dyn1/57v2vMsmLqRoantVuJ27tn7C/M0yVHrpmTK8ndMWfKnwb9DdrXj+ot9VRYT4eSnEz+vCO0qO215eSGVvTdvIz0v9WldskXLKfflceSFhRvKrgJF8AACAmrFgS0K51wYXeXV0F43oUjjled66Q5Jpyut35drbw00NfTzUKtzfcVxmTr5j5BMlucJaCM7GGUeUXYkzLfDJSD4AAACcTkUXujp/v/OvYb+Qixntrg+4e0rtc+URZWfgigsJ879yAAAAqDMqO30Z1c8VS09dx4crqE6UfAAAANQZ9eHacKA0fLiC6sLFSAAAAKhTiqYvR/zuFnwRgd5cnwwAF8BIPgAAAOocpi8DQNVQ8gEAAFAnMX0ZACqP6foAAAAAALgISj4AAAAAAC6Ckg8AAAAAgIug5AMAAAAA4CIo+QAAAAAAuAhKPgAAAAAALoKSDwAAAACAi6DkAwAAAADgIij5AAAAAAC4CEo+AAAAAAAugpIPAAAAAICLoOQDAAAAAOAiKPkAAAAAALgId6sDOCPTNCVJaWlpFicBAAAAANQHRf2zqI+WhZJfBenp6ZKk6Ohoi5MAAAAAAOqT9PR0BQYGlrndMC/0MQBKsNvtOnbsmPz9/WUYhtVxUMekpaUpOjpaR44cUUBAgNVxgBrF3zvqE/7eUZ/w9476xFn+3k3TVHp6uqKiomSzlX3lPSP5VWCz2dSkSROrY6COCwgIqNP/IwFUJ/7eUZ/w9476hL931CfO8Pde3gh+ERbeAwAAAADARVDyAQAAAABwEZR8oJp5eXlpypQp8vLysjoKUOP4e0d9wt876hP+3lGfuNrfOwvvAQAAAADgIhjJBwAAAADARVDyAQAAAABwEZR8AAAAAABcBCUfAAAAAAAXQckHqsn06dN12WWXyd/fX2FhYRo5cqT27NljdSygxr3wwgsyDEOPPPKI1VGAGpGQkKDbb79djRo1ko+Pjzp27Kiff/7Z6lhAtSsoKNAzzzyj2NhY+fj4qEWLFnruuefEOt1wBT/88IOGDx+uqKgoGYahr776qth20zT1t7/9TZGRkfLx8dGgQYO0b98+a8JeJEo+UE1WrVqlBx54QOvWrdPSpUuVl5enwYMHKzMz0+poQI3ZuHGj3n77bXXq1MnqKECNOH36tHr37i0PDw99++232rlzp/75z38qKCjI6mhAtZsxY4Zmzpyp119/Xbt27dKMGTP04osv6t///rfV0YCLlpmZqc6dO+uNN94odfuLL76o1157TW+99ZbWr18vX19fDRkyRNnZ2bWc9OJxCz2ghiQlJSksLEyrVq1S3759rY4DVLuMjAx17dpVb775pqZNm6YuXbrolVdesToWUK0mTZqkn376ST/++KPVUYAaN2zYMIWHh2vWrFmO50aNGiUfHx/Nnz/fwmRA9TIMQ19++aVGjhwpqXAUPyoqSo899pj+8pe/SJJSU1MVHh6uDz74QKNHj7YwbeUxkg/UkNTUVElScHCwxUmAmvHAAw/oj3/8owYNGmR1FKDGLFy4UN27d9eNN96osLAwXXrppXr33XetjgXUiF69emnZsmXau3evJGnr1q1avXq1rrnmGouTATUrLi5OiYmJxf5NExgYqB49emjt2rUWJqsad6sDAK7IbrfrkUceUe/evdWhQwer4wDV7uOPP9bmzZu1ceNGq6MANergwYOaOXOmJk6cqL/+9a/auHGjHnroIXl6emrs2LFWxwOq1aRJk5SWlqa2bdvKzc1NBQUF+r//+z/ddtttVkcDalRiYqIkKTw8vNjz4eHhjm3OhJIP1IAHHnhA27dv1+rVq62OAlS7I0eO6OGHH9bSpUvl7e1tdRygRtntdnXv3l3PP/+8JOnSSy/V9u3b9dZbb1Hy4XI+/fRT/ec//9GHH36o9u3ba8uWLXrkkUcUFRXF3zvgRJiuD1SzBx98UIsXL9aKFSvUpEkTq+MA1W7Tpk06efKkunbtKnd3d7m7u2vVqlV67bXX5O7uroKCAqsjAtUmMjJS7dq1K/bcJZdcosOHD1uUCKg5jz/+uCZNmqTRo0erY8eOGjNmjB599FFNnz7d6mhAjYqIiJAknThxotjzJ06ccGxzJpR8oJqYpqkHH3xQX375pZYvX67Y2FirIwE14qqrrtKvv/6qLVu2OB7du3fXbbfdpi1btsjNzc3qiEC16d27d4nboe7du1cxMTEWJQJqTlZWlmy24vXAzc1NdrvdokRA7YiNjVVERISWLVvmeC4tLU3r169Xz549LUxWNUzXB6rJAw88oA8//FALFiyQv7+/4/qdwMBA+fj4WJwOqD7+/v4l1prw9fVVo0aNWIMCLufRRx9Vr1699Pzzz+umm27Shg0b9M477+idd96xOhpQ7YYPH67/+7//U9OmTdW+fXv98ssvevnll3XnnXdaHQ24aBkZGdq/f7/j+7i4OG3ZskXBwcFq2rSpHnnkEU2bNk2tWrVSbGysnnnmGUVFRTlW4Hcm3EIPqCaGYZT6/OzZszVu3LjaDQPUsv79+3MLPbisxYsXa/Lkydq3b59iY2M1ceJE3XPPPVbHAqpdenq6nnnmGX355Zc6efKkoqKidMstt+hvf/ubPD09rY4HXJSVK1dqwIABJZ4fO3asPvjgA5mmqSlTpuidd97RmTNn1KdPH7355ptq3bq1BWkvDiUfAAAAAAAXwTX5AAAAAAC4CEo+AAAAAAAugpIPAAAAAICLoOQDAAAAAOAiKPkAAAAAALgISj4AAAAAAC6Ckg8AAAAAgIug5AMAAAAA4CIo+QAAXATDMNS/f/9qOde4ceNkGIbi4+Or5Xz1xbPPPivDMLRy5coae434+HgZhqFx48bV2GtUhWma6tatmwYPHlwrr7dnzx65u7vrzTffrJXXAwBUHiUfAFCnrVy5UoZh6Nlnn62W81lZpD/44AMZhqEPPvig1l8bF9asWTM1a9bM6hiVMnfuXG3evFl///vfa+X12rRpo1tuuUVTp05Venp6rbwmAKByKPkAANQR06dP165du9S4cWOro+B3GjdurF27dmn69OlWR3Gw2+169tlndeWVV+qKK66otdd94okndPLkSb322mu19poAgIqj5AMAUEdERkaqbdu28vDwsDoKfsfDw0Nt27ZVZGSk1VEcvv32W8XHx+uOO+6o1dft2LGjOnXqpHfffVd2u71WXxsAcGGUfABAnfXss89qwIABkqSpU6fKMAzH4/zp9snJyXrkkUcUGxsrLy8vhYWF6aabbtL27duLna9Zs2aaM2eOJCk2NtZxrvOvqf/yyy91yy23qGXLlmrQoIECAwN15ZVX6osvvrio9zJu3DiNHz9ekjR+/Phi7+X8fX7/3s6/XGHNmjUaMGCA/P39FRoaqvvvv19nz56VJH399dfq2bOnfH19FR4erieeeEL5+fmlZlmwYIGuuuoqBQUFydvbWx06dNA//vEPFRQUVOo9bdu2TaNHj1ZkZKQ8PT0VExOjP//5z0pJSXHsc+jQIdlsNg0cOLDUc+Tl5SkkJETR0dHFCmNFf6dlKe8yj99fX1/0/aFDh3To0KFiv5ui48u7Jv/QoUO666671LhxY3l6eqpJkya66667dPjw4RL79u/fX4ZhKC8vT88++6yaNWsmLy8vtW7dutLXuc+ePVuGYWjUqFEltpV36UFRhvPZ7Xa99957uvzyyxUcHCwfHx81adJEw4cPL3Wtg5tuukmHDh3SihUrKpUZAFDz3K0OAABAWfr376/4+HjNmTNH/fr1K1bGGzZsKElKSkpSz549deDAAfXv31+jR49WXFycPv/8c3399df67rvv1KdPH0nSI488og8++EBbt27Vww8/7DjH+WVo8uTJ8vT0VJ8+fRQZGamkpCQtXLhQN9xwg1577TX9+c9/rtJ7GTlypM6cOaMFCxZoxIgR6tKlS6WOX79+vWbMmKEhQ4boT3/6k1asWKGZM2cqLS1Nw4cP17hx4zRixAj17NlTX3/9tV566SX5+fnpb3/7W7HzTJ48WS+88IIaN26s66+/XoGBgfrxxx/1+OOPa/369frss88qlGfhwoW66aabZLPZNGLECEVHR2vnzp16/fXX9d1332n9+vUKCgpSTEyM+vbtq1WrVuno0aNq0qRJsfN88803SklJ0ZNPPimbrXDsoTK/0+rQsGFDTZkyRa+88oqkwr+TIhdaVHHv3r3q06ePkpKSNHz4cLVv317bt2/X+++/r0WLFmn16tVq3bp1ieNuueUWbdiwQddcc43c3Nz06aef6oEHHpCHh4fuueeeC2Y2TVMrVqxQmzZtFBQUVJm3W6rJkyfrxRdfVIsWLXTrrbfK399fCQkJWr16tb7//vsSP4eePXtKkpYtW6arrrrqol8fAFCNTAAA6rAVK1aYkswpU6aUun38+PGmJHPy5MnFnv/6669NSWbLli3NgoICx/Njx441JZlxcXGlnu/AgQMlnktPTzc7duxoBgYGmpmZmcW2STL79etXofcye/ZsU5I5e/bsUreXlq3o/Usyv/rqK8fzubm5ZqdOnUzDMMyQkBBzw4YNjm1paWlmWFiYGRwcbObm5jqe/9///mdKMocMGWJmZGQ4nrfb7eZ9991nSjI///zzC76P5ORkMyAgwGzcuLEZHx9fbNtHH31kSjIffPBBx3PvvfeeKcmcMWNGiXONGjXKlGRu377d8Vxlf6dTpkwxJZkrVqwo8XMr7e8mLi7OlGSOHTu22PMxMTFmTExMqe+5rGMGDBhgSjLffvvtYs+/8cYbpiRz4MCBxZ7v16+fKcns0aOHmZqa6nh+9+7dpru7u9mmTZtSX//3duzYYUoyb7vttlK3l/deijKcLzg42IyKiirx922appmSklLiudTUVFOS2bdv3wrlBQDUHqbrAwCcVm5urj766CM1atRITz/9dLFtf/jDH3T11Vdr//79+umnnyp8zubNm5d4zs/PT+PGjVNqaqo2btx40bmrYsCAARoxYoTjew8PD91www0yTVPDhw/XZZdd5tjm7++vYcOG6dSpUzp69Kjj+ddff12S9M4778jX19fxvGEYeuGFF2QYhj766KMLZpk7d67S0tI0ffp0xcTEFNs2evRode3aVR9//LHjuRtuuEHe3t6aP39+sX3PnDmjxYsXq0uXLmrfvr2kmvmd1pTDhw9rxYoVateuXYnR9/vuu09t27bV8uXLdeTIkRLHTp8+XQEBAY7v27Rpo969e2vPnj0VWrW+6PcaHh5+ke/iN56ennJzcyvxfHBwcInnAgIC5O3tXezvCwBQNzBdHwDgtHbv3q3s7GwNGDBADRo0KLF9wIABWrp0qbZs2aIrr7yyQuc8efKkXnjhBX377bc6dOiQ45r3IseOHauW7JVV2vT+okXgytt27NgxxcbGSpLWrVsnX19fvf/++6W+ho+Pj3bv3n3BLOvWrZNUeAnBgQMHSmzPzs5WcnKykpOTFRISosDAQF177bX69NNPtXXrVnXu3FmS9NlnnyknJ0djxoxxHFsTv9OasmXLFklSv379SlzjbrPZ1LdvX+3evVtbtmxRdHR0se3dunUrcb6iSxnOnDkjf3//cl+7aN2DoktOLtbo0aP15ptvqkOHDho9erQGDBignj17ysfHp8xjgoODlZycXC2vDwCoPpR8AIDTSktLk1T2aGZR0S3a70JOnTqlyy67TIcPH1bv3r01aNAgNWzYUG5ubtqyZYsWLFignJyc6glfSeeP+hZxd3e/4La8vDzHc6dOnVJ+fr6mTp1a5utkZmZeMMupU6ckSW+88Ua5+2VmZiokJESSNGbMGH366aeaP3++o+TPmzdPbm5uuvXWWx3HVPfvtCZdTNbyfmcVWQCxqHxnZ2dXLOwFvPrqq4qNjdXs2bM1bdo0TZs2Td7e3rrpppv0z3/+0/F7PN/Zs2dL/SAGAGAtpusDAJxWUVE6ceJEqdsTExOL7Xchs2bN0uHDh/Xcc89p9erV+ve//63nnntOzz77bK3eh7ymBAQEqFGjRjJNs8xHXFxchc4jSb/++mu55zp/Kv/QoUMVGhqqjz76SHa7XfHx8Vq9erUGDRqkiIiIEue+2N9p0SJ+pd1hIDU19YLvsSKq+++vMkJDQyX99oFLaUzTLPX50j4YcHd311/+8hft2LFDCQkJ+vDDD3XllVdq7ty5uu2220rsb7fblZqa6sgBAKg7KPkAgDqt6Brh0kY327ZtK29vb23cuFFZWVklthfd+uv86ezlna9o6vn5174X+fHHHyud/ffKe+3a0KNHD6WkpGjfvn0XfR5JWrt2bYWPcXd31+jRo5WQkKAVK1boP//5j0zT1O23315sv6r8TktTtOJ8QkJCiW2//PJLqce4ublV6ndTlOGHH34oUahN09QPP/xQoaxV0b59e9lsNu3Zs6fMfU6cOFHiPvZ2u10HDx4s99xRUVG65ZZbtGTJErVs2VLff/99ictW9u3bJ7vdro4dO1b9TQAAagQlHwBQpxUt+lXa4mWenp665ZZblJycrOnTpxfbtmTJEn333Xdq2bKlevfuXaHzFY08r169utjzH374ob755puLeyMXeO3a8NBDD0mS7rzzzmL3si+SmJioXbt2XfA848ePl7+/v5566int2LGjxPasrCzHdfvnK7r2ft68eZo3b558fX113XXXFdunKr/T0rRp00b+/v5auHBhsdHuEydOaNq0aaUeU3SNeUWnwDdt2lQDBgzQjh07Sqxz8M4772jXrl0aOHBgievxq0PDhg3VqVMn/fzzzyWKfJGcnBzNmzev2HPvvfeekpKSJP02yyEnJ0dr1qwpcXxmZqYyMjLk4eHhmBlRZP369ZIK1yMAANQtXJMPAKjT2rZtq6ioKH388cfy8vJSkyZNZBiG/vznPyswMFAzZszQqlWrNG3aNK1Zs0Y9evRQfHy8PvvsMzVo0ECzZ88uVlAGDhyof/zjH7r33ns1atQo+fr6KiYmRmPGjNGYMWM0Y8YM/fnPf9aKFSsUExOjrVu3atmyZbr++uv13//+96LeS9FCZq+88opOnz7tmOr8+1Xka8rQoUP1zDPP6LnnnlPLli01dOhQxcTEKCUlRfv379ePP/6oadOm6ZJLLin3PEXT7m+88UZ17txZQ4cOVdu2bZWTk6P4+HitWrVKvXr10pIlS4odd9lll6lNmzb68MMPlZeXpzFjxhRb5b9IZX+npfH09NSf//xnPf/88+ratatGjBih9PR0LVq0SP369St1wcCBAwfq559/1jXXXKMrr7xSnp6e6tu3r/r27Vvm68ycOVN9+vTRPffco0WLFqldu3basWOHFi5cqNDQUM2cObPcnBfjuuuu05QpU7Ru3Tr16tWrxHY/Pz/df//9WrRokZo3b65du3bp66+/VmxsrOLi4nTnnXdq7Nix6tatm3r37q3WrVurW7duatq0qTIyMrR48WIlJibqL3/5i7y8vIqde+nSpXJ3d9ewYcNq7P0BAKqolm/ZBwBApa1bt87s16+f6e/v77hn/Pn3kk9KSjIfeughMyYmxvTw8DBDQkLMG264wfz1119LPd+LL75otmrVyvTw8Chxn/stW7aYgwcPNoOCgkx/f3+zX79+5vfff1/mPe5/f/yFfP311+Zll11m+vj4ON5LkbFjx5Z4b+Xd772sTKZZ+r3jiyxdutQcPny4GRoaanp4eJgRERFmz549zeeee848fPhwhd/L7t27zbvuusuMiYkxPT09zaCgILNjx47mQw89ZG7YsKHUY6ZNm+Z43999912Z567M77Ss91pQUGA+++yzZnR0tOnp6Wm2bt3afPXVV82DBw+Wes/79PR085577jEjIyNNNze3Yj/3uLi4Uo8xTdOMj483x48fb0ZGRpru7u5mZGSkOX78eDM+Pr7EvqXdo75Iab//8iQkJJju7u7mhAkTSmyLiYkxY2JizEWLFpnt27c3PT09zRYtWpizZs0y16xZY4aHh5sRERHmypUrzdzcXHPGjBnm4MGDzSZNmpienp5meHi42bdvX/PDDz807XZ7sXNnZmaafn5+5siRIyuUEwBQuwzTLGNVFgAAANRpY8aM0ddff61Dhw4Vu+1es2bNJEnx8fHV/prvvfee7rnnHq1atarcWQ4AAGtwTT4AAICTmjZtms6ePat///vftfJ6+fn5ev7553XttddS8AGgjuKafAAAACcVExOjOXPmlHkbv+p2+PBh3XHHHY5FFAEAdQ/T9QEAAFxMTU7XBwDUbZR8AAAAAABcBNfkAwAAAADgIij5AAAAAAC4CEo+AAAAAAAugpIPAAAAAICLoOQDAAAAAOAiKPkAAAAAALgISj4AAAAAAC6Ckg8AAAAAgIv4f1OdWm17HwKKAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_cost(cost_qutip_emulator, \"Qutip emulator\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Now let's run against the real hardware" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "def prepare_input_data(seq):\n", + " input_data = {}\n", + " input_data[\"sequence_builder\"] = json.loads(seq.to_abstract_repr())\n", + " return json.dumps(input_data)" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [], + "source": [ + "def submit_job(target, seq):\n", + " job = target.submit(\n", + " input_data=prepare_input_data(seq), \n", + " input_data_format=\"pasqal.pulser.v1\", \n", + " output_data_format=\"pasqal.pulser-results.v1\",\n", + " name=\"Pasqal sequence\",\n", + " input_params={\n", + " \"count\": 10\n", + " }\n", + " )\n", + "\n", + " print(f\"Queued job: {job.id}\")\n", + " job.wait_until_completed()\n", + " print(f\"Job completed with state: {job.details.status}\")\n", + " result = job.get_results()\n", + "\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:azure.identity._internal.decorators:EnvironmentCredential.get_token failed: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.\n", + "Visit https://aka.ms/azsdk/python/identity/environmentcredential/troubleshoot to troubleshoot.this issue.\n", + "WARNING:azure.identity._internal.get_token_mixin:ImdsCredential.get_token failed: ManagedIdentityCredential authentication unavailable, no response from the IMDS endpoint.\n", + "WARNING:azure.identity._internal.decorators:ManagedIdentityCredential.get_token failed: ManagedIdentityCredential authentication unavailable, no response from the IMDS endpoint.\n", + "WARNING:azure.identity._internal.get_token_mixin:VisualStudioCodeCredential.get_token failed: Failed to get Azure user details from Visual Studio Code.\n", + "WARNING:azure.identity._internal.decorators:VSCodeCredential.get_token failed: Failed to get Azure user details from Visual Studio Code.\n", + "c:\\Users\\fabricfr\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\azure\\quantum\\target\\target_factory.py:76: UserWarning: No default target specified for provider pasqal. Please check the provider name and try again or create an issue here: https://github.com/microsoft/qdk-python/issues.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "from azure.quantum import Workspace\n", + "workspace = Workspace(\n", + " resource_id = \"\",\n", + " location = \"\")\n", + "target = workspace.get_targets(name=\"pasqal.sim.emu-tn\")\n", + "\n", + "# Open a session on the backend to group all jobs together\n", + "from azure.quantum.job.session import Session, SessionJobFailurePolicy \n", + "session = target.open_session(name=\"QUBO Problem\", job_failure_policy=SessionJobFailurePolicy.CONTINUE)\n", + "target.latest_session = session" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\fabricfr\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pulser\\register\\register.py:375: UserWarning: Register serialization to an abstract representation irreversibly converts all qubit ID's to strings.\n", + " names = stringify_qubit_ids(self._ids)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Queued job: 3c5f02ce-7c60-11ee-9a3b-0c9a3ce23dac\n", + ".........Job completed with state: Succeeded\n", + "Queued job: 47b9a832-7c60-11ee-97cd-0c9a3ce23dac\n", + ".........Job completed with state: Succeeded\n", + "Queued job: 527d25f1-7c60-11ee-9959-0c9a3ce23dac\n", + ".........Job completed with state: Succeeded\n", + "Queued job: 5d8aa244-7c60-11ee-9cd5-0c9a3ce23dac\n", + "..........Job completed with state: Succeeded\n", + "Queued job: 6dc57310-7c60-11ee-9aa3-0c9a3ce23dac\n", + "..........Job completed with state: Succeeded\n", + "Queued job: 7d642e93-7c60-11ee-94bc-0c9a3ce23dac\n", + "..........Job completed with state: Succeeded\n", + "Queued job: 8cc5cdce-7c60-11ee-ab86-0c9a3ce23dac\n", + "..........Job completed with state: Succeeded\n", + "Queued job: 9c4d9fc1-7c60-11ee-bad8-0c9a3ce23dac\n", + "..........Job completed with state: Succeeded\n", + "Queued job: abb4961f-7c60-11ee-9d65-0c9a3ce23dac\n", + "..........Job completed with state: Succeeded\n", + "Queued job: bb01ebeb-7c60-11ee-b189-0c9a3ce23dac\n", + "..........Job completed with state: Succeeded\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Compute the time evolution on PASQAL emulator\n", + "cost_emutn = []\n", + "try:\n", + " for T in 1000 * np.linspace(1, 10, 10):\n", + " seq = Sequence(reg, Chadoq2)\n", + " seq.declare_channel(\"ising\", \"rydberg_global\")\n", + " adiabatic_pulse = Pulse(\n", + " InterpolatedWaveform(T, [1e-9, Omega, 1e-9]),\n", + " InterpolatedWaveform(T, [delta_0, 0, delta_f]),\n", + " 0,\n", + " )\n", + " seq.add(adiabatic_pulse, \"ising\")\n", + "\n", + " from collections import Counter\n", + " histogram_results = submit_job(target, seq)\n", + " count_dict = Counter(histogram_results)\n", + "\n", + " cost_emutn.append(get_cost(count_dict, Q) / 3)\n", + "\n", + "except Exception as e:\n", + " print(e)\n", + "session.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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c+kHDpU936BBgyRJ7733XoX73333XUkll0FU9NwAAJyJkg8AQC20b99ezs7O2r59u20BtVILFy7Uf/7znwrPe+211ypcpC0pKUm//vqrpLLF/P7775ckvfzyy1q7dm2Zc5599llt3ry5wufp2LGjJOnVV18tMz09MTFRN9544zkV3bOZPn26mjdvrrlz5+r5559XQUFBuWPi4+PP6YOPmnJ1dbXdoeAf//hHmde+detW3X333ef0eDV9nyUpMjJSkiq9lv++++6Ti4uLvv7663I/mx9//FFvvvmmJOnhhx8+p8wAgKaJkg8AQC0EBQXp7rvvVnFxsYYOHapBgwbpuuuuU48ePXT55Zdr+vTpFZ731ltvKTY2Vq1bt9bll1+uG264QSNGjFDr1q119OhRDRkypMz0+jFjxuiuu+5SVlaWLr74Yg0ePFjXXXedunTpokcffVT33Xdfhc/z2GOPyc3NTW+//bY6dOiga665RqNGjVKbNm2Un5+vK664os5+FpGRkfrmm2/k7++vhx9+WFFRURo6dKhuuOEGjRkzRm3btlXr1q31yiuv1NlzVmXWrFm2196xY0ddffXV6tu3r3r27KlBgwZVOLuhMjV9nyVp/PjxkkrujDB+/HjdcsstuuWWW2wf8px33nl69dVXZbFYNGnSJPXo0UPXX3+9+vfvr5EjRyo/P19PPPGEhg8fXrsfCACgSaDkAwBQS//5z380b948nX/++frtt9/03XffycvLS59++qmeeuqpCs/517/+pWnTpql58+Zav369Pv/8c+3atUu9e/fW+++/ryVLlpSbmv3KK6/o3Xff1fnnn6/169fru+++U3h4uJYtW6Zx48ZV+Dy9e/fWr7/+qssvv1zZ2dn69ttvdeDAAd1zzz1at26dfH196/RnMWDAAO3cuVOPP/64IiMjtWnTJn3++efasmWLQkNDNXPmTL399tt1+pyV6d27t1auXKnhw4crKSlJixcvVk5Ojl588UXNnz//nB+vJu+zJE2bNk2zZ89WdHS0vvvuO82bN0/z5s0rsybAbbfdprVr1+qqq67S8ePH9dlnn2nPnj269NJL9eOPP2rmzJk1+hkAAJoei1EXy+kCAABTrVixQoMHD9bAgQPLTScHAABNByP5AAAAAAA4CEo+AAAAAAAOgpIPAAAAAICD4Jp8AAAAAAAcBCP5AAAA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9/eXh4eHunTpon//+98qLi4+p9e0bds2TZw4UeHh4XJzc1N0dLTuuecepaam2o45dOiQnJycNGTIkAofo7CwUEFBQYqKiipTGKv7nlamqss8/np9fen3hw4d0qFDh8q8N6XnV3VN/qFDh3TzzTerRYsWcnNzU2RkpG6++WYdPny43LGDBg2SxWJRYWGhnnjiCbVq1Uru7u5q3779OV/nPn/+fFksFo0fP77cvqouPSjNcCar1ap33nlHvXr1UkBAgDw9PRUZGakxY8ZUuNbBhAkTdOjQIS1fvvycMgMA6p+L2QEAAKjMoEGDlJCQoPfff18DBw4sU8abN28uSUpOTlafPn104MABDRo0SBMnTlR8fLz+97//afHixfrhhx/Uv39/SdL999+v9957T1u3btV9991ne4wzy9Cjjz4qNzc39e/fX+Hh4UpOTta3336rq666Si+99JLuueeeGr2WcePG6fTp0/rmm280duxYde/e/ZzO37Bhg+bMmaMRI0bo9ttv1/Lly/X6668rIyNDY8aM0ZQpUzR27Fj16dNHixcv1nPPPadmzZrpn//8Z5nHefTRR/XMM8+oRYsWuvLKK+Xn56fVq1dr+vTp2rBhgz7//PNq5fn22281YcIEOTk5aezYsYqKitKuXbv0yiuv6IcfftCGDRvk7++v6OhoDRgwQCtXrtTRo0cVGRlZ5nG+++47paam6m9/+5ucnErGHs7lPa0LzZs318yZM/XCCy9IKvk9KXW2RRX37t2r/v37Kzk5WWPGjFHnzp21Y8cOvfvuu1q4cKHWrFmj9u3blzvv2muv1caNGzVq1Cg5Ozvrs88+01133SVXV1fdeuutZ81sGIaWL1+uDh06yN/f/1xeboUeffRRPfvss2rTpo2uu+46+fj46NixY1qzZo1++umncj+HPn36SJKWLVumoUOH1vr5AQB1yAAAoBFbvny5IcmYOXNmhfunTp1qSDIeffTRMtsXL15sSDLatm1rFBcX27ZPnjzZkGTEx8dX+HgHDhwoty0zM9M477zzDD8/PyM7O7vMPknGwIEDq/Va5s+fb0gy5s+fX+H+irKVvn5Jxtdff23bXlBQYHTt2tWwWCxGUFCQsXHjRtu+jIwMIyQkxAgICDAKCgps23/88UdDkjFixAgjKyvLtt1qtRp33HGHIcn43//+d9bXkZKSYvj6+hotWrQwEhISyuz75JNPDEnG3Xffbdv2zjvvGJKMOXPmlHus8ePHG5KMHTt22Lad63s6c+ZMQ5KxfPnycj+3in5v4uPjDUnG5MmTy2yPjo42oqOjK3zNlZ0zePBgQ5Lx5ptvltn+6quvGpKMIUOGlNk+cOBAQ5LRu3dvIz093bZ9z549houLi9GhQ4cKn/+vdu7caUgyrr/++gr3V/VaSjOcKSAgwIiIiCj3+20YhpGamlpuW3p6uiHJGDBgQLXyAgAaDtP1AQB2q6CgQJ988okCAwP1j3/8o8y+Sy+9VJdccon279+vX375pdqP2bp163LbmjVrpilTpig9PV2bNm2qde6aGDx4sMaOHWv73tXVVVdddZUMw9CYMWPUs2dP2z4fHx+NHj1aaWlpOnr0qG37K6+8Ikl666235O3tbdtusVj0zDPPyGKx6JNPPjlrlgULFigjI0OzZ89WdHR0mX0TJ07UBRdcoE8//dS27aqrrpKHh4c+/PDDMseePn1aixYtUvfu3dW5c2dJ9fOe1pfDhw9r+fLl6tSpU7nR9zvuuEOxsbH6+eefdeTIkXLnzp49W76+vrbvO3TooH79+ikuLq5aq9aXvq+hoaG1fBV/cnNzk7Ozc7ntAQEB5bb5+vrKw8OjzO8XAKBxYLo+AMBu7dmzR3l5eRo8eLC8vLzK7R88eLCWLl2qLVu26OKLL67WY548eVLPPPOMvv/+ex06dMh2zXup48eP10n2c1XR9P7SReCq2nf8+HHFxMRIktavXy9vb2+9++67FT6Hp6en9uzZc9Ys69evl1RyCcGBAwfK7c/Ly1NKSopSUlIUFBQkPz8/XX755frss8+0detWdevWTZL0+eefKz8/X5MmTbKdWx/vaX3ZsmWLJGngwIHlrnF3cnLSgAEDtGfPHm3ZskVRUVFl9vfo0aPc45VeynD69Gn5+PhU+dyl6x6UXnJSWxMnTtRrr72mLl26aOLEiRo8eLD69OkjT0/PSs8JCAhQSkpKnTw/AKDuUPIBAHYrIyNDUuWjmaVFt/S4s0lLS1PPnj11+PBh9evXT8OGDVPz5s3l7OysLVu26JtvvlF+fn7dhD9HZ476lnJxcTnrvsLCQtu2tLQ0FRUV6cknn6z0ebKzs8+aJS0tTZL06quvVnlcdna2goKCJEmTJk3SZ599pg8//NBW8j/44AM5Ozvruuuus51T1+9pfapN1qres+osgFhavvPy8qoX9ixefPFFxcTEaP78+Zo1a5ZmzZolDw8PTZgwQc8//7ztfTxTbm5uhR/EAADMxXR9AIDdKi1KJ06cqHB/UlJSmePOZt68eTp8+LCeeuoprVmzRi+//LKeeuopPfHEEw16H/L64uvrq8DAQBmGUelXfHx8tR5HkrZv317lY505lX/kyJEKDg7WJ598IqvVqoSEBK1Zs0bDhg1TWFhYuceu7XtauohfRXcYSE9PP+trrI66/v07F8HBwZL+/MClIoZhVLi9og8GXFxc9PDDD2vnzp06duyYPv74Y1188cVasGCBrr/++nLHW61Wpaen23IAABoPSj4AoFErvUa4otHN2NhYeXh4aNOmTcrJySm3v/TWX2dOZ6/q8Uqnnp957Xup1atXn3P2v6rquRtC7969lZqaqn379tX6cSRp3bp11T7HxcVFEydO1LFjx7R8+XJ99NFHMgxDN9xwQ5njavKeVqR0xfljx46V2/f7779XeI6zs/M5vTelGVatWlWuUBuGoVWrVlUra0107txZTk5OiouLq/SYEydOlLuPvdVq1cGDB6t87IiICF177bVasmSJ2rZtq59++qncZSv79u2T1WrVeeedV/MXAQCoF5R8AECjVrroV0WLl7m5uenaa69VSkqKZs+eXWbfkiVL9MMPP6ht27bq169ftR6vdOR5zZo1ZbZ//PHH+u6772r3Qs7y3A3h3nvvlSTddNNNZe5lXyopKUm7d+8+6+NMnTpVPj4++vvf/66dO3eW25+Tk2O7bv9Mpdfef/DBB/rggw/k7e2tK664oswxNXlPK9KhQwf5+Pjo22+/LTPafeLECc2aNavCc0qvMa/uFPiWLVtq8ODB2rlzZ7l1Dt566y3t3r1bQ4YMKXc9fl1o3ry5unbtql9//bVckS+Vn5+vDz74oMy2d955R8nJyZL+nOWQn5+vtWvXljs/OztbWVlZcnV1tc2MKLVhwwZJJesRAAAaF67JBwA0arGxsYqIiNCnn34qd3d3RUZGymKx6J577pGfn5/mzJmjlStXatasWVq7dq169+6thIQEff755/Ly8tL8+fPLFJQhQ4bo3//+t2677TaNHz9e3t7eio6O1qRJkzRp0iTNmTNH99xzj5YvX67o6Ght3bpVy5Yt05VXXqkvv/yyVq+ldCGzF154QadOnbJNdf7rKvL1ZeTIkXr88cf11FNPqW3btho5cqSio6OVmpqq/fv3a/Xq1Zo1a5Y6duxY5eOUTru/+uqr1a1bN40cOVKxsbHKz89XQkKCVq5cqb59+2rJkiVlzuvZs6c6dOigjz/+WIWFhZo0aVKZVf5Lnet7WhE3Nzfdc889evrpp3XBBRdo7NixyszM1MKFCzVw4MAKFwwcMmSIfv31V40aNUoXX3yx3NzcNGDAAA0YMKDS53n99dfVv39/3XrrrVq4cKE6deqknTt36ttvv1VwcLBef/31KnPWxhVXXKGZM2dq/fr16tu3b7n9zZo105133qmFCxeqdevW2r17txYvXqyYmBjFx8frpptu0uTJk9WjRw/169dP7du3V48ePdSyZUtlZWVp0aJFSkpK0sMPPyx3d/cyj7106VK5uLho9OjR9fb6AAA11MC37AMA4JytX7/eGDhwoOHj42O7Z/yZ95JPTk427r33XiM6OtpwdXU1goKCjKuuusrYvn17hY/37LPPGu3atTNcXV3L3ed+y5YtxvDhww1/f3/Dx8fHGDhwoPHTTz9Veo/7v55/NosXLzZ69uxpeHp62l5LqcmTJ5d7bVXd772yTIZR8b3jSy1dutQYM2aMERwcbLi6uhphYWFGnz59jKeeeso4fPhwtV/Lnj17jJtvvtmIjo423NzcDH9/f+O8884z7r33XmPjxo0VnjNr1izb6/7hhx8qfexzeU8re63FxcXGE088YURFRRlubm5G+/btjRdffNE4ePBghfe8z8zMNG699VYjPDzccHZ2LvNzj4+Pr/AcwzCMhIQEY+rUqUZ4eLjh4uJihIeHG1OnTjUSEhLKHVvRPepLVfT+V+XYsWOGi4uLMW3atHL7oqOjjejoaGPhwoVG586dDTc3N6NNmzbGvHnzjLVr1xqhoaFGWFiYsWLFCqOgoMCYM2eOMXz4cCMyMtJwc3MzQkNDjQEDBhgff/yxYbVayzx2dna20axZM2PcuHHVygkAaFgWw6hkVRYAAAA0apMmTdLixYt16NChMrfda9WqlSQpISGhzp/znXfe0a233qqVK1dWOcsBAGAOrskHAACwU7NmzVJubq5efvnlBnm+oqIiPf3007r88ssp+ADQSHFNPgAAgJ2Kjo7W+++/X+lt/Ora4cOHdeONN9oWUQQAND5M1wcAAHAw9TldHwDQuFHyAQAAAABwEFyTDwAAAACAg6DkAwAAAADgICj5AAAAAAA4CEo+AAAAAAAOgpIPAAAAAICDoOQDAAAAAOAgKPkAAAAAADgISj4AAAAAAA7i/wGAcGRozOF8UQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_cost(cost_emutn, \"Pasqal Tensor Network-based emulator\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Let's compare the results of the two emulators" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "def plot_costs(title, costs):\n", + " plt.figure(figsize=(12, 6))\n", + " for label, cost in costs.items():\n", + " plt.plot(range(1, 11), np.array(cost), \"--o\", label=label)\n", + " plt.xlabel(\"total time evolution (µs)\", fontsize=14)\n", + " plt.ylabel(\"cost\", fontsize=14)\n", + " plt.title(title, fontsize=16)\n", + " plt.legend()\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/kAAAIqCAYAAAB/mIo5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC46UlEQVR4nOzdd3hT1R/H8XfSPegASssohbKRvUFAdkEREByAshVB8OdAGS5AHLhQcYvIcisqoLK3ILKXbCh7l9KUlu77+yM2UjroTsfn9Tx5TO459+abNK18cs4912QYhoGIiIiIiIiIFHpmexcgIiIiIiIiIrlDIV9ERERERESkiFDIFxERERERESkiFPJFREREREREigiFfBEREREREZEiQiFfREREREREpIhQyBcREREREREpIhTyRURERERERIoIhXwRERERERGRIkIhX0TEjgzD4Pvvv6d3794EBgbi6uqKr68vDRo0YOzYsZw8edIudU2aNAmTycSkSZPs8vyF0eDBgzGZTMyePdvepRRpx48fx2Qypbp5eHhQq1YtRo8eTWhoqL3LzHPt2rXDZDKxZs0ae5eS75J/5iIikjaFfBEROzl79iwtWrSgb9++/PrrrwQEBNCrVy/atGnDmTNneOutt6hevTofffRRrj7vmjVrMJlMtGvXLlePK7mrOIe4zOrTpw+DBg1i0KBBtGrVijNnzvDRRx9Rr1491q9fb+/ypBBI/tKoUqVK9i5FRCTXONq7ABGR4ig8PJw2bdpw7NgxGjZsyLx587jtttts7QkJCbz//vuMGzeO0aNHk5iYyP/+9798q2/06NH07duX0qVL59tzimTV22+/nSKcnTt3jjvvvJOdO3cyaNAgDh06hKOj/qkjIiLFi0byRUTsYPTo0Rw7dozKlSuzatWqFAEfwNHRkTFjxvD+++8D8Mwzz3DgwIF8q6906dLUrFlTIV8KlbJly/Luu+8CEBoaytatW+1ckYiISP5TyBcRyWfHjh3ju+++A6wjkT4+Pun2feyxx6hfvz7x8fG89dZbKdpudQ747NmzMZlMDB482LatXbt2tG/fHoC1a9emOKf5xhHR9M7Jv/GYYWFhjBo1iooVK+Li4kJQUBBPPfUU4eHhmX4vbhQeHs7EiRNp0KABJUqUwN3dnbp16/LKK68QHR2dqv+NNZ49e5aHH36YcuXK4ebm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1C6LxcI333zDtddeC5i9+NHR0Tz00EM8/PDDAGRmZhIREcG8efMYPXp0Pbb29KknX6SOZGZmAhASElLPLRGpG5MmTeIvf/kLQ4cOre+miNSZBQsWcPHFF3PTTTfRpEkTunXrxttvv13fzRKpE3369GHZsmXs3r0bgD/++IPVq1dz5ZVX1nPLROpWQkICycnJLr/TBAYG0qtXL9auXVuPLTszbvXdAJHGyOFwMHnyZPr27UunTp3quzkite6zzz7j999/Z+PGjfXdFJE6tX//fubOncuDDz7I//3f/7Fx40buv/9+PDw8GD9+fH03T6RWPfbYY2RlZdGuXTtsNht2u52nnnqKW265pb6bJlKnkpOTAYiIiHDZHhER4dx3PlGQL1IHJk2axNatW1m9enV9N0Wk1h08eJAHHniApUuX4uXlVd/NEalTDoeDiy++mKeffhqAbt26sXXrVt544w0F+dLofP7553zyySfMnz+fjh07snnzZiZPnkx0dLTud5HziIbri9Sye++9l++//54VK1bQtGnT+m6OSK3773//y9GjR+nevTtubm64ubmxcuVKXn75Zdzc3LDb7fXdRJFaExUVRYcOHVy2tW/fngMHDtRTi0TqziOPPMJjjz3G6NGj6dy5M2PHjuUf//gHs2bNqu+midSpyMhIAFJSUly2p6SkOPedTxTki9QSwzC49957+eabb1i+fDnx8fH13SSROnHZZZexZcsWNm/e7HxdfPHF3HLLLWzevBmbzVbfTRSpNX379q20HOru3buJi4urpxaJ1J28vDysVtfwwGaz4XA46qlFIudGfHw8kZGRLFu2zLktKyuL9evX07t373ps2ZnRcH2RWjJp0iTmz5/Pd999h7+/v3P+TmBgIN7e3vXcOpHa4+/vXynXhK+vL6GhocpBIY3OP/7xD/r06cPTTz/NqFGj2LBhA2+99RZvvfVWfTdNpNaNGDGCp556imbNmtGxY0c2bdrECy+8wG233VbfTRM5azk5Oezdu9f5OSEhgc2bNxMSEkKzZs2YPHkyM2fOpHXr1sTHxzN16lSio6OdGfjPJ1pCT6SWWCyWKre///77TJgw4dw2RuQcGzRokJbQk0br+++/Z8qUKezZs4f4+HgefPBB7rjjjvpulkity87OZurUqXzzzTccPXqU6OhoxowZw+OPP46Hh0d9N0/krPz8888MHjy40vbx48czb948DMNg2rRpvPXWW2RkZNCvXz9ef/112rRpUw+tPTsK8kVEREREREQaCc3JFxEREREREWkkFOSLiIiIiIiINBIK8kVEREREREQaCQX5IiIiIiIiIo2EgnwRERERERGRRkJBvoiIiIiIiEgjoSBfREREREREpJFQkC8iIiIiIiLSSCjIFxEROQsWi4VBgwbVSl0TJkzAYrGQmJhYK/VdKKZPn47FYuHnn3+us3MkJiZisViYMGFCnZ3jTBiGQY8ePbjiiivOyfl27dqFm5sbr7/++jk5n4iInD4F+SIi0qD9/PPPWCwWpk+fXiv11WcgPW/ePCwWC/PmzTvn55ZTa968Oc2bN6/vZpyWDz/8kN9//50nnnjinJyvbdu2jBkzhhkzZpCdnX1OzikiIqdHQb6IiEgDMWvWLHbs2EFMTEx9N0VOEBMTw44dO5g1a1Z9N8XJ4XAwffp0+vfvz6WXXnrOzvvoo49y9OhRXn755XN2ThERqTkF+SIiIg1EVFQU7dq1w93dvb6bIidwd3enXbt2REVF1XdTnBYvXkxiYiLjxo07p+ft3LkzXbp04e2338bhcJzTc4uIyKkpyBcRkQZr+vTpDB48GIAZM2ZgsVicr4rD7VNTU5k8eTLx8fF4enrSpEkTRo0axdatW13qa968OR988AEA8fHxzroqzqn/5ptvGDNmDK1atcLHx4fAwED69+/PV199dVbXMmHCBCZOnAjAxIkTXa6lYpkTr63idIU1a9YwePBg/P39CQ8P55577iE/Px+ARYsW0bt3b3x9fYmIiODRRx+lpKSkyrZ89913XHbZZQQHB+Pl5UWnTp147rnnsNvtp3VN//vf/xg9ejRRUVF4eHgQFxfHfffdR1pamrNMUlISVquVIUOGVFlHcXExYWFhxMbGugSMNf1Oq3OyaR4nzq8v+5yUlERSUpLLd1N2/Mnm5CclJXH77bcTExODh4cHTZs25fbbb+fAgQOVyg4aNAiLxUJxcTHTp0+nefPmeHp60qZNm9Oe5/7+++9jsVi44YYbKu072dSDsjZU5HA4eOedd7jkkksICQnB29ubpk2bMmLEiCpzHYwaNYqkpCRWrFhxWm0WEZG651bfDRAREanOoEGDSExM5IMPPmDgwIEuwXhQUBAAx44do3fv3uzbt49BgwYxevRoEhIS+PLLL1m0aBE//PAD/fr1A2Dy5MnMmzePP/74gwceeMBZR8VgaMqUKXh4eNCvXz+ioqI4duwYCxYs4MYbb+Tll1/mvvvuO6Nrufbaa8nIyOC7775j5MiRXHTRRad1/Pr165kzZw7Dhg3j73//OytWrGDu3LlkZWUxYsQIJkyYwMiRI+nduzeLFi3i2Wefxc/Pj8cff9ylnilTpjB79mxiYmK4/vrrCQwMZNWqVTzyyCOsX7+eL774okbtWbBgAaNGjcJqtTJy5EhiY2PZvn07r776Kj/88APr168nODiYuLg4BgwYwMqVK/nzzz9p2rSpSz3/+c9/SEtL45///CdWq9n3cDrfaW0ICgpi2rRpvPjii4B5n5Q5VVLF3bt3069fP44dO8aIESPo2LEjW7du5b333mPhwoWsXr2aNm3aVDpuzJgxbNiwgSuvvBKbzcbnn3/OpEmTcHd354477jhlmw3DYMWKFbRt25bg4ODTudwqTZkyhWeeeYaWLVty88034+/vz6FDh1i9ejU//fRTpZ9D7969AVi2bBmXXXbZWZ9fRERqkSEiItKArVixwgCMadOmVbl/4sSJBmBMmTLFZfuiRYsMwGjVqpVht9ud28ePH28ARkJCQpX17du3r9K27Oxso3PnzkZgYKCRm5vrsg8wBg4cWKNref/99w3AeP/996vcX1Xbyq4fML799lvn9qKiIqNLly6GxWIxwsLCjA0bNjj3ZWVlGU2aNDFCQkKMoqIi5/Yff/zRAIxhw4YZOTk5zu0Oh8O46667DMD48ssvT3kdqampRkBAgBETE2MkJia67Pv0008NwLj33nud29555x0DMObMmVOprhtuuMEAjK1btzq3ne53Om3aNAMwVqxYUennVtV9k5CQYADG+PHjXbbHxcUZcXFxVV5zdccMHjzYAIw333zTZftrr71mAMaQIUNctg8cONAAjF69ehmZmZnO7Tt37jTc3NyMtm3bVnn+E23bts0AjFtuuaXK/Se7lrI2VBQSEmJER0dXur8NwzDS0tIqbcvMzDQAY8CAATVqr4iInDsari8iIuetoqIiPv30U0JDQ/n3v//tsu+qq67i8ssvZ+/evfz66681rrNFixaVtvn5+TFhwgQyMzPZuHHjWbf7TAwePJiRI0c6P7u7u3PjjTdiGAYjRoygZ8+ezn3+/v5cffXVpKen8+effzq3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MwYOHGj4+/s714yvuJb8sWPHjPvvv9+Ii4sz3N3djbCwMOPGG280tmzZUmV9zzzzjNG6dWvD3d290jr3mzdvNq644gojODjY8Pf3NwYOHGj89NNP1a5xf+Lxp7Jo0SKjZ8+ehre3t/NayowfP77StZ1svffq2mQYVa8dX2bp0qXGiBEjjPDwcMPd3d2IjIw0evfubTz55JPGgQMHanwtO3fuNG6//XYjLi7O8PDwMIKDg43OnTsb999/v7Fhw4Yqj5k5c6bzun/44Ydq6z6d77S6a7Xb7cb06dON2NhYw8PDw2jTpo3x0ksvGfv3769yzfvs7GzjjjvuMKKiogybzebyc09ISKjyGMMwjMTERGPixIlGVFSU4ebmZkRFRRkTJ040EhMTK5Wtao36MlV9/ydz6NAhw83Nzbj77rsr7YuLizPi4uKMhQsXGh07djQ8PDyMli1bGu+++66xZs0aIyIiwoiMjDR+/vlno6ioyJgzZ45xxRVXGE2bNjU8PDyMiIgIY8CAAcb8+fMNh8PhUndubq7h5+dnXHvttTVqp4iInFsWw6gmK4uIiIiINGhjx45l0aJFJCUluSy717x5cwASExNr/ZzvvPMOd9xxBytXrjzpKAcREakfmpMvIiIicp6aOXMm+fn5vPLKK+fkfCUlJTz99NNcc801CvBFRBoozckXEREROU/FxcXxwQcfVLuMX207cOAA48aNcyZRFBGRhkfD9UVEREQambocri8iIg2bgnwRERERERGRRkJz8kVEREREREQaCQX5IiIiIiIiIo2EgnwRERERERGRRkJBvoiIiIiIiEgjoSBfREREREREpJFQkC8iIiIiIiLSSCjIFxEREREREWkkFOSLiIiIiIiINBL/P3M9Poo6x9IlAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "costs = {\n", + " 'Qutip emulator': cost_qutip_emulator,\n", + " 'Pasqal emulator': cost_emutn\n", + "}\n", + "plot_costs(\"Qutip emulator vs Pasqal tensor network-based emulator\", costs)" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "interpreter": { + "hash": "949777d72b0d2535278d3dc13498b2535136f6dfe0678499012e853ee9abcab1" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.11" + }, + "vscode": { + "interpreter": { + "hash": "e088768f7ff7b4294439f8ed10f7eed9e3b885124bc20d9d06cc2a37b1883330" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}