{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "gloss": {
     "computational-basis-state": {
      "text": "Also known as Z-basis states, these are the states we measure when we measure in the Z (or 'computational') basis. These are the states with labels like |00〉 and |00110100〉. IBM systems always measure in the Z-basis.",
      "title": "computational basis state"
     },
     "features": {
      "text": "A feature is a property of the things we're trying to learn about that we can assign a number to. If we were learning something about cats, the features might be \"height\" or \"age\" or \"propensity to consume treats\".",
      "title": "features"
     },
     "unitary": {
      "text": "A unitary operation is a reversible operation that preserves the norm (i.e. makes sure our probabilities always sum to 1). <a href='https://en.wikipedia.org/wiki/Unitary_matrix'>Read more</a>.",
      "title": "unitary"
     }
    },
    "id": "UZF_2zRBNKKu"
   },
   "source": "# Data encoding\n\nIn this page, we will introduce the problem of data encoding for quantum machine learning, then describe and implement various data encoding methods."
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "yIP2dJQQNKKz"
   },
   "source": "## Introduction\n\nData representation is crucial for the success of machine learning models. For classical machine learning, the problem is how to represent the data numerically, so that it can be best processed by a classical machine learning algorithm.\n\nFor quantum machine learning, this question is similar, but more fundamental: how to represent and efficiently input the data into a quantum system, so that it can be processed by a quantum machine learning algorithm. This is usually referred to as data *encoding*, but is also called data *embedding* or *loading*.\n\nThis process is a critical part of quantum machine learning algorithms and directly affects their computational power."
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "formulas": {
     "_ket-dataset": {
      "meaning": "This is a quantum statevector that represents our dataset, 𝒳.",
      "say": "Ket script X"
     },
     "_ket-x": {
      "meaning": "This vertical bar and angled bracket mean we're referring to a <a href='https://en.wikipedia.org/wiki/Bra%E2%80%93ket_notation'>ket</a> (column vector) with label 'x'.",
      "say": "Ket x"
     },
     "_m": {
      "meaning": "This is the number of entries in our dataset."
     },
     "_sum-m": {
      "meaning": "This notation means we add together |x<sup>m</sup>〉 (the m<sup>th</sup> element of our dataset) for all values of m between 1 and M (i.e., the entire dataset).",
      "say": "Sum of all computational basis states in our dataset (𝒳)"
     },
     "_x-lil-m": {
      "meaning": "This is the m<sup>th</sup> element of the dataset. It is an N-dimensional vector. Here, the 'm' is just used to mean \"any number between 1 and M\"",
      "say": "X little-M"
     },
     "brace": {
      "meaning": "These curly brackets (braces) mean everything inside the brackets forms a <a href='https://en.wikipedia.org/wiki/Set_(mathematics)'>set</a>.",
      "say": "Brace (or \"curly bracket\")",
      "type": "Universal notation"
     },
     "ellipsis": {
      "meaning": "These dots omit things where the pattern can be implied.",
      "say": "Ellipsis",
      "type": "Universal notation"
     },
     "in": {
      "meaning": "This symbol means the things to the left of the symbol are contained in the set to the right of the symbol.",
      "say": "In",
      "type": "Universal notation"
     },
     "script-x": {
      "meaning": "This is a symbol we’ve chosen to represent our dataset.",
      "say": "Script X",
      "type": "Locally defined variable"
     }
    },
    "id": "SEzY7nEVNKK0"
   },
   "source": "## Methods\n\nLet's consider a classical dataset $\\mathscr{X}$ consisting of $M$ samples, each with $N$ [features](gloss:features):\n\n$$\\class{script-x}{\\mathscr{X}} = \\class{brace}{\\{}x^{(1)},\\class{ellipsis}{\\dots},\\cssId{_x-lil-m}{x^{(m)}},\\dots,x^{(M)}\\class{brace}{\\}}$$\n\nwhere $x^{(m)}$ is an $N$ dimensional vector for $m = 1, ..., M$. To represent this dataset in a qubit system, we can use various embedding techniques, some of which are briefly explained and implemented below, as per References [1](#References) and  [2](#References)."
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "RbLJ-XT0NKK0"
   },
   "source": "### Basis encoding\n\nBasis encoding associates a classical $N$-bit string with a [computational basis state](gloss:computational-basis-state) of a $N$-qubit system. For example, if $x = 5$, this can be represented as a $4$-bit string as $0101$, and by a $4$-qubit system as the quantum state $|0101\\rangle$. More generally, for an $N$-bit string: $x = (b_1, b_2, ... , b_N)$, the corresponding $N$-qubit state is $\\cssId{ket-x}{| x \\rangle} = | b_1, b_2, ... , b_N \\rangle$ with $b_n \\class{in}{\\in} \\{0,1\\}$ for $n = 1 , \\dots , N$.\n\nFor the classical dataset $\\mathscr{X}$ described above, to use basis encoding, each data point must be a $N$-bit string: $x^{(m)} = (b_1, b_2, ... , b_N)$, which then can be mapped directly to the quantum state $|x^{m}\\rangle = |b_1, b_2, ... , b_N \\rangle$ with $b_n \\in \\{0, 1 \\} $ for $n = 1, ...,  N$ and $m = 1, ..., M$. We can represent the entire dataset as superpositions of computational basis states:\n\n$$\\cssId{_ket-dataset}{| \\mathscr{X} \\rangle} = \\frac{1}{\\sqrt{\\cssId{_m}{M}}}\\cssId{_sum-m}{\\sum_{m=1}^{M}|x^{m} \\rangle} $$\n\n<!-- ::: q-block -->\n\n### Basis encoding\n\n    q-statevector-binary-encoding\n      p Add/remove bit strings to/from our input dataset on the left to see how basis encoding encodes this in the state vector on the right.\n\n<!-- ::: -->\n\nIn Qiskit, once we calculate what state will encode our dataset, we can use the `initialize` function to prepare it. For example, the dataset $\\mathscr{X} = \\{x^{(1)}=101, x^{(2)}=111\\}$ is encoded as the state $|\\mathscr{X}\\rangle= \\frac{1}{\\sqrt{2}}(|101\\rangle+|111\\rangle)$:"
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "id": "LBVMr-9vNKK1",
    "executionInfo": {
     "status": "error",
     "timestamp": 1787112536379,
     "user_tz": -180,
     "elapsed": 542,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     }
    },
    "outputId": "1ecc2b95-a511-46f5-f333-6152d7c4ccae",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 378
    }
   },
   "outputs": [
    {
     "output_type": "error",
     "ename": "ModuleNotFoundError",
     "evalue": "No module named 'qiskit'",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_1091/2242919659.py\u001b[0m in \u001b[0;36m<cell line: 0>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmath\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mqiskit\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mQuantumCircuit\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m desired_state = [\n\u001b[1;32m      5\u001b[0m     \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'qiskit'",
      "",
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0;32m\nNOTE: If your import is failing due to a missing package, you can\nmanually install dependencies using either !pip or !apt.\n\nTo view examples of installing some common dependencies, click the\n\"Open Examples\" button below.\n\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n"
     ],
     "errorDetails": {
      "actions": [
       {
        "action": "open_url",
        "actionText": "Open Examples",
        "url": "/notebooks/snippets/importing_libraries.ipynb"
       }
      ]
     }
    }
   ],
   "source": "import math\nfrom qiskit import QuantumCircuit\n\ndesired_state = [\n    0,\n    0,\n    0,\n    0,\n    0,\n    1 / math.sqrt(2),\n    0,\n    1 / math.sqrt(2)]\n\nqc = QuantumCircuit(3)\nqc.initialize(desired_state, [0,1,2])\nqc.decompose().decompose().decompose().decompose().decompose().draw()"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "GOEOsSR_NKK5"
   },
   "source": "This example illustrates a couple of disadvantages of basis encoding. While it is simple to understand, the state vectors can become quite sparse, and schemes to implement it are usually not efficient."
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "formulas": {
     "_a-norm": {
      "meaning": "This is a normalization constant. We can calculate it from the inverse of the Euclidean (l2) norm of the datapoint vector.",
      "say": "A norm"
     }
    },
    "id": "XDY6evGsNKK6"
   },
   "source": "### Amplitude encoding\n\nAmplitude encoding encodes data into the amplitudes of a quantum state. It represents a normalised classical $N$-dimensional data point, $x$, as the amplitudes of a $n$-qubit quantum state, $|\\psi_x\\rangle$:\n\n$$|\\psi_x\\rangle = \\sum_{i=1}^N x_i |i\\rangle$$\n\nwhere $N = 2^n$, $x_i$ is the $i^{th}$ element of $x$ and $|i\\rangle$ is the $i^{th}$ computational basis state.\n\nTo encode the classical dataset $\\mathscr{X}$ described above, we concatenate all $M$ $N$-dimensional data points into one amplitude vector, of length $N \\times M$:\n\n$$\\alpha=\\cssId{_a-norm}{A_{\\text{norm}}}(x_{1}^{(1)},...,x_{N}^{(1)},...,x_{1}^{(m)},...,x_{N}^{(m)},...,x_{1}^{(M)},...,x_{N}^{(M)})$$\n\nwhere $A_{\\text{norm}}$ is a normalisation constant, such that $|\\alpha|^2 = 1$. The dataset $\\mathscr{X}$ can now be represented in the computational basis as:\n\n$$|\\mathscr{X}\\rangle = \\sum_{i=1}^N \\alpha_i |i\\rangle$$\n\nwhere $\\alpha_i$ are elements of the amplitude vector and $|i\\rangle$ are the computational basis states. The number of amplitudes to be encoded is $N \\times M$.  As a system of $n$ qubits provides $2^n$ amplitudes, amplitude embedding requires $n \\ge \\mathrm{log}_2(NM)$ qubits.\n\n<!-- ::: q-block -->\n\n### Amplitude encoding\n\n    q-statevector-amplitude-encoding\n      p Change the values of the data points on the left, and see how amplitude encoding encodes these as a state vector on the right.\n\n<!-- ::: -->\n\nAs an example, let's encode the dataset $\\mathscr{X}= \\{x^{(1)}=(1.5,0), x^{(2)}=(-2,3)\\}$ using amplitude encoding. Concatenating both data points and normalizing the resulting vector, we get:\n\n$$\\alpha = \\frac{1}{\\sqrt{15.25}}(1.5,0,-2,3)$$\n\nand the resulting 2-qubit quantum state would be:\n\n$$|\\mathscr{X}\\rangle = \\frac{1}{\\sqrt{15.25}}(1.5|00\\rangle-2|10\\rangle+3|11\\rangle)$$\n\nIn the example above, the total number of elements of the amplitude vector, $N \\times M$, is a power of 2. When $N \\times M$ is not a power of 2, we can simply choose a value for $n$ such that $2^n\\geq MN$ and pad the amplitude vector with uninformative constants.\n\nLike in basis encoding, once we calculate what state will encode our dataset, in Qiskit we can use the `initialize` function to prepare it:"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "W5abUoquNKK6",
    "outputId": "c02f7550-bcb1-4d9a-958c-6344752f16de"
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg width=\"451.8pt\" height=\"125.65pt\" version=\"1.1\" viewBox=\"0 0 451.8 125.65\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><defs><style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style></defs><path d=\"m0 125.65h451.8v-125.65h-451.8z\" fill=\"#ffffff\"/><path d=\"m64.497 44.283h375.47\" clip-path=\"url(#p0a02ced3e1)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.497 90.637h375.47\" clip-path=\"url(#p0a02ced3e1)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m228.59 90.637v-46.354\" clip-path=\"url(#p0a02ced3e1)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m367.65 90.637v-46.354\" clip-path=\"url(#p0a02ced3e1)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m74.463 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#121619\" stroke=\"#121619\" stroke-width=\"1.5\"/><path d=\"m74.463 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#121619\" stroke=\"#121619\" stroke-width=\"1.5\"/><path d=\"m120.82 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m117.05 105.7h37.667v-30.13h-37.667z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m167.17 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#9f1853\" stroke=\"#9f1853\" stroke-width=\"1.5\"/><path d=\"m228.59 95.157c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958s-0.4762-2.3482-1.3237-3.1958c-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958s0.4762 2.3482 1.3237 3.1958c0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m228.59 54.829c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m259.01 59.348h31.873v-30.13h-31.873z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m306.23 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m367.65 95.157c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958s-0.4762-2.3482-1.3237-3.1958c-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958s0.4762 2.3482 1.3237 3.1958c0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m367.65 54.829c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m398.94 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p0a02ced3e1)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(37.189 48.734) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-Oblique-71\" transform=\"scale(.015625)\" d=\"m2669 525q-231-303-546-460-314-156-695-156-531 0-833 358-301 358-301 986 0 506 186 978t533 847q225 244 517 375t614 131q387 0 637-153t363-462l100 525h578l-934-4813h-579l360 1844zm-1778 813q0-463 193-705 194-242 560-242 544 0 928 520t384 1264q0 450-199 689-198 239-569 239-272 0-504-127-231-126-403-370-181-256-286-600-104-343-104-668z\"/><path id=\"DejaVuSans-30\" transform=\"scale(.015625)\" d=\"m2034 4250q-487 0-733-480-245-479-245-1442 0-959 245-1439 246-480 733-480 491 0 736 480 246 480 246 1439 0 963-246 1442-245 480-736 480zm0 500q785 0 1199-621 414-620 414-1801 0-1178-414-1799-414-620-1199-620-784 0-1198 620-414 621-414 1799 0 1181 414 1801 414 621 1198 621z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-30\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(37.189 95.088) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-31\" transform=\"scale(.015625)\" d=\"m794 531h1031v3560l-1122-225v575l1116 225h631v-4135h1031v-531h-2687v531z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-31\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(80.623 47.728) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-7c\" transform=\"scale(.015625)\" d=\"m1344 4891v-6400h-531v6400h531z\"/><path id=\"DejaVuSans-27e9\" transform=\"scale(.015625)\" d=\"m1925 2006-881-2850h-531l881 2850-881 2850h531l881-2850z\"/></defs><use transform=\"translate(0 .57812)\" xlink:href=\"#DejaVuSans-7c\"/><use transform=\"translate(33.691 .57812)\" xlink:href=\"#DejaVuSans-30\"/><use transform=\"translate(97.314 .57812)\" xlink:href=\"#DejaVuSans-27e9\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(80.623 94.082) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .57812)\" xlink:href=\"#DejaVuSans-7c\"/><use transform=\"translate(33.691 .57812)\" xlink:href=\"#DejaVuSans-30\"/><use transform=\"translate(97.314 .57812)\" xlink:href=\"#DejaVuSans-27e9\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(124.43 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-2e\" transform=\"scale(.015625)\" d=\"m684 794h660v-794h-660v794z\"/><path id=\"DejaVuSans-39\" transform=\"scale(.015625)\" d=\"m703 97v575q238-113 481-172 244-59 479-59 625 0 954 420 330 420 377 1277-181-269-460-413-278-144-615-144-700 0-1108 423-408 424-408 1159 0 718 425 1152 425 435 1131 435 810 0 1236-621 427-620 427-1801 0-1103-524-1761-523-658-1407-658-238 0-482 47-243 47-506 141zm1256 1978q425 0 673 290 249 291 249 798 0 503-249 795-248 292-673 292t-673-292-248-795q0-507 248-798 248-290 673-290z\"/><path id=\"DejaVuSans-38\" transform=\"scale(.015625)\" d=\"m2034 2216q-450 0-708-241-257-241-257-662 0-422 257-663 258-241 708-241t709 242q260 243 260 662 0 421-258 662-257 241-711 241zm-631 268q-406 100-633 378-226 279-226 679 0 559 398 884 399 325 1092 325 697 0 1094-325t397-884q0-400-227-679-226-278-629-378 456-106 710-416 255-309 255-755 0-679-414-1042-414-362-1186-362-771 0-1186 362-414 363-414 1042 0 446 256 755 257 310 713 416zm-231 997q0-362 226-565 227-203 636-203 407 0 636 203 230 203 230 565 0 363-230 566-229 203-636 203-409 0-636-203-226-203-226-566z\"/><path id=\"DejaVuSans-33\" transform=\"scale(.015625)\" d=\"m2597 2516q453-97 707-404 255-306 255-756 0-690-475-1069-475-378-1350-378-293 0-604 58t-642 174v609q262-153 574-231 313-78 654-78 593 0 904 234t311 681q0 413-289 645-289 233-804 233h-544v519h569q465 0 712 186t247 536q0 359-255 551-254 193-729 193-260 0-557-57-297-56-653-174v562q360 100 674 150t592 50q719 0 1137-327 419-326 419-882 0-388-222-655t-631-370z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-39\"/><use x=\"159.033203\" xlink:href=\"#DejaVuSans-38\"/><use x=\"222.65625\" xlink:href=\"#DejaVuSans-33\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(128.34 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-52\" transform=\"scale(.015625)\" d=\"m2841 2188q203-69 395-294t386-619l641-1275h-679l-596 1197q-232 469-449 622t-592 153h-688v-1972h-631v4666h1425q800 0 1194-335 394-334 394-1009 0-441-205-732-205-290-595-402zm-1582 1959v-1656h794q456 0 689 211t233 620-233 617-689 208h-794z\"/><path id=\"DejaVuSans-59\" transform=\"scale(.015625)\" d=\"m-13 4666h679l1293-1919 1285 1919h678l-1650-2444v-2222h-634v2222l-1651 2444z\"/></defs><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(118.24 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-32\" transform=\"scale(.015625)\" d=\"m1228 531h2203v-531h-2962v531q359 372 979 998 621 627 780 809 303 340 423 576 121 236 121 464 0 372-261 606-261 235-680 235-297 0-627-103-329-103-704-313v638q381 153 712 231 332 78 607 78 725 0 1156-363 431-362 431-968 0-288-108-546-107-257-392-607-78-91-497-524-418-433-1181-1211z\"/><path id=\"DejaVuSans-35\" transform=\"scale(.015625)\" d=\"m691 4666h2478v-532h-1900v-1143q137 47 274 70 138 23 276 23 781 0 1237-428 457-428 457-1159 0-753-469-1171-469-417-1322-417-294 0-599 50-304 50-629 150v635q281-153 581-228t634-75q541 0 856 284 316 284 316 772 0 487-316 771-315 285-856 285-253 0-505-56-251-56-513-175v2344z\"/><path id=\"DejaVuSans-2c\" transform=\"scale(.015625)\" d=\"m750 794h659v-538l-512-1e3h-403l256 1e3v538z\"/><path id=\"DejaVuSans-Oblique-3c0\" transform=\"scale(.015625)\" d=\"m584 3500h3354l-113-575h-441l-418-2150q-44-225 15-325 57-97 228-97 47 0 116 10 72 6 94 9l-81-416q-116-40-235-59-122-19-237-19-375 0-478 203-104 207 3 757l406 2087h-1291l-568-2925h-588l569 2925h-447l112 575z\"/><path id=\"DejaVuSans-2f\" transform=\"scale(.015625)\" d=\"m1625 4666h531l-1625-5260h-531l1625 5260z\"/></defs><use transform=\"translate(0 .78125)\" xlink:href=\"#DejaVuSans-32\"/><use transform=\"translate(63.623 .78125)\" xlink:href=\"#DejaVuSans-2e\"/><use transform=\"translate(95.41 .78125)\" xlink:href=\"#DejaVuSans-33\"/><use transform=\"translate(159.03 .78125)\" xlink:href=\"#DejaVuSans-35\"/><use transform=\"translate(222.66 .78125)\" xlink:href=\"#DejaVuSans-2c\"/><use transform=\"translate(254.44 .78125)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(286.23 .78125)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(346.44 .78125)\" xlink:href=\"#DejaVuSans-2f\"/><use transform=\"translate(376.5 .78125)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(131.37 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-52\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(176.08 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><use transform=\"translate(0 .78125)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(60.205 .78125)\" xlink:href=\"#DejaVuSans-2f\"/><use transform=\"translate(90.271 .78125)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(174.31 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-55\" transform=\"scale(.015625)\" d=\"m556 4666h635v-2835q0-750 271-1080 272-329 882-329 606 0 878 329 272 330 272 1080v2835h634v-2913q0-912-452-1378-451-466-1332-466-885 0-1337 466-451 466-451 1378v2913z\"/></defs><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-55\"/><use transform=\"translate(74.15 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-31\"/></g></g><path d=\"m228.59 50.309v-12.052\" clip-path=\"url(#p0a02ced3e1)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m222.56 44.283h12.052\" clip-path=\"url(#p0a02ced3e1)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(260.1 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-2212\" transform=\"scale(.015625)\" d=\"m678 2272h4006v-531h-4006v531z\"/></defs><use transform=\"translate(0 .78125)\" xlink:href=\"#DejaVuSans-2212\"/><use transform=\"translate(83.789 .78125)\" xlink:href=\"#DejaVuSans-30\"/><use transform=\"translate(147.41 .78125)\" xlink:href=\"#DejaVuSans-2e\"/><use transform=\"translate(179.2 .78125)\" xlink:href=\"#DejaVuSans-39\"/><use transform=\"translate(242.82 .78125)\" xlink:href=\"#DejaVuSans-38\"/><use transform=\"translate(306.45 .78125)\" xlink:href=\"#DejaVuSans-33\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(267.4 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(315.14 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><use transform=\"translate(0 .78125)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(60.205 .78125)\" xlink:href=\"#DejaVuSans-2f\"/><use transform=\"translate(90.271 .78125)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(313.37 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-5a\" transform=\"scale(.015625)\" d=\"m359 4666h3666v-482l-2950-3653h3022v-531h-3809v481l2950 3653h-2879v532z\"/></defs><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><path d=\"m367.65 50.309v-12.052\" clip-path=\"url(#p0a02ced3e1)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m361.63 44.283h12.052\" clip-path=\"url(#p0a02ced3e1)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(404.49 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><use transform=\"translate(0 .78125)\" xlink:href=\"#DejaVuSans-2212\"/><use transform=\"translate(83.789 .78125)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(143.99 .78125)\" xlink:href=\"#DejaVuSans-2f\"/><use transform=\"translate(174.06 .78125)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#p0a02ced3e1)\"><g transform=\"translate(406.08 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><defs><clipPath id=\"p0a02ced3e1\"><rect x=\"7.2\" y=\"7.2\" width=\"437.4\" height=\"111.25\"/></clipPath></defs></svg>"
      ],
      "text/plain": [
       "<Figure size 788.961x200.667 with 1 Axes>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": "desired_state = [\n    1 / math.sqrt(15.25) * 1.5,\n    0,\n    1 / math.sqrt(15.25) * -2,\n    1 / math.sqrt(15.25) * 3]\n\nqc = QuantumCircuit(2)\nqc.initialize(desired_state, [0,1])\n\nqc.decompose().decompose().decompose().decompose().decompose().draw()"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "i9XYzjJaNKK7"
   },
   "source": "The advantage of amplitude encoding is that it only requires $\\mathrm{log}_2(NM)$ qubits to encode. However, subsequent algorithms must operate on the amplitudes of a quantum state, and methods to prepare and measure the quantum states tend not to be efficient."
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "formulas": {
     "_big-o-times-n": {
      "meaning": "This represents the tensor product operation over N qubits.",
      "say": "big o-times"
     },
     "_big-o-times-n2": {
      "meaning": "This represents the tensor product operation over N/2 qubits.",
      "say": "big o-times"
     }
    },
    "id": "vUj3gFvvNKK7"
   },
   "source": "### Angle encoding\n\nAngle encoding encodes $N$ features into the rotation angles of $n$ qubits, where $N \\le n$. For example, the data point $x = (x_1,...,x_N)$ can be encoded as:\n\n$$\\cssId{_}{|x\\rangle} = \\class{_big-o-times-n}{\\bigotimes^N_{i=1}} \\cos(x_i)|0\\rangle + \\sin(x_i)|1\\rangle$$\n\nThis is different from the previous two encoding methods, as it only encodes one data point at a time, rather than a whole dataset. It does, however, only require N qubits or less and a constant depth quantum circuit, making it amenable to current quantum hardware.\n\nWe can specify angle encoding as a [unitary](gloss:unitary):\n\n$$ S_{x_j} = \\class{_big-o-times-n}{\\bigotimes_{i=1}^N} U(x_j^{(i)}) $$\n\nwhere:\n\n$$\nU(x_j^{(i)}) = \\begin{bmatrix} \\cos(x_j^{(i)}) & -\\sin(x_j^{(i)}) \\\\ \\sin(x_j^{(i)}) & \\cos(x_j^{(i)}) \\\\ \\end{bmatrix}\n$$\n\nRemembering that a single-qubit rotation around the $Y$-axis is:\n\n$$RY(\\theta) = \\exp(-i \\frac{\\theta}{2} Y) = \\begin{pmatrix} \\cos{\\frac{\\theta}{2}} & -\\sin{\\frac{\\theta}{2}} \\\\ \\sin{\\frac{\\theta}{2}} & \\cos{\\frac{\\theta}{2}} \\end{pmatrix} $$            \n            \nWe note that $U(x_j^{(i)}) = RY(2x_j^{(i)})$, and as an example, encode the data point $x = (0, \\pi/4, \\pi/2)$ using Qiskit:"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "zZuCZ1zKNKK8",
    "outputId": "3f8f0a87-adc9-4f0e-a35a-ac9e6c3a7768"
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg width=\"127.43pt\" height=\"172pt\" version=\"1.1\" viewBox=\"0 0 127.43 172\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><defs><style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style></defs><path d=\"m0 172h127.43v-172h-127.43z\" fill=\"#ffffff\"/><path d=\"m64.609 44.283h50.989\" clip-path=\"url(#p8fe790fd4b)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 90.637h50.989\" clip-path=\"url(#p8fe790fd4b)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 136.99h50.989\" clip-path=\"url(#p8fe790fd4b)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m74.575 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p8fe790fd4b)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m74.575 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#p8fe790fd4b)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m74.575 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#p8fe790fd4b)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><g clip-path=\"url(#p8fe790fd4b)\"><g transform=\"translate(37.301 48.734) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-Oblique-71\" transform=\"scale(.015625)\" d=\"m2669 525q-231-303-546-460-314-156-695-156-531 0-833 358-301 358-301 986 0 506 186 978t533 847q225 244 517 375t614 131q387 0 637-153t363-462l100 525h578l-934-4813h-579l360 1844zm-1778 813q0-463 193-705 194-242 560-242 544 0 928 520t384 1264q0 450-199 689-198 239-569 239-272 0-504-127-231-126-403-370-181-256-286-600-104-343-104-668z\"/><path id=\"DejaVuSans-30\" transform=\"scale(.015625)\" d=\"m2034 4250q-487 0-733-480-245-479-245-1442 0-959 245-1439 246-480 733-480 491 0 736 480 246 480 246 1439 0 963-246 1442-245 480-736 480zm0 500q785 0 1199-621 414-620 414-1801 0-1178-414-1799-414-620-1199-620-784 0-1198 620-414 621-414 1799 0 1181 414 1801 414 621 1198 621z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-30\"/></g></g><g clip-path=\"url(#p8fe790fd4b)\"><g transform=\"translate(37.301 95.088) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-31\" transform=\"scale(.015625)\" d=\"m794 531h1031v3560l-1122-225v575l1116 225h631v-4135h1031v-531h-2687v531z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-31\"/></g></g><g clip-path=\"url(#p8fe790fd4b)\"><g transform=\"translate(37.301 141.44) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-32\" transform=\"scale(.015625)\" d=\"m1228 531h2203v-531h-2962v531q359 372 979 998 621 627 780 809 303 340 423 576 121 236 121 464 0 372-261 606-261 235-680 235-297 0-627-103-329-103-704-313v638q381 153 712 231 332 78 607 78 725 0 1156-363 431-362 431-968 0-288-108-546-107-257-392-607-78-91-497-524-418-433-1181-1211z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#p8fe790fd4b)\"><g transform=\"translate(87.095 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-30\"/></g></g><g clip-path=\"url(#p8fe790fd4b)\"><g transform=\"translate(82.1 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-52\" transform=\"scale(.015625)\" d=\"m2841 2188q203-69 395-294t386-619l641-1275h-679l-596 1197q-232 469-449 622t-592 153h-688v-1972h-631v4666h1425q800 0 1194-335 394-334 394-1009 0-441-205-732-205-290-595-402zm-1582 1959v-1656h794q456 0 689 211t233 620-233 617-689 208h-794z\"/><path id=\"DejaVuSans-59\" transform=\"scale(.015625)\" d=\"m-13 4666h679l1293-1919 1285 1919h678l-1650-2444v-2222h-634v2222l-1651 2444z\"/></defs><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p8fe790fd4b)\"><g transform=\"translate(83.48 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-Oblique-3c0\" transform=\"scale(.015625)\" d=\"m584 3500h3354l-113-575h-441l-418-2150q-44-225 15-325 57-97 228-97 47 0 116 10 72 6 94 9l-81-416q-116-40-235-59-122-19-237-19-375 0-478 203-104 207 3 757l406 2087h-1291l-568-2925h-588l569 2925h-447l112 575z\"/><path id=\"DejaVuSans-2f\" transform=\"scale(.015625)\" d=\"m1625 4666h531l-1625-5260h-531l1625 5260z\"/></defs><use transform=\"translate(0 .78125)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(60.205 .78125)\" xlink:href=\"#DejaVuSans-2f\"/><use transform=\"translate(90.271 .78125)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#p8fe790fd4b)\"><g transform=\"translate(82.1 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p8fe790fd4b)\"><g transform=\"translate(87.2 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><use transform=\"translate(0 .3125)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/></g></g><g clip-path=\"url(#p8fe790fd4b)\"><g transform=\"translate(82.1 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><defs><clipPath id=\"p8fe790fd4b\"><rect x=\"7.2\" y=\"7.2\" width=\"113.03\" height=\"157.6\"/></clipPath></defs></svg>"
      ],
      "text/plain": [
       "<Figure size 203.885x284.278 with 1 Axes>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": "qc = QuantumCircuit(3)\nqc.ry(0, 0)\nqc.ry(2*math.pi/4, 1)\nqc.ry(2*math.pi/2, 2)\nqc.draw()"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "GEYZjQxwNKK8"
   },
   "source": "Dense angle encoding is a slight generalization of angle encoding, that encodes two features per qubit using the relative phase, where the data point $x = (x_1,...,x_N)$ can be encoded as:\n\n$$|x\\rangle = \\class{_big-o-times-n2}{\\bigotimes_{i=1}^{N/2}} \\cos(x_{2i-1})|0\\rangle + e^{i x_{2i}}\\sin(x_{2i-1})|1\\rangle$$\n\nAlthough the angle and dense angle encoding use sinusoids and exponentials, there is nothing special about these functions. We can easily abstract these to a general class of qubit encodings that use arbitrary functions, or define the encodings as arbitrary unitaries, implemented as parameterized quantum circuits."
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "tO75LuqBNKK9"
   },
   "source": "### Arbitrary encoding\n\nArbitrary encoding encodes $N$ features as rotations on $N$ parameterized gates on $n$ qubits, where $n \\leq N$. Like angle encoding, it only encodes one data point at a time, rather than a whole dataset. It also uses a constant depth quantum circuit and $n \\leq N$ qubits, meaning it can be run on current quantum hardware."
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "iUCD1Pi-NKK9"
   },
   "source": "For example, to use the Qiskit [`EfficientSU2`](https://qiskit.org/documentation/stubs/qiskit.circuit.library.EfficientSU2.html) circuit to encode 12 features, would only use 3 qubits:"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "ctvCmFOZNKK-",
    "outputId": "b255f706-b098-40a7-eb67-dea7f2faf5c1"
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg width=\"498.27pt\" height=\"172pt\" version=\"1.1\" viewBox=\"0 0 498.27 172\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><defs><style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style></defs><path d=\"m0 172h498.27v-172h-498.27z\" fill=\"#ffffff\"/><path d=\"m64.609 44.283h421.82\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 90.637h421.82\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 136.99h421.82\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m173.31 67.46h18.078v-46.354h-18.078z\" clip-path=\"url(#p119c934eca)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m173.31 113.81h18.078v-46.354h-18.078z\" clip-path=\"url(#p119c934eca)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m173.31 160.17h18.078v-46.354h-18.078z\" clip-path=\"url(#p119c934eca)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m228.7 90.637v-46.354\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m275.06 136.99v-92.708\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m321.41 136.99v-46.354\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m358.73 67.46h18.078v-46.354h-18.078z\" clip-path=\"url(#p119c934eca)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m358.73 113.81h18.078v-46.354h-18.078z\" clip-path=\"url(#p119c934eca)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m358.73 160.17h18.078v-46.354h-18.078z\" clip-path=\"url(#p119c934eca)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m74.575 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m74.575 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m74.575 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m120.93 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m120.93 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m120.93 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m228.7 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237s1.3237-1.9972 1.3237-3.1958c0-1.1986-0.4762-2.3482-1.3237-3.1958s-1.9972-1.3237-3.1958-1.3237c-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958 0 1.1986 0.4762 2.3482 1.3237 3.1958 0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p119c934eca)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m228.7 101.18c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p119c934eca)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m275.06 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958 0-1.1986-0.4762-2.3482-1.3237-3.1958-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237s-1.3237 1.9972-1.3237 3.1958c0 1.1986 0.4762 2.3482 1.3237 3.1958s1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p119c934eca)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m275.06 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p119c934eca)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m321.41 95.157c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958s-0.4762-2.3482-1.3237-3.1958c-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237s-2.3482 0.4762-3.1958 1.3237c-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958s0.4762 2.3482 1.3237 3.1958c0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p119c934eca)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m321.41 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p119c934eca)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m399.05 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m399.05 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m399.05 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m445.41 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m445.41 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m445.41 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#p119c934eca)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(37.301 48.734) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-Oblique-71\" transform=\"scale(.015625)\" d=\"m2669 525q-231-303-546-460-314-156-695-156-531 0-833 358-301 358-301 986 0 506 186 978t533 847q225 244 517 375t614 131q387 0 637-153t363-462l100 525h578l-934-4813h-579l360 1844zm-1778 813q0-463 193-705 194-242 560-242 544 0 928 520t384 1264q0 450-199 689-198 239-569 239-272 0-504-127-231-126-403-370-181-256-286-600-104-343-104-668z\"/><path id=\"DejaVuSans-30\" transform=\"scale(.015625)\" d=\"m2034 4250q-487 0-733-480-245-479-245-1442 0-959 245-1439 246-480 733-480 491 0 736 480 246 480 246 1439 0 963-246 1442-245 480-736 480zm0 500q785 0 1199-621 414-620 414-1801 0-1178-414-1799-414-620-1199-620-784 0-1198 620-414 621-414 1799 0 1181 414 1801 414 621 1198 621z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-30\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(37.301 95.088) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-31\" transform=\"scale(.015625)\" d=\"m794 531h1031v3560l-1122-225v575l1116 225h631v-4135h1031v-531h-2687v531z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-31\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(37.301 141.44) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-32\" transform=\"scale(.015625)\" d=\"m1228 531h2203v-531h-2962v531q359 372 979 998 621 627 780 809 303 340 423 576 121 236 121 464 0 372-261 606-261 235-680 235-297 0-627-103-329-103-704-313v638q381 153 712 231 332 78 607 78 725 0 1156-363 431-362 431-968 0-288-108-546-107-257-392-607-78-91-497-524-418-433-1181-1211z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(81.527 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-3b8\" transform=\"scale(.015625)\" d=\"m2953 2219h-1990q46-935 262-1331 269-488 734-488 469 0 729 491 228 431 265 1328zm-9 531q-88 888-256 1200-269 494-729 494-478 0-731-488-200-393-259-1206h1975zm-985 2163q750 0 1179-663 428-659 428-1828 0-1166-428-1828-429-666-1179-666-753 0-1178 666-428 662-428 1828 0 1169 428 1828 425 663 1178 663z\"/><path id=\"DejaVuSans-5b\" transform=\"scale(.015625)\" d=\"m550 4863h1325v-447h-750v-4813h750v-447h-1325v5707z\"/><path id=\"DejaVuSans-5d\" transform=\"scale(.015625)\" d=\"m1947 4863v-5707h-1325v447h747v4813h-747v447h1325z\"/></defs><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-30\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(82.1 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-52\" transform=\"scale(.015625)\" d=\"m2841 2188q203-69 395-294t386-619l641-1275h-679l-596 1197q-232 469-449 622t-592 153h-688v-1972h-631v4666h1425q800 0 1194-335 394-334 394-1009 0-441-205-732-205-290-595-402zm-1582 1959v-1656h794q456 0 689 211t233 620-233 617-689 208h-794z\"/><path id=\"DejaVuSans-59\" transform=\"scale(.015625)\" d=\"m-13 4666h679l1293-1919 1285 1919h678l-1650-2444v-2222h-634v2222l-1651 2444z\"/></defs><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(81.527 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-31\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(82.1 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(81.527 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-32\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(82.1 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(127.88 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-33\" transform=\"scale(.015625)\" d=\"m2597 2516q453-97 707-404 255-306 255-756 0-690-475-1069-475-378-1350-378-293 0-604 58t-642 174v609q262-153 574-231 313-78 654-78 593 0 904 234t311 681q0 413-289 645-289 233-804 233h-544v519h569q465 0 712 186t247 536q0 359-255 551-254 193-729 193-260 0-557-57-297-56-653-174v562q360 100 674 150t592 50q719 0 1137-327 419-326 419-882 0-388-222-655t-631-370z\"/></defs><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-33\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(128.06 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-5a\" transform=\"scale(.015625)\" d=\"m359 4666h3666v-482l-2950-3653h3022v-531h-3809v481l2950 3653h-2879v532z\"/></defs><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(127.88 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-34\" transform=\"scale(.015625)\" d=\"m2419 4116-1594-2491h1594v2491zm-166 550h794v-3041h666v-525h-666v-1100h-628v1100h-2106v609l1940 2957z\"/></defs><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-34\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(128.06 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(127.88 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-35\" transform=\"scale(.015625)\" d=\"m691 4666h2478v-532h-1900v-1143q137 47 274 70 138 23 276 23 781 0 1237-428 457-428 457-1159 0-753-469-1171-469-417-1322-417-294 0-599 50-304 50-629 150v635q281-153 581-228t634-75q541 0 856 284 316 284 316 772 0 487-316 771-315 285-856 285-253 0-505-56-251-56-513-175v2344z\"/></defs><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-35\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(128.06 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><path d=\"m182.35 21.106v46.354\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m182.35 67.46v46.354\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m182.35 113.81v46.354\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m228.7 96.663v-12.052\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m222.68 90.637h12.052\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m275.06 143.02v-12.052\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m269.03 136.99h12.052\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m321.41 143.02v-12.052\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m315.38 136.99h12.052\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m367.76 21.106v46.354\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m367.76 67.46v46.354\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m367.76 113.81v46.354\" clip-path=\"url(#p119c934eca)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(406 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-36\" transform=\"scale(.015625)\" d=\"m2113 2584q-425 0-674-291-248-290-248-796 0-503 248-796 249-292 674-292t673 292q248 293 248 796 0 506-248 796-248 291-673 291zm1253 1979v-575q-238 112-480 171-242 60-480 60-625 0-955-422-329-422-376-1275 184 272 462 417 279 145 613 145 703 0 1111-427 408-426 408-1160 0-719-425-1154-425-434-1131-434-810 0-1238 620-428 621-428 1799 0 1106 525 1764t1409 658q238 0 480-47t505-140z\"/></defs><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-36\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(406.58 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(406 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-37\" transform=\"scale(.015625)\" d=\"m525 4666h3e3v-269l-1694-4397h-659l1594 4134h-2241v532z\"/></defs><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-37\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(406.58 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(406 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-38\" transform=\"scale(.015625)\" d=\"m2034 2216q-450 0-708-241-257-241-257-662 0-422 257-663 258-241 708-241t709 242q260 243 260 662 0 421-258 662-257 241-711 241zm-631 268q-406 100-633 378-226 279-226 679 0 559 398 884 399 325 1092 325 697 0 1094-325t397-884q0-400-227-679-226-278-629-378 456-106 710-416 255-309 255-755 0-679-414-1042-414-362-1186-362-771 0-1186 362-414 363-414 1042 0 446 256 755 257 310 713 416zm-231 997q0-362 226-565 227-203 636-203 407 0 636 203 230 203 230 565 0 363-230 566-229 203-636 203-409 0-636-203-226-203-226-566z\"/></defs><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-38\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(406.58 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(452.36 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-39\" transform=\"scale(.015625)\" d=\"m703 97v575q238-113 481-172 244-59 479-59 625 0 954 420 330 420 377 1277-181-269-460-413-278-144-615-144-700 0-1108 423-408 424-408 1159 0 718 425 1152 425 435 1131 435 810 0 1236-621 427-620 427-1801 0-1103-524-1761-523-658-1407-658-238 0-482 47-243 47-506 141zm1256 1978q425 0 673 290 249 291 249 798 0 503-249 795-248 292-673 292t-673-292-248-795q0-507 248-798 248-290 673-290z\"/></defs><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-39\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(452.54 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(449.81 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-31\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-30\"/><use x=\"227.441406\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(452.54 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(449.81 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-3b8\"/><use x=\"61.181641\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"100.195312\" xlink:href=\"#DejaVuSans-31\"/><use x=\"163.818359\" xlink:href=\"#DejaVuSans-31\"/><use x=\"227.441406\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#p119c934eca)\"><g transform=\"translate(452.54 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><defs><clipPath id=\"p119c934eca\"><rect x=\"7.2\" y=\"7.2\" width=\"483.87\" height=\"157.6\"/></clipPath></defs></svg>"
      ],
      "text/plain": [
       "<Figure size 872.774x284.278 with 1 Axes>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": "from qiskit.circuit.library import EfficientSU2\ncircuit = EfficientSU2(num_qubits=3, reps=1, insert_barriers=True)\ncircuit.decompose().draw()"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "974K5q9rNKK-"
   },
   "source": "Here we encode the data point $x = [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2]$ with 12 features, using each of the parameterized gates to encode a different feature."
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "e_Ilr8RvNKK-",
    "outputId": "994fce26-dc6d-458f-c399-66bb4ff5c85f"
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg width=\"498.27pt\" height=\"172pt\" version=\"1.1\" viewBox=\"0 0 498.27 172\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><defs><style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style></defs><path d=\"m0 172h498.27v-172h-498.27z\" fill=\"#ffffff\"/><path d=\"m64.609 44.283h421.82\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 90.637h421.82\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 136.99h421.82\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m173.31 67.46h18.078v-46.354h-18.078z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m173.31 113.81h18.078v-46.354h-18.078z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m173.31 160.17h18.078v-46.354h-18.078z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m228.7 90.637v-46.354\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m275.06 136.99v-92.708\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m321.41 136.99v-46.354\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m358.73 67.46h18.078v-46.354h-18.078z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m358.73 113.81h18.078v-46.354h-18.078z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m358.73 160.17h18.078v-46.354h-18.078z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m74.575 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m74.575 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m74.575 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m120.93 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m120.93 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m120.93 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m228.7 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237s1.3237-1.9972 1.3237-3.1958c0-1.1986-0.4762-2.3482-1.3237-3.1958s-1.9972-1.3237-3.1958-1.3237c-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958 0 1.1986 0.4762 2.3482 1.3237 3.1958 0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m228.7 101.18c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m275.06 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958 0-1.1986-0.4762-2.3482-1.3237-3.1958-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237s-1.3237 1.9972-1.3237 3.1958c0 1.1986 0.4762 2.3482 1.3237 3.1958s1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m275.06 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m321.41 95.157c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958s-0.4762-2.3482-1.3237-3.1958c-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237s-2.3482 0.4762-3.1958 1.3237c-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958s0.4762 2.3482 1.3237 3.1958c0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m321.41 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m399.05 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m399.05 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m399.05 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m445.41 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m445.41 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m445.41 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#pb650bc0aa7)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(37.301 48.734) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-Oblique-71\" transform=\"scale(.015625)\" d=\"m2669 525q-231-303-546-460-314-156-695-156-531 0-833 358-301 358-301 986 0 506 186 978t533 847q225 244 517 375t614 131q387 0 637-153t363-462l100 525h578l-934-4813h-579l360 1844zm-1778 813q0-463 193-705 194-242 560-242 544 0 928 520t384 1264q0 450-199 689-198 239-569 239-272 0-504-127-231-126-403-370-181-256-286-600-104-343-104-668z\"/><path id=\"DejaVuSans-30\" transform=\"scale(.015625)\" d=\"m2034 4250q-487 0-733-480-245-479-245-1442 0-959 245-1439 246-480 733-480 491 0 736 480 246 480 246 1439 0 963-246 1442-245 480-736 480zm0 500q785 0 1199-621 414-620 414-1801 0-1178-414-1799-414-620-1199-620-784 0-1198 620-414 621-414 1799 0 1181 414 1801 414 621 1198 621z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-30\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(37.301 95.088) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-31\" transform=\"scale(.015625)\" d=\"m794 531h1031v3560l-1122-225v575l1116 225h631v-4135h1031v-531h-2687v531z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-31\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(37.301 141.44) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-32\" transform=\"scale(.015625)\" d=\"m1228 531h2203v-531h-2962v531q359 372 979 998 621 627 780 809 303 340 423 576 121 236 121 464 0 372-261 606-261 235-680 235-297 0-627-103-329-103-704-313v638q381 153 712 231 332 78 607 78 725 0 1156-363 431-362 431-968 0-288-108-546-107-257-392-607-78-91-497-524-418-433-1181-1211z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(83.279 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-2e\" transform=\"scale(.015625)\" d=\"m684 794h660v-794h-660v794z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-31\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(82.1 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-52\" transform=\"scale(.015625)\" d=\"m2841 2188q203-69 395-294t386-619l641-1275h-679l-596 1197q-232 469-449 622t-592 153h-688v-1972h-631v4666h1425q800 0 1194-335 394-334 394-1009 0-441-205-732-205-290-595-402zm-1582 1959v-1656h794q456 0 689 211t233 620-233 617-689 208h-794z\"/><path id=\"DejaVuSans-59\" transform=\"scale(.015625)\" d=\"m-13 4666h679l1293-1919 1285 1919h678l-1650-2444v-2222h-634v2222l-1651 2444z\"/></defs><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(83.279 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(82.1 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(83.279 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-33\" transform=\"scale(.015625)\" d=\"m2597 2516q453-97 707-404 255-306 255-756 0-690-475-1069-475-378-1350-378-293 0-604 58t-642 174v609q262-153 574-231 313-78 654-78 593 0 904 234t311 681q0 413-289 645-289 233-804 233h-544v519h569q465 0 712 186t247 536q0 359-255 551-254 193-729 193-260 0-557-57-297-56-653-174v562q360 100 674 150t592 50q719 0 1137-327 419-326 419-882 0-388-222-655t-631-370z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-33\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(82.1 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(129.63 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-34\" transform=\"scale(.015625)\" d=\"m2419 4116-1594-2491h1594v2491zm-166 550h794v-3041h666v-525h-666v-1100h-628v1100h-2106v609l1940 2957z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-34\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(128.06 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-5a\" transform=\"scale(.015625)\" d=\"m359 4666h3666v-482l-2950-3653h3022v-531h-3809v481l2950 3653h-2879v532z\"/></defs><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(129.63 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-35\" transform=\"scale(.015625)\" d=\"m691 4666h2478v-532h-1900v-1143q137 47 274 70 138 23 276 23 781 0 1237-428 457-428 457-1159 0-753-469-1171-469-417-1322-417-294 0-599 50-304 50-629 150v635q281-153 581-228t634-75q541 0 856 284 316 284 316 772 0 487-316 771-315 285-856 285-253 0-505-56-251-56-513-175v2344z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-35\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(128.06 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(129.63 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-36\" transform=\"scale(.015625)\" d=\"m2113 2584q-425 0-674-291-248-290-248-796 0-503 248-796 249-292 674-292t673 292q248 293 248 796 0 506-248 796-248 291-673 291zm1253 1979v-575q-238 112-480 171-242 60-480 60-625 0-955-422-329-422-376-1275 184 272 462 417 279 145 613 145 703 0 1111-427 408-426 408-1160 0-719-425-1154-425-434-1131-434-810 0-1238 620-428 621-428 1799 0 1106 525 1764t1409 658q238 0 480-47t505-140z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-36\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(128.06 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><path d=\"m182.35 21.106v46.354\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m182.35 67.46v46.354\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m182.35 113.81v46.354\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m228.7 96.663v-12.052\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m222.68 90.637h12.052\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m275.06 143.02v-12.052\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m269.03 136.99h12.052\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m321.41 143.02v-12.052\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m315.38 136.99h12.052\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m367.76 21.106v46.354\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m367.76 67.46v46.354\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m367.76 113.81v46.354\" clip-path=\"url(#pb650bc0aa7)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(407.76 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-37\" transform=\"scale(.015625)\" d=\"m525 4666h3e3v-269l-1694-4397h-659l1594 4134h-2241v532z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-37\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(406.58 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(407.76 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-38\" transform=\"scale(.015625)\" d=\"m2034 2216q-450 0-708-241-257-241-257-662 0-422 257-663 258-241 708-241t709 242q260 243 260 662 0 421-258 662-257 241-711 241zm-631 268q-406 100-633 378-226 279-226 679 0 559 398 884 399 325 1092 325 697 0 1094-325t397-884q0-400-227-679-226-278-629-378 456-106 710-416 255-309 255-755 0-679-414-1042-414-362-1186-362-771 0-1186 362-414 363-414 1042 0 446 256 755 257 310 713 416zm-231 997q0-362 226-565 227-203 636-203 407 0 636 203 230 203 230 565 0 363-230 566-229 203-636 203-409 0-636-203-226-203-226-566z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-38\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(406.58 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(407.76 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-39\" transform=\"scale(.015625)\" d=\"m703 97v575q238-113 481-172 244-59 479-59 625 0 954 420 330 420 377 1277-181-269-460-413-278-144-615-144-700 0-1108 423-408 424-408 1159 0 718 425 1152 425 435 1131 435 810 0 1236-621 427-620 427-1801 0-1103-524-1761-523-658-1407-658-238 0-482 47-243 47-506 141zm1256 1978q425 0 673 290 249 291 249 798 0 503-249 795-248 292-673 292t-673-292-248-795q0-507 248-798 248-290 673-290z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-39\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(406.58 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-59\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(454.11 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-31\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-30\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(452.54 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(454.11 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-31\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-31\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(452.54 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(454.11 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-31\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#pb650bc0aa7)\"><g transform=\"translate(452.54 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use transform=\"translate(0 .09375)\" xlink:href=\"#DejaVuSans-52\"/><use transform=\"translate(70.439 -16.312) scale(.7)\" xlink:href=\"#DejaVuSans-5a\"/></g></g><defs><clipPath id=\"pb650bc0aa7\"><rect x=\"7.2\" y=\"7.2\" width=\"483.87\" height=\"157.6\"/></clipPath></defs></svg>"
      ],
      "text/plain": [
       "<Figure size 872.774x284.278 with 1 Axes>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": "x = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2]\nencode = circuit.bind_parameters(x)\nencode.decompose().draw()"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "IrwnKkTmNKK_"
   },
   "source": "The Qiskit [`ZZFeatureMap`](https://qiskit.org/documentation/stubs/qiskit.circuit.library.ZZFeatureMap.html) circuit with 3 qubits, only encodes a data point of 3 features, despite having 6 parameterized gates:"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "WTqLYZ8GNKK_",
    "outputId": "0f4ec4b9-c61d-4973-ae4f-cb84dd8f1bb7"
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg width=\"915.45pt\" height=\"172pt\" version=\"1.1\" viewBox=\"0 0 915.45 172\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><defs><style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style></defs><path d=\"m0 172h915.45v-172h-915.45z\" fill=\"#ffffff\"/><path d=\"m64.609 44.283h839.01\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 90.637h839.01\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 136.99h839.01\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m126.96 67.46h18.078v-46.354h-18.078z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m126.96 113.81h18.078v-46.354h-18.078z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m126.96 160.17h18.078v-46.354h-18.078z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m228.7 90.637v-46.354\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m414.12 90.637v-46.354\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m460.47 136.99v-92.708\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m645.89 136.99v-92.708\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m692.24 136.99v-46.354\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m877.66 136.99v-46.354\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m74.575 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m74.575 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m74.575 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m164.62 59.348h35.447v-30.13h-35.447z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m164.62 105.7h35.447v-30.13h-35.447z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m164.58 152.06h35.544v-30.13h-35.544z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m228.7 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237s1.3237-1.9972 1.3237-3.1958c0-1.1986-0.4762-2.3482-1.3237-3.1958s-1.9972-1.3237-3.1958-1.3237c-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958 0 1.1986 0.4762 2.3482 1.3237 3.1958 0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m228.7 101.18c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m268.68 105.7h105.45v-30.13h-105.45z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m414.12 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958 0-1.1986-0.4762-2.3482-1.3237-3.1958-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237s-1.3237 1.9972-1.3237 3.1958c0 1.1986 0.4762 2.3482 1.3237 3.1958s1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m414.12 101.18c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m460.47 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237s1.3237-1.9972 1.3237-3.1958c0-1.1986-0.4762-2.3482-1.3237-3.1958s-1.9972-1.3237-3.1958-1.3237c-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958 0 1.1986 0.4762 2.3482 1.3237 3.1958 0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m460.47 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887s-3.0887 4.6601-3.0887 7.4568c0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m500.41 152.06h105.55v-30.13h-105.55z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m645.89 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958 0-1.1986-0.4762-2.3482-1.3237-3.1958-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237s-1.3237 1.9972-1.3237 3.1958c0 1.1986 0.4762 2.3482 1.3237 3.1958s1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m645.89 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568s-4.6601-3.0887-7.4568-3.0887c-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m692.24 95.157c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958s-0.4762-2.3482-1.3237-3.1958c-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237s-2.3482 0.4762-3.1958 1.3237c-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958s0.4762 2.3482 1.3237 3.1958c0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m692.24 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m732.18 152.06h105.55v-30.13h-105.55z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m877.66 95.157c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958s-0.4762-2.3482-1.3237-3.1958c-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958s0.4762 2.3482 1.3237 3.1958c0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m877.66 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#pb4ab10be20)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(37.301 48.734) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-Oblique-71\" transform=\"scale(.015625)\" d=\"m2669 525q-231-303-546-460-314-156-695-156-531 0-833 358-301 358-301 986 0 506 186 978t533 847q225 244 517 375t614 131q387 0 637-153t363-462l100 525h578l-934-4813h-579l360 1844zm-1778 813q0-463 193-705 194-242 560-242 544 0 928 520t384 1264q0 450-199 689-198 239-569 239-272 0-504-127-231-126-403-370-181-256-286-600-104-343-104-668z\"/><path id=\"DejaVuSans-30\" transform=\"scale(.015625)\" d=\"m2034 4250q-487 0-733-480-245-479-245-1442 0-959 245-1439 246-480 733-480 491 0 736 480 246 480 246 1439 0 963-246 1442-245 480-736 480zm0 500q785 0 1199-621 414-620 414-1801 0-1178-414-1799-414-620-1199-620-784 0-1198 620-414 621-414 1799 0 1181 414 1801 414 621 1198 621z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-30\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(37.301 95.088) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-31\" transform=\"scale(.015625)\" d=\"m794 531h1031v3560l-1122-225v575l1116 225h631v-4135h1031v-531h-2687v531z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-31\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(37.301 141.44) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-32\" transform=\"scale(.015625)\" d=\"m1228 531h2203v-531h-2962v531q359 372 979 998 621 627 780 809 303 340 423 576 121 236 121 464 0 372-261 606-261 235-680 235-297 0-627-103-329-103-704-313v638q381 153 712 231 332 78 607 78 725 0 1156-363 431-362 431-968 0-288-108-546-107-257-392-607-78-91-497-524-418-433-1181-1211z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(84.752 47.87) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-48\" transform=\"scale(.015625)\" d=\"m628 4666h631v-1913h2294v1913h631v-4666h-631v2222h-2294v-2222h-631v4666z\"/></defs><use xlink:href=\"#DejaVuSans-48\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(84.752 94.224) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-48\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(84.752 140.58) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-48\"/></g></g><path d=\"m135.99 21.106v46.354\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m135.99 67.46v46.354\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m135.99 113.81v46.354\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(165.95 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-2e\" transform=\"scale(.015625)\" d=\"m684 794h660v-794h-660v794z\"/><path id=\"DejaVuSans-2a\" transform=\"scale(.015625)\" d=\"m3009 3897-1121-606 1121-610-181-306-1050 634v-1178h-356v1178l-1050-634-181 306 1122 610-1122 606 181 309 1050-634v1178h356v-1178l1050 634 181-309z\"/><path id=\"DejaVuSans-78\" transform=\"scale(.015625)\" d=\"m3513 3500-1266-1703 1331-1797h-678l-1019 1375-1018-1375h-679l1360 1831-1244 1669h678l928-1247 928 1247h679z\"/><path id=\"DejaVuSans-5b\" transform=\"scale(.015625)\" d=\"m550 4863h1325v-447h-750v-4813h750v-447h-1325v5707z\"/><path id=\"DejaVuSans-5d\" transform=\"scale(.015625)\" d=\"m1947 4863v-5707h-1325v447h747v4813h-747v447h1325z\"/></defs><use xlink:href=\"#DejaVuSans-32\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-30\"/><use x=\"159.033203\" xlink:href=\"#DejaVuSans-2a\"/><use x=\"209.033203\" xlink:href=\"#DejaVuSans-78\"/><use x=\"268.212891\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"307.226562\" xlink:href=\"#DejaVuSans-30\"/><use x=\"370.849609\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(178.43 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-50\" transform=\"scale(.015625)\" d=\"m1259 4147v-1753h794q441 0 681 228 241 228 241 650 0 419-241 647-240 228-681 228h-794zm-631 519h1425q785 0 1186-355 402-355 402-1039 0-691-402-1044-401-353-1186-353h-794v-1875h-631v4666z\"/></defs><use xlink:href=\"#DejaVuSans-50\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(165.95 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-32\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-30\"/><use x=\"159.033203\" xlink:href=\"#DejaVuSans-2a\"/><use x=\"209.033203\" xlink:href=\"#DejaVuSans-78\"/><use x=\"268.212891\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"307.226562\" xlink:href=\"#DejaVuSans-31\"/><use x=\"370.849609\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(178.43 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(165.95 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-32\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-30\"/><use x=\"159.033203\" xlink:href=\"#DejaVuSans-2a\"/><use x=\"209.033203\" xlink:href=\"#DejaVuSans-78\"/><use x=\"268.212891\" xlink:href=\"#DejaVuSans-5b\"/><use x=\"307.226562\" xlink:href=\"#DejaVuSans-32\"/><use x=\"370.849609\" xlink:href=\"#DejaVuSans-5d\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(178.43 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><path d=\"m228.7 96.663v-12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m222.68 90.637h12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(272.13 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-28\" transform=\"scale(.015625)\" d=\"m1984 4856q-418-718-622-1422-203-703-203-1425 0-721 205-1429t620-1424h-500q-468 735-701 1444t-233 1409q0 697 231 1403 232 707 703 1444h500z\"/><path id=\"DejaVuSans-Oblique-3c0\" transform=\"scale(.015625)\" d=\"m584 3500h3354l-113-575h-441l-418-2150q-44-225 15-325 57-97 228-97 47 0 116 10 72 6 94 9l-81-416q-116-40-235-59-122-19-237-19-375 0-478 203-104 207 3 757l406 2087h-1291l-568-2925h-588l569 2925h-447l112 575z\"/><path id=\"DejaVuSans-2212\" transform=\"scale(.015625)\" d=\"m678 2272h4006v-531h-4006v531z\"/><path id=\"DejaVuSans-29\" transform=\"scale(.015625)\" d=\"m513 4856h500q468-737 701-1444 233-706 233-1403 0-700-233-1409t-701-1444h-500q415 716 620 1424t205 1429q0 722-205 1425-205 704-620 1422z\"/></defs><use transform=\"translate(0 .015625)\" xlink:href=\"#DejaVuSans-32\"/><use transform=\"translate(63.623 .015625)\" xlink:href=\"#DejaVuSans-2e\"/><use transform=\"translate(95.41 .015625)\" xlink:href=\"#DejaVuSans-30\"/><use transform=\"translate(159.03 .015625)\" xlink:href=\"#DejaVuSans-2a\"/><use transform=\"translate(209.03 .015625)\" xlink:href=\"#DejaVuSans-28\"/><use transform=\"translate(248.05 .015625)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(308.25 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(340.04 .015625)\" xlink:href=\"#DejaVuSans-2212\"/><use transform=\"translate(423.83 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(455.62 .015625)\" xlink:href=\"#DejaVuSans-78\"/><use transform=\"translate(514.79 .015625)\" xlink:href=\"#DejaVuSans-5b\"/><use transform=\"translate(553.81 .015625)\" xlink:href=\"#DejaVuSans-30\"/><use transform=\"translate(617.43 .015625)\" xlink:href=\"#DejaVuSans-5d\"/><use transform=\"translate(656.45 .015625)\" xlink:href=\"#DejaVuSans-29\"/><use transform=\"translate(695.46 .015625)\" xlink:href=\"#DejaVuSans-2a\"/><use transform=\"translate(745.46 .015625)\" xlink:href=\"#DejaVuSans-28\"/><use transform=\"translate(784.47 .015625)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(844.68 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(876.46 .015625)\" xlink:href=\"#DejaVuSans-2212\"/><use transform=\"translate(960.25 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(992.04 .015625)\" xlink:href=\"#DejaVuSans-78\"/><use transform=\"translate(1051.2 .015625)\" xlink:href=\"#DejaVuSans-5b\"/><use transform=\"translate(1090.2 .015625)\" xlink:href=\"#DejaVuSans-31\"/><use transform=\"translate(1153.9 .015625)\" xlink:href=\"#DejaVuSans-5d\"/><use transform=\"translate(1192.9 .015625)\" xlink:href=\"#DejaVuSans-29\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(317.49 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><path d=\"m414.12 96.663v-12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m408.09 90.637h12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m460.47 143.02v-12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m454.45 136.99h12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(503.9 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><use transform=\"translate(0 .015625)\" xlink:href=\"#DejaVuSans-32\"/><use transform=\"translate(63.623 .015625)\" xlink:href=\"#DejaVuSans-2e\"/><use transform=\"translate(95.41 .015625)\" xlink:href=\"#DejaVuSans-30\"/><use transform=\"translate(159.03 .015625)\" xlink:href=\"#DejaVuSans-2a\"/><use transform=\"translate(209.03 .015625)\" xlink:href=\"#DejaVuSans-28\"/><use transform=\"translate(248.05 .015625)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(308.25 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(340.04 .015625)\" xlink:href=\"#DejaVuSans-2212\"/><use transform=\"translate(423.83 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(455.62 .015625)\" xlink:href=\"#DejaVuSans-78\"/><use transform=\"translate(514.79 .015625)\" xlink:href=\"#DejaVuSans-5b\"/><use transform=\"translate(553.81 .015625)\" xlink:href=\"#DejaVuSans-30\"/><use transform=\"translate(617.43 .015625)\" xlink:href=\"#DejaVuSans-5d\"/><use transform=\"translate(656.45 .015625)\" xlink:href=\"#DejaVuSans-29\"/><use transform=\"translate(695.46 .015625)\" xlink:href=\"#DejaVuSans-2a\"/><use transform=\"translate(745.46 .015625)\" xlink:href=\"#DejaVuSans-28\"/><use transform=\"translate(784.47 .015625)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(844.68 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(876.46 .015625)\" xlink:href=\"#DejaVuSans-2212\"/><use transform=\"translate(960.25 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(992.04 .015625)\" xlink:href=\"#DejaVuSans-78\"/><use transform=\"translate(1051.2 .015625)\" xlink:href=\"#DejaVuSans-5b\"/><use transform=\"translate(1090.2 .015625)\" xlink:href=\"#DejaVuSans-32\"/><use transform=\"translate(1153.9 .015625)\" xlink:href=\"#DejaVuSans-5d\"/><use transform=\"translate(1192.9 .015625)\" xlink:href=\"#DejaVuSans-29\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(549.26 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><path d=\"m645.89 143.02v-12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m639.86 136.99h12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m692.24 143.02v-12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m686.22 136.99h12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(735.67 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><use transform=\"translate(0 .015625)\" xlink:href=\"#DejaVuSans-32\"/><use transform=\"translate(63.623 .015625)\" xlink:href=\"#DejaVuSans-2e\"/><use transform=\"translate(95.41 .015625)\" xlink:href=\"#DejaVuSans-30\"/><use transform=\"translate(159.03 .015625)\" xlink:href=\"#DejaVuSans-2a\"/><use transform=\"translate(209.03 .015625)\" xlink:href=\"#DejaVuSans-28\"/><use transform=\"translate(248.05 .015625)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(308.25 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(340.04 .015625)\" xlink:href=\"#DejaVuSans-2212\"/><use transform=\"translate(423.83 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(455.62 .015625)\" xlink:href=\"#DejaVuSans-78\"/><use transform=\"translate(514.79 .015625)\" xlink:href=\"#DejaVuSans-5b\"/><use transform=\"translate(553.81 .015625)\" xlink:href=\"#DejaVuSans-31\"/><use transform=\"translate(617.43 .015625)\" xlink:href=\"#DejaVuSans-5d\"/><use transform=\"translate(656.45 .015625)\" xlink:href=\"#DejaVuSans-29\"/><use transform=\"translate(695.46 .015625)\" xlink:href=\"#DejaVuSans-2a\"/><use transform=\"translate(745.46 .015625)\" xlink:href=\"#DejaVuSans-28\"/><use transform=\"translate(784.47 .015625)\" xlink:href=\"#DejaVuSans-Oblique-3c0\"/><use transform=\"translate(844.68 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(876.46 .015625)\" xlink:href=\"#DejaVuSans-2212\"/><use transform=\"translate(960.25 .015625)\" xlink:href=\"#DejaVuSans-20\"/><use transform=\"translate(992.04 .015625)\" xlink:href=\"#DejaVuSans-78\"/><use transform=\"translate(1051.2 .015625)\" xlink:href=\"#DejaVuSans-5b\"/><use transform=\"translate(1090.2 .015625)\" xlink:href=\"#DejaVuSans-32\"/><use transform=\"translate(1153.9 .015625)\" xlink:href=\"#DejaVuSans-5d\"/><use transform=\"translate(1192.9 .015625)\" xlink:href=\"#DejaVuSans-29\"/></g></g><g clip-path=\"url(#pb4ab10be20)\"><g transform=\"translate(781.03 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><path d=\"m877.66 143.02v-12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m871.63 136.99h12.052\" clip-path=\"url(#pb4ab10be20)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><defs><clipPath id=\"pb4ab10be20\"><rect x=\"7.2\" y=\"7.2\" width=\"901.05\" height=\"157.6\"/></clipPath></defs></svg>"
      ],
      "text/plain": [
       "<Figure size 1625.27x284.278 with 1 Axes>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": "from qiskit.circuit.library import ZZFeatureMap\ncircuit = ZZFeatureMap(3, reps=1, insert_barriers=True)\ncircuit.decompose().draw()"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "1KIj2V-oNKLA",
    "outputId": "88ffc431-ca7e-40fb-d845-0cb3e7c07e6e"
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg width=\"776.39pt\" height=\"172pt\" version=\"1.1\" viewBox=\"0 0 776.39 172\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><defs><style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style></defs><path d=\"m0 172h776.39v-172h-776.39z\" fill=\"#ffffff\"/><path d=\"m64.609 44.283h699.95\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 90.637h699.95\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m64.609 136.99h699.95\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#000000\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m126.96 67.46h18.078v-46.354h-18.078z\" clip-path=\"url(#p048cf32fde)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m126.96 113.81h18.078v-46.354h-18.078z\" clip-path=\"url(#p048cf32fde)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m126.96 160.17h18.078v-46.354h-18.078z\" clip-path=\"url(#p048cf32fde)\" fill=\"#bdbdbd\" opacity=\".6\"/><path d=\"m228.7 90.637v-46.354\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m367.76 90.637v-46.354\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m414.12 136.99v-92.708\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m553.18 136.99v-92.708\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m599.53 136.99v-46.354\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m738.6 136.99v-46.354\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#1192e8\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m74.575 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m74.575 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m74.575 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m167.28 59.348h30.13v-30.13h-30.13z\" clip-path=\"url(#p048cf32fde)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m167.28 105.7h30.13v-30.13h-30.13z\" clip-path=\"url(#p048cf32fde)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m167.28 152.06h30.13v-30.13h-30.13z\" clip-path=\"url(#p048cf32fde)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m228.7 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237s1.3237-1.9972 1.3237-3.1958c0-1.1986-0.4762-2.3482-1.3237-3.1958s-1.9972-1.3237-3.1958-1.3237c-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958 0 1.1986 0.4762 2.3482 1.3237 3.1958 0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m228.7 101.18c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m255.82 105.7h84.819v-30.13h-84.819z\" clip-path=\"url(#p048cf32fde)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m367.76 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237s1.3237-1.9972 1.3237-3.1958c0-1.1986-0.4762-2.3482-1.3237-3.1958s-1.9972-1.3237-3.1958-1.3237c-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958 0 1.1986 0.4762 2.3482 1.3237 3.1958 0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m367.76 101.18c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m414.12 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958 0-1.1986-0.4762-2.3482-1.3237-3.1958-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237s-1.3237 1.9972-1.3237 3.1958c0 1.1986 0.4762 2.3482 1.3237 3.1958s1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m414.12 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568s-4.6601-3.0887-7.4568-3.0887c-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m441.29 152.06h84.721v-30.13h-84.721z\" clip-path=\"url(#p048cf32fde)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m553.18 48.803c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958 0-1.1986-0.4762-2.3482-1.3237-3.1958-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237s-2.3482 0.4762-3.1958 1.3237c-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958 0 1.1986 0.4762 2.3482 1.3237 3.1958 0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m553.18 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887s-5.4792 1.1111-7.4568 3.0887c-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m599.53 95.157c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958s-0.4762-2.3482-1.3237-3.1958c-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958s0.4762 2.3482 1.3237 3.1958c0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m599.53 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><path d=\"m626.75 152.06h84.624v-30.13h-84.624z\" clip-path=\"url(#p048cf32fde)\" fill=\"#6929c4\" stroke=\"#6929c4\" stroke-width=\"1.5\"/><path d=\"m738.6 95.157c1.1986 0 2.3482-0.4762 3.1958-1.3237 0.84753-0.84753 1.3237-1.9972 1.3237-3.1958s-0.4762-2.3482-1.3237-3.1958c-0.84753-0.84753-1.9972-1.3237-3.1958-1.3237-1.1986 0-2.3482 0.4762-3.1958 1.3237-0.84753 0.84753-1.3237 1.9972-1.3237 3.1958s0.4762 2.3482 1.3237 3.1958c0.84753 0.84753 1.9972 1.3237 3.1958 1.3237z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"1.5\"/><path d=\"m738.6 147.54c2.7967 0 5.4792-1.1111 7.4568-3.0887 1.9776-1.9776 3.0887-4.6601 3.0887-7.4568 0-2.7967-1.1111-5.4792-3.0887-7.4568-1.9776-1.9776-4.6601-3.0887-7.4568-3.0887-2.7967 0-5.4792 1.1111-7.4568 3.0887-1.9776 1.9776-3.0887 4.6601-3.0887 7.4568 0 2.7967 1.1111 5.4792 3.0887 7.4568 1.9776 1.9776 4.6601 3.0887 7.4568 3.0887z\" clip-path=\"url(#p048cf32fde)\" fill=\"#1192e8\" stroke=\"#1192e8\" stroke-width=\"2\"/><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(37.301 48.734) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-Oblique-71\" transform=\"scale(.015625)\" d=\"m2669 525q-231-303-546-460-314-156-695-156-531 0-833 358-301 358-301 986 0 506 186 978t533 847q225 244 517 375t614 131q387 0 637-153t363-462l100 525h578l-934-4813h-579l360 1844zm-1778 813q0-463 193-705 194-242 560-242 544 0 928 520t384 1264q0 450-199 689-198 239-569 239-272 0-504-127-231-126-403-370-181-256-286-600-104-343-104-668z\"/><path id=\"DejaVuSans-30\" transform=\"scale(.015625)\" d=\"m2034 4250q-487 0-733-480-245-479-245-1442 0-959 245-1439 246-480 733-480 491 0 736 480 246 480 246 1439 0 963-246 1442-245 480-736 480zm0 500q785 0 1199-621 414-620 414-1801 0-1178-414-1799-414-620-1199-620-784 0-1198 620-414 621-414 1799 0 1181 414 1801 414 621 1198 621z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-30\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(37.301 95.088) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-31\" transform=\"scale(.015625)\" d=\"m794 531h1031v3560l-1122-225v575l1116 225h631v-4135h1031v-531h-2687v531z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-31\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(37.301 141.44) scale(.1625 -.1625)\"><defs><path id=\"DejaVuSans-32\" transform=\"scale(.015625)\" d=\"m1228 531h2203v-531h-2962v531q359 372 979 998 621 627 780 809 303 340 423 576 121 236 121 464 0 372-261 606-261 235-680 235-297 0-627-103-329-103-704-313v638q381 153 712 231 332 78 607 78 725 0 1156-363 431-362 431-968 0-288-108-546-107-257-392-607-78-91-497-524-418-433-1181-1211z\"/></defs><use xlink:href=\"#DejaVuSans-Oblique-71\"/><use transform=\"translate(63.477 -16.406) scale(.7)\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(84.752 47.87) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-48\" transform=\"scale(.015625)\" d=\"m628 4666h631v-1913h2294v1913h631v-4666h-631v2222h-2294v-2222h-631v4666z\"/></defs><use xlink:href=\"#DejaVuSans-48\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(84.752 94.224) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-48\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(84.752 140.58) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-48\"/></g></g><path d=\"m135.99 21.106v46.354\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m135.99 67.46v46.354\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><path d=\"m135.99 113.81v46.354\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#000000\" stroke-dasharray=\"3.7,1.6\"/><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(175.99 55.53) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-2e\" transform=\"scale(.015625)\" d=\"m684 794h660v-794h-660v794z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-32\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(178.43 43.351) scale(.13 -.13)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-50\" transform=\"scale(.015625)\" d=\"m1259 4147v-1753h794q441 0 681 228 241 228 241 650 0 419-241 647-240 228-681 228h-794zm-631 519h1425q785 0 1186-355 402-355 402-1039 0-691-402-1044-401-353-1186-353h-794v-1875h-631v4666z\"/></defs><use xlink:href=\"#DejaVuSans-50\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(175.99 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-34\" transform=\"scale(.015625)\" d=\"m2419 4116-1594-2491h1594v2491zm-166 550h794v-3041h666v-525h-666v-1100h-628v1100h-2106v609l1940 2957z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-34\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(178.43 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(175.99 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-36\" transform=\"scale(.015625)\" d=\"m2113 2584q-425 0-674-291-248-290-248-796 0-503 248-796 249-292 674-292t673 292q248 293 248 796 0 506-248 796-248 291-673 291zm1253 1979v-575q-238 112-480 171-242 60-480 60-625 0-955-422-329-422-376-1275 184 272 462 417 279 145 613 145 703 0 1111-427 408-426 408-1160 0-719-425-1154-425-434-1131-434-810 0-1238 620-428 621-428 1799 0 1106 525 1764t1409 658q238 0 480-47t505-140z\"/></defs><use xlink:href=\"#DejaVuSans-30\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"95.410156\" xlink:href=\"#DejaVuSans-36\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(178.43 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><path d=\"m228.7 96.663v-12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m222.68 90.637h12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(258.79 101.88) scale(.08 -.08)\" fill=\"#ffffff\"><defs><path id=\"DejaVuSans-37\" transform=\"scale(.015625)\" d=\"m525 4666h3e3v-269l-1694-4397h-659l1594 4134h-2241v532z\"/><path id=\"DejaVuSans-38\" transform=\"scale(.015625)\" d=\"m2034 2216q-450 0-708-241-257-241-257-662 0-422 257-663 258-241 708-241t709 242q260 243 260 662 0 421-258 662-257 241-711 241zm-631 268q-406 100-633 378-226 279-226 679 0 559 398 884 399 325 1092 325 697 0 1094-325t397-884q0-400-227-679-226-278-629-378 456-106 710-416 255-309 255-755 0-679-414-1042-414-362-1186-362-771 0-1186 362-414 363-414 1042 0 446 256 755 257 310 713 416zm-231 997q0-362 226-565 227-203 636-203 407 0 636 203 230 203 230 565 0 363-230 566-229 203-636 203-409 0-636-203-226-203-226-566z\"/><path id=\"DejaVuSans-39\" transform=\"scale(.015625)\" d=\"m703 97v575q238-113 481-172 244-59 479-59 625 0 954 420 330 420 377 1277-181-269-460-413-278-144-615-144-700 0-1108 423-408 424-408 1159 0 718 425 1152 425 435 1131 435 810 0 1236-621 427-620 427-1801 0-1103-524-1761-523-658-1407-658-238 0-482 47-243 47-506 141zm1256 1978q425 0 673 290 249 291 249 798 0 503-249 795-248 292-673 292t-673-292-248-795q0-507 248-798 248-290 673-290z\"/><path id=\"DejaVuSans-35\" transform=\"scale(.015625)\" d=\"m691 4666h2478v-532h-1900v-1143q137 47 274 70 138 23 276 23 781 0 1237-428 457-428 457-1159 0-753-469-1171-469-417-1322-417-294 0-599 50-304 50-629 150v635q281-153 581-228t634-75q541 0 856 284 316 284 316 772 0 487-316 771-315 285-856 285-253 0-505-56-251-56-513-175v2344z\"/><path id=\"DejaVuSans-33\" transform=\"scale(.015625)\" d=\"m2597 2516q453-97 707-404 255-306 255-756 0-690-475-1069-475-378-1350-378-293 0-604 58t-642 174v609q262-153 574-231 313-78 654-78 593 0 904 234t311 681q0 413-289 645-289 233-804 233h-544v519h569q465 0 712 186t247 536q0 359-255 551-254 193-729 193-260 0-557-57-297-56-653-174v562q360 100 674 150t592 50q719 0 1137-327 419-326 419-882 0-388-222-655t-631-370z\"/></defs><use xlink:href=\"#DejaVuSans-31\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-37\"/><use x=\"127.246094\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"159.033203\" xlink:href=\"#DejaVuSans-38\"/><use x=\"222.65625\" xlink:href=\"#DejaVuSans-39\"/><use x=\"286.279297\" xlink:href=\"#DejaVuSans-34\"/><use x=\"349.902344\" xlink:href=\"#DejaVuSans-32\"/><use x=\"413.525391\" xlink:href=\"#DejaVuSans-35\"/><use x=\"477.148438\" xlink:href=\"#DejaVuSans-33\"/><use x=\"540.771484\" xlink:href=\"#DejaVuSans-32\"/><use x=\"604.394531\" xlink:href=\"#DejaVuSans-31\"/><use x=\"668.017578\" xlink:href=\"#DejaVuSans-30\"/><use x=\"731.640625\" xlink:href=\"#DejaVuSans-30\"/><use x=\"795.263672\" xlink:href=\"#DejaVuSans-32\"/><use x=\"858.886719\" xlink:href=\"#DejaVuSans-34\"/><use x=\"922.509766\" xlink:href=\"#DejaVuSans-38\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(294.31 89.705) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><path d=\"m367.76 96.663v-12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m361.74 90.637h12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m414.12 143.02v-12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m408.09 136.99h12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(444.2 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-31\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-37\"/><use x=\"127.246094\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"159.033203\" xlink:href=\"#DejaVuSans-32\"/><use x=\"222.65625\" xlink:href=\"#DejaVuSans-38\"/><use x=\"286.279297\" xlink:href=\"#DejaVuSans-35\"/><use x=\"349.902344\" xlink:href=\"#DejaVuSans-39\"/><use x=\"413.525391\" xlink:href=\"#DejaVuSans-33\"/><use x=\"477.148438\" xlink:href=\"#DejaVuSans-34\"/><use x=\"540.771484\" xlink:href=\"#DejaVuSans-36\"/><use x=\"604.394531\" xlink:href=\"#DejaVuSans-37\"/><use x=\"668.017578\" xlink:href=\"#DejaVuSans-39\"/><use x=\"731.640625\" xlink:href=\"#DejaVuSans-33\"/><use x=\"795.263672\" xlink:href=\"#DejaVuSans-30\"/><use x=\"858.886719\" xlink:href=\"#DejaVuSans-36\"/><use x=\"922.509766\" xlink:href=\"#DejaVuSans-38\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(479.73 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><path d=\"m553.18 143.02v-12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m547.15 136.99h12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m599.53 143.02v-12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m593.51 136.99h12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(629.62 148.24) scale(.08 -.08)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-31\"/><use x=\"63.623047\" xlink:href=\"#DejaVuSans-36\"/><use x=\"127.246094\" xlink:href=\"#DejaVuSans-2e\"/><use x=\"159.033203\" xlink:href=\"#DejaVuSans-37\"/><use x=\"222.65625\" xlink:href=\"#DejaVuSans-31\"/><use x=\"286.279297\" xlink:href=\"#DejaVuSans-37\"/><use x=\"349.902344\" xlink:href=\"#DejaVuSans-36\"/><use x=\"413.525391\" xlink:href=\"#DejaVuSans-31\"/><use x=\"477.148438\" xlink:href=\"#DejaVuSans-36\"/><use x=\"540.771484\" xlink:href=\"#DejaVuSans-31\"/><use x=\"604.394531\" xlink:href=\"#DejaVuSans-34\"/><use x=\"668.017578\" xlink:href=\"#DejaVuSans-38\"/><use x=\"731.640625\" xlink:href=\"#DejaVuSans-35\"/><use x=\"795.263672\" xlink:href=\"#DejaVuSans-38\"/><use x=\"858.886719\" xlink:href=\"#DejaVuSans-38\"/><use x=\"922.509766\" xlink:href=\"#DejaVuSans-39\"/></g></g><g clip-path=\"url(#p048cf32fde)\"><g transform=\"translate(665.15 136.06) scale(.13 -.13)\" fill=\"#ffffff\"><use xlink:href=\"#DejaVuSans-50\"/></g></g><path d=\"m738.6 143.02v-12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><path d=\"m732.57 136.99h12.052\" clip-path=\"url(#p048cf32fde)\" fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"square\" stroke-width=\"2\"/><defs><clipPath id=\"p048cf32fde\"><rect x=\"7.2\" y=\"7.2\" width=\"761.99\" height=\"157.6\"/></clipPath></defs></svg>"
      ],
      "text/plain": [
       "<Figure size 1374.44x284.278 with 1 Axes>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": "x = [0.1, 0.2, 0.3]\nencode = circuit.bind_parameters(x)\nencode.decompose().draw()"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "3rT-6mVFNKLA"
   },
   "source": "<!-- ::: q-block.exercise -->\n\n### Quick quiz\n\n<!-- ::: q-quiz(goal=\"qml-encoding-0\") -->\n\n<!-- ::: .question -->\n\nA parameterized quantum circuit has 16 parameters. What is the largest number of features it can encode?\n\n<!-- ::: -->\n\n<!-- ::: .option -->\n\n1. 4\n\n<!-- ::: -->\n\n<!-- ::: .option -->\n\n2. 8\n\n<!-- ::: -->\n\n<!-- ::: .option(correct) -->\n\n3. 16\n\n<!-- ::: -->\n\n<!-- ::: .option -->\n\n3. 32\n\n<!-- ::: -->\n\n<!-- ::: -->\n\n<!-- ::: -->"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "formulas": {
     "big-o-times": {
      "meaning": "In the same way a big sigma (Σ) represents summation over different values, this big 'otimes' means we take the Kronecker product of the formula to it's right for a set of values.",
      "say": "big o-times"
     }
    },
    "id": "eUManKSpNKLB"
   },
   "source": "The performance of different parameterized quantum circuits on different types of data is an active area of investigation.\n\n<div style=\"display: none\">\n\n$$\\cssId{big-o-times}{\\bigotimes}$$\n\n</div>"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "zrdKZYDBNKLB"
   },
   "source": "## References\n\n1.  Maria Schuld and Francesco Petruccione, *Supervised Learning with Quantum Computers*, Springer 2018, [doi:10.1007/978-3-319-96424-9](https://www.springer.com/gp/book/9783319964232).\n2. Ryan LaRose and Brian Coyle, *Robust data encodings for quantum classifiers*, Physical Review A 102, 032420 (2020), [doi:10.1103/PhysRevA.102.032420](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.102.032420), [arXiv:2003.01695](https://arxiv.org/abs/2003.01695)."
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "WGymQOv3NKLB",
    "outputId": "e8fc3dac-8fbf-47a1-fb54-45dfbc594bcc"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h3>Version Information</h3><table><tr><th>Qiskit Software</th><th>Version</th></tr><tr><td><code>qiskit-terra</code></td><td>0.21.2</td></tr><tr><td><code>qiskit-aer</code></td><td>0.10.4</td></tr><tr><td><code>qiskit-ibmq-provider</code></td><td>0.19.2</td></tr><tr><td><code>qiskit</code></td><td>0.37.2</td></tr><tr><td><code>qiskit-nature</code></td><td>0.4.1</td></tr><tr><td><code>qiskit-finance</code></td><td>0.3.2</td></tr><tr><td><code>qiskit-optimization</code></td><td>0.4.0</td></tr><tr><td><code>qiskit-machine-learning</code></td><td>0.4.0</td></tr><tr><th>System information</th></tr><tr><td>Python version</td><td>3.8.13</td></tr><tr><td>Python compiler</td><td>Clang 13.1.6 (clang-1316.0.21.2.5)</td></tr><tr><td>Python build</td><td>default, Aug 29 2022 05:17:23</td></tr><tr><td>OS</td><td>Darwin</td></tr><tr><td>CPUs</td><td>8</td></tr><tr><td>Memory (Gb)</td><td>32.0</td></tr><tr><td colspan='2'>Thu Sep 01 16:39:10 2022 BST</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": "# pylint: disable=unused-import\nimport qiskit.tools.jupyter\n%qiskit_version_table"
  }
 ],
 "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"
  },
  "colab": {
   "provenance": []
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}