{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Hands-on Quantum Computing with Qiskit\n", "\n", "\n", " \n", "By: \n", " - **Afonso Rodrigues**, CEiiA/University of Minho\n", " - **Ana Neri**, University of Minho\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", "\n", "## Contents\n", "\n", " 1. [Introduction](#introduction)\n", "\n", " 2. [Single-qubit states](#single_states)\n", "\n", " [Single-qubit operations](#single_operations)\n", "\n", " 3. [Multi-qubit states](#multi_qubits)\n", "\n", " 4. [Deutsch-Josza Algorithm](#DJ_alg)\n", "\n", " 5. [IBM Q Provider](#ibmq_provider)\n", "\n", "\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", "\n", "# 1. Introduction\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", "\n", "### QISKit - an overview\n", "\n", "Qiskit is an open-source framework for working with quantum computers at the level of algorithms, quantum circuits, or even pulses. It can be installed and executed locally, but to execute your code in actual, public access quantum processors, you need to create a [IBM Quantum experience](https://quantum-computing.ibm.com) account.\n", "\n", "Qiskit supports the *Python* language, which is itself compatible with multiple programming paradigms.\n", "\n", "\n", "The main pillar of this toolkit (which the majority of these classes will feature) is **Qiskit Terra**.\n", "\n", " \n", "\n", "\n", "\n", "As of version `0.12`, Qiskit is composed of other 3 main modules:\n", "\n", "**Aer** is a simulator framework for the stack.\n", "\n", "
This is the story about Schrödinger's cat. The poor cat is in a box with radioactive material, which can release some particles or not. If the material releases particles, they will set in motion a chain of events that will kill the cat.
\n", " \n", " - After 1 hour the cat has a probability of 50% of being dead.\n", " \n", " - Since we can not be sure until we open the box, we say that can is alive and dead during that hour. \n", " \n", "\n", " \n", "In other words, the cat is in every possible state until it is observed.
\n", " \n", "Let's get the poor cat again. Now the cat has a friend. they are both inside boxes. and they are entangled.
\n", " \n", "I can take my cat home (box A) and you take your cat home (box B). Eventually, I open my box and I find my cat is dead, but at the same time, I know that your cat is alive. I didn't have to call you but I know this.
\n", " \n", "$q_0$ (input) = A | \n", "$q_1$ (input) = B | \n", "$q_1$ (output) = S | \n", "$q_2$ (output) = C | \n", "
---|---|---|---|
0 | \n", "0 | \n", "0 | \n", "0 | \n", "
1 | \n", "0 | \n", "1 | \n", "0 | \n", "
0 | \n", "1 | \n", "1 | \n", "0 | \n", "
1 | \n", "1 | \n", "0 | \n", "1 | \n", "
\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "
\n", "\n", "### Algorithm\n", "\n", "\n", "
\n", "
\n",
"\n",
"\n",
"What are the results of measurement?\n",
"- if f is constant $\\rightarrow$ output is $|0 \\cdots 0\\rangle$\n",
"- if f is balanced $\\rightarrow$ output is otherwise.\n",
"\n",
" \n",
"\n",
"\n",
"### The Deutsch-Josza algorithm demonstrates quantum paralelism\n",
"\n",
"A quantum register has the ability to exist in a superposition of base states - each one may be thought of as a single argument to a function. \n",
"\n",
"A function performed on the register in a superposition of states is thus performed on each of the components of the superposition, _while only being applied once_.\n",
"\n",
"\n",
" \n",
"\n",
"### Exercise\n",
"\n",
"1. Implement the Deutsch-Josza algorithm arount the _black box_ in the circuit below. Use the results to find if the box is encoding a constant or a balanced function.\n",
"\n",
"2. Verify the result by building a truth table for the oracle (below).\n",
"\n",
"|input | |output |\n",
"|-------|--------|---------|\n",
"|qubit 0| qubit 1| qubit 2 |\n",
"| 0 | 0 | |\n",
"| 1 | 0 | |\n",
"| 0 | 1 | |\n",
"| 1 | 1 | |"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ0AAADWCAYAAAAKN1+5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de1hVdaL/8fcGFDVECkIUyRukiELeylsqZU6amkdJR0dnUlEPeCstc2pGT+PRUSvJzqhlTaXjyUKt9BfeNa1RGjXxOuZlbPCGiVYoBCIbfn/sE4kXQNx7rcXen9fz8Ihrf/fysx+/8OG71toLW1FRUREiIiIG8DI7gIiIeA6VjoiIGEalIyIihlHpiIiIYVQ6IiJiGJWOiIgYRqUjIiKGUemIiIhhVDoiImIYlY6IiBhGpSMiIoZR6YiIiGFUOiIiYhiVjoiIGEalIyIihlHpiIiIYVQ6IiJiGJWOiIgYRqUjIiKG8TE7gLjWN998U+aYv/zlL4wdO7bUMU2bNnVWJLEQzQ8xmlY6wvz5882OIBam+SHOpNIRERHDqHRERMQwKh1hxYoVZkcQC9P8EGdS6YiIiGFUOkJcXJzZEcTCND/EmVQ6IiJiGL1PR0Qsy2azmfLvFhUVmfLvegKtdIQxY8aYHUEsTPNDnMlWpEp3a+V5x3l56B3n7snq80MrHfejlY7QuXNnsyOIhWl+iDOpdITMzEyzI4iFaX6IM6l0RETEMCodoVmzZmZHEAvT/BBnUukIK1euNDuCWJi7z48qVaqYHcGjqHSukZaWRu/evQkJCcHPz4+YmBgWLlzo9leyTJ061ewIYmGVZX507NiRyZMns2zZMtavX8+aNWtYsGABI0aMICws7KbPmTp1Khs3buSuu+4yOK3n0ptD/096ejqxsbE0btyY+fPnU6tWLVatWkViYiLZ2dk8//zzZkd0meXLl/OnP/3J7Bi3pagITLqa1uNYeX54eXkxcuRInnnmmVIv27bb7Xz22WdMnz6dr7/+GnAUzssvv4zdbqdjx45s2LDBqNgeTaXzf1atWkVWVhbJyck0btwYgG7durF3716WLFni1qVTWVy4DF8cgd3fwk/54FcNHmoEnZtArRpmpxOjNW7cmPfff59OnToBcPr0aVatWsXu3bvJyMjAx8eHpk2b0qFDB3r16sWTTz5Jr169mDNnDvn5+UybNg273c7QoUNVOAbyiNIpLCxk7ty5vPXWW5w6dYomTZrwxhtvMGrUKLp06cKiRYvIz88HICAgoMRzAwIC+P77782ILdf4NhMWboH8gl+2ZefB5n/CV/+Csd2gTsCtny/uJSYmhk2bNhEUFMTZs2eZOHEiK1aswG63lxiXkpLCa6+9RnBwMFOmTGHChAn8/ve/BygunGXLlpnxEjyWR5zTGT58ONOnT2f06NGsXbuWAQMGMGjQIE6cOEHr1q0BGDRoEIGBgSQmJpKenk5WVhaLFy9m3bp1TJw40eRX4Frbtm0zO0KprhTA21vhqv3mj/+UD4s+B3uhobE8htXmR926ddmwYQNBQUGsXbuWqKgoPvrooxsK51rnz59n4sSJvPfee8XbUlNTVTgmcPvS+eCDD1i8eDGrV6/mueeeIzY2lpdeeon27dtTUFBQXDqhoaGkpqayf/9+GjRoQEBAAPHx8SQlJTFixIji/X333Xd0796dGjVqEBMTQ1pamlkvzWkOHTpkdoRS7fm3o1hudT1HURH88BMcOmNoLI9htfmxaNEigoOD2bRpE3379uXHH38s1/OmTp3KiBEjsNvt5OXl0alTJ/r37+/itHI9t7/3WosWLahXrx5r164tsf2FF14gKSmJy5cv4+vrS3p6Or/61a8IDQ1lwoQJ+Pv7s3nzZubMmcOcOXOYMGECAP369aNevXrMnj2bv/3tb8yePZujR4/i7e3tstdwJ/efevbZZ8sck5SUVOa4pKSkCme4U0+MX0GjNk/i5XXro8GFhXYObX2HLe/+p4HJKr/KNj969+7N6tWr+eGHH4iKiiIjI6Ncz7v2ooGhQ4dSq1YtFi5cyLlz56hfv37x4XWpuPJWiVuf0zl9+jQHDx686RfMyZMniYqKwtfXF4ApU6aQk5NDSkoK1apVA6Br164UFBQwefJkhgwZQtWqVUlJSeHMmTNUr16dUaNGMXPmTL766is6duxo6GvzJF4+VYEyireoCG+fqobkEfOMHTsWgOnTp1e4cJYtW4bNZiMhIYHo6Gj69evHhx9+6MrYcg23Xul89dVXtG/fnpSUFHr27Fm8PTc3l8aNG9OzZ0/eeecdwHGX3IYNG96wIlq5ciVxcXGkpqZStWpVevXqxdmzZ4sf7927N3369GHkyJHGvKjbVJ67CEdGRnL48OFSx5h5l+nVabDln2WP69MSHtGb52+L1efHtav8kJAQMjIyyM3NpW7duuU6rHazwvnZqFGjeOutt1i7dm2J7w+gu0y7kluf0wkKCgLg6NGjJbbPmTOHjIwMWrVqVbytTp06HDhwgNzc3BJjU1NTAcc5n5ycHPz9/Us87u/vT3Z2tiviG+bll182O0KpOoSXPcbbCx5s5Posnsgq86NNmzaA42vyTgsHYN26dQC0bdvW+WHlltz68FqjRo2Ijo5m5syZ3HPPPYSGhrJixQrWrFkDUHwRAcC4cePo378/PXr0YPz48fj7+7Np0ybmzZtHXFwcYWFhZGZmcvny5RL/xqVLl/Dz8zP0dTnbgAEDzI5QqqCa8KsWsP7Arcf0beV43444n1XmR/PmzQHKdfFOWYUDjkPsFy9eJCgoiDp16pT7cJ3cGbde6Xh5ebF8+XKioqJISEhg2LBhBAUFMWbMGHx8fIiOji4e269fP9avX4+XlxcJCQn07duXlJQUZsyYwdKlSwGIiIjgwoULXLx4sfh5Bw8erPQ3RIyMjDQ7QpkebwH929xYLAE1YHB7eLiJObk8gVXmx6FDh3j77bfLvIR7wIABZRbOz/7617/y5ptvUlBQcMsx4lxufU7nVoYOHcq+ffvYv3//bT+3X79+3HfffcyaNYulS5cyc+ZMjh075tKr1+6E1Y/Z3y57IUz6v+8hY7tBo3vBy61/dHItq8+Pily5WaVKFZYtW8bKlSsr/D4cD/y2aBi3Prx2K7t376Zdu3YVeu7ChQsZMmQId999NxEREaxcudKyheOOvK8pmPDa5uUQ67p69SpxcXFmx5Bb8LjSyc7O5ujRoyQmJlbo+bVr12bjxo1OTmWurl27mh1BLEzzQ5zJ40rHz8+v1NtleKKFCxeaHUEsTPNDnElHw4WEhASzI4iFaX6IM6l0hK1bt5odQSxM80OcSaUjIiKGUemIiIhhVDpS5nswxLNpfogzqXSE5ORksyOIhWl+iDOpdIRp06aZHUEszMz5UVRUdFsfL8x6ixdmvXXD57f7Ia6j0hEREcOodERExDAqHWHBggVmRxAL0/wQZ1LpCFFRUWZHEAvT/BBnUukIXbp0MTuCWJjmhziTSkdERAyj0hEREcOodIS2bduaHUEsTPNDnEmlI+zatcvsCGJhmh/iTCodERExjEpHREQMo9IRVqxYYXYEsTDND3EmlY6IiBhGpSPExcWZHUEsTPNDnEmlIyIihvExO4CIiDux2Wym/LuV5fcAaaUjjBkzxuwIYmGaH+JMKh1h7NixZkcQC9P8EGdS6QidO3c2O4JYmOaHOJNKR8jMzDQ7gliY5oc4k0pHREQMo9IRmjVrZnYEsTDND3EmlY6wcuVKsyOIhWl+uN59991HbGwsjz32GG3btqV69eq3HGuz2ZgwYQJ33XWXgQmdR6VznbS0NHr37k1ISAh+fn7ExMSwcOHCSnMNfEVMnTrV7AhiYZofrtG2bVvee+89MjMzSU9PZ8uWLWzYsIGdO3dy+fJl9uzZw7hx4/D39y9+js1mY/78+bz++uuV9ocBlc410tPTiY2N5ezZs8yfP59PP/2Uzp07k5iYyKuvvmp2PJdZvny52RHcWoEd9qbD/0uDlL1wJAMq088wmh/OFRISwqeffsrOnTt5+umnCQoK4sKFC3zxxRds3LiR/fv3U1RURMuWLXnjjTdIT0/nd7/7XXHhJCQkkJeXx2uvvWb2S6kQ3ZHgGqtWrSIrK4vk5GQaN24MQLdu3di7dy9Llizh+eefNzmhVDaHz8L/7oDsK79s23gI7q0JwztDnQDzsonxHn74YT755BMCAwPJyspi0aJFvPPOOxw9erTEuGrVqtGzZ0/Gjx9Ply5deP/99/nDH/5AeHg4eXl59OnTh40bN5r0Ku6Mx6x0CgsLefXVV4mIiKBatWrExMSwbds2mjRpwqhRowDIz88HICCg5HeCgIAACgsLDc8sldu/zsPbWyHnyo2PXciG/9kI32cbHktM0qFDB9atW0dgYCDr1q0jKiqKyZMn31A4AHl5eXz88cd07dqV3/72t1y5coXw8HDsdjv/8R//UWkLBzyodIYPH8706dMZPXo0a9euZcCAAQwaNIgTJ07QunVrAAYNGkRgYCCJiYmkp6eTlZXF4sWLWbduHRMnTjT5FbjOtm3bzI7glj7b6ziMdrMjaUVFkJsPWw4bHuu2aX7cuYCAAJKTk6lRowbvvfceTzzxBGfOnCnzeTabjfbt2+Pr60tRURHe3t60atXKgMSu4xGl88EHH7B48WJWr17Nc889R2xsLC+99BLt27enoKCguHRCQ0NJTU1l//79NGjQgICAAOLj40lKSmLEiBHF+5s2bRrNmjXDy8vLLX7B1aFDh8yO4HYyL8G3mTcvnJ8VATtPgN3ii2jNjzv3yiuvEBoayo4dOxg5cmS5jpxcfw5nypQpgOP7T2RkpKsju4xHnNP585//zOOPP06XLl1KbA8PD6dKlSq0aNECcFxI0Lt3b0JDQ5k9ezb+/v5s3ryZSZMmYbfbmTBhAgARERHMmzePP/7xj4bkv5O71j777LNljklKSipzXFJSUoUzONuEpY5v5Wbdzbc86jWLpf+LW8ocl18AfrWCyMu+aECqG7nb/Hhh1luAY25c+7mZ6taty9NPP83Vq1cZPnw4dru9zOdcXzg/n8OJiIggPj6eiRMnMnLkyBueY6byXuHr9iud06dPc/DgQZ566qkbHjt58iRRUVH4+voCMGXKFHJyckhJSaFPnz507dqV6dOnM3HiRCZPnszFi45vDEOGDOGxxx6jWrVqhr4WqTzyf8oq17iiQjtXr+jEjjuLj4/Hx8eHTz75hCNHjpQ5/laFAzBnzhwABg8eTK1atVya21XcfqVz+vRpwHGZ4rVyc3PZtm0bPXv2LN6WlpZG8+bNbyiTNm3akJ+fz7FjxwgMDHR96OvcyXuEvvnmmzLHJCUlFV9McStz586tcAZne+Z/HX9a+b1ThUXw36vg+5xbj7EBLe7zpiA/z7Bc13O3+TFl9iLAMTeu/dxI1684Hn30UQCWLFlSrufeqnAAjh07xo4dO+jQoQPt2rVj/fr1xY9Z+evhWm6/0gkKCgK44QqROXPmkJGRUeKkXJ06dThw4AC5ubklxqampgKOcz7u6OWXXzY7gtvxssFjzcsYZIPYSnBoXvOj4mw2Gy1btgRg586dZY4trXB+9o9//AOg+Fx0ZeP2K51GjRoRHR3NzJkzueeeewgNDWXFihWsWbMGKPkfN27cOPr370+PHj0YP348/v7+bNq0iXnz5hEXF0dYWJhZL8OlBgwYYHYEt9SuMfyQAxsOOlY11/4c6mWD37SHRsFmpSs/zY+Kq1mzJjVr1uTSpUul3q27vIUDcPz4ccBxrqgycvuVjpeXF8uXLycqKoqEhASGDRtGUFAQY8aMwcfHh+jo6OKx/fr1Y/369Xh5eZGQkEDfvn1JSUlhxowZLF261MRX4VqV+UoYK7PZoGcMTO4J7SN+2f5YFPzxSWjd0Lxst0Pzo+IuXbqEn58fDRuW/p/t7e1N3bp1y/XGz3fffZeAgIByXQRiRW6/0gG4//77+fzzz0tsGzp0KJGRkTfcWK979+5079691P1dvXoVu91OYWEhV69eJS8vD19fX9OvHhFrqns3DHgQdhxz/P2JB8zNI8bKyckhJ6eUk3tAQUEBTz31FNHR0Xz99deljs3LyyMvz7zzgHfK7Vc6t7J79+4KHxMdOXIk1atX58svv2Tw4MFUr16d9PR0JycUEU9y9erVMgvHHXhk6WRnZ3P06NEKv7P3/fffp6ioqMRHgwYNnBvSQF27djU7gliY5oc4k0ccXruen59fud6g5SkWLlxodgSxMM0PcSaPXOlISQkJCWZHEAvT/BBnUukIW7duNTuCWJjmhziTSkdERAyj0hEREcOodITDhyvBL3UR02h+iDOpdITk5GSzI4iFaX7cnuvfTlGejxdmvcULs9664fPb+agsVDrCtGnTzI4gFqb5Ic6k0hEREcOodERExDAqHWHBggVmRxAL0/wQZ1LpCFFRUWZHEAvT/BBnUukIXbp0MTuCWJjmhziTSkdERAyj0hHatm1rdgSxMM0PcSaVjrBr1y6zI4iFaX6IM6l0RETEMCodERExjEpHWLFihdkRxMI0P8SZVDoiImIYlY4QFxdndgSxMM0PcSaVjoiIGEalIyIihlHpCGPGjDE7gliY5oc4k0pHGDt2rNkRxMI0P8SZVDpC586dzY5Qbj9d+eXzf1+AvKvmZSkveyFk/PjL3y9chkr024Ur1fwQ6/MxO4CYLzMz0+wIpfo+G3Ych7R0uJj9y/bX1zv+DPaHVg2gfTjUqm5KxBsU2OHAaUg9Dt9mwlX7L4/992qoXhXurw0d74eI2mCzmZe1LFafH1K5qHTEsvILYO1+2HoYSlsYnL8E6/bDxoPQvTl0iwJvE9fwx7+DZV+VLMjr5ebDvlOOj/pBMLgd1K5lXEYRs+jwmtCsWTOzI9zghxyYuw4+L6NwrmUvdJTUvA2QnefSeDdVVOT49/+yqfTCuV76BXhlDXz9reuy3Qkrzg+pvFQ6wsqVK82OUMKPP8H/bIRzWRV7/smLMH8T5Fwpe6wzpeyD9Qcq9tyCQli6w5rFY7X5IZWbSuc6aWlp9O7dm5CQEPz8/IiJiWHhwoUUVaYzv7dp6tSpZkcoVljk+Ob7fc6tx7z+G8dHaTKyYPlO52YrzcHTsOlQ6WPKyl0ELPsHfHfJqdHumJXmh1R+Kp1rpKenExsby9mzZ5k/fz6ffvopnTt3JjExkVdffdXseC6zfPlysyMUSz3uOCfiDHtPwr6TztlXaXLzIdlJBVdghw9TrXV1m5Xmh1R+upDgGqtWrSIrK4vk5GQaN24MQLdu3di7dy9Llizh+eefNzmheyssLHu1cLs2HoToMNdeHbbzBFzKdd7+vr0Ax887rmoTcTces9IpLCzk1VdfJSIigmrVqhETE8O2bdto0qQJo0aNAiA/Px+AgICAEs8NCAigsLDQ8Mye5nCG4wICZzr9g+Mcj6sUFcH2Y87f7/ajzt+niBV4TOkMHz6c6dOnM3r0aNauXcuAAQMYNGgQJ06coHXr1gAMGjSIwMBAEhMTSU9PJysri8WLF7Nu3TomTpxo8itwnW3btpkdAYCj5yrXfgGych2XbDvb0XPWOcRmlfkh7sEjDq998MEHLF68mK1bt9KlSxcAYmNj2bNnDx9//HFx6YSGhpKamkqfPn1o0KABAD4+PiQlJTFixAgArly5wujRo9m4cSM5OTm0atWK+fPnExkZacprc4ZDhw4RHBxsdgxOuWhFcup71+wX4LSL9v1TvuNiikA/1+z/dlhlfoh78IjS+fOf/8zjjz9eXDg/Cw8Pp0qVKrRo0QJwXEjQu3dvQkNDmT17Nv7+/mzevJlJkyZht9uZMGECBQUFhIeHM2PGDEJCQpg9ezYDBw5k//79Lstvu4MTEs8++2yZY5KSksocl5SUVOEM5fX03H9RK7hRiW2lXe11q8ee+d+Sf1//+VeM6NL+DtPdXHS3BGKfXlCuXGU9fn3uFq06knFsxx2kK1tlmh/l8cKstwDH18y1n1tdZc19rfJe4ev2pXP69GkOHjx40y+akydPEhUVha+vLwBTpkwhJyeHlJQUqlWrBkDXrl0pKChg8uTJDBkyhMDAQP7whz8U72PcuHG89NJL5OXlFT9HKso1X2Q2F+335727bM9eHnP0WzyIR5QOQEhISIntubm5bNu2jZ49exZvS0tLo3nz5jeUR5s2bcjPz+fYsWMEBgaWeGzHjh00aNDApYVzJ+8R+uabb8ock5SUVHwxxa3MnTu3whnKa+66G0/6X//TP/yyUrjZYzfzSOeH+NBFJ0j2psP7fy+57Va5bjf3nn986fJb41Sm+VEeU2YvAhxfM9d+bnWVNXdFuP2PUkFBQQAcPVrycqA5c+aQkZFBq1atirfVqVOHAwcOkJtb8vrX1NRUwHHO51o//PADY8aMYcaMGa6IbpiXX37Z7AgA1LvHNfsNCyx7TEWFuiizrw/c6++afd8uq8wPcQ9uv9Jp1KgR0dHRzJw5k3vuuYfQ0FBWrFjBmjVrAIovIgDHobL+/fvTo0cPxo8fj7+/P5s2bWLevHnExcURFhZWPDY3N5c+ffowcOBABg8ebPjrcqYBAwaYHQGAxsGwwwWXHze61/n7/FmQn+PO1llOfJ8OQMN7wcsih/StMj/EPbj9SsfLy4vly5cTFRVFQkICw4YNIygoiDFjxuDj40N0dHTx2H79+rF+/Xq8vLxISEigb9++pKSkMGPGDJYuXVo8rqCggAEDBhAREVHpVzmAZa68iw6Du3ydu88gP4gIKXtcRdls0C7c+fvtEOH8fVaUVeaHuAe3X+kA3H///Xz++ecltg0dOpTIyEiqVy/5C1i6d+9O9+7dS91ffHw8hYWFLFq0yOlZPVkVb3j4flhXwZtm3kzXSNevGDpEOH79wpUC5+zv3poQFVr2OJHKyO1XOreye/fuEofWyis9PZ3FixezZcsWAgIC8PPzw8/Pj5MnDbjJlwfoFgUhTjp53uheY1YMtapDn1ZljysPGzConbm/D0jElTxipXO97Oxsjh49SmJi4m0/t379+m53VUnXrl3NjlDMxxt+2xHe2HjrX0Vdnqu/alaD33Qw7rxIh3A4ds5xk9FbKU/uHjHQyGLvw7TS/JDKzyNLx8/PD7vdXvZAD7Fw4UKzI5RQ925IfBTe3OJ4Z/7tCqgB//mIse/mt9lgSAfHn2npFdvHr1rAY1HOzeUMVpsfUrlpES8kJCSYHeEG9wXCC71u/9xGmwbwfE/nHaK7HT+v0gY+5LjkubwCasDoWOgR7dq7YVeUFeeHVF4eudKRkrZu3Wp2hJuqVR3iu8Cx7+DvRx2/KK3wJkc2vb3ggfug0/2OS43NZLNB+3BHWaYed3z8+NPNx4bUcmRu0xCqVTE25+2w6vyQykmlI5Zms8H9IY6P/AI4+yN8lwVX7Y6r3eoEQN0AxyrDSvyrOw6XdW/uuHHn6e8hO8/xemrVgLB7HGNEPI1KRyqNqj7QIMjxUVnYbI5zS1a4W7SIFeicjnD48GGzI4iFaX6IM6l0hOTkZLMjiIVpfogzqXSEadOmmR1BLEzzQ5xJpSMiIoZR6YiIiGFUOsKCBQvKHiQeS/NDnEmlI0RFWfDeK2IZmh/iTCodoUuXLmZHEAvT/BBnUumIiIhhVDoiImIY3QbHzTVt2rTMMdOmTSvXOHE/mh9iNK10hP/6r/8yO4JYmOaHOJNKR0REDKPSERERw6h0RETEMCodERExjEpHREQMo9IRERHDqHQ8xKlTp3j00UeJjIykefPm/P73vzc7kojlbN26laioKMLDw4mPj8dut5sdqUzjxo2jXr16+PhUjrddqnQ8hI+PD7Nnz+bw4cPs2bOHHTt2sGrVKrNjiVhGYWEh8fHxLF++nOPHj3Pp0iWWLl1qdqwyDRw4kK+//trsGOWm0vEQderUoU2bNgBUrVqV6OhoTp48aXIqEevYtWsXdevWpVmzZgCMGDGClStXmpyqbJ06daJ27dpmxyg3lY4HunjxIp9++imPPfaY2VFELOP06dOEhYUV//2+++7j1KlTJiZyT5XjIKA4zZUrV4iLi+OZZ57R/bSk0issLGTJxxvIupxTYvu891be9PN2LZvx0AORN91XUVERNputxN9dZd/hf7H1q703bL9Z7hrVfRkW1wMfH2+X5TGSVjoexG6385vf/IaWLVsyadIks+OI3DEvLy8eaBZOxvmLZJy/WLz9+s8zzl/kUnYOMZGNb7mvsLCwEoecT506Rb169VySu1lEfa5cyS9X7qiIBm5TOKDSARw/0Xz88cfExsZSp04datSoQZMmTRg9ejQnTpwwO57TjBo1ipo1a/Laa6+ZHUXEaWIiG3Nf3eAyx3V/uC3VfKve8vE2bdpw5swZ/vnPfwLw17/+lX79+jkt57Wq+PjQI/ahMscFBwbw0APNXJLBLCod4LnnnqN///4cOXKEvn37Mm7cOBo2bMjbb7/NAw88wMGDB82OeMe2b9/Ou+++y+7du2nZsiUPPPAAb7zxhtmxRO6YzWaj16MdSh0Tcu89tI1uUuoYb29v3n77beLi4mjcuDF+fn4MHTrUmVFLaH5/QxqG1Sl1TK9H2uPtXfq36dGjR1OvXj3sdjv16tVjzJgxzozpdLYiVx64rATOnTtHaGgoYWFh7Nu3j1q1ahU/lpSUxMSJExk2bBjvvvuuiSld6/pj2SKV0UefbSHt0PGbPhb/6ycIrx9qcKKynTl3gb8s/pibfRNu0iiMYU/1MDyTq3nESmfVqlX06tWL4OBgfH19qV+/PoMHD+bAgQP8+9//prCwkI4dO5YoHIBevXoBkJmZaUZsw3z4/7aw4YtdZscQuSOPd36QKlVuvDaqWUR9SxYOQGhIEK1b3LgC87LZeOKR9iYkcj23Lp2CggJ+/etf07dvX/bt20e/fv2YMGECLVu2ZOXKlZw5c4aIiAiqVq3K9u3buXTpUonnf/bZZwA8+uijZsQ3xNnvLrDv8L/w8nLrqSAeoJa/H10eiimxzdvLi56x7UxKVD6/6tyWqlWrlNjWrlUUwYEBJiVyLbe+ZHrs2LF89NFHjBw5kqSkJO66667ix06dOkVAQJbr7g0AAANVSURBVAA1a9Zk1qxZTJo0iaZNm/Lkk0/i7+/Pvn372LJlC4mJiYwdO9bEV+Fam3fsoZpvVTq2aW52FJE71vnBGHbt+6b4EuqObZoTdHetMp5lrpp+NXikfUvWbdsJQPVqvnTr2MrkVK7jtud0vvzySzp37szjjz/OmjVryjxnkZycTHx8PJcvXy7e1qlTJ2bNmkXHjh1dmnXK7EUu3b+IiKvNemFUuca57TGV119/HYBZs2aVWTh/+tOfGDJkCC+++CKnTp3i8uXLfPnll+Tl5dG1a1dWr15tRGQREbfntisdf39/AgMD+fbbb0sdt3nzZrp168azzz7L3LlzSzx27tw5GjVqRGhoKMeOHXNlXMOd/e4Cb7z/Md06tqZbp9ZmxxFxqsyLPxJ4t3+lOldZVFRE5sUfCQ662+woLuWW53R+/PFHLl++TOvWZX8zXbNmDQCxsbE3PBYSEkLTpk1JS0sjOzsbPz8/p2cFcw+vbdr+NZu2V5471IqINXn04bWfF2/nz58vc2x+fj5w68uiMzMz8fLyokqVKjd9XEREys9tD6+Fh4dz4sQJNmzYQLdu3Uo8duTIEZo0cVwb/+GHHzJo0CCioqLYvn17iffqvPnmmyQkJNCxY0f+/ve/G5rflf72yQb+lX6WF/5zENWr+ZodR0Q8iNuWTnJyMgMHDsTb25snn3yS8PBwzp8/z44dO2jWrBmffPIJ4LgJ5iOPPMIXX3xBcHAwffr0ISAggD179rBlyxaqV6/O1q1befDBB01+Rc6hczkiYia3LR2A9evX88orr7Br1y7y8vIIDg7mwQcf5JlnnuHhhx8uHnflyhWSkpJITk7myJEj5OfnU7t2bWJjY3nxxReJjLz5rdAro4NHvmXN1q8Y97t+WuWIiOHcunTk5goLCyvVVT0i4j5UOiIiYhj9uCsiIoZR6YiIiGFUOiIiYhiVjoiIGEalIyIihlHpiIiIYVQ6IiJiGJWOiIgYRqUjIiKGUemIiIhhVDoiImIYlY6IiBhGpSMiIoZR6YiIiGFUOiIiYhiVjoiIGEalIyIihlHpiIiIYVQ6IiJiGJWOiIgYRqUjIiKGUemIiIhhVDoiImIYlY6IiBhGpSMiIoZR6YiIiGFUOiIiYpj/D/HT5l09iPJAAAAAAElFTkSuQmCC\n",
"text/plain": [
"Version Information
"
],
"text/plain": [
"Qiskit Software Version Qiskit 0.12.0 Terra 0.9.0 Aer 0.3.0 Ignis 0.2.0 Aqua 0.6.0 IBM Q Provider 0.3.2 System information Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)] OS Windows CPUs 4 Memory (Gb) 15.885398864746094 Wed Oct 16 20:49:35 2019 Hora de Verão de GMT