Switch to side-by-side view

--- a
+++ b/Code/All Qiskit, PennyLane QML Nov 23/21a Approximate Kernel 7Wires kkawchak.ipynb
@@ -0,0 +1,1505 @@
+{
+  "cells": [
+    {
+      "cell_type": "code",
+      "execution_count": 185,
+      "metadata": {
+        "id": "ev6lCA-ari5a",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 0
+        },
+        "outputId": "9ffed374-3d01-4fa1-dcbd-e6342d118197"
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Time in seconds since beginning of run: 1700510212.5734384\n",
+            "Mon Nov 20 19:56:52 2023\n"
+          ]
+        }
+      ],
+      "source": [
+        "# This cell is added by sphinx-gallery\n",
+        "# It can be customized to whatever you like\n",
+        "%matplotlib inline\n",
+        "# !pip install pennylane\n",
+        "import time\n",
+        "seconds = time.time()\n",
+        "print(\"Time in seconds since beginning of run:\", seconds)\n",
+        "local_time = time.ctime(seconds)\n",
+        "print(local_time)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "wnKzKtXbri5b"
+      },
+      "source": [
+        "How to approximate a classical kernel with a quantum computer {#classical_kernels}\n",
+        "=============================================================\n",
+        "\n",
+        "::: {.meta}\n",
+        ":property=\\\"og:description\\\": Finding a QK to approximate the Gaussian\n",
+        "kernel. :property=\\\"og:image\\\":\n",
+        "<https://pennylane.ai/qml/_images/toy_qek.png>\n",
+        ":::\n",
+        "\n",
+        "::: {.related}\n",
+        "tutorial\\_kernels\\_module Training and evaluating quantum kernels\n",
+        "tutorial\\_kernel\\_based\\_training Kernel-based training of quantum\n",
+        "models with scikit-learn tutorial\\_expressivity\\_fourier\\_series Quantum\n",
+        "models as Fourier series\n",
+        ":::\n",
+        "\n",
+        "*Author: Elies Gil-Fuster (Xanadu Resident) --- Posted: 01 Mar 2022.\n",
+        "Last updated: 02 March 2022*\n",
+        "\n",
+        "Forget about advantages, supremacies, or speed-ups. Let us understand\n",
+        "better what we can and cannot do with a quantum computer. More\n",
+        "specifically, in this demo, we want to look into quantum kernels and ask\n",
+        "whether we can replicate classical kernel functions with a quantum\n",
+        "computer. Lots of researchers have lengthily stared at the opposite\n",
+        "question, namely that of classical simulation of quantum algorithms.\n",
+        "Yet, by studying what classes of functions we can realize with quantum\n",
+        "kernels, we can gain some insight into their inner workings.\n",
+        "\n",
+        "Usually, in quantum machine learning (QML), we use parametrized quantum\n",
+        "circuits (PQCs) to find good functions, whatever *good* means here.\n",
+        "Since kernels are just one specific kind of well-defined functions, the\n",
+        "task of finding a quantum kernel (QK) that approximates a given\n",
+        "classical one could be posed as an optimization problem. One way to\n",
+        "attack this task is to define a loss function quantifying the distance\n",
+        "between both functions (the classical kernel function and the PQC-based\n",
+        "hypothesis). This sort of approach does not help us much to gain\n",
+        "theoretical insights about the structure of kernel-emulating quantum\n",
+        "circuits, though.\n",
+        "\n",
+        "In order to build intuition, we will instead study the link between\n",
+        "classical and quantum kernels through the lens of the Fourier\n",
+        "representation of a kernel, which is a common tool in classical machine\n",
+        "learning. Two functions can only have the same Fourier spectrum if they\n",
+        "are the same function. It turns out that, for certain classes of quantum\n",
+        "circuits, [we can theoretically describe the Fourier spectrum rather\n",
+        "well](https://pennylane.ai/qml/demos/tutorial_expressivity_fourier_series.html).\n",
+        "\n",
+        "Using this theory, together with some good old-fashioned convex\n",
+        "optimization, we will derive a quantum circuit that approximates the\n",
+        "famous Gaussian kernel.\n",
+        "\n",
+        "In order to keep the demo short and sweet, we focus on one simple\n",
+        "example. The same ideas apply to more general scenarios. Also, Refs.,,\n",
+        "and should be helpful for those who\\'d like to see the underlying theory\n",
+        "of QKs (and also so-called *Quantum Embedding Kernels*) and their\n",
+        "Fourier representation. So tag along if you\\'d like to see how we build\n",
+        "a quantum kernel that approximates the well-known Gaussian kernel\n",
+        "function!\n",
+        "\n",
+        "|\n",
+        "\n",
+        "![Schematic of the steps covered in this\n",
+        "demo.](../demonstrations/classical_kernels/classical_kernels_flow_chart.png){.align-center\n",
+        "width=\"60.0%\"}\n",
+        "\n",
+        "Kernel-based Machine Learning\n",
+        "-----------------------------\n",
+        "\n",
+        "We will not be reviewing all the notions of kernels in-depth here.\n",
+        "Instead, we only need to know that an entire branch of machine learning\n",
+        "revolves around some functions we call kernels. If you\\'d like to learn\n",
+        "more about where these functions come from, why they\\'re important, and\n",
+        "how we can use them (e.g. with PennyLane), check out the following\n",
+        "demos, which cover different aspects extensively:\n",
+        "\n",
+        "1.  [Training and evaluating quantum\n",
+        "    kernels](https://pennylane.ai/qml/demos/tutorial_kernels_module.html)\n",
+        "2.  [Kernel-based training of quantum models with\n",
+        "    scikit-learn](https://pennylane.ai/qml/demos/tutorial_kernel_based_training.html)\n",
+        "\n",
+        "For the purposes of this demo, a *kernel* is a real-valued function of\n",
+        "two variables $k(x_1,x_2)$ from a given data domain $x_1,\n",
+        "x_2\\in\\mathcal{X}$. In this demo, we\\'ll deal with real vector spaces as\n",
+        "the data domain $\\mathcal{X}\\subseteq\\mathbb{R}^d$, of some dimension\n",
+        "$d$. A kernel has to be symmetric with respect to exchanging both\n",
+        "variables $k(x_1,x_2) = k(x_2,x_1)$. We also enforce kernels to be\n",
+        "positive semi-definite, but let\\'s avoid getting lost in mathematical\n",
+        "lingo. You can trust that all kernels featured in this demo are positive\n",
+        "semi-definite.\n",
+        "\n",
+        "Shift-invariant kernels\n",
+        "-----------------------\n",
+        "\n",
+        "Some kernels fulfill another important restriction, called\n",
+        "*shift-invariance*. Shift-invariant kernels are those whose value\n",
+        "doesn\\'t change if we add a shift to both inputs. Explicitly, for any\n",
+        "suitable shift vector $\\zeta\\in\\mathcal{X}$, shift-invariant kernels are\n",
+        "those for which $k(x_1+\\zeta,x_2+\\zeta)=k(x_1,x_2)$ holds. Having this\n",
+        "property means the function can be written in terms of only one\n",
+        "variable, which we call the *lag vector*\n",
+        "$\\delta:=x_1-x_2\\in\\mathcal{X}$. Abusing notation a bit:\n",
+        "\n",
+        "$$k(x_1,x_2)=k(x_1-x_2,0) = k(\\delta).$$\n",
+        "\n",
+        "For shift-invariant kernels, the exchange symmetry property\n",
+        "$k(x_1,x_2)=k(x_2,x_1)$ translates into reflection symmetry\n",
+        "$k(\\delta)=k(-\\delta)$. Accordingly, we say $k$ is an *even function*.\n",
+        "\n",
+        "Warm up: Implementing the Gaussian kernel\n",
+        "-----------------------------------------\n",
+        "\n",
+        "First, let\\'s introduce a simple classical kernel that we will\n",
+        "approximate on the quantum computer. Start importing the usual suspects:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 186,
+      "metadata": {
+        "id": "GWuwpLDDri5c"
+      },
+      "outputs": [],
+      "source": [
+        "import pennylane as qml\n",
+        "from pennylane import numpy as np\n",
+        "import matplotlib.pyplot as plt\n",
+        "import math\n",
+        "np.random.seed(53173)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "btt80fkori5c"
+      },
+      "source": [
+        "We\\'ll look at the Gaussian kernel:\n",
+        "$k_\\sigma(x_1,x_2):=e^{-\\lVert x_1-x_2\\rVert^2/2\\sigma^2}$. This\n",
+        "function is clearly shift-invariant:\n",
+        "\n",
+        "$$\\begin{aligned}\n",
+        "k_\\sigma(x_1+\\zeta,x_2+\\zeta) &= e^{-\\lVert(x_1+\\zeta)-(x_2+\\zeta)\\rVert^2/2\\sigma^2} \\\\\n",
+        "& = e^{-\\lVert x_1-x_2\\rVert^2/2\\sigma^2} \\\\\n",
+        "& = k_\\sigma(x_1,x_2).\n",
+        "\\end{aligned}$$\n",
+        "\n",
+        "The object of our study will be a simple version of the Gaussian kernel,\n",
+        "where we consider $1$-dimensional data, so $\\lVert\n",
+        "x_1-x_2\\rVert^2=(x_1-x_2)^2$. Also, we take $\\sigma=1/\\sqrt{2}$ so that\n",
+        "we further simplify the exponent. We can always re-introduce it later by\n",
+        "rescaling the data. Again, we can write the function in terms of the lag\n",
+        "vector only:\n",
+        "\n",
+        "$$k(\\delta)=e^{-\\delta^2}.$$\n",
+        "\n",
+        "Now let\\'s write a few lines to plot the Gaussian kernel:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 187,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 497
+        },
+        "id": "_JZA6LnVri5d",
+        "outputId": "dcd525ff-694b-4112-e79e-01065d6b574d"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAHgCAYAAABHMnwXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZwUlEQVR4nO3deXhTVeI+8PcmbdI93TcotFAKlKWFspUdrSIgiiuoX0FURhEdlRlHmVEZV8R9foKgKOiouKHghiAwICBlsbWsZS8UCt2XtClNmuT+/kgTqLSl+7lJ38/z5NHeZnmbluTNPeeeK8myLIOIiIjIxahEByAiIiJqCyw5RERE5JJYcoiIiMglseQQERGRS2LJISIiIpfEkkNEREQuiSWHiIiIXBJLDhEREbkklhwiIiJySSw5RERE5JJYcoiIiMglseQQEZHTee655yBJUosv5NrcRAcgIiJqCr1eDy8vL/D80nQl3JNDRERO5eeff8aECRNExyAnwJJDTuPf//43JElCYWGh6ChO46OPPoIkSTh16lS7Pq6z/67a8nlryn07+/PYVg4cOIC+ffuKjkFOgCWHhGrsuPmWLVvaPVtWVhYefvhhxMXFwcvLC15eXoiPj8ecOXOwb9++ds9DrmvHjh3497//jdLSUtFRWk1FRQXmz5+P6667DoGBgZAkCR999FGDt7FarQgJCcGrr75a73XMZjM0Gs1l2/fs2YOHH34Yffr0gbe3N7p06YLbb78dR48ebemPQk6Mc3JIqE8++aTW1//973+xYcOGy7b37t27XYvOjz/+iKlTp8LNzQ133XUXEhISoFKpcPjwYXz77bdYsmQJsrKy0LVr13bL1Bx33303pk2bBq1WKzoK1ajrd7Jjxw4899xzuOeee+Dv7y8uXCsqLCzE888/jy5duiAhIaFR/353796NwsJCTJo0qd7r/Prrrxg9evRl2xcuXIjffvsNt912G/r374/c3FwsWrQIAwcOxM6dO7nnp4NiySGh/u///q/W1zt37sSGDRsu296eTpw4gWnTpqFr167YtGkTIiIian1/4cKFePfdd6FSKX9HqFqthlqtFh2jTRgMBnh7e4uO0WSu/Du5VEREBM6fP4/w8HD8/vvvGDx48BVvs3btWnTt2hV9+vSp9zrbt2/H008/fdn2uXPnYuXKlbX28kydOhX9+vXDK6+8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/e1v+P777zF58mQUFxdftvifyAVGSaB2P56LqAGNOYS8oKCg1va6DsnNy8uT58yZI0dFRcnu7u5yeHi4fPXVV8vvv/9+o7McP35cnj17thwbGyt7eHjInp6ecq9eveQHH3xQzsjIqHXdkpISeebMmXJwcLDs4+Mjjx8/Xj58+LDctWtXecaMGbWu+8svv8h9+/aVNRqN3LNnT/nTTz+tdQi50WiUn3jiCTkhIUH29fWVvb295YSEBPndd9913EdjrlPXc9PYnE15rutS1+0rKyvlMWPGyD4+PvLOnTsd2xvzu6ovT1OzNvbvorE/pyzLsl6vl9Vqtezr6yubzWbH9k8//VQGIN99992Nuu8XXnhB7tSpk6xSqRzfb+nvoaSkRL7nnnvkgIAAWavVygMGDGjXw6m7du16xUPPFy1aJOt0Orm6urre+/nggw+u+Fhjxoxp8FB36pgkWW7kDEIiIqJWNnHiRPj4+OCrr74SHYVcEIeriIhImLFjx15xzhJRc3FPDhEREbkkHl1FRERELoklh4iIiFwSSw4RERG5JJYcIiIickksOUREROSSWHKIiIjIJbHkEBERkUtiySEiIiKXxJJDRERELoklh4iIiFwSSw4RERG5JJYcIiIickksOUREROSSWHKIiIjIJbHkEBERkUtiySEiIiKXxJJDRERELoklh4iIiFwSSw4RERG5JJYcIiIickksOUREROSSWHKIiIjIJbHkEBERkUtiySEiIiKX5CY6gChWqxXnzp2Dr68vJEkSHYeIiIgaQZZllJeXIzIyEipVw/tqOmzJOXfuHKKiokTHICIiomY4c+YMOnfu3OB1OmzJ8fX1BWB7kvz8/ASnISIiosbQ6/WIiopyvI83pMOWHPsQlZ+fH0sOERGRk2nMVBNOPCYiIiKXxJJDRERELoklh4iIiFwSSw4RERG5JJYcIiIickksOUREROSSWHKIiIjIJbHkEBERkUtiySEiIiKXxJJDRERELkkRJWfr1q2YPHkyIiMjIUkS1qxZc8XbbNmyBQMHDoRWq0VsbCw++uijNs9JREREzkMRJcdgMCAhIQGLFy9u1PWzsrIwadIkjBs3DhkZGXjsscdw//33Y/369W2clIiIiJyFIk7QOWHCBEyYMKHR11+6dCliYmLwxhtvAAB69+6N7du346233sL48ePbKiYRKZzRbEFB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Bx+Uz549KzqaIqxYsUIGUOeFbGbMmFHn87N582bR0YR455135C5dusgajUYeMmSIvHPnTtGRFGHz5s11/p3MmDFDdDTh6nuNWbFihehoinDvvffKXbt2lTUajRwSEiJfffXV8i+//CI61hVxTg4RERG5JNef2EBEREQdEksOERERuSSWHCIiInJJLDlERETkklhyiIiIyCWx5BAREZFLYskhIiIil8SSQ0RERC6JJYeIiIhcEksOEbmU3Nxc3HnnnQgPD4dGo0FkZCRef/110bGISACeoJOIXMoDDzyA6upqbNy4EQEBAcjLy0NpaanoWEQkAEsOEbkUo9GI06dPIzU1FSkpKRg4cKDoSEQkCEsOEbkMs9mM6667DuPGjYNOp8OiRYtw9OhRrFy5Ej4+PqLjEVE745wcInIZjz76KKKiopCQkIDo6Gi8/vrr2LdvH5YsWSI6GhEJwJJDRC4hIyMDn376KW644YZa23U6Hc6fPy8oFRGJxJJDRC7hm2++QVxcHNzd3R3bDAYDjh49ij59+ghMRkSisOQQkUsoKSmBwWCote39998HANx8880iIhGRYCw5ROQShg4diszMTLz11ls4duwY3nnnHcybNw+LFy9GQECA6HhEJIAky7IsOgQRUUvJsoyXX34ZH3zwAYqKitCvXz/861//wsSJE0VHIyJBWHKIiIjIJXG4ioiIiFwSSw4RERG5JJYcIiIickksOUREROSSWHKIiIjIJbHkEBERkUtiySEiIiKXxJJDRERELoklh4iIiFwSSw4RERG5JJYcIiIickn/H1w4qfF10D0KAAAAAElFTkSuQmCC\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "def gaussian_kernel(delta):\n",
+        "    return math.exp(-delta ** 2)\n",
+        "\n",
+        "def make_data(n_samples, lower=-np.pi, higher=np.pi):\n",
+        "    x = np.linspace(lower, higher, n_samples)\n",
+        "    y = np.array([gaussian_kernel(x_) for x_ in x])\n",
+        "    return x,y\n",
+        "\n",
+        "X, Y_gaussian = make_data(100)\n",
+        "\n",
+        "plt.plot(X, Y_gaussian)\n",
+        "plt.suptitle(\"The Gaussian kernel with $\\sigma=1/\\sqrt{2}$\")\n",
+        "plt.xlabel(\"$\\delta$\")\n",
+        "plt.ylabel(\"$k(\\delta)$\")\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "pdcoUzYXri5d"
+      },
+      "source": [
+        "In this demo, we will consider only this one example. However, the\n",
+        "arguments we make and the code we use are also amenable to any kernel\n",
+        "with the following mild restrictions:\n",
+        "\n",
+        "1.  Shift-invariance\n",
+        "2.  Normalization $k(0)=1$.\n",
+        "3.  Smoothness (in the sense of a quickly decaying Fourier spectrum).\n",
+        "\n",
+        "Note that is a very large class of kernels! And also an important one\n",
+        "for practical applications.\n",
+        "\n",
+        "Fourier analysis of the Gaussian kernel\n",
+        "=======================================\n",
+        "\n",
+        "The next step will be to find the Fourier spectrum of the Gaussian\n",
+        "kernel, which is an easy problem for classical computers. Once we\\'ve\n",
+        "found it, we\\'ll build a QK that produces a finite Fourier series\n",
+        "approximation to that spectrum.\n",
+        "\n",
+        "Let\\'s briefly recall that a Fourier series is the representation of a\n",
+        "periodic function using the sine and cosine functions. Fourier analysis\n",
+        "tells us that we can write any given periodic function as\n",
+        "\n",
+        "$$f(x) = a_0 + \\sum_{n=1}^\\infty a_n\\cos(n\\omega_0x) + b_n\\sin(n\\omega_0x).$$\n",
+        "\n",
+        "For that, we only need to find the suitable base frequency $\\omega_0$\n",
+        "and coefficients $a_0, a_1, \\ldots, b_0, b_1,\\ldots$.\n",
+        "\n",
+        "But the Gaussian kernel is an aperiodic function, whereas the Fourier\n",
+        "series only makes sense for periodic functions!\n",
+        "\n",
+        "*What can we do?!*\n",
+        "\n",
+        "We can cook up a periodic extension to the Gaussian kernel, for a given\n",
+        "period $2L$ (we take $L=\\pi$ as default):\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 188,
+      "metadata": {
+        "id": "lSmmtbucri5d"
+      },
+      "outputs": [],
+      "source": [
+        "def Gauss_p(x, L=np.pi):\n",
+        "    # Send x to x_mod in the period around 0\n",
+        "    x_mod = np.mod(x+L, 2*L) - L\n",
+        "    return gaussian_kernel(x_mod)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "NDegkSS5ri5d"
+      },
+      "source": [
+        "which we can now plot\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 189,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 497
+        },
+        "id": "3dob3SxIri5d",
+        "outputId": "e642b348-da4d-4097-e132-4b8dda2e2098"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAHgCAYAAAB3vm02AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+gklEQVR4nO3deZhT1f0/8Hf2zL4vDAwM+y4gyBSUxYqiIu4bWkW+7oJVsVZpFdRWKe7VWqlata31p2IVd1ERtChFWRVk3weYfd+SSXJ+fyT3JmEWJjNJ7pL363nmUTI3ybmTm3M/53M2gxBCgIiIiEghRqULQERERLGNwQgREREpisEIERERKYrBCBERESmKwQgREREpisEIERERKYrBCBERESmKwQgREREpisEIERERKYrBCJ3Q1KlTMXXq1LC93oEDB2AwGPDaa6/Jjz344IMwGAxhew89u+6661BQUKB0MaKioKAA5513ntLF0JRwf18767XXXoPBYMD69euj/t7dxfpHeQxGNEr64ks/drsdgwYNwrx581BSUqJ08XTljTfewDPPPKN0MRR39OhRPPjgg9i8eXNYX/fnn3/Ggw8+iAMHDoT1dbviww8/xMyZM5GTkwOr1Yr09HRMnjwZTz75JGpra5UuHpFumZUuAHXPww8/jL59+6K5uRlr1qzBCy+8gE8++QRbt25FfHx8WN7j888/D8vrdOT+++/HfffdF/H36Yo33ngDW7duxZ133ql0UQAAL730EjweT9Tf9+jRo3jooYdQUFCA0aNHh+11f/75Zzz00EOYOnWqYhkfj8eD66+/Hq+99hpGjhyJ2267Dfn5+airq8PatWtx//3345NPPsHKlSsVKV8oovF9JQo3BiMad84552DcuHEAgBtuuAEZGRl46qmn8P7772PWrFndeu3GxkbEx8fDarWGo6gdMpvNMJt5OXaGxWJRugi689hjj+G1117DXXfdhSeffDIoZX/HHXfg2LFj+Oc//6lgCTsvGt9XJXg8HjidTtjtdqWLQhHAbhqd+eUvfwkA2L9/v/zY66+/jrFjxyIuLg7p6em48sorcfjw4aDnTZ06FSNGjMCGDRswefJkxMfH43e/+538u+P7oEtLS3H99dcjJycHdrsdo0aNwj/+8Y9W5amursZ1112HlJQUpKamYvbs2aiurm51XHt9tq+//jrGjx+P+Ph4pKWlYfLkyZ1q+e3YsQOXXnop0tPTYbfbMW7cOHzwwQdB5c/KysLUqVMRuHH1nj17kJCQgCuuuEI+948//hgHDx6Uu8QCW+8OhwOLFi3CgAEDYLPZkJ+fj9/+9rdwOBxB5TEYDJg3bx6WL1+OESNGwGazYfjw4fjss8+Cjqurq8Odd96JgoIC2Gw2ZGdn48wzz8TGjRvlY9oaM9LQ0IC7774b+fn5sNlsGDx4MJ544gkcvyl3Z8txvNWrV+OUU04BAMyZM0f+WwSO+1m2bJl8nWVmZuJXv/oVjhw50uHrvvbaa7jssssAAKeffrr8uqtXrw46bs2aNRg/fjzsdjv69evXZmBQXV2NO++8U/4bDBgwAEuWLDlhFqmxsRFLlizB8OHD8fjjj7d5Hfbo0QP33ntv0GOvvvoqfvnLXyI7Oxs2mw3Dhg3DCy+80Oq5BoMBDz74YKvHCwoKcN1118n/bmlpwUMPPYSBAwfCbrcjIyMDp512Gr744gv5mOLiYsyZMwe9evWCzWZDjx49cMEFFwR1cR3/fXU6nVi4cCHGjh2LlJQUJCQkYNKkSVi1alVQeaSxXE888QRefPFF9O/fHzabDaeccgp++OGHDv+G7amqqsL48ePRq1cv7Ny5E0Do35l///vfGD58OGw2Gz777DO5i/rbb7/F/PnzkZWVhYSEBFx00UUoKytrVYZPP/0UkyZNQkJCApKSkjBjxgxs27atS+dDkcOmqM7s3bsXAJCRkQEAeOSRR/DAAw/g8ssvxw033ICysjI899xzmDx5MjZt2oTU1FT5uRUVFTjnnHNw5ZVX4le/+hVycnLafI+mpiZMnToVe/bswbx589C3b18sW7YM1113Haqrq3HHHXcAAIQQuOCCC7BmzRrccsstGDp0KN577z3Mnj27U+fy0EMP4cEHH8TEiRPx8MMPw2q1Yt26dfjqq69w1llntfu8bdu24dRTT0XPnj1x3333ISEhAW+//TYuvPBC/Oc//8FFF12E7OxsvPDCC7jsssvw3HPP4de//jU8Hg+uu+46JCUl4a9//SsA4Pe//z1qampQVFSEp59+GgCQmJgIwNtSO//887FmzRrcdNNNGDp0KH766Sc8/fTT2LVrF5YvXx5UrjVr1uDdd9/FbbfdhqSkJDz77LO45JJLcOjQIfnzuuWWW/DOO+9g3rx5GDZsGCoqKrBmzRps374dJ598cpvnK4TA+eefj1WrVuH666/H6NGjsWLFCtxzzz04cuSIXO5QynG8oUOH4uGHH8bChQtx0003YdKkSQCAiRMnAvAGFXPmzMEpp5yCxYsXo6SkBH/+85/x7bfftrrOAk2ePBm//vWv8eyzz+J3v/sdhg4dKr+fZM+ePbj00ktx/fXXY/bs2XjllVdw3XXXYezYsRg+fDgAb0AxZcoUHDlyBDfffDN69+6N7777DgsWLMCxY8c6HPOzZs0aVFdX4ze/+Q1MJlO7xx3vhRdewPDhw3H++efDbDbjww8/xG233QaPx4O5c+d2+nUkDz74IBYvXowbbrgB48ePR21tLdavX4+NGzfizDPPBABccskl2LZtG26//XYUFBSgtLQUX3zxBQ4dOtRuF1dtbS1efvllzJo1CzfeeCPq6urw97//HdOnT8f333/fqsvtjTfeQF1dHW6++WYYDAY89thjuPjii7Fv376QsnLl5eU488wzUVlZia+//hr9+/cP+Tvz1Vdf4e2338a8efOQmZmJgoICeczS7bffjrS0NCxatAgHDhzAM888g3nz5uGtt96Sn/+vf/0Ls2fPxvTp07FkyRI0NjbihRdewGmnnYZNmzbFzEBwTRCkSa+++qoAIL788ktRVlYmDh8+LN58802RkZEh4uLiRFFRkThw4IAwmUzikUceCXruTz/9JMxmc9DjU6ZMEQDE0qVLW73XlClTxJQpU+R/P/PMMwKAeP311+XHnE6nmDBhgkhMTBS1tbVCCCGWL18uAIjHHntMPs7lcolJkyYJAOLVV1+VH1+0aJEIvBx3794tjEajuOiii4Tb7Q4qj8fj6fBvc8YZZ4iRI0eK5ubmoOdMnDhRDBw4MOjYWbNmifj4eLFr1y7x+OOPCwBi+fLlQcfMmDFD9OnTp9X7/Otf/xJGo1H897//DXp86dKlAoD49ttv5ccACKvVKvbs2SM/tmXLFgFAPPfcc/JjKSkpYu7cuR2e3+zZs4PKI/2d//jHPwYdd+mllwqDwRD0np0tR1t++OGHVp+bEN7PPjs7W4wYMUI0NTXJj3/00UcCgFi4cGGHr7ts2TIBQKxatarV7/r06SMAiG+++UZ+rLS0VNhsNnH33XfLj/3hD38QCQkJYteuXUHPv++++4TJZBKHDh1q9/3//Oc/t/m5u1wuUVZWFvQTeO01Nja2eq3p06eLfv36BT0GQCxatKjNc5s9e7b871GjRokZM2a0W86qqioBQDz++OPtHiNE6++ry+USDoej1Wvl5OSI//u//5Mf279/vwAgMjIyRGVlpfz4+++/LwCIDz/8sMP3leqkH374QRw7dkwMHz5c9OvXTxw4cEA+JtTvjNFoFNu2bWvzfaZNmxb0edx1113CZDKJ6upqIYQQdXV1IjU1Vdx4441Bzy8uLhYpKSlBjx9f/1D0sZtG46ZNm4asrCzk5+fjyiuvRGJiIt577z307NkT7777LjweDy6//HKUl5fLP7m5uRg4cGCrNK3NZsOcOXNO+J6ffPIJcnNzg8akWCwW/PrXv0Z9fT2+/vpr+Tiz2Yxbb71VPs5kMuH2228/4XssX74cHo8HCxcuhNEYfJl2NAWvsrISX331FS6//HLU1dXJ51xRUYHp06dj9+7dQV0Hf/nLX5CSkoJLL70UDzzwAK655hpccMEFJywf4O2WGDp0KIYMGRL095W6yo7/+06bNg39+/eX/33SSSchOTkZ+/btkx9LTU3FunXrcPTo0U6VAfD+nU0mE379618HPX733XdDCIFPP/005HKEYv369SgtLcVtt90W1J8/Y8YMDBkyBB9//HGXXlcybNgwORMDAFlZWRg8eHBQeZctW4ZJkyYhLS0t6LOYNm0a3G43vvnmm3ZfX5olI2W8JD/99BOysrKCfioqKuTfx8XFyf9fU1OD8vJyTJkyBfv27UNNTU3I55mamopt27Zh9+7dbf4+Li4OVqsVq1evRlVVVadf12QyyeNIPB4PKisr4XK5MG7cuKDuP8kVV1yBtLQ0+d/S376z10dRURGmTJmClpYWfPPNN+jTp4/8u1C/M1OmTMGwYcPafJ+bbropqC6YNGkS3G43Dh48CAD44osvUF1djVmzZgW9l8lkQmFhYav3ImWxm0bjnn/+eQwaNAhmsxk5OTkYPHiwfPPevXs3hBAYOHBgm889PuXas2fPTg1+O3jwIAYOHNgqSJBS61JlcPDgQfTo0aNVJT948OATvsfevXthNBrbrYjas2fPHggh8MADD+CBBx5o85jS0lL07NkTAJCeno5nn30Wl112GXJycvDss892+r12796N7du3Iysrq933CdS7d+9Wx6SlpQXdWB577DHMnj0b+fn5GDt2LM4991xce+216NevX7vlOHjwIPLy8pCUlBT0+PGfRyjlCIX0+m19rkOGDMGaNWu69LqSzpR39+7d+PHHHzv9WQSS/m719fVBjw8YMEAer/HPf/4T//rXv4J+/+2332LRokVYu3YtGhsbg35XU1ODlJSUDs6qtYcffhgXXHABBg0ahBEjRuDss8/GNddcg5NOOgmAt7GwZMkS3H333cjJycEvfvELnHfeebj22muRm5vb4Wv/4x//wJNPPokdO3agpaVFfrxv376tjj3+7y0FJp29Pq655hqYzWZs3769VblC/c60Vb7OllMK6qRA53jJyckdnAVFG4MRjRs/frw8m+Z4Ho8HBoMBn376aZt94ccHCYEtPa2SBiv+5je/wfTp09s8ZsCAAUH/XrFiBQBvJVZUVNTu+Ia23mvkyJF46qmn2vx9fn5+0L/bG48gAgaZXn755Zg0aRLee+89fP7553j88cexZMkSvPvuuzjnnHM6Va4T6Uw51KQz5fV4PDjzzDPx29/+ts1jBw0a1O7rDxkyBACwdevWoKxYYmIipk2bBgCtAqq9e/fijDPOwJAhQ/DUU08hPz8fVqsVn3zyCZ5++ulOTb12u91B/548eTL27t2L999/H59//jlefvllPP3001i6dCluuOEGAMCdd96JmTNnYvny5VixYgUeeOABLF68GF999RXGjBnT5vu8/vrruO6663DhhRfinnvuQXZ2NkwmExYvXiyPMQvU3evj4osvxj//+U/8+c9/xuLFi4N+F+p3pqM66UTllD6Df/3rX20Ga5y9py78NHSsf//+EEKgb9++HVbGoerTpw9+/PFHeDyeoOzIjh075N9L/125ciXq6+uDAh9pVP2Jyu7xePDzzz+HtKaFlEGwWCzyjaQjn332GV5++WX89re/xb///W/Mnj0b69atC6qo2usW6t+/P7Zs2YIzzjgjrKs39ujRA7fddhtuu+02lJaW4uSTT8YjjzzSbjDSp08ffPnll6irqwvKjhz/eXRXe+covf7OnTtbtUJ37tx5wvcPx9+uf//+qK+v79RnfrxJkyYhJSUFb775JhYsWNAq49eWDz/8EA6HAx988EFQC72t1H9aWlqrGWROpxPHjh1rdWx6ejrmzJmDOXPmoL6+HpMnT8aDDz4oByOA91zvvvtu3H333di9ezdGjx6NJ598Eq+//nqbZX3nnXfQr18/vPvu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\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "x_func = np.linspace(-10, 10, 321)\n",
+        "y_func = [Gauss_p(x) for x in x_func]\n",
+        "\n",
+        "plt.plot(x_func, y_func)\n",
+        "plt.xlabel(\"$\\delta$\")\n",
+        "plt.suptitle(\"Periodic extension to the Gaussian kernel\")\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "q4KSgAX6ri5d"
+      },
+      "source": [
+        "In practice, we would construct several periodic extensions of the\n",
+        "aperiodic function, with increasing periods. This way, we can study the\n",
+        "behaviour when the period approaches infinity, i.e. the regime where the\n",
+        "function stops being periodic.\n",
+        "\n",
+        "Next up, how does the Fourier spectrum of such an object look like? We\n",
+        "can find out using PennyLane\\'s `fourier` module!\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 190,
+      "metadata": {
+        "id": "AEArWUxJri5d"
+      },
+      "outputs": [],
+      "source": [
+        "from pennylane.fourier import coefficients"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "Ays6c29qri5d"
+      },
+      "source": [
+        "The function `coefficients` computes for us the coefficients of the\n",
+        "Fourier series up to a fixed term. One tiny detail here: `coefficients`\n",
+        "returns one complex number $c_n$ for each frequency $n$. The real part\n",
+        "corresponds to the $a_n$ coefficient, and the imaginary part to the\n",
+        "$b_n$ coefficient: $c_n=a_n+ib_n$. Because the Gaussian kernel is an\n",
+        "even function, we know that the imaginary part of every coefficient will\n",
+        "be zero, so $c_n=a_n$.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 191,
+      "metadata": {
+        "id": "TJj1LYi6ri5e"
+      },
+      "outputs": [],
+      "source": [
+        "def fourier_p(d):\n",
+        "    \"\"\"\n",
+        "    We only take the first d coefficients [:d]\n",
+        "    because coefficients() treats the negative frequencies\n",
+        "    as different from the positive ones.\n",
+        "    For real functions, they are the same.\n",
+        "    \"\"\"\n",
+        "    return np.real(coefficients(Gauss_p, 1, d-1)[:d])"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "hmDwMKFFri5e"
+      },
+      "source": [
+        "We are restricted to considering only a finite number of Fourier terms.\n",
+        "But isn\\'t that problematic, one may say? Well, maybe. Since we know the\n",
+        "Gaussian kernel is a smooth function, we expect that the coefficients\n",
+        "converge to $0$ at some point, and we will only need to consider terms\n",
+        "up to this point. Let\\'s look at the coefficients we obtain by setting a\n",
+        "low value for the number of coefficients and then slowly letting it\n",
+        "grow:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 192,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 453
+        },
+        "id": "_0-R5kEIri5e",
+        "outputId": "1b19a0b4-1096-4f4b-9b3f-19ac1a3eec7b"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "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DblPAQAA8Awuv89QeHi4vvjiixrtX3zxhcLCwhwZEgAAwC0cOk02efJkzZw5U5WVlbr77rslSZmZmZo9e7aefPJJpxYIAADgSg6FoaeeekoXLlzQ1KlTVVFRIenaqbOnn37aboEzAACAp2vUs8lKS0t15MgRBQQEqFevXi3yZoWsGQIAoPlpyO+3QzND1dq0aaO4uLjGDAEAAOBWHvNsMgAAAHeodxh644039MwzzygwMNAjn00GAADgiHqHoaKiIlksFknS//7v/2rXrl266aabXFYYAABAU6j3fYbat2+v3NxcSdK3335rC0YAAADNWb1nhu677z4NGzZMoaGhMhgMio2NlY+PT619T5486bQCAQAAXKneYWj16tX65S9/qePHj+vxxx/X5MmT1bZtW1fWBgAA4HL1DkMHDhzQyJEjNWrUKO3Zs0czZswgDAEAgGav3muGBgwYoPPnz0uSsrOzbXeeBgAAaM7qHYbatWvHAmoAANDisIAaAAB4NRZQAwAAr9agZ5ONGjVKklhADQAAWgyHHtT6+uuvO7sOAAAAt6j3Auof++c//6kHH3xQgwcP1unTpyVJb731lrZu3eq04gAAAFzNoTD017/+VYmJiQoICNC+fftUXl4uSSouLtZLL73k1AIBAABcyaEw9MILLyg9PV1r1qyRr6+vrX3IkCHau3ev04oDAABwNYfC0NGjRzV06NAa7WazWUVFRY2tCQAAoMk4FIZCQkJ0/PjxGu1bt25V9+7dG10UAABAU3EoDE2ePFkzZszQjh07ZDAYdObMGa1fv16zZs3SlClTnF0jAACAyzh0af2cOXNksVg0YsQIXb58WUOHDpWfn59mzZql6dOnO7tGAAAAlzFYrVarox+uqKjQ8ePHVVpaqr59+6pNmzbOrM0jlJSUyGw2q7i4WEFBQe4uBwAA1ENDfr8dmhmSpKKiIv3xj3/UkSNHJEn9+vXTr3/9a5nNZkeHBAAAaHIOrRnavXu3evTooVdffVXff/+9vv/+ey1ZskQ9evTg0noAANCsOHSa7M4771TPnj21Zs0atWp1bXLp6tWrevjhh3Xy5El9/vnnTi/UXThNBgBA89OQ32+HwlD1naf79Olj1/7VV18pNjZWly9fbuiQHoswBABA89OQ32+HTpMFBQUpLy+vRvupU6d4kj0AAGhWHApDSUlJmjRpkjZt2qRTp07p1KlT2rhxox5++GGNGzfO2TUCAAC4jENXk7388ssyGAyaMGGCrl69Kkny9fXVlClTtHDhQqcWCAAA4EqNus/Q5cuXdeLECUlSjx491Lp1a6cV5ilYMwQAQPPTJPcZkqTWrVurf//+jRkCAADArRxaM5SWlqa1a9fWaF+7dq0WLVrU6KIAAACaikNh6A9/+EONy+qla3ehTk9Pb3RRAAAATcWhMJSfn6/Q0NAa7Z06ddLZs2cbXRQAAEBTcSgMhYeH64svvqjR/sUXXygsLKxRBa1YsUIRERHy9/dXfHy8du7cWWffw4cP67777lNERIQMBoOWLl1ao89zzz0ng8Fg96ptVgsAAHgnhxZQT548WTNnzlRlZaXuvvtuSVJmZqZmz56tJ5980uFiNm3apJSUFKWnpys+Pl5Lly5VYmKijh49qs6dO9fof/nyZXXv3l3333+/nnjiiTrH7devnz777DPb++pHiAAAADiUCp566ilduHBBU6dOVUVFhSTJ399fTz/9tFJTUx0uZsmSJZo8ebKSk5MlSenp6dq8ebPWrl2rOXPm1OgfFxenuLg4Sap1e7VWrVopJCTE4boAAEDL5dBpMoPBoEWLFqmwsFDbt2/X/v379f3332vevHkOF1JRUaE9e/YoISHhh+KMRiUkJGjbtm0OjytJx44dU1hYmLp3767x48fX+iiRauXl5SopKbF7AQCAlsuhMFStTZs2iouL06233io/P79GFXL+/HlVVVUpODjYrj04OFj5+fkOjxsfH6833nhDGRkZWrVqlXJzc3XnnXfq0qVLtfZPS0uT2Wy2vcLDwx3eNwAA8HyNCkPNwejRo3X//fcrKipKiYmJ+uijj1RUVKS333671v6pqakqLi62vU6dOtXEFQMAgKbkMSuJO3bsKB8fHxUUFNi1FxQUOHW9T7t27XTLLbfo+PHjtW738/Nr9CwXAABoPjxmZshkMmngwIHKzMy0tVksFmVmZmrw4MFO209paalOnDhR632SAACA92lwGKqsrNSIESN07NgxpxeTkpKiNWvWaN26dTpy5IimTJmisrIy29VlEyZMsLtaraKiQjk5OcrJyVFFRYVOnz6tnJwcu1mfWbNmKTs7W99++62+/PJL/eIXv5CPj4/GjRvn9PoBAEDz0+DTZL6+vjpw4IAralFSUpIKCws1b9485efn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\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "N = [0]\n",
+        "for n in range(2,7):\n",
+        "    N.append(n)\n",
+        "    F = fourier_p(n)\n",
+        "    plt.plot(N, F, 'x', label='{}'.format(n))\n",
+        "\n",
+        "plt.legend()\n",
+        "plt.xlabel(\"frequency $n$\")\n",
+        "plt.ylabel(\"Fourier coefficient $c_n$\")\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "SgA_c07kri5e"
+      },
+      "source": [
+        "What do we see? For very small coefficient counts, like $2$ and $3$, we\n",
+        "see that the last allowed coefficient is still far from $0$. That\\'s a\n",
+        "very clear indicator that we need to consider more frequencies. At the\n",
+        "same time, it seems like starting at $5$ or $6$ all the non-zero\n",
+        "contributions have already been well captured. This is important for us,\n",
+        "since it tells us the minimum number of qubits we should use. One can\n",
+        "see that every new qubit doubles the number of frequencies we can use,\n",
+        "so for $n$ qubits, we will have $2^n$. At minimum of $6$ frequencies\n",
+        "means at least $3$ qubits, corresponding to $2^3=8$ frequencies. As\n",
+        "we\\'ll see later, we\\'ll work with $5$ qubits, so $32$ frequencies. That\n",
+        "means the spectrum we will be trying to replicate will be the following:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 193,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 501
+        },
+        "id": "UILYVZUVri5e",
+        "outputId": "7616e154-b065-4b31-f2cf-3bbc4627fb8d"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAHkCAYAAAA9yCtQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABMfklEQVR4nO3deVyU5f7/8feAbIIgBrIYgiLpV1PpuJDldoJET3myrNROiWZWlitpah1F0xNqpmZanvzmUr9MW4512iwltSy1k0vmvqRhCm4FCCQoc//+6MscRxZhWAa8X8/HYx45133d1/2Ze+6ct/dc9z0WwzAMAQAAmJSLswsAAABwJsIQAAAwNcIQAAAwNcIQAAAwNcIQAAAwNcIQAAAwNcIQAAAwNcIQAAAwNcIQAAAwNcIQrmkWi0VTpkxxdhmoQpcuXdLTTz+tsLAwubi4qE+fPuUeY9myZbJYLPr+++8rv8Br1IYNG2SxWLRhw4Zq33ZERITuvPPOat9uZeDvpJqJMIRKU/iBUtxjwoQJzi7PtL799ltNmTJFGRkZzi6lSixZskQvvPCC7r33Xi1fvlxjxowpse8rr7yiZcuWVV9xJTh9+rQmTJig1q1by8fHR56enmrWrJkGDx6sTZs2Obs8wHTqOLsAXHuee+45NWnSxK7txhtvdEotv//+u+rUMfdh/u2332rq1KkaNGiQ6tev7+xyKt2XX36pRo0aae7cuVft+8orryggIECDBg2q+sJK8N133+mOO+7Q+fPn1b9/fz3++OPy8PDQ0aNH9cEHH2jZsmXauHGjunbt6rQay6Jr1676/fff5e7u7uxSgAoz96cEqkSvXr3Uvn17p23farUqPz9fnp6e8vT0rLRxL1y4IHd3d7m4XLsnVC/fd7XF6dOna03I++2339SnTx/VqVNHO3fuVIsWLeyWT58+XStXrpSXl5eTKiw7FxeXWnWclEdOTo68vb2dXQaq0bX7tzpqrC+//FJdunSRt7e36tevr7vuukv79u2z6zNo0CBFREQUWXfKlCmyWCx2bRaLRcOHD9dbb72lVq1aycPDQ2vWrLEtu/L7+RMnTujhhx9WUFCQPDw81KpVKy1ZssSuT+F8iJUrV+rvf/+7GjVqpLp16yorK6vE17Vy5Uq1a9dO9erVk6+vr1q3bq2XXnrJtrzwa8SvvvpKjz32mK677jr5+vpq4MCB+u2334qM99lnn9n2U7169XTHHXdoz549Rfrt379f999/vwIDA+Xl5aXmzZvr2Wefte2vcePGSZKaNGli+9ry2LFjpe67kuaDHDt2TBaLxe6rpkGDBsnHx0epqam688475ePjo0aNGmnhwoWSpB9//FG33XabvL29FR4erhUrVpS4Dy+Xk5Ojp556SmFhYfLw8FDz5s01e/ZsGYZhV8v69eu1Z88e22sraQ5LRESE9uzZo40bN9r6du/e3a5PXl6eEhMTFRgYKG9vb9199906c+ZMkbHK+t5cadGiRUpLS9O8efOKBCHpj/djwIAB6tChg63t559/1hNPPKHmzZvLy8tL1113ne677z7be1iouP83pP8ed5f3//777xUfH6+AgAB5eXmpSZMmevjhh+3Wu9rxXNwx8vXXX+u+++5T48aN5eHhobCwMI0ZM0a///673diFx8yJEyfUp08f+fj4KDAwUGPHjlVBQcFV92Nxli9frjp16tiOd0naunWrevbsKT8/P9WtW1fdunXTN998Y7de4X7bu3evHnjgAfn7+6tz586S/js3adOmTerYsaM8PT3VtGlTvfHGG0W2n5GRodGjR9uO12bNmmnmzJmyWq0OvR5UL84ModJlZmbq7Nmzdm0BAQGSpHXr1qlXr15q2rSppkyZot9//10vv/yybr31Vm3fvr3YAFQWX375pd555x0NHz5cAQEBJY5z6tQp3XzzzbYQEBgYqM8++0xDhgxRVlaWRo8ebdd/2rRpcnd319ixY5WXl1fiVwJr167VgAEDFBsbq5kzZ0qS9u3bp2+++UajRo2y6zt8+HDVr19fU6ZM0YEDB/Tqq6/q559/tn24SNKbb76phIQExcfHa+bMmcrNzdWrr76qzp07a8eOHbbXt2vXLnXp0kVubm569NFHFRERoSNHjuijjz7SP/7xD91zzz06ePCg3n77bc2dO9f2PgQGBpa678o7v6igoEC9evVS165dNWvWLL311lsaPny4vL299eyzz+pvf/ub7rnnHi1atEgDBw5Up06dinyVejnDMPTXv/5V69ev15AhQxQdHa3PP/9c48aN04kTJzR37lwFBgbqzTff1D/+8Q9lZ2crOTlZkvQ///M/xY45b948jRgxQj4+PrawGBQUZNdnxIgR8vf3V1JSko4dO6Z58+Zp+PDhWrVqla1PWd+b4nz00Ufy8vLSPffcU9Zdq//85z/69ttv1b9/f11//fU6duyYXn31VXXv3l179+5V3bp1yzyW9MeZtB49eigwMFATJkxQ/fr1dezYMf3rX/+y9SnP8Xy5d999V7m5uRo2bJiuu+46fffdd3r55Zf1yy+/6N1337XrW1BQoPj4eMXExGj27Nlat26dXnzxRUVGRmrYsGHlek2vvfaaHn/8cT3zzDOaPn26pD+O6169eqldu3ZKSkqSi4uLli5dqttuu01ff/21OnbsaDfGfffdp6ioKD3//PO2wC1Jhw8f1r333qshQ4YoISFBS5Ys0aBBg9SuXTu1atVKkpSbm6tu3brpxIkTeuyxx9S4cWN9++23mjhxoi38ooYzgEqydOlSQ1Kxj0LR0dFGw4YNjXPnztnafvjhB8PFxcUYOHCgrS0hIcEIDw8vso2kpCTjysNWkuHi4mLs2bOnSH9JRlJSku35kCFDjJCQEOPs2bN2/fr372/4+fkZubm5hmEYxvr16w1JRtOmTW1tpRk1apTh6+trXLp0qcQ+hfunXbt2Rn5+vq191qxZhiTjww8/NAzDMM6fP2/Ur1/fGDp0qN366enphp+fn117165djXr16hk///yzXV+r1Wr78wsvvGBIMo4ePVqkppL2XeHrX79+vV370aNHDUnG0qVLbW0JCQmGJOP555+3tf3222+Gl5eXYbFYjJUrV9ra9+/fX+Q9Kc4HH3xgSDKmT59u137vvfcaFovFOHz4sK2tW7duRqtWrUodr1CrVq2Mbt26FWkvfG/i4uLs9t2YMWMMV1dXIyMjwzCM8r03xfH39zeio6OLtGdlZRlnzpyxPbKzs23Lijv+Nm/ebEgy3njjDVtbcf9vXP7aCt//1atXG5KM//znPyXWWZbjubhjpLhak5OTDYvFYneMFh4zzz33nF3fm266yWjXrl2J2ywUHh5u3HHHHYZhGMZLL71kWCwWY9q0abblVqvViIqKMuLj4+3ez9zcXKNJkybG7bffbmsr3G8DBgwodjuSjK+++srWdvr0acPDw8N46qmnbG3Tpk0zvL29jYMHD9qtP2HCBMPV1dVITU21tZXl+Ef142syVLqFCxdq7dq1dg9JSktL086dOzVo0CA1aNDA1r9Nmza6/fbb9emnnzq8zW7duqlly5al9jEMQ++//7569+4twzB09uxZ2yM+Pl6ZmZnavn273ToJCQllmr9Rv3595eTk2F5raR599FG5ubnZng8bNkx16tSxvf61a9cqIyNDAwYMsKvR1dVVMTExWr9+vSTpzJkz+uqrr/Twww+rcePGdtso7uuSkpRl35XFI488Yvtz/fr11bx5c3l7e+v++++3tTdv3lz169fXTz/9VOpYn376qVxdXTVy5Ei79qeeekqGYeizzz6rcL3FefTRR+32XZcuXVRQUKCff/5ZUtnfm5JkZWXJx8enSPtDDz2kwMBA22P8+PG2ZZcffxcvXtS5c+fUrFkz1a9fv8jxWhaF86s+/vhjXbx4scQ+ZT2eL3d5rTk5OTp79qxuueUWGYahHTt2FOn/+OOP2z3v0qXLVY+Ny82aNUujRo3SzJkz9fe//93WvnPnTh06dEgPPPCAzp07Z3ufcnJyFBsbq6+++qrI11dX1lKoZcuW6tKli+15YGCgmjdvblfnu+++qy5dusjf39/uuIiLi1NBQYG++uqrMr8mOAdfk6HSdezYsdgJ1IUfKM2bNy+y7H/+53/0+eefOzxxsbSvXAqdOXNGGRkZeu211/Taa68V2+f06dPlHleSnnjiCb3zzjvq1auXGjVqpB49euj+++9Xz549i/SNioqye+7j46OQkBDbnI5Dhw5Jkm677bZit+Xr6ytJtr+MK3qlXllfY2k8PT3tvnqTJD8/P11//fVFgpmfn1+xc6Qu9/PPPys0NFT16tWzay/8CqzwWKpsV4ZKf39/SbLVW9b3piT16tVTdnZ2kfbnnntOw4cPlyTdfvvtdst+//13JScna+nSpTpx4oTdVziZmZmlbq843bp1U9++fTV16lTNnTtX3bt3V58+ffTAAw/Iw8NDUvmO58ulpqZq8uTJ+ve//13kPb6y1uKOGX9//6seG4U2btyoTz75ROPHj7ebJyT9931KSEgocf3MzEzb+yuV/P/BlcdEcXUeOnRIu3btKvJ6Cl359wpqHsIQaqSSzmyUNLmyLGdvCv8l+OCDD5b4l2SbNm3KPa4kNWzYUDt37tTnn3+uzz77TJ999pmWLl2qgQMHavny5WUa48o633zzTQUHBxdZXtm3CijuNZZ3/7u6upar/fIP9JrkavVW9L1p0aKFfvjhB128eNHu7OCVx93lRowYoaVLl2r06NHq1KmT/Pz8ZLFY1L9/f7uzG2V9zywWi9577z1t2bJFH330kT7//HM9/PDDevHFF7Vlyxb5+Pg4dDwXFBTo9ttv16+//qrx48erRYsW8vb21okTJzRo0KAiZ2JK2tdl1apVK2VkZOjNN9/UY489ZhdmCrf1wgsvKDo6utj1rzxDV9L/62U5hq1Wq26//XY9/fTTxfa94YYbSnwdqBkIQ6g24eHhkqQDBw4UWbZ//34FBATYzgr5+/sXO4m3ImcEAgMDVa9ePRUUFCguLs7hcUri7u6u3r17q3fv3rJarXriiSf0z3/+U5MmTVKzZs1s/Q4dOqQ///nPtufZ2dlKS0vTX/7yF0lSZGSkpD8CVml1Nm3aVJK0e/fuUusqz1dmhQr/xXzle1BVZ2SuFB4ernXr1un8+fN2Z4f2799vW+4IR/bF5cr63pTkzjvv1JYtW7R69Wq7rw9L89577ykhIUEvvviire3ChQtF3pvL37PLbzVQ0nt288036+abb9Y//vEPrVixQn/729+0cuVK29edZT2eC/344486ePCgli9froEDB9ray/tVW1kFBATovffeU+fOnRUbG6tNmzYpNDRU0n/fJ19f3yr5f/1KkZGRys7OrpZtoWowZwjVJiQkRNHR0Vq+fLndX+S7d+/WF198YQsD0h9/uWRmZmrXrl22trS0NK1evdrh7bu6uqpv3756//33iw0QxV1CXVbnzp2ze+7i4mL7135eXp7dstdee81ursarr76qS5cuqVevXpKk+Ph4+fr66vnnny92TkdhnYGBgeratauWLFmi1NRUuz6X/6u1MGCW5wqx8PBwubq6Fpnr8Morr5R5jIr4y1/+ooKCAi1YsMCufe7cubJYLLZ9VV7e3t4VuhN3Wd+bkgwbNkxBQUEaM2aMDh48WGR5cWfMXF1di7S//PLLRc74FAaAy9+znJycImdyfvvttyLjFZ49KTxWy3M8X17nla/BMAy7y/Er2/XXX69169bp999/1+23326ru127doqMjNTs2bOL/VqyIv+vF+f+++/X5s2b9fnnnxdZlpGRoUuXLlXq9lD5ODOEavXCCy+oV69e6tSpk4YMGWK7tN7Pz8/ufkD9+/fX+PHjdffdd2vkyJG2y5dvuOEGhyaNFpoxY4bWr1+vmJgYDR06VC1bttSvv/6q7du3a926dfr1118dGveRRx7Rr7/+qttuu03XX3+9fv75Z7388suK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\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "plt.plot(range(32), fourier_p(32), 'x')\n",
+        "plt.xlabel(\"frequency $n$\")\n",
+        "plt.ylabel(\"Fourier coefficient $c_n$\")\n",
+        "plt.suptitle(\"Fourier spectrum of the Gaussian kernel\")\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "e-wPy-6kri5e"
+      },
+      "source": [
+        "We just need a QK with the same Fourier spectrum!\n",
+        "\n",
+        "Designing a suitable QK\n",
+        "=======================\n",
+        "\n",
+        "Designing a suitable QK amounts to designing a suitable parametrized\n",
+        "quantum circuit. Let\\'s take a moment to refresh the big scheme of\n",
+        "things with the following picture:\n",
+        "\n",
+        "|\n",
+        "\n",
+        "![The quantum kernel considered in this\n",
+        "demo.](../demonstrations/classical_kernels/QEK.jpg){.align-center\n",
+        "width=\"70.0%\"}\n",
+        "\n",
+        "We construct the quantum kernel from a quantum embedding (see the demo\n",
+        "on [Quantum Embedding\n",
+        "Kernels](pennylane.ai/qml/demos/tutorial_kernels_module.html)). The\n",
+        "quantum embedding circuit will consist of two parts. The first one,\n",
+        "trainable, will be a parametrized general state preparation scheme\n",
+        "$W_a$, with parameters $a$. In the second one, we input the data,\n",
+        "denoted by $S(x)$.\n",
+        "\n",
+        "Start with the non-trainable gate we\\'ll use to encode the data $S(x)$.\n",
+        "It consists of applying one Pauli-$Z$ rotation to each qubit with\n",
+        "rotation parameter $x$ times some constant $\\vartheta_i$, for the\n",
+        "$i^\\text{th}$ qubit.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 194,
+      "metadata": {
+        "id": "201jWyV6ri5e"
+      },
+      "outputs": [],
+      "source": [
+        "def S(x, thetas, wires):\n",
+        "    for (i, wire) in enumerate(wires):\n",
+        "        qml.RZ(thetas[i] * x, wires = [wire])"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "bUa2WYclri5e"
+      },
+      "source": [
+        "By setting the `thetas` properly, we achieve the integer-valued\n",
+        "spectrum, as required by the Fourier series expansion of a function of\n",
+        "period $2\\pi$: $\\{0, 1, \\ldots, 2^n-2, 2^n-1\\}$, for $n$ qubits. Some\n",
+        "math shows that setting $\\vartheta_i=2^{n-i}$, for $\\{1,\\ldots,n\\}$\n",
+        "produces the desired outcome.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 195,
+      "metadata": {
+        "id": "Yll79t7Wri5e"
+      },
+      "outputs": [],
+      "source": [
+        "def make_thetas(n_wires):\n",
+        "    return [2 ** i for i in range(n_wires-1, -1, -1)]"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "xyLZlj5bri5e"
+      },
+      "source": [
+        "Next, we introduce the only trainable gate we need to make use of.\n",
+        "Contrary to the usual Ansätze used in supervised and unsupervised\n",
+        "learning, we use a state preparation template called\n",
+        "`MottonenStatePreparation`. This is one option for amplitude encoding\n",
+        "already implemented in PennyLane, so we don\\'t need to code it\n",
+        "ourselves. Amplitude encoding is a common way of embedding classical\n",
+        "data into a quantum system in QML. The unitary associated to this\n",
+        "template transforms the $\\lvert0\\rangle$ state into a state with\n",
+        "amplitudes $a=(a_0,a_1,\\ldots,a_{2^n-1})$, namely\n",
+        "$\\lvert a\\rangle=\\sum_j a_j\\lvert j\\rangle$, provided\n",
+        "$\\lVert a\\rVert^2=1$.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 196,
+      "metadata": {
+        "id": "r17PSf-Rri5e"
+      },
+      "outputs": [],
+      "source": [
+        "def W(features, wires):\n",
+        "    qml.templates.state_preparations.MottonenStatePreparation(features, wires)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "a6ZPZTR_ri5e"
+      },
+      "source": [
+        "With that, we have the feature map onto the Hilbert space of the quantum\n",
+        "computer:\n",
+        "\n",
+        "$$\\lvert x_a\\rangle = S(x)W_a\\lvert0\\rangle,$$\n",
+        "\n",
+        "for a given $a$, which we will specify later.\n",
+        "\n",
+        "Accordingly, we can build the QK corresponding to this feature map as\n",
+        "\n",
+        "$$\\begin{aligned}\n",
+        "k_a(x_1,x_2) &= \\lvert\\langle0\\rvert W_a^\\dagger S^\\dagger(x_1)\n",
+        "S(x_2)W_a\\lvert0\\rangle\\rvert^2 \\\\\n",
+        "&= \\lvert\\langle0\\rvert W_a^\\dagger S(x_2-x_1) W_a\\lvert0\\rangle\\rvert^2.\n",
+        "\\end{aligned}$$\n",
+        "\n",
+        "In the code below, the variable `amplitudes` corresponds to our set $a$.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 197,
+      "metadata": {
+        "id": "IrYzJSGJri5e"
+      },
+      "outputs": [],
+      "source": [
+        "def ansatz(x1, x2, thetas, amplitudes, wires):\n",
+        "    W(amplitudes, wires)\n",
+        "    S(x1 - x2, thetas, wires)\n",
+        "    qml.adjoint(W)(amplitudes, wires)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "ettGjtOFri5f"
+      },
+      "source": [
+        "Since this kernel is by construction real-valued, we also have\n",
+        "\n",
+        "$$\\begin{aligned}\n",
+        "(k_a(x_1,x_2))^\\ast &= k_a(x_1,x_2) \\\\\n",
+        "&= \\lvert\\langle0\\rvert W_a^\\dagger S(x_1-x_2) W_a\\lvert0\\rangle\\rvert^2 \\\\\n",
+        "&= k_a(x_2,x_1).\n",
+        "\\end{aligned}$$\n",
+        "\n",
+        "Further, this QK is also shift-invariant $k_a(x_1,x_2) = k_a(x_1+\\zeta,\n",
+        "x_2+\\zeta)$ for any $\\zeta\\in\\mathbb{R}$. So we can also write it in\n",
+        "terms of the lag $\\delta=x_1-x_2$:\n",
+        "\n",
+        "$$k_a(\\delta) = \\lvert\\langle0\\rvert W_a^\\dagger\n",
+        "S(\\delta)W_a\\lvert0\\rangle\\rvert^2.$$\n",
+        "\n",
+        "So far, we only wrote the gate layout for the quantum circuit, no\n",
+        "measurement! We need a few more functions for that!\n",
+        "\n",
+        "Computing the QK function on a quantum device\n",
+        "=============================================\n",
+        "\n",
+        "Also, at this point, we need to set the number of qubits of our\n",
+        "computer. For this example, we\\'ll use the variable `n_wires`, and set\n",
+        "it to $5$.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 198,
+      "metadata": {
+        "id": "gz75loNsri5f"
+      },
+      "outputs": [],
+      "source": [
+        "n_wires = 7"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "5B6y--b7ri5f"
+      },
+      "source": [
+        "We initialize the quantum simulator:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 199,
+      "metadata": {
+        "id": "-z3_np-gri5f"
+      },
+      "outputs": [],
+      "source": [
+        "dev = qml.device(\"lightning.qubit\", wires = n_wires, shots = None)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "ukC2dTndri5f"
+      },
+      "source": [
+        "Next, we construct the quantum node:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 200,
+      "metadata": {
+        "id": "-Fa6Q-XVri5f"
+      },
+      "outputs": [],
+      "source": [
+        "@qml.qnode(dev, interface=\"autograd\", expansion_strategy='device')\n",
+        "def QK_circuit(x1, x2, thetas, amplitudes):\n",
+        "    ansatz(x1, x2, thetas, amplitudes, wires = range(n_wires))\n",
+        "    return qml.probs(wires = range(n_wires))"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "NhxAcgKDri5f"
+      },
+      "source": [
+        "Recall that the output of a QK is defined as the probability of\n",
+        "obtaining the outcome $\\lvert0\\rangle$ when measuring in the\n",
+        "computational basis. That corresponds to the $0^\\text{th}$ entry of\n",
+        "`qml.probs`:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 201,
+      "metadata": {
+        "id": "2ogz9YFrri5f"
+      },
+      "outputs": [],
+      "source": [
+        "def QK_2(x1, x2, thetas, amplitudes):\n",
+        "    return QK_circuit(x1, x2, thetas, amplitudes)[0]"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "rAcGz_CMri5f"
+      },
+      "source": [
+        "As a couple of quality-of-life improvements, we write a function that\n",
+        "implements the QK with the lag $\\delta$ as its argument, and one that\n",
+        "implements it on a given set of data:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 202,
+      "metadata": {
+        "id": "lGbvIJUrri5f"
+      },
+      "outputs": [],
+      "source": [
+        "def QK(delta, thetas, amplitudes):\n",
+        "    return QK_2(delta, 0, thetas, amplitudes)\n",
+        "\n",
+        "def QK_on_dataset(deltas, thetas, amplitudes):\n",
+        "    y = np.array([QK(delta, thetas, amplitudes) for delta in deltas])\n",
+        "    return y"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "BTLFeezOri5f"
+      },
+      "source": [
+        "This is also a good place to fix the `thetas` array, so that we don\\'t\n",
+        "forget later.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 203,
+      "metadata": {
+        "id": "8izQaBR5ri5f"
+      },
+      "outputs": [],
+      "source": [
+        "thetas = make_thetas(n_wires)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "sSMmKNfqri5f"
+      },
+      "source": [
+        "Let\\'s see how this looks like for one particular choice of\n",
+        "`amplitudes`. We need to make sure the array fulfills the normalization\n",
+        "conditions.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 204,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 497
+        },
+        "id": "LX-akk3cri5f",
+        "outputId": "7fd26f48-5101-4cd3-a9a3-b9d5510d8f1a"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAHgCAYAAAB3vm02AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABalklEQVR4nO3dd3iT5f4G8DtJm6QzbemipaW07NVKgQqyrYIDxYkDwQqoCIqnPxeKAh4VJ3KOBwVRnEfliCBORKvsKXuWWVq6S3faJk3y/v5IEygdNF1Pxv25rlzK2zfJtykkd5/n+zyvTJIkCURERESCyEUXQERERK6NYYSIiIiEYhghIiIioRhGiIiISCiGESIiIhKKYYSIiIiEYhghIiIioRhGiIiISCiGESIiIhKKYYTIDjz44IOIiopq8rne3t5tWxDV+zORyWSYP39+uzz//PnzIZPJ2uW5iERjGCGnd+TIEUyaNAnh4eFQqVQICwvDpEmTcPTo0Trnfvrpp5DJZPj7779rHS8pKcHgwYOhVquxbt26Nq+5oqIC8+fPx4YNG1r9sd9//318+umnrf64lzp69Cjmz5+PtLS0Nn0e0bZt24b58+ejuLhYdClEDo1hhJza6tWrMWDAAKSkpCApKQnvv/8+pk6dij///BMDBgzA2rVrr/gYpaWluP7663Hw4EGsWbMG48aNa/U6ly9fjtTUVOufKyoqsGDBAocOIwsWLHC6MFJZWYm5c+da/7xt2zYsWLCAYYSohdxEF0DUVk6fPo0HHngA0dHR2LRpE4KCgqxfmz17NoYPH45Jkybh4MGD6NKlS72PUVZWhrFjx2L//v1YvXo1brjhhjap1d3dvU0el1qXWq0WXQKRU+LICDmtt956CxUVFfjwww9rBREACAwMxLJly1BeXo633nqr3vuXl5dj3Lhx2Lt3L7777jvcdNNNjT5fcXExFAoF/v3vf1uPFRQUQC6Xo0OHDrj0AtkzZsxAaGio9c+X9iekpaVZ612wYAFkMlm9vQqZmZmYMGECvL29ERQUhKeeegpGo7HRGqOionDkyBFs3LjR+rijRo2q9T08+eSTiIiIgEqlQteuXfHGG2/AZDLVepxvvvkG8fHx8PHxga+vL/r164d//etfAMxTXXfddRcAYPTo0dbnaWyU5+DBg3jwwQcRHR0NtVqN0NBQPPTQQ7hw4UKt8yx9FCdOnMCkSZOg0WgQFBSEF198EZIkISMjA7feeit8fX0RGhqKd955p9b9N2zYAJlMhpUrV+L5559HaGgovLy8cMsttyAjI6PR1w6o3TMyf/58PP300wCALl26WL/PtLQ0pKWlQSaT1TsCVd/PcsuWLRg0aBDUajViYmKwbNmyBmv48ssvER8fDw8PDwQEBOCee+6pU/vJkydxxx13IDQ0FGq1Gp06dcI999yDkpKSK36PRCJwZISc1o8//oioqCgMHz683q+PGDECUVFR+PHHH/H+++/X+ppWq8UNN9yA3bt3Y9WqVbj55puv+Hx+fn7o27cvNm3ahCeeeAKA+UNGJpOhsLAQR48eRZ8+fQAAmzdvbrCuoKAgfPDBB5gxYwZuu+023H777QCA/v37W88xGo0YO3YsEhIS8Pbbb+OPP/7AO++8g5iYGMyYMaPBGhcvXozHH38c3t7eeOGFFwAAISEhAMxTQyNHjkRmZiYeeeQRREZGYtu2bZgzZw6ys7OxePFiAMDvv/+Oe++9F9deey3eeOMNAMCxY8ewdetWzJ49GyNGjMATTzyBf//733j++efRq1cvALD+tz6///47zpw5g6SkJISGhuLIkSP48MMPceTIEezYsaNOI+fEiRPRq1cvvP766/j555/xyiuvICAgAMuWLcOYMWPwxhtv4L///S+eeuopDBo0CCNGjKh1/1dffRUymQzPPvss8vLysHjxYiQmJmL//v3w8PBosM5L3X777Thx4gS+/vprvPvuuwgMDARg/vnl5+c36TEA4NChQ7j++usRFBSE+fPnw2AwYN68edafy+V1v/jii7j77rsxbdo05Ofn47333sOIESOwb98++Pn5Qa/XY+zYsdDpdHj88ccRGhqKzMxM/PTTTyguLoZGo2lybUTtRiJyQsXFxRIA6dZbb230vFtuuUUCIJWWlkqSJEmffPKJBEDq3Lmz5O7uLn3//fc2Pe/MmTOlkJAQ65+Tk5OlESNGSMHBwdIHH3wgSZIkXbhwQZLJZNK//vUv63lTpkyROnfubP1zfn6+BECaN29eneeYMmWKBEB6+eWXax2/6qqrpPj4+CvW2KdPH2nkyJF1jv/zn/+UvLy8pBMnTtQ6/txzz0kKhUJKT0+XJEmSZs+eLfn6+koGg6HB5/j2228lANJff/11xXokSZIqKirqHPv6668l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MBjw3nvvoU+fPrWmGWNiYvDKK69gzpw5SEtLw4QJE+Dj44OzZ89izZo1ePjhh/HUU0/hzz//xKxZs3DXXXehe/fuMBgM+OKLL6BQKHDHHXe07IUjaiuilvEQtZdDhw5J9913nxQaGirJ5XIJgKRWq6UjR47UOdeytHf37t11vvb2229LAKSbb75Zqq6ubvQ5g4ODJQBSbm6u9diWLVskANLw4cPrnF/fMtJt27ZJ8fHxklKprLUcdMqUKZKXl1edx7Ase72SnJwc6aabbpJ8fHwkALWW+ZaVlUlz5syRunbtKimVSikwMFAaOnSo9Pbbb0t6vV6SJElatWqVdP3110vBwcGSUqmUIiMjpUceeUTKzs6u9TzLly+XoqOjrUtUG1vme/78eem2226T/Pz8JI1GI911111SVlZWnWWwlu8xPz+/zutX32sycuRIqU+fPtY/W5b2fv3119KcOXOk4OBgycPDQ7rppptqLa21POaVlvZKknlJdHh4uPXvlmWZb0VFhTR16lRJo9FIPj4+0t133y3l5eXV+xgbN260/qyjo6OlpUuXNvjz/O6776Rhw4ZJXl5ekpeXl9SzZ09p5syZUmpqqiRJknTmzBnpoYcekmJiYiS1Wi0FBARIo0ePlv7444/6XnoiuyCTJAHdXUQCff7553jwwQcxadIkfP7556LLoXa0YcMGjB49Gt9++y3uvPNO0eUQUQ1O05DLmTx5MrKzs/Hcc8+hU6dOtaZSiIio/TGMkEt69tln8eyzz4oug4iIwNU0REREJBh7RoiIiEgojowQERGRUAwjREREJBTDCBEREQnFMEJERERCMYwQERGRUAwjREREJBTDCBEREQnFMEJERERCMYwQERGRUAwjREREJBTDCBEREQnFMEJERERCMYwQERGRUAwjREREJBTDCBEREQnFMEJERERCMYwQERGRUAwjREREJBTDCBEREQnFMEJERERCMYwQERGRUAwjREREJBTDCBEREQnFMEJERERCMYwQERGRUAwjREREJBTDCBEREQnlJrqApjCZTMjKyoKPjw9kMpnocoiIiKgJJElCWVkZwsLCIJc3PP7hEGEkKysLERERossgIiKiZsjIyECnTp0a/LpDhBEfHx8A5m/G19dXcDVERETUFKWlpYiIiLB+jjfEIcKIZWrG19eXYYSIiMjBXKnFgg2sRERE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hg0bBn9/f5w+fRovvvgiYmJinHJUxBaZmZkYNWoUOnfujLfffhv5+fnWr4WGhgqszH6kp6ejsLAQ6enpMBqN2L9/PwCga9eu8Pb2FltcO0tOTsaUKVMwcOBADB48GIsXL4ZWq0VSUpLo0uxCeXk5Tp06Zf3z2bNnsX//fgQEBCAyMlJgZeLNnDkTX331FdauXQsfHx9rn5FGo4GHh4fg6sSbM2cObrjhBkRGRqKsrAxfffUVNmzYgN9++010aQ0Tu5jH8Rw8eFAaPXq0FBAQIKlUKikqKkp69NFHpfPnz4suTbhPPvlEAlDvjcymTJlS7+vz119/iS5NiPfee0+KjIyUlEqlNHjwYGnHjh2iS7Ibf/31V71/V6ZMmSK6NOEaep/55JNPRJdmFx566CGpc+fOklKplIKCgqRrr71WWr9+veiyGsWeESIiIhLK+Sf0iYiIyK4xjBAREZFQDCNEREQkFMMIERERCcUwQkREREIxjBAREZFQDCNEREQkFMMIERERCcUwQkREREIxjBCRMDk5ObjvvvsQGhoKpVKJsLAwvP3226LLIqJ2xgvlEZEwjzzyCKqrq/HHH3/A398fubm5KC4uFl0WEbUzhhEiEkan0+HcuXPYvn07EhMTMWDAANElEZEADCNEJITBYMC4ceMwevRoaDQa/Oc//8GJEyfw1VdfwdvbW3R5RNSO2DNCRELMnj0bERERiI2NRVRUFN5++20cPHgQH3zwgejSiKidMYwQUbvbv38/vvzyS9xyyy21jms0GmRnZwuqiohEYRghonb33XffoXv37nB3d7ce02q1OHHiBPr06SOwMiISgWGEiNpdUVERtFptrWMffvghAOD2228XURIRCcQwQkTtLiEhAceOHcO7776LkydP4r333sOcOXOwZMkS+Pv7iy6PiNqZTJIkSXQRRORaJEnCa6+9ho8++ggXLlxAv3798MILL+DGG28UXRoRCcAwQkREREJxmoaIiIiEYhghIiIioRhGiIiISCiGESIiIhKKYYSIiIiEYhghIiIioRhGiIiISCiGESIiIhKKYYSIiIiEYhghIiIioRhGiIiISKj/B+G6H/kft96RAAAAAElFTkSuQmCC\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "test_features = np.asarray([1./(1+i) for i in range(2 ** n_wires)])\n",
+        "test_amplitudes = test_features / np.sqrt(np.sum(test_features ** 2))\n",
+        "\n",
+        "Y_test = QK_on_dataset(X, thetas, test_amplitudes)\n",
+        "\n",
+        "plt.plot(X, Y_test)\n",
+        "plt.xlabel(\"$\\delta$\")\n",
+        "plt.suptitle(\"QK with test amplitudes\")\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "OgIFn7w3ri5f"
+      },
+      "source": [
+        "One can see that the stationary kernel with this particular initial\n",
+        "state has a decaying spectrum that looks similar to $1/\\lvert x\\rvert$\n",
+        "--- but not yet like a Gaussian.\n",
+        "\n",
+        "How to find the amplitudes emulating a Gaussian kernel\n",
+        "======================================================\n",
+        "\n",
+        "If we knew exactly which amplitudes to choose in order to build a given\n",
+        "Fourier spectrum, our job would be done here. However, the equations\n",
+        "derived in the literature are not trivial to solve.\n",
+        "\n",
+        "As mentioned in the introduction, one could just \\\"learn\\\" this\n",
+        "relation, that is, tune the parameters of the quantum kernel in a\n",
+        "gradient-based manner until it matches the classical one.\n",
+        "\n",
+        "We want to take an intermediate route between analytical solution and\n",
+        "black-box optimization. For that, we derive an equation that links the\n",
+        "amplitudes to the spectrum we want to construct and then use\n",
+        "old-fashioned convex optimization to find the solution. If you are not\n",
+        "interested in the details, you can just jump to the last plots of this\n",
+        "demo and confirm that we can to emulate the Gaussian kernel using the\n",
+        "ansatz for our QK constructed above.\n",
+        "\n",
+        "In order to simplify the formulas, we introduce new variables, which we\n",
+        "call `probabilities` $(p_0, p_1, p_2, \\ldots, p_{2^n-1})$, and we define\n",
+        "as $p_j=\\lvert a_j\\rvert^2$. Following the normalization property above,\n",
+        "we have $\\sum_j p_j=1$. Don\\'t get too fond of them, we only need them\n",
+        "for this step! Remember we introduced the vector $a$ for the\n",
+        "`MottonenStatePreparation` as the *amplitudes* of a quantum state? Then\n",
+        "it makes sense that we call its squares *probabilities*, doesn\\'t it?\n",
+        "\n",
+        "There is a crazy formula that matches the entries of *probabilities*\n",
+        "with the Fourier series of the resulting QK function:\n",
+        "\n",
+        "$$\\begin{aligned}\n",
+        "\\text{probabilities} &\\longrightarrow \\text{Fourier coefficients} \\\\\n",
+        "\\begin{pmatrix} p_0 \\\\ p_1 \\\\ p_2 \\\\ \\vdots \\\\ p_{2^n-1} \\end{pmatrix}\n",
+        "&\\longmapsto \\begin{pmatrix} \\sum_{j=0}^{2^n-1} p_j^2 \\\\ \\sum_{j=1}^{2^n-1}\n",
+        "p_j p_{j-1} \\\\ \\sum_{j=2}^{2^n-1} p_j p_{j-2} \\\\ \\vdots \\\\ p_{2^n-1} p_0\n",
+        "\\end{pmatrix}\n",
+        "\\end{aligned}$$\n",
+        "\n",
+        "This looks a bit scary, it follows from expanding the matrix product\n",
+        "$W_a^\\dagger S(\\delta)W_a$, and then collecting terms according to\n",
+        "Fourier basis monomials. In this sense, the formula is general and it\n",
+        "applies to any shift-invariant kernel we might want to approximate, not\n",
+        "only the Gaussian kernel.\n",
+        "\n",
+        "Our goal is to find the set of $p_j$\\'s that produces the Fourier\n",
+        "coefficients of a given kernel function (in our case, the Gaussian\n",
+        "kernel), namely its spectrum $(s_0, s_1, s_2, \\ldots, s_{2^n-1})$. We\n",
+        "consider now a slightly different map $F_s$, for a given spectrum\n",
+        "$(s_0, s_1, \\ldots, s_{2^n-1})$:\n",
+        "\n",
+        "$$\\begin{aligned}\n",
+        "F_s: \\text{probabilities} &\\longrightarrow \\text{Difference between Fourier\n",
+        "coefficients} \\\\\n",
+        "\\begin{pmatrix} p_0 \\\\ p_1 \\\\ p_2 \\\\ \\vdots \\\\ p_{2^n-1} \\end{pmatrix}\n",
+        "&\\longmapsto \\begin{pmatrix} \\sum_{j=0}^{2^n-1} p_j^2 - s_0 \\\\\n",
+        "\\sum_{j=1}^{2^n-1} p_j p_{j-1} - s_1 \\\\ \\sum_{j=2}^{2^n-1} p_j\n",
+        "p_{j-2} - s_2 \\\\ \\vdots \\\\ p_{2^n-1}p_0 - s_{2^n-1} \\end{pmatrix}.\n",
+        "\\end{aligned}$$\n",
+        "\n",
+        "If you look at it again, you\\'ll see that the zero (or solution) of this\n",
+        "second map $F_s$ is precisely the array of *probabilities* we are\n",
+        "looking for. We can write down the first map as:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 205,
+      "metadata": {
+        "id": "0ISn7-M0ri5g"
+      },
+      "outputs": [],
+      "source": [
+        "def predict_spectrum(probabilities):\n",
+        "    d = len(probabilities)\n",
+        "    spectrum = []\n",
+        "    for s in range(d):\n",
+        "        s_ = 0\n",
+        "\n",
+        "        for j in range(s, d):\n",
+        "            s_ += probabilities[j] * probabilities[j - s]\n",
+        "\n",
+        "        spectrum.append(s_)\n",
+        "\n",
+        "    # This is to make the output have the same format as\n",
+        "    # the output of pennylane.fourier.coefficients\n",
+        "    for s in range(1,d):\n",
+        "        spectrum.append(spectrum[d - s])\n",
+        "\n",
+        "    return spectrum"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "4uvSCFpOri5g"
+      },
+      "source": [
+        "And then $F_s$ is just `predict_spectrum` minus the spectrum we want to\n",
+        "predict:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 206,
+      "metadata": {
+        "id": "J9nI7YSQri5g"
+      },
+      "outputs": [],
+      "source": [
+        "def F(probabilities, spectrum):\n",
+        "    d = len(probabilities)\n",
+        "    return predict_spectrum(probabilities)[:d] - spectrum[:d]"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "wlPusjMkri5g"
+      },
+      "source": [
+        "These closed-form equations allow us to find the solution numerically,\n",
+        "using Newton\\'s method! Newton\\'s method is a classical one from convex\n",
+        "optimization theory. For our case, since the formula is quadratic, we\n",
+        "rest assured that we are within the realm of convex functions.\n",
+        "\n",
+        "Finding the solution\n",
+        "====================\n",
+        "\n",
+        "In order to use Newton\\'s method we need the Jacobian of $F_s$.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 207,
+      "metadata": {
+        "id": "eSG2oU1_ri5g"
+      },
+      "outputs": [],
+      "source": [
+        "def J_F(probabilities):\n",
+        "    d = len(probabilities)\n",
+        "    J = np.zeros(shape=(d,d))\n",
+        "    for i in range(d):\n",
+        "        for j in range(d):\n",
+        "            if (i + j < d):\n",
+        "                J[i][j] += probabilities[i + j]\n",
+        "            if(i - j <= 0):\n",
+        "                J[i][j] += probabilities[j - i]\n",
+        "    return J"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "vXapzRM-ri5g"
+      },
+      "source": [
+        "Showing that this is indeed $\\nabla F_s$ is left as an exercise for the\n",
+        "reader. For Newton\\'s method, we also need an initial guess. Finding a\n",
+        "good initial guess requires some tinkering; different problems will\n",
+        "benefit from different ones. Here is a tame one that works for the\n",
+        "Gaussian kernel.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 208,
+      "metadata": {
+        "id": "-e2HIKtTri5g"
+      },
+      "outputs": [],
+      "source": [
+        "def make_initial_probabilities(d):\n",
+        "    probabilities = np.ones(d)\n",
+        "    deg = np.array(range(1, d + 1))\n",
+        "    probabilities = probabilities / deg\n",
+        "    return probabilities\n",
+        "\n",
+        "probabilities = make_initial_probabilities(2 ** n_wires)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "chLR-p8Uri5g"
+      },
+      "source": [
+        "Recall the `spectrum` we want to match is that of the periodic extension\n",
+        "of the Gaussian kernel.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 209,
+      "metadata": {
+        "id": "hhTEBWiqri5g"
+      },
+      "outputs": [],
+      "source": [
+        "spectrum = fourier_p(2 ** n_wires)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "GhwxcfU5ri5g"
+      },
+      "source": [
+        "We fix the hyperparameters for Newton\\'s method:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 210,
+      "metadata": {
+        "id": "0rLguVLbri5g"
+      },
+      "outputs": [],
+      "source": [
+        "d = 2 ** n_wires\n",
+        "max_steps = 100\n",
+        "tol = 1.e-20"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "aZtm3LFkri5g"
+      },
+      "source": [
+        "And we\\'re good to go!\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 211,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 0
+        },
+        "id": "IWVCvd_Cri5g",
+        "outputId": "3667de0c-3047-48af-c70a-ad0ddaefdcc5"
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Error norm at step  10: 1.4031301813314393e-13\n",
+            "Error norm at step  20: 5.733133931667962e-17\n",
+            "Error norm at step  30: 5.73510161996048e-17\n",
+            "Error norm at step  40: 6.397932109907197e-17\n",
+            "Error norm at step  50: 2.798523095400578e-17\n",
+            "Error norm at step  60: 3.1798007762020274e-17\n",
+            "Error norm at step  70: 1.3877791732136424e-17\n",
+            "Error norm at step  80: 3.122502437600496e-17\n",
+            "Error norm at step  90: 1.1210126190319044e-16\n",
+            "Error norm at step 100: 6.216630411247708e-17\n"
+          ]
+        }
+      ],
+      "source": [
+        "for step in range(max_steps):\n",
+        "    inc = np.linalg.solve(J_F(probabilities), -F(probabilities, spectrum))\n",
+        "    probabilities = probabilities + inc\n",
+        "    if (step+1) % 10 == 0:\n",
+        "        print(\"Error norm at step {0:3}: {1}\".format(step + 1,\n",
+        "                                               np.linalg.norm(F(probabilities,\n",
+        "                                                                spectrum))))\n",
+        "        if np.linalg.norm(F(probabilities, spectrum)) < tol:\n",
+        "            print(\"Tolerance trespassed! This is the end.\")\n",
+        "            break"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "7_6CkSZAri5g"
+      },
+      "source": [
+        "The tolerance we set was fairly low, one should expect good things to\n",
+        "come out of this. Let\\'s have a look at the solution:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 212,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 454
+        },
+        "id": "KkyGemtjri5g",
+        "outputId": "a887dc20-24e6-4e0c-ca59-d0b7ae0b7ce9"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "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l12m6dOn68SJE/X2k5WVpfDwcM8nJibG94MCAACmZ7pQdPz4cblcLkVGRnq1R0ZGyul01rtdeXm5unTpouDgYN1000167rnndMMNN3iWjxs3TuvXr5fD4dCSJUu0bds23XjjjXK5XHX2N3/+fJWXl3s+Bw8ebJ4DBAAApmTKOUW+6Nq1qwoLC3Xq1Ck5HA7Z7Xb169dP119/vSRp4sSJnnWHDBmioUOHqn///srNzdWYMWNq9RcSEsKcIwAA2hHThaKIiAgFBQWptLTUq720tFRRUVH1bme1WjVgwABJUkJCgvbu3ausrCxPKDpXv379FBERof3799cZigAAQPtiustnwcHBSkxMlMPh8LS53W45HA6lpKQ0uB+32+01UfpcX331lU6cOKHevXs3qV4AANA2mO5MkSTZ7XZNmTJFSUlJGjFihLKzs1VZWampU6dKktLT09WnTx9lZWVJOjspOikpSf3791dVVZXeeustvfjii1q5cqUk6dSpU3r00Ud1++23KyoqSgcOHNCDDz6oAQMGeN2yDwAA2i9ThqIJEybo2LFjyszMlNPpVEJCgjZv3uyZfF1SUiKr9V8nuSorK/WLX/xCX331lTp27KhBgwbppZde0oQJEyRJQUFB+uijj7Ru3TqVlZUpOjpaY8eO1aJFi5g3BAAAJJn0OUVm1JjnHAAAAHNo1c8pAgAACARCEQAAgAhFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkghFAAAAkkwcilasWKHY2FiFhobKZrNpx44d9a77+uuvKykpSd26dVPnzp2VkJCgF1980WsdwzCUmZmp3r17q2PHjkpNTVVxcXFLHwYAAGglTBmKNm7cKLvdroULF2rnzp0aNmyY0tLSdPTo0TrX79Gjh375y18qLy9PH330kaZOnaqpU6fqr3/9q2edpUuXKicnR6tWrVJ+fr46d+6stLQ0fffdd/46LAAAYGIWwzCMQBdxLpvNpuTkZC1fvlyS5Ha7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SYkee+yxZi0SAACgpfl0+eziiy9WTk6OJk2a5NX+yiuvKCMjQ8ePH2+2As2Cy2cAALQ+LX757MyZM0pKSqrVnpiYqO+//96XLgEAAALKp1B05513auXKlbXaV69ercmTJze5KAAAAH9r8Jwiu93u+dtisejXv/61tmzZopEjR0qS8vPzVVJSovT09OavEgAAoIU1OBSd++qOxMRESdKBAwcknX2ydUREhHbv3t2M5QEAAPhHg0PRO++805J1AAAABJTPzykCAABoS3x6TpEklZWV6fnnn9fevXslSVdccYWmTZum8PDwZisOAADAX3w6U/TBBx+of//+euaZZ/T111/r66+/1jPPPKP+/ftr586dzV0jAABAi/Pp4Y2jR4/WgAEDtGbNGnXocPZk0/fff6+7775bn332md59991mLzTQeHgjAACtT2N+v30KRR07dtSuXbs0aNAgr/Y9e/YoKSlJp0+fbmyXpkcoAgCg9WnxJ1qHhYWppKSkVvvBgwfVtWtXX7qsZcWKFYqNjVVoaKhsNpt27NhR77q7d+/W7bffrtjYWFksFmVnZ9da55FHHpHFYvH6nBvqAABA++VTKJowYYKmTZumjRs36uDBgzp48KA2bNigu+++u9b70HyxceNG2e12LVy4UDt37tSwYcOUlpamo0eP1rn+6dOn1a9fPy1evFhRUVH19nvllVfqyJEjns/27dubXCsAAGgbfLr77KmnnpLFYlF6errnXWcXXXSRpk+frsWLFze5qGXLlumee+7R1KlTJUmrVq3Sm2++qRdeeEHz5s2rtX5ycrKSk5Mlqc7lNTp06HDe0PRDVVVVqqqq8nyvqKhozCEAAIBWxqczRcHBwXr22Wf1zTffqLCwUIWFhZ470EJCQppUUHV1tQoKCpSamvqvIq1WpaamKi8vr0l9FxcXKzo6Wv369dPkyZPrvARYIysrS+Hh4Z5PTExMk/YNAADMrdGh6MyZMxozZoyKi4vVqVMnDRkyREOGDFGnTp2apaDjx4/L5XIpMjLSqz0yMlJOp9Pnfm02m9auXavNmzdr5cqV+vzzzzV69GidPHmyzvXnz5+v8vJyz+fgwYM+7xsAAJhfoy+fXXTRRfroo49aopYWdeONN3r+Hjp0qGw2my699FK9+uqrmjZtWq31Q0JCmnzWCwAAtB4+XT6744479Pzzzzd3LZLO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kenOFEVERCgoKEilpaVe7aWlpYqKiqpzm6ioqPOuX/O/jekzJCREYWFhXh8zcrkNr0D0w5Bkv2GgLune0XOtdsb/G+DZbsb/G+A5XdmUZfueuLFZ+mmt+zdzbYHev5lra+/7N3Ntgd6/mWsL9P79UVvN1Y66HjXjD6abUySdnWg9YsQIPffcc5LOTrTu27evZsyYUe9E69OnT+vPf/6zp+3qq6/W0KFDvSZaz507V/fff7+ks2d+evXq1aYmWp971qjme80/OMm8dxy01v2bubZA79/MtbX3/Zu5tkDv38y1BXr//qgt0HefmfLymd1u15QpU5SUlKQRI0YoOztblZWVmjp1qiQpPT1dffr0UVZWliRp1qxZuu666/T000/rpptu0oYNG/TBBx9o9erVkiSLxaLZs2fr8ccfV3x8vOeW/OjoaK/J3K3duWeNfvi95jkQNcv+ceC4JOnle0b6vCzHUay/7z/eovsw8/7NXFug92/m2tr7/s1cW6D3b+baAr1/f9SW4yiWy214La/57i+mPFMkScuXL9eTTz4pp9OphIQE5eTkyGazSZKuv/56xcbGau3atZ71X3vtNT388MP64osvFB8fr6VLl+pHP/qRZ7lhGFq4cKFWr16tsrIyjRo1Sv/zP/+jgQMHNqie1nCmCAAAeGvVt+SbFaEIAIDWp1Xfkg8AABAIhCIAAAARigAAACQRigAAACQRigAAACQRigAAACQRigAAACQRigAAACQRigAAACSZ9N1nZlTz4O+KiooAVwIAABqq5ne7IS/wIBQ10MmTJyVJMTExAa4EAAA01smTJxUeHn7edXj3WQO53W4dPnxYXbt2lcViada+KyoqFBMTo4MHD/JetXMwNvVjbOrH2NSPsakfY1O/1jw2hmHo5MmTio6OltV6/llDnClqIKvVqksuuaRF9xEWFtbq/rH5C2NTP8amfoxN/Rib+jE29WutY3OhM0Q1mGgNAAAgQhEAAIAkQpEphISEaOHChQoJCQl0KabD2NSPsakfY1M/xqZ+jE392svYMNEaAABAnCkCAACQRCgCAACQRCgCAACQRCgCAACQRCgKuBUrVig2NlahoaGy2WzasWNHoEvyu6ysLCUnJ6tr167q1auXxo8fr6KiIq91vvvuO913333q2bOnunTpottvv12lpaUBqjhwFi9eLIvFotmzZ3va2vPYHDp0SHfccYd69uypjh07asiQIfrggw88yw3DUGZmpnr37q2OHTsqNTVVxcXFAazYP1wulxYsWKC4uDh17NhR/fv316JFi7ze/dRexubdd9/VzTffrOjoaFksFm3atMlreUPG4euvv9bkyZMVFhambt26adq0aTp16pQfj6JlnG9szpw5o4ceekhDhgxR586dFR0drfT0dB0+fNirj7Y2NoSiANq4caPsdrsWLlyonTt3atiwYUpLS9PRo0cDXZpfbdu2Tffdd5/ee+89bd26VWfOnNHYsWNVWVnpWWfOnDn685//rNdee03btm3T4cOHddtttwWwav97//339b//+78aOnSoV3t7HZtvvvlG11xzjS666CL95S9/0Z49e/T000+re/funnWWLl2qnJwcrVq1Svn5+ercubPS0tL03XffBbDylrdkyRKtXLlSy5cv1969e7VkyRItXbpUzz33nGed9jI2lZWVGjZsmFasWFHn8oaMw+TJk7V7925t3bpVb7zxht59913de++9/jqEFnO+sTl9+rR27typBQsWaOfOnXr99ddVVFSkW265xWu9Njc2BgJmxIgRxn333ef57nK5jOjoaCMrKyuAVQXe0aNHDUnGtm3bDMMwjLKyMuOiiy4yXnvtNc86e/fuNSQZeXl5gSrTr06ePGnEx8cbW7duNa677jpj1qxZhmG077F56KGHjFGjRtW73O12G1FRUcaTTz7paSsrKzNCQkKMV155xR8lBsxNN91k/PznP/dqu+2224zJkycbhtF+x0aS8Yc//MHzvSHjsGfPHkOS8f7773vW+ctf/mJYLBbj0KFDfqu9pZ07NnXZsWOHIcn48ssvDcNom2PDmaIAqa6uVkFBgVJTUz1tVqtVqampysvLC2BlgVdeXi5J6tGjhySpoKBAZ86c8RqrQYMGqW/fvu1mrO677z7ddNNNXmMgte+x+dOf/qSkpCT99Kc/Va9evTR8+HCtWbPGs/zzzz+X0+n0Gpvw8HDZbLY2PzZXX321HA6H9u3bJ0n68MMPtX37dt14442S2vfY/FBDxiEvL0/dunVTUlKSZ53U1FRZrVbl5+f7veZAKi8vl8ViUbdu3SS1zbHhhbABcvz4cblcLkVGRnq1R0ZG6tNPPw1QVYHndrs1e/ZsXXPNNRo8eLAkyel0Kjg42PN/xBqRkZFyOp0BqNK/NmzYoJ07d+r999+vtaw9j81nn32mlStXym6367//+7/1/vvva+bMmQoODtaUKVM8x1/X/8fa+tjMmzdPFRUVGjRokIKCguRyufTEE09o8uTJktSux+aHGjIOTqdTvXr18lreoUMH9ejRo12N1XfffaeHHnpIkyZN8rwQti2ODaEIpnLffffpk08+0fbt2wNdiikcPHhQs2bN0tatWxUaGhrockzF7XYrKSlJv/rVryRJw4cP1yeffKJVq1ZpypQpAa4usF599VX99re/1csvv6wrr7xShYWFmj17tqKjo9v92KDxzpw5o5/97GcyDEMrV64MdDktistnARIREaGgoKBadwmVlpYqKioqQFUF1owZM/TGG2/onXfe0SWXXOJpj4qKUnV1tcrKyrzWbw9jVVBQoKNHj+qqq65Shw4d1KFDB23btk05OTnq0KGDIiMj2+3Y9O7dW1dccYVX2+WXX66SkhJJ8hx/e/z/2AMPPKB58+Zp4sSJGjJkiO68807NmTNHWVlZktr32PxQQ8YhKiqq1s0v33//vb7++ut2MVY1gejLL7/U1q1bPWeJpLY5NoSiAAkODlZiYqIcDoenze12y+FwKCUlJYCV+Z9hGJoxY4b+8Ic/6O2331ZcXJzX8sTERF100UVeY1VUVKSSkpI2P1ZjxozRxx9/rMLCQs8nKSlJkydP9vzdXsfmmmuuqfXohn379unSSy+VJMXFxSkqKsprbCoqKpSfn9/mx+b06dOyWr3/8x4UFCS32y2pfY/NDzVkHFJSUlRWVqaCggLPOm+//bbcbrdsNpvfa/anmkBUXFysv/3tb+rZs6fX8jY5NoGe6d2ebdiwwQgJCTHWrl1r7Nmzx7j33nuNbt26GU6nM9Cl+dX06dON8PBwIzc31zhy5Ijnc/r0ac86//Vf/2X07dvXePvtt40PPvjASElJMVJSUgJYdeD88O4zw2i/Y7Njxw6jQ4cOxhNPPGEUFxcbv/3tb41OnToZL730kmedxYsXG926dTP++Mc/Gh999JFx6623GnFxcca3334bwMpb3pQpU4w+ffoYb7zxhvH5558br7/+uhEREWE8+OCDnnXay9icPHnS2LVrl7Fr1y5DkrFs2TJj165dnjuoGjIO48aNM4YPH27k5+cb27dvN+Lj441JkyYF6pCazfnGprq62rjllluMSy65xCgsLPT6b3NVVZWnj7Y2NoSiAHvuueeMvn37GsHBwcaIESOM9957L9Al+Z2kOj+/+c1vPOt8++23xi9+8Quje/fuRqdOnYyf/OQnxpEjRwJXdACdG4ra89j8+c9/NgYPHmyEhIQYgwYNMlavXu213O12GwsWLDAiIyONkJAQY8yYMUZRUVGAqvWfiooKY9asWUbfvn2N0NBQo1+/fsYvf/lLrx+z9jI277zzTp3/fZkyZYphGA0bhxMnThiTJk0yunTpYoSFhRlTp041Tp48GYCjaV7nG5vPP/+83v82v/POO54+2trYWAzjB484BQAAaKeYUwQAACBCEQAAgCRCEQAAgCRCEQAAgCRCEQAAgCRCEQAAgCRCEQAAgCRCEQAAgCRCEQAAgCRCEQAAgCRCEQC0Gg888IBuvvnmQJcBtFm8+wwAmsH111+vhIQEZWdnt9g+ysrKFBQUpK5du7bYPoD2jDNFAEylurq6Ue2tSVOPoVu3bgQioAURigC0qM2bN2vUqFHq1q2bevbsqR//+Mc6cOCAZ/n111+vGTNmaPbs2YqIiFBaWlq97Rfqa/369erZs6eqqqq8ahg/frzuvPPOemt0u93KyspSXFycOnbsqGHDhul3v/udV40zZ87Ugw8+qB49eigqKkqPPPKIZ/ldd92lbdu26dlnn5XFYpHFYtEXX3xR5zH4WuPx48dlsVj0ySefnH/AAfiMUASgRVVWVsput+uDDz6Qw+GQ1WrVT37yE7ndbs8669atU3BwsP7+979r1apV9bZfqK+f/vSncrlc+tOf/uTp4+jRo3rzzTf185//vN4as7KytH79eq1atUq7d+/WnDlzdMcdd2jbtm1etXTu3Fn5+flaunSpHnvsMW3dulWS9OyzzyolJUX33HOPjhw5oiNHjigmJqbOY/C1xg8//FAhISEaNGhQQ4ceQGMZAOBHx44dMyQZH3/8sWEYhnHdddcZw4cPr7Vefe3n68swDGP69OnGjTfe6Pn+9NNPG/369TPcbnedfXz33XdGp06djH/84x9e7dOmTTMmTZrkqWXUqFFey5OTk42HHnrIq95Zs2Y16BgaW2PNOldddVW9ywE0HWeKALSo4uJiTZo0Sf369VNYWJhiY2MlSSUlJZ51EhMT69z23PaG9HXPPfdoy5YtOnTokCRp7dq1uuuuu2SxWOrcx/79+3X69GndcMMN6tKli+ezfv16r0tzQ4cO9dqud+/eOnr06AWPv65ja2yNklRYWKiEhIQL7g+A7zoEugAAbdvNN9+sSy+9VGvWrFF0dLTcbrcGDx7sNem4c+fOdW57bntD+ho+fLiGDRum9evXa+zYsdq9e7fefPPNeus7deqUJOnNN99Unz59vJaFhIR4/r7ooou8llksFq9LgPWp69gaW6N09vLZtGnTLrg/AL4jFAFoMSdOnFBRUZHWrFmj0aNHS5K2b9/e4n3dfffdys7O1qFDh5SamuqZ31OXK664QiEhISopKdF1113nU22SFBwcLJfL1eD1G1NjdXW19u7dq2HDhvlcH4ALIxQBaDHdu3dXz549tXr1avXu3VslJSWaN29ei/f1H//xH5o7d67WrFmj9evXn7ffrl27au7cuZozZ47cbrdGjRql8vJy/f3vf1dYWJimTJnSoPpiY2OVn5+vL774Ql26dFGPHj3Ou35jaty7d6/OnDlDKAJaGHOKALQYq9WqDRs2qKCgQIMHD9acOXP05JNPtnhf4eHhuv3229WlSxeNHz/+gn0vWrRICxYsUFZWli6//HKNGzdOb775puLi4hpc39y5cxUUFKQrrrhCF198sdc8p6bWWFhYqEsvvVTdunVrcD0AGo8nWgNok8aMGaMrr7xSOTk5gS6lXg2tccaMGTp69KheffVVP1UGtE+cKQLQpnzzzTf6wx/+oNzcXN13332BLqdODa3xu+++U0FBgX7/+997HmoJoOUwpwhAmzJ8+HB98803WrJkiS677LJAl1OnhtaYnZ2tJUuWaMKECUpPT/djhUD7xOUzAAAAcfkMAABAEqEIAABAEqEIAABAEqEIAABAEqEIAABAEqEIAABAEqEIAABAEqEIAABAEqEIAABAEqEIAABAkvT/ASOydkIKHw43AAAAAElFTkSuQmCC\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "plt.plot(range(d), probabilities, 'x')\n",
+        "plt.xlabel(\"array entry $j$\")\n",
+        "plt.ylabel(\"probabilities $p_j$\")\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "_DKu4aWmri5h"
+      },
+      "source": [
+        "Would you be able to tell whether this is correct? Me neither! But all\n",
+        "those probabilities being close to $0$ should make us fear some of them\n",
+        "must\\'ve turned negative. That would be fatal for us. For\n",
+        "`MottonenStatePreparation`, we\\'ll need to give `amplitudes` as one of\n",
+        "the arguments, which is the component-wise square root of\n",
+        "`probabilities`. And hence the problem! Even if they are very small\n",
+        "values, if any entry of `probabilities` is negative, the square root\n",
+        "will give `nan`. In order to avoid that, we use a simple thresholding\n",
+        "where we replace very small entries by $0$.\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 213,
+      "metadata": {
+        "id": "M_galaKeri5h"
+      },
+      "outputs": [],
+      "source": [
+        "def probabilities_threshold_normalize(probabilities, thresh = 1.e-10):\n",
+        "    d = len(probabilities)\n",
+        "    p_t = probabilities.copy()\n",
+        "    for i in range(d):\n",
+        "        if np.abs(probabilities[i] < thresh):\n",
+        "            p_t[i] = 0.0\n",
+        "\n",
+        "    p_t = p_t / np.sum(p_t)\n",
+        "\n",
+        "    return p_t"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "BloRwd9Kri5h"
+      },
+      "source": [
+        "Then, we need to take the square root:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 214,
+      "metadata": {
+        "id": "I4S2A1Hkri5h"
+      },
+      "outputs": [],
+      "source": [
+        "probabilities = probabilities_threshold_normalize(probabilities)\n",
+        "amplitudes = np.sqrt(probabilities)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "-4CLZMYvri5h"
+      },
+      "source": [
+        "A little plotting never killed nobody\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 215,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 453
+        },
+        "id": "II_QjdiAri5h",
+        "outputId": "556dc9e4-afa9-466b-af8f-e8f05fe358c7"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "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IowAABqNAQMGuH1p2+WvfXksmMfr76YBAKChrFmzRgEBAa7XAwYMUFJSknJycswrCvWOMAIAjVVeluRnlfpPrdqWny05HdLA6Q1fVwNq27at2SWgAXCZBgAaKz+rlDenPHhUlp9dvtzP6rNDr1u3Tv369VN4eLjatWune+65R998842rfcCAAZo4caImT56sNm3aKCoqSsuXL9eZM2c0duxYtW7dWjfccIP+8pe/uO13wIABmjBhgiZMmKCwsDBFRERo5syZquk7WytfSnnwwQeVn5+vRYsWyWKxyGKx6MCBA4qPj68yUpKUlKRf//rXrtdnzpzRmDFjFBISopiYGC1YsKDKsZxOp7KystS5c2e1aNFCPXv21Ntvv33Fvpo9e7a6d++uVq1aKSoqSo8++qguXLhwxe1wCWEEABqr/lOlgTPcA0lFEBk4o/oRk3py5swZZWZm6vPPP1dubq78/Px07733yul0utZ57bXXFBERoa1bt2rixIl69NFHNXz4cPXt21fbt2/XHXfcodGjR+vs2bNu+37ttdfk7++vrVu3atGiRVq4cKFeffXVK9a0aNEipaWlady4cTp69KiOHj2quLg4j87nySefVH5+vt577z399a9/1YYNG7R9+3a3dbKysrRq1SotW7ZMu3fv1pQpU/TAAw8oPz+/xv0ahiHDMPTyyy9rz549Wrlypd555x2PzgeXcJkGABqzisCRN0f6ZL7kKPN5EJGk+++/3+31ihUr1L59e+3Zs0eJiYmSpJ49e+rpp5+WJE2fPl1z585VRESExo0bJ0maNWuWXnrpJX3xxRe69dZbXfuKi4vTCy+8IIvFom7dumnnzp164YUXXNvVJCwsTIGBgWrZsqWio6M9PpfTp0/rt7/9rV5//XUNGjRIUnkguu6661zrlJaW6rnnntPf/vY3paWlSZK6dOmijRs36uWXX1b//v2r3bfFYtEzzzzjet2pUyelp6dr7969rmWbN29WXl6eZsyY4XHNzQ0jIwDQ2PWfKlkDy4OINdDnQUSS9u3bp5EjR6pLly4KDQ1VfHy8JKmwsNC1To8ePVzPrVar2rVrp+7du7uWRUVFSZJKSkrc9n3rrbfKYrG4XqelpWnfvn1yOBy+OBV98803KisrU2pqqmtZ27Zt1a1bN9frr7/+WmfPntXgwYMVEhLieqxatcrt8tTlDh48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zpQpU/TBBx/orbfeUn5+vo4cOaL77rvPxKob1meffaaXX35ZPXr0cFveXPvlxIkTuu222xQQEKC//OUv2rNnjxYsWKA2bdq41snOztaLL76oZcuWqaCgQK1atdKQIUN0/vx5Eyv3vXnz5umll17SkiVL9OWXX2revHnKzs7W4sWLXes0p745c+aMevbsqaVLl1bb7klfjBo1Srt379b69ev14Ycf6pNPPtHDDz/cUKfgM7X1zdmzZ7V9+3bNnDlT27dv15o1a7R371796Ec/cluvSfWN0Uz16dPHGD9+vOu1w+EwOnToYGRlZZlYlflKSkoMSUZ+fr5hGIZx8uRJIyAgwHjrrbdc63z55ZeGJGPLli1mldlgTp06ZXTt2tVYv3690b9/f2PSpEmGYTTvfnnqqaeMfv361djudDqN6OhoY/78+a5lJ0+eNIKCgow//vGPDVGiae6++27jZz/7mduy++67zxg1apRhGM27byQZ7777ruu1J32xZ88eQ5Lx2Wefudb5y1/+YlgsFuPw4cMNVruvXd431dm6dashyTh48KBhGE2vb5rlyEhZWZm2bdum9PR01zI/Pz+lp6dry5YtJlZmPpvNJklq27atJGnbtm26cOGCW1/deOON6tixY7Poq/Hjx+vuu+92O3+peffL+++/r5SUFA0fPlyRkZHq1auXli9f7mrfv3+/ioqK3PomLCxMqampTb5v+vbtq9zcXH311VeSpH/+85/auHGj7rrrLknNu28u50lfbNmyReHh4UpJSXGtk56eLj8/PxUUFDR4zWay2WyyWCwKDw+X1PT65pr4orz6dvz4cTkcDkVFRbktj4qK0r/+9S+TqjKf0+nU5MmTddtttykxMVGSVFRUpMDAQNd/ABWioqJUVFRkQpUN580339T27dv12WefVWlrzv3y7bff6qWXXlJmZqZ+9atf6bPPPtNjjz2mwMBAZWRkuM6/uv++mnrfTJs2TXa7XTfeeKOsVqscDofmzJmjUaNGSVKz7pvLedIXRUVFioyMdGv39/dX27Ztm1V/nT9/Xk899ZRGjhzp+rK8ptY3zTKMoHrjx4/Xrl27tHHjRrNLMd2hQ4c0adIkrV+/XsHBwWaX06g4nU6lpKToueeekyT16tVLu3bt0rJly5SRkWFydeb605/+pDfeeEN/+MMfdPPNN2vHjh2aPHmyOnTo0Oz7BnVz4cIF/eQnP5FhGHrppZfMLsdnmuVlmoiICFmt1iqffCguLlZ0dLRJVZlrwoQJ+vDDD5WXl6frrrvOtTw6OlplZWU6efKk2/pNva+2bdumkpIS3XLLLfL395e/v7/y8/P14osvyt/fX1FRUc2yXyQpJiZGCQkJbstuuukmFRYWSpLr/Jvjf19PPvmkpk2bpv/93/9V9+7dNXr0aE2ZMkVZWVmSmnffXM6TvoiOjq7yoYKLFy/qu+++axb9VRFEDh48qPXr17tGRaSm1zfNMowEBgYqOTlZubm5rmVOp1O5ublKS0szsbKGZxiGJkyYoHfffVd///vf1blzZ7f25ORkBQQEuPXV3r17VVhY2KT7atCgQdq5c6d27NjheqSkpGjUqFGu582xXyTptttuq/Lx76+++kqdOnWSJHXu3FnR0dFufWO321VQUNDk++bs2bPy83P/s2q1WuV0OiU17765nCd9kZaWppMnT2rbtm2udf7+97/L6XQqNTW1wWtuSBVBZN++ffrb3/6mdu3aubU3ub4xewatWd58800jKCjIWLlypbFnzx7j4YcfNsLDw42ioiKzS2tQjz76qBEWFmZs2LDBOHr0qOtx9uxZ1zq/+MUvjI4dOxp///vfjc8//9xIS0sz0tLSTKzaHJU/TWMYzbdftm7davj7+xtz5swx9u3bZ7zxxhtGy5Ytjddff921zty5c43w8HDjvffeM7744gvjf/7nf4zOnTsb586dM7Fy38vIyDBiY2ONDz/80Ni/f7+xZs0aIyIiwpg6daprnebUN6dOnTL+8Y9/GP/4xz8MScbChQuNf/zjH65PhHjSF3feeafRq1cvo6CgwNi4caPRtWtXY+TIkWadUr2prW/KysqMH/3oR8Z1111n7Nixw+1vc2lpqWsfTalvmm0YMQzDWLx4sdGxY0cjMDDQ6NOnj/Hpp5+aXVKDk1Tt43e/+51rnXPnzhm//OUvjTZt2hgtW7Y07r33XuPo0aPmFW2Sy8NIc+6XDz74wEhMTDSCgoKMG2+80XjllVfc2p1OpzFz5kwjKirKCAoKMgYNGmTs3bvXpGobjt1uNyZNmmR07NjRCA4ONrp06WLMmDHD7Q2kOfVNXl5etX9fMjIyDMPwrC/+85//GCNHjjRCQkKM0NBQY+zYscapU6dMOJv6VVvf7N+/v8a/zXl5ea59NKW+sRhGpVsDAgAANLBmOWcEAAA0HoQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAeODJJ5/U0KFDzS4DaJL4bhoA17wBAwYoKSlJOTk5PjvGyZMnZbVa1bp1a58dA2iuGBkB4FJWVubV8mvJ1Z5DeHg4QQTwEcII0IStW7dO/fr1U3h4uNq1a6d77rlH33zzjat9wIABmjBhgiZPnqyIiAgNGTKkxuVX2teqVavUrl07lZaWutUwbNgwjR49usYanU6nsrKy1LlzZ7Vo0UI9e/bU22+/7VbjY489pqlTp6pt27aKjo7Wr3/9a1f7gw8+qPz8fC1atEgWi0UWi0UHDhyo9hzqWuPx48dlsVi0a9eu2jscQJ0QRoAm7MyZM8rMzNTnn3+u3Nxc+fn56d5775XT6XSt89prrykwMFCbNm3SsmXLalx+pX0NHz5cDodD77//vmsfJSUlWrt2rX72s5/VWGNWVpZWrVqlZcuWaffu3ZoyZYoeeOAB5efnu9XSqlUrFRQUKDs7W88884zWr18vSVq0aJHS0tI0btw4HT16VEePHlVcXFy151DXGv/5z38qKChIN954o6ddD8AbBoBm49ixY4YkY+fOnYZhGEb//v2NXr16VVmvpuW17cswDOPRRx817rrrLtfrBQsWGF26dDGcTme1+zh//rzRsmVLY/PmzW7LH3roIWPkyJGuWvr16+fW3rt3b+Opp55yq3fSpEkenYO3NVasc8stt9TYDuDqMDICNGH79u3TyJEj1aVLF4WGhio+Pl6SVFhY6FonOTm52m0vX+7JvsaNG6e//vWvOnz4sCRp5cqVevDBB2WxWKo9xtdff62zZ89q8ODBCgkJcT1WrVrldgmoR48ebtvFxMSopKTkiudf3bl5W6Mk7dixQ0lJSVc8HoC68Te7AAC+M3ToUHXq1EnLly9Xhw4d5HQ6lZiY6DaZs1WrVtVue/lyT/bVq1cv9ezZU6tWrdIdd9yh3bt3a+3atTXWd/r0aUnS2rVrFRsb69YWFBTkeh4QEODWZrFY3C411aS6c/O2Rqn8Ms1DDz10xeMBqBvCCNBE/ec//9HevXu1fPlyff/735ckbdy40ef7+vnPf66cnBwdPnxY6enprvkb1UlISFBQUJAKCwvVv3//OtUmSYGBgXI4HB6v702NZWVl+vLLL9WzZ8861wegdoQRoIlq06aN2rVrp1deeUUxMTEqLCzUtGnTfL6vn/70p3riiSe0fPlyrVq1qtb9tm7dWk888YSmTJkip9Opfv36yWazadOmTQoNDVVGRoZH9cXHx6ugoEAHDhxQSEiI2rZtW+v63tT45Zdf6sKFC4QRwIeYMwI0UX5+fnrzzTe1bds2JSYmasqUKZo/f77P9xUWFqb7779fISEhGjZs2BX3/eyzz2rmzJnKysrSTTfdpDvvvFNr165V586dPa7viSeekNVqVUJCgtq3b+82j+Vqa9yxY4c6deqk8PBwj+sB4B3uwAqg3g0aNEg333yzXnzxRbNLqZGnNU6YMEElJSX605/+1ECVAc0PIyMA6s2JEyf07rvvasOGDRo/frzZ5VTL0xrPnz+vbdu26Z133nHdDA6AbzBnBEC96dWrl06cOKF58+apW7duZpdTLU9rzMnJ0bx58zRixAiNGTOmASsEmh8u0wAAAFNxmQYAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATPX/AwjkMSzLSoXVAAAAAElFTkSuQmCC\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "plt.plot(range(d), probabilities, '+', label = \"probability $p_j = |a_j|^2$\")\n",
+        "plt.plot(range(d), amplitudes, 'x', label = \"amplitude $a_j$\")\n",
+        "plt.xlabel(\"array entry $j$\")\n",
+        "plt.legend()\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "mYPEqUTNri5h"
+      },
+      "source": [
+        "Visualizing the solution\n",
+        "========================\n",
+        "\n",
+        "And the moment of truth! Does the solution really match the spectrum? We\n",
+        "try it first using `predict_spectrum` only\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 216,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 501
+        },
+        "id": "Q4KauVw5ri5h",
+        "outputId": "6c5be2f6-5d91-49f0-e93d-4ad3ea332713"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "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qxEREYF27dppG1aFtUlERESvHq3PAD18+BCNGjUqVt6oUSM8fPhQq7YmTZqE4OBgtG7dGm3btsXy5cuRlZWFoUOHAgCGDBmCOnXqIDy88AtB8/LycPnyZennO3fuIC4uDhYWFvD09CxXm0RERERaJ0De3t5YvXp1secBrV69Gt7e3lq1NXDgQKSlpWH27NlITk6Gj48PDhw4IE1iTkpKgoHB3yep7t69i5YtW0rLS5YswZIlS+Dv74+oqKhytUlERESk9XOAoqOj8eabb8LV1VW6rHTq1Cncvn0bP//8Mzp16lQhgVamSn0OEBEREelEhX4Vhr+/P65du4a3334b6enpSE9PR//+/REfH/9KJD9ERET06iv3GaA///wTHh4eUCgUFR2T3vEMEBERUfVTIWeAGjRogLS0NGl54MCBxW43JyIiIqoOyp0APX+i6Oeff0ZWVpbOAyIiIiKqaFrPASIiIiKq7sqdACkUimLzf+QwH4iIiIhePeV+DpAQAiEhIdJXRuTk5ODjjz+Gubm5Rr0ffvhBtxESERER6Vi5E6Dg4GCN5Q8++EDnwRARERFVhnInQJs2barIOIiIiIgqDSdBExERkewwASIiIiLZYQJEREREssMEiIiIiGSHCRARERHJDhMgIiIikh0mQERERCQ7TICIiIhIdpgAERERkewwASIiIiLZYQJEREREssMEiIiIiGSHCRARERHJDhMgIiIikh0mQERERCQ7TICIiIhIdpgAERERkewwASIiIiLZYQJEREREssMEiIiIiGSHCRARERHJDhMgIiIikh0mQERERCQ7TICIiIhIdpgAERERkewwASIiIiLZYQJEREREssMEiIiIiGSHCRARERHJDhMgIiIikh0mQERERCQ7TICIiIhIdpgAERERkewwASIiIiLZYQJEREREssMEiIiIiGSHCRARERHJDhMgIiIikh0mQERERCQ7TICIiIhIdqpEArRmzRq4u7vDxMQEfn5+OHPmTJn1d+3ahUaNGsHExATNmzfHzz//rLE+JCQECoVC49WzZ8+K3AUiIiKqRvSeAO3cuROTJk1CWFgYzp07B29vbwQGBiI1NbXE+idPnsTgwYMxfPhwnD9/Hv369UO/fv3wxx9/aNTr2bMn7t27J72+/fbbytgdIiIiqgYUQgihzwD8/PzQpk0brF69GgCgVqvh4uKC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\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "plt.plot(range(d), fourier_p(d)[:d], '+', label = \"Gaussian kernel\")\n",
+        "plt.plot(range(d), predict_spectrum(probabilities)[:d], 'x', label = \"QK predicted\")\n",
+        "plt.xlabel(\"frequency $n$\")\n",
+        "plt.ylabel(\"Fourier coefficient\")\n",
+        "plt.suptitle(\"Fourier spectrum of the Gaussian kernel\")\n",
+        "plt.legend()\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "NuxtX0Pori5h"
+      },
+      "source": [
+        "It seems like it does! But as we just said, this is still only the\n",
+        "predicted spectrum. We haven\\'t called the quantum computer at all yet!\n",
+        "\n",
+        "Let\\'s see what happens when we call the function `coefficients` on the\n",
+        "QK function we defined earlier. Good coding practice tells us we should\n",
+        "probably turn this step into a function itself, in case it is of use\n",
+        "later:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 217,
+      "metadata": {
+        "id": "Yq62OpSUri5h"
+      },
+      "outputs": [],
+      "source": [
+        "def fourier_q(d, thetas, amplitudes):\n",
+        "    def QK_partial(x):\n",
+        "        squeezed_x = qml.math.squeeze(x)\n",
+        "        return QK(squeezed_x, thetas, amplitudes)\n",
+        "    return np.real(coefficients(QK_partial, 1, d-1))"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "D7eveslLri5h"
+      },
+      "source": [
+        "And with this, we can finally visualize how the Fourier spectrum of the\n",
+        "QK function compares to that of the Gaussian kernel:\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 218,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 501
+        },
+        "id": "yatdc2-eri5h",
+        "outputId": "0ca780ee-146d-4da4-c97c-bdb6a99e4a9e"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "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X79+OH36tE6/KoSIiNRxDRARERHJDhMgIiIikh0mQERERCQ7XANEREREssMjQERERCQ7TICIiIhIdpgAERERkewwASIiIiLZYQJEREREssMEiIiIiGSHCRARERHJDhMgIiIikh0mQERERCQ7TICIiIhIdpgAERERkewwASIiIiLZYQJEREREssMEiIiIiGSHCRARERHJDhMgIiIikh0mQERERCQ7TICIiIhIdpgAERERkewwASIiIiLZYQJEREREssMEiIiIiGSHCRARERHJDhMgIiIikh0mQERERCQ7TICIiIhIdpgAERERkewY6DqAykilUuGff/6Bubk5FAqFrsMhIiKiMhBC4NGjR3BycoKeXunHeJgAFeOff/6Bs7OzrsMgIiKiF3Dr1i3UqlWr1DZMgIphbm4OoGACLSwsdBwNERERlUVGRgacnZ2lz/HSMAEqRuFpLwsLCyZAREREVUxZlq9wETQRERHJDhMgIiIikh0mQERERCQ7XANEREQvJD8/H0+ePNF1GCQj1apVg76+vlb6YgJEREQaEUIgOTkZaWlpug6FZMjKygoODg4vfZ8+JkBERKSRwuTHzs4OJiYmvGEsVQghBLKzs5GSkgIAcHR0fKn+mAAREVGZ5efnS8lPjRo1dB0OyYyxsTEAICUlBXZ2di91OoyLoImIqMwK1/yYmJjoOBKSq8J972XXnzEBIiIijfG0F+mKtvY9JkBEREQkO0yAKkJkOBA9BwCQkpGDhQeuICUjp6Auek5BPREREVUYJkAVQU8fiJwJRM9BXOotLIvZh7jUW/9LfmYW1BMREQFYt24drKysyn2c9u3bY9SoUeU+zotwc3PDokWLynUMJkAVwX880GEydpxehBFHe8DEdTVGHO2BHacXAR0mF9QTEclQkaPi5Sw5ORkjR46Eh4cHjIyMYG9vj9atW2PlypXIzs6ukBj+S69evXDlyhVdh/HK42XwFSAlIwdxtbpj+o2NUP2vTAVguq0NatTqjgYZObCzMNJliEREOpHyKBeLI66iU0P7cv89+Pfff6N169awsrLCN998gyZNmkCpVOLPP//Ed999h5o1a+Ldd98t1xjKwtjYWLrcuyrJy8uDoaGhrsMoMx4BqgCbTiai/6a9UvJTSAWB/pv2YtPJRJ3ERUQkJ0OGDIGBgQH++OMP9OzZEw0aNEDt2rXRtWtX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NA2r3PokIiKiV4/GR4AePHiA+vXrFymvX78+Hjx4oFFfY8aMQUhICJo3b46WLVti0aJFyMrKQr9+/QAAffv2Rc2aNREeXvCFoHl5ebh06ZL08507dxAbGwszMzN4eHiUqU8iIiIijRMgLy8vLFu2rMj9gJYtWwYvLy+N+urVqxdSU1MxdepUJCcnw9vbG/v27ZMWMScmJkJP79+DVP/884/ad5HNmzcP8+bNg7+/P6KiosrUJxEREZHG9wGKjo7G22+/DRcXF+m0UkxMDG7duoXffvsNbdu2LZdAK1KFfxkqERERvTRNPr81XgPk7++PK1euoHv37khLS0NaWhp69OiB+Pj4VyL5ISIioldfmY8A/f3333B3d4dCoSjvmHSOR4CIiIiqnnI5AlS3bl2kpqZKz3v16lXkcnMiIiKiqqDMCdDzB4p+++03ZGVlaT0gIiIiovKm8RogIiIioqquzAmQQqEosv5HDuuBiIiI6NVT5vsACSEQGhoqfWVETk4OPvvsM5iamqq127Fjh3YjJCIiItKyMidAISEhas8/+ugjrQdDREREVBHKnACtXbu2POMgIiIiqjBcBE1ERESywwSIiIiIZIcJEBEREckOEyAiIiKSHSZAREREJDtMgIiIiEh2mAARERGR7DABIiIiItlhAkRERESywwSIiIiIZIcJEBEREckOEyAiIiKSHSZAREREJDtMgIiIiEh2mAARERGR7DABIiIiItlhAkRERESywwSIiIiIZIcJEBEREckOEyAiIiKSHSZAREREJDtMgIiIiEh2mAARERGR7DABIiIiItlhAkRERESywwSIiIiIZIcJEBEREckOEyAiIiKSHSZAREREJDtMgIiIiEh2mAARERGR7DABIiIiItlhAkRERESywwSIiIiIZIcJEBEREckOEyAiIiKSHSZAREREJDtMgIiIiEh2mAARERGR7DABIiIiItmpFAnQ8uXL4ebmBiMjI/j6+uLUqVOltt+6dSvq168PIyMjNGnSBL/99ptafWhoKBQKhdqjc+fO5fkSiIiIqArReQK0ZcsWjBkzBmFhYTh79iy8vLwQGBiIlJSUYtsfP34cffr0wYABA3Du3Dl069YN3bp1w19//aXWrnPnzkhKSpIeP/74Y0W8HCIiIqoCFEIIocsAfH190aJFCyxbtgwAoFKp4OzsjOHDh2PixIlF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\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "plt.plot(range(d), fourier_p(d)[:d], '+', label = \"Gaussian kernel\")\n",
+        "plt.plot(range(d), predict_spectrum(probabilities)[:d], 'x', label=\"QK predicted\")\n",
+        "plt.plot(range(d), fourier_q(d, thetas, amplitudes)[:d], '.', label = \"QK computer\")\n",
+        "plt.xlabel(\"frequency $n$\")\n",
+        "plt.ylabel(\"Fourier coefficient\")\n",
+        "plt.suptitle(\"Fourier spectrum of the Gaussian kernel\")\n",
+        "plt.legend()\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "19xtvDnvri5h"
+      },
+      "source": [
+        "It seems it went well! Matching spectra should mean matching kernel\n",
+        "functions, right?\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 219,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 449
+        },
+        "id": "7jnQ5MT1ri5h",
+        "outputId": "8f179d1a-dc58-44c5-fa53-97de047661e7"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "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0AGAdu2O/fuUmJhIYmJi1fUnn3ySTz/9lP/973+HFYPzzjuP2267DYAHHniAl156iXnz5h3xM//Z5MmTeeihh/jiiy84++yzAZg5cyYul4vXX3+9qphNnz6d0NBQ5s+fz+DBlXPFBQYG8vrrr+NwVJ6v6rctPffeey/nn38+UDkB6hlnnMGWLVvo0KEDEyZM4Oqrr656jdu1a8e///1vzj77bKZMmVJnM9ur5IiIcRkrv6JFWToFlh/tz7/DdJwjFR8if8V/adT3BrAZGgwtp2zJkiW4XC6uvvpqSktLq5Z/9913TJgwgQ0bNpCXl0dFRQUlJSUUFRUREBBwwscNDw/nb3/7G0OGDGHQoEGkpKRwxRVX0KxZMwDGjh3LDTfcwDvvvENKSgqXX355VRn6s4KCAh577DFmzZrFvn37qKiooLi4+IgtOV26dKn63mazERUVxf79+4+b86OPPmL//v389NNP9OzZs2r5qlWr2LJlC40aNTps/ZKSErZu/f2ows6dO1cVnGNl+e1n3r9/Px06dGDVqlWsXr26arcYgGVZuFwu0tPTDyuDtUklR0SMy/xlPlHAouBhDI5tYTrOYcrLSil8oRuhzhwy/KOJ6na+6Uhm/WPvsW+z/emcRvcdZyyT7U+jJe5ec+qZftW2bVtsNtsRu29at24NVA72/c327du54IILuPXWW3n66acJDw/nxx9/5Prrr6esrIyAgADsdvsRk7WWl5cfdn369OnceeedfPPNN8ycOZOHH36YOXPm0KdPHx577DGuuuoqZs2axddff8348eOZMWMGF1988RHZ7733XubMmcMLL7xA27Zt8ff357LLLjtioO+fd3fZbDZcLtdxX5euXbuyYsUK3nzzTXr06FG11aagoIDu3bsfVkR+06TJ73PFHWvX3x+z/PaYv2UpKCjg5ptv5s477zzifrGxscfNW5NUckTEuMRRz7N93RW0dgSbjnIEH4cvSwLOYnD+p+TP+7dKjuPob3h1uu4xREREMGjQICZNmsQdd9xxzDdngOXLl+NyuXjxxRex2ysL14cffnjYOk2aNCEjIwPLsqrexNPS0o54rK5du9K1a1fGjRtHcnIy77//Pn36VI7jio+PJz4+nnvuuYeRI0cyffr0o5acn376ib/97W9VtxUUFBw2APh0tGnThhdffJEBAwbg5eXFpEmVp0Xo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\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "Y_learned = QK_on_dataset(X, thetas, amplitudes)\n",
+        "Y_truth = [Gauss_p(x_) for x_ in X]\n",
+        "\n",
+        "plt.plot(X, Y_learned, '-.', label = \"QK\")\n",
+        "plt.plot(X, Y_truth, '--', label = \"Gaussian kernel\")\n",
+        "plt.xlabel(\"$\\delta$\")\n",
+        "plt.ylabel(\"$k(\\delta)$\")\n",
+        "plt.legend()\n",
+        "plt.show();"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "Z9Q0gTj6ri5h"
+      },
+      "source": [
+        "Yeah! We did it!\n",
+        "\n",
+        "![](../demonstrations/classical_kernels/salesman.PNG){.align-center\n",
+        "width=\"70.0%\"}\n",
+        "\n",
+        "References\n",
+        "==========\n",
+        "\n",
+        "About the author\n",
+        "================\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "seconds = time.time()\n",
+        "print(\"Time in seconds since end of run:\", seconds)\n",
+        "local_time = time.ctime(seconds)\n",
+        "print(local_time)"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 0
+        },
+        "id": "xyePlxC6rqje",
+        "outputId": "d5d36912-b509-43d7-cab5-4a1f590b4973"
+      },
+      "execution_count": 220,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Time in seconds since end of run: 1700510369.4254823\n",
+            "Mon Nov 20 19:59:29 2023\n"
+          ]
+        }
+      ]
+    }
+  ],
+  "metadata": {
+    "kernelspec": {
+      "display_name": "Python 3",
+      "language": "python",
+      "name": "python3"
+    },
+    "language_info": {
+      "codemirror_mode": {
+        "name": "ipython",
+        "version": 3
+      },
+      "file_extension": ".py",
+      "mimetype": "text/x-python",
+      "name": "python",
+      "nbconvert_exporter": "python",
+      "pygments_lexer": "ipython3",
+      "version": "3.9.17"
+    },
+    "colab": {
+      "provenance": []
+    }
+  },
+  "nbformat": 4,
+  "nbformat_minor": 0
+}
\ No newline at end of file