Binary Decimal\\n 00000 = 0')" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from qiskit_textbook.widgets import binary_widget\n", "binary_widget(nbits=5)" ] }, { "cell_type": "markdown", "id": "ea1c466a-65c1-48a7-8d31-4975243eaf0f", "metadata": {}, "source": [ "Una de la herramientas muy útiles dentro del mundo Python es poder incorporar latex en las salidas correpondientes. Para esto se suele utilizar el paquete *pylatexenc* y su instalación se puede hacer desde pip, con una instrucción similar a la que sigue (se debe descomentar si el lector la quiere instalar en su equipo)." ] }, { "cell_type": "code", "execution_count": 4, "id": "3f0a565c", "metadata": {}, "outputs": [], "source": [ "#!pip install pylatexenc" ] }, { "cell_type": "markdown", "id": "b93ac8eb-b716-424c-9f7d-55518280044f", "metadata": {}, "source": [ "Para irnos familiarizando con la construcción de circuitos, a continuación se muestra en código sencilla que crea un circuito cuántico muy sencillo, constituido por 8 qubits y que simplemente lo que hace es una medición de los mismos. Posteriormente con la tercera línea de código, se procede a mostrar el circuito. Se le añade initial_state=True para que se muestren los estados iniciales, y output='mpl' para obtener una salidad gráfica más estética, utilizando para ello el paquete matplotlib." ] }, { "cell_type": "code", "execution_count": 5, "id": "1c281587", "metadata": {}, "outputs": [ { "data": { "image/png": "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yM/PV9/85eTJk7h8+TJWrFih94xhYWEICwvT+35JvD744AOdtlu7di2ee+45BAUFaVXQAWDHjh3YsWOHTq9LRERErcukhrs05fz581AqlfD29taYxu/111+Hs7MzxowZg71792LHjh2YMGEC+vXr1+BFnESGcvfuXYSHh2PkyJFaFXQiIiISN5b0e3799VcAmkNdAKB9+/ZIS0uDs7Mzxo8fj6lTp+LJJ5/E3r17OYc0Ce7u3bs4cOCA0DGIiIhIj0xuuEtjmirpAODp6dngMBkSXqdOnfDOO++gU6dOQkchIiIi0guW9HseVtJJvBwdHREVFSV0DCIiIiK9YUm/Jy0tzSCv4+HhAaVSaZDXMhV37tzBzz//jJCQENja2godh4iIiKjFOKCajF5+fj7mzJmD/Px8oaMQERER6QVLOhERERGRyLCkExERERGJDEs6EREREZHIsKST0ZNKpejevTukUqnQUYiIiIj0grO7kNHz9PTErl27hI5BREREpDc8k05EREREJDIs6WT0Lly4AH9/f1y4cEHoKERERER6wZJORk+pVKK6upo3iSIiIqJHBsekExmIlZUVSkpK9La/FYlbcbe0DO1lVoiZPl7jsT5YWVnpZT9ERESkHZZ0IgORSCSQyWR625+FpRQW1bWwsJRCJpNpPCYiIiLjxeEuREREREQiwzPpZPQ8PT2xZ88euLm5CR2FiIiISC9Y0snoSaVSeHt7Cx2DiIiISG843IWMXkFBARYsWICCggKhoxARERHpBUs6Gb3bt29j586duH37ttBRiIiIiPSCJZ2IiIiISGRY0omIiIiIRIYlnYiIiIhIZFjSyeg5Ojpi2rRpcHR0FDoKERERkV6wpJPRk0gksLCwgEQiEToKERERkV6wpJPR++uvv/DZZ5/hr7/+EjoKERERkV6wpBMRERERiQxLOhERERGRyLCkExERERGJDEs6GT1bW1tERETA1tZW6ChEREREetFW6ABELeXq6orly5cLHYOIiIhIb3gmnYxeZWUlrl69isrKSqGjEBEREekFSzoZvdzcXISHhyM3N1foKERERER6weEuRGQwSqUSZWVlQsfQipWVFW+URUREBseSTkQGU1ZWBmtra6FjaKWkpAQymUzoGEREZGI43IWIiIiISGRY0omIiIiIRIbDXcjo+fr64uLFi0LHICIiItIbnkkn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nj0FSPb/hYWFISwsTNAMxqS4uBiHDh3Cm2++KXQU0tGmTZuwadMmSCQSra4Hqa2tVd+cSJuCDtQNI2vTpk2T00ISEREJxeRKemPOnz8PpVIJHx+fBs9W79ixAwBw4cKFeo89PDzUZ/GIqGWUSiWUSmWz1y8uLkZYWBi++uorxMXFNbugq7CgExGRWLGk3/Prr78CaHyoy9/+9rcGH0dGRj4SN8YhMlbFxcV4/vnnhY5BRESkVyzp9zyspGtzdo+IiIiIqCVM6sLRpjyspJN4derUCe+88w46deokdBQiIiIiveCZ9HvS0tIM8joeHh48K69njo6OiIqKEjoGERERkd7wTDoZvTt37mD//v24c+eO0FGIiIiI9IIlnYxefn4+5syZg/z8fKGjEBEREekFSzoRERERkciwpBMRERERiQxLOhERERGRyLCkk9GTSqXo3r07pFKp0FGIiIiI9IJTMJLR8/T0xK5du4SOQURERKQ3PJNORERERCQyLOlk9C5cuAB/f39cuHBB6ChEREREesGSTkZPqVSiurqad3IlIiKiRwbHpBORwVhZWaGkpERv+1uRuBV3S8vQXmaFmOnjNR7rg5WVlV72Q0REpA2WdCIyGIlEAplMprf9WVhKYVFdCwtLKWQymcZjIiIiY8XhLkREREREIsMz6WT0PD09sWfPHri5uQkdhYiIiEgvWNLJ6EmlUnh7ewsdg4iIiEhvONyFjF5BQQEWLFiAgoICoaMQERER6QVLOhm927dvY+fOnbh9+7bQUYiIiIj0giWdiIiIiEhkWNKJiIiIiESGJZ2IiIiISGRY0snomZmZISgoCGZm/HEmIiKiRwNbDRk9hUKB9PR0KBQKoaMQERER6QVLOhERERGRyLCkExERERGJDEs6EREREZHIsKST0bO1tUVERARsbW2FjkJERESkF22FDkDUUq6urli+fLnQMYiIiIj0hmfSyehVVlbi6tWrqKysFDoKERERkV6wpJPRy83NRXh4OHJzc4WOQkRERKQXHO5CRGQgSqUSZWVlQsfQipWVFSQSidAxiIhMDks6EZGBlJWVwdraWugYWikpKYFMJhM6BhGRyeFwFyIiIiIikWFJJyIiIiISGQ53IaPn6+uLixcvCh2DiIiISG94Jp2IiIiISGRY0snoXblyBePHj8eVK1eEjkJERESkFyzpZPTKyspw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hIyMDPzwww/o0aNHq2RU3VBp1apVSE9Px59//gkfHx9MnDgRc+fOVc+V/qBFixa1Sh5jUFxcjEOHDuHNN98UOgqRzsaOHQupVIqbN29qtd2SJUt0KugAEB8fjw4dOqhnSCIiIvEwqZIO1F3ouXfvXo3nS0pKkJeXBzMzM/Ts2bPeMtXc6j/88AP27duHfv36tWrGsLAwhIWFteprEJF4KBQKbN++XadtJ02ahP379wOAVgUdQIO/C4mISBxMrqQ35vz581AqlfDx8dGYxu/NN9/E9u3bMW/ePFhZWeHEiRPqZZ6eng1O0UhEZAh3795Vf6jXpqATEZG4saTf8+uvvwJoeKjLd999BwBYtmyZxpjwjRs3an2HTCIifWI5JyJ69LCk39NUSdf2Qi4yrE6dOuGdd95Bp06dhI5CREREpBcs6fc0VdJJ3BwdHfltBhERET1SWNLvSUtLM8jreHh4QKlUGuS1TMWdO3fw888/IyQkBLa2tkLHISIiImoxToxLRi8/Px9z5swR5W3giYiIiHTBkk5EREREJDIs6UREREREIsOSTkREREQkMizpZPSkUim6d+8OqVQqdBQiIiIiveDsLmT0PD09sWvXLqFjEBEREekNz6QTEREREYkMSzoZvQsXLsDf3x8XLlwQOgoRERGRXrCkk9FTKpWorq7mTaKIiIjokcEx6UREBmJlZYWSkhK97W9F4lbcLS1De5kVYqaP13isD1ZWVnrZDxERaYclnYjIQCQSCWQymd72Z2EphUV1LSwspZDJZBqPiYjIeHG4CxERERGRyPBMOhk9T09P7NmzB25ubkJHISIiItILlnQyelKpFN7e3kLHICIiItIbDncho1dQUIAFCxagoKBA6ChEREREesGSTkbv9u3b2LlzJ27fvi10FCIiIiK9YEknIiIiIhIZlnQiIiIiIpFhSSciIiIiEhmWdDJ6ZmZmCAoKgpkZf5yJiIjo0cBWQ0ZPoVAgPT0dCoVC6ChEREREesGSTkREREQkMizpREREREQiw5JORERERCQyLOlk9GxtbREREQFbW1uhoxARERHpRVuhAxC1lKurK5YvXy50DCIiIiK94Zl0MnqVlZW4evUqKisrhY5CREREpBcs6WT0cnNzER4ejtzcXKGjEBEREekFSzoRERERkchwTDoRERmEUqlEWVmZ0DG0YmVlBYlEInQM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U6ZMQdu2bXW+SLU1mVRJB4Du3btj7969Gs+XlJQgLy8PZmZm6NmzZ4PbHjlyBFevXsV7773XqhnDwsIQFhbWqq9BREREJBaVlZU4evSoTttGRETg+++/x6VLl7Qq6ADw448/6vSahmByJb0x58+fh1KphI+PT6PT+CUnJ6Ndu3Z46aWXDJyOiIiIiBpSXFyMYcOGoby8XKuCLnYs6ff8+uuvABof6lJRUYEdO3bgueee4ywiRERERCKimmb7UcKSfs/DSrpUKsXt27cNmIiaq1OnTnjnnXfQqVMnoaMQERER6QVL+j0PK+kkXo6OjoiKihI6BhEREZHesKTfk5aWZpDX8fDwgFKpNMhrmYo7d+7g559/RkhICGxtbYWOQ0RERNRiJjVPOj2a8vPzMWfOHFHe/piIiIhIFyzpREREREQiw5JORERERCQyLOlERERERCLDkk5GTyqVonv37pBKpUJHISIiItILzu5CRs/T0xO7du0SOgYRERGR3vBMOhERERGRyLCkk9G7cOEC/P39ceHCBaGjEBEREekFSzoZPaVSierqat4kioiIiB4ZHJNORERERAZhZWWFkpISve1vReJW3C0tQ3uZFWKmj9d4rA9WVlZ62Y+2WNKJiIiIyCAkEglkMpne9mdhKYVFdS0sLKWQyWQaj40Zh7sQEREREYkMz6ST0fP09MSePXvg5uYmdBQiIiIivWBJJ6MnlUrh7e0tdAwiIiIiveFwFzJ6BQUFWLBgAQoKCoSOQkRERKQXLOlk9G7fvo2dO3fi9u3bQkchIiIi0guWdCIiIiIikWFJJyIiIiISGZZ0IiIiIiKR4ewuJDrdunXTan1bW1u89957ePLJJ+Hs7NxKqYiIiIgMhyWdjJ6zszPef/99oWMQERER6Q2HuxARERERiQxLOhERERGRyLCkExERERGJDEs6EREREZHIsKQTEREREYkMSzoRERERkciwpBMRERERiQxLOhERERGRyLCkExERERGJDEs6EREREZHIsKQTEREREYkMSzq1GoVCgX/961/w8vJCu3bt0LlzZ7z11lsoLS0VOho1Yt++fejduzcsLS3h4eGBDz74QOhIBnXkyBGMGTMG7u7ukEgkWLx4sdCRDGrFihUICQlBhw4dYGdnh4EDB2L//v1CxzKo5ORk9O3bFx06dEC7du3QvXt3fPDBB1AqlUJH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", "text/plain": [ "
┌───┐ ░ ░ \n", "q_0: ┤ X ├─░───■─────────■───░───────\n", " ├───┤ ░ │ │ ░ \n", "q_1: ┤ X ├─░───┼────■────■───░───────\n", " └───┘ ░ ┌─┴─┐┌─┴─┐ │ ░ ┌─┐ \n", "q_2: ──────░─┤ X ├┤ X ├──┼───░─┤M├───\n", " ░ └───┘└───┘┌─┴─┐ ░ └╥┘┌─┐\n", "q_3: ──────░───────────┤ X ├─░──╫─┤M├\n", " ░ └───┘ ░ ║ └╥┘\n", "c: 2/═══════════════════════════╩══╩═\n", " 0 1" ], "text/plain": [ " ┌───┐ ░ ░ \n", "q_0: ┤ X ├─░───■─────────■───░───────\n", " ├───┤ ░ │ │ ░ \n", "q_1: ┤ X ├─░───┼────■────■───░───────\n", " └───┘ ░ ┌─┴─┐┌─┴─┐ │ ░ ┌─┐ \n", "q_2: ──────░─┤ X ├┤ X ├──┼───░─┤M├───\n", " ░ └───┘└───┘┌─┴─┐ ░ └╥┘┌─┐\n", "q_3: ──────░───────────┤ X ├─░──╫─┤M├\n", " ░ └───┘ ░ ║ └╥┘\n", "c: 2/═══════════════════════════╩══╩═\n", " 0 1 " ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# suma de 1+1 en base 2 que es 10 en base dos que es 2 en decimal\n", "qc_ha = QuantumCircuit(4,2)\n", "# encode inputs in qubits 0 and 1\n", "qc_ha.x(0) # For a=0, remove the this line. For a=1, leave it.\n", "qc_ha.x(1) # For b=0, remove the this line. For b=1, leave it.\n", "qc_ha.barrier()\n", "# use cnots to write the XOR of the inputs on qubit 2\n", "qc_ha.cx(0,2)\n", "qc_ha.cx(1,2)\n", "# use ccx to write the AND of the inputs on qubit 3\n", "qc_ha.ccx(0,1,3)\n", "qc_ha.barrier()\n", "# extract outputs\n", "qc_ha.measure(2,0) # extract XOR value\n", "qc_ha.measure(3,1) # extract AND value\n", "\n", "qc_ha.draw()" ] }, { "cell_type": "code", "execution_count": 39, "id": "10fbbf4c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
░ ░ \n", "q_0: ──────░───■─────────■───░───────\n", " ┌───┐ ░ │ │ ░ \n", "q_1: ┤ X ├─░───┼────■────■───░───────\n", " └───┘ ░ ┌─┴─┐┌─┴─┐ │ ░ ┌─┐ \n", "q_2: ──────░─┤ X ├┤ X ├──┼───░─┤M├───\n", " ░ └───┘└───┘┌─┴─┐ ░ └╥┘┌─┐\n", "q_3: ──────░───────────┤ X ├─░──╫─┤M├\n", " ░ └───┘ ░ ║ └╥┘\n", "c: 2/═══════════════════════════╩══╩═\n", " 0 1" ], "text/plain": [ " ░ ░ \n", "q_0: ──────░───■─────────■───░───────\n", " ┌───┐ ░ │ │ ░ \n", "q_1: ┤ X ├─░───┼────■────■───░───────\n", " └───┘ ░ ┌─┴─┐┌─┴─┐ │ ░ ┌─┐ \n", "q_2: ──────░─┤ X ├┤ X ├──┼───░─┤M├───\n", " ░ └───┘└───┘┌─┴─┐ ░ └╥┘┌─┐\n", "q_3: ──────░───────────┤ X ├─░──╫─┤M├\n", " ░ └───┘ ░ ║ └╥┘\n", "c: 2/═══════════════════════════╩══╩═\n", " 0 1 " ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# suma de 0+1 en base 2 que es 1 o 01\n", "qc_ha = QuantumCircuit(4,2)\n", "# encode inputs in qubits 0 and 1\n", "#qc_ha.x(0) # For a=0, remove the this line. For a=1, leave it.\n", "qc_ha.x(1) # For b=0, remove the this line. For b=1, leave it.\n", "qc_ha.barrier()\n", "# use cnots to write the XOR of the inputs on qubit 2\n", "qc_ha.cx(0,2)\n", "qc_ha.cx(1,2)\n", "# use ccx to write the AND of the inputs on qubit 3\n", "qc_ha.ccx(0,1,3)\n", "qc_ha.barrier()\n", "# extract outputs\n", "qc_ha.measure(2,0) # extract XOR value\n", "qc_ha.measure(3,1) # extract AND value\n", "\n", "qc_ha.draw()" ] }, { "cell_type": "code", "execution_count": 40, "id": "47ad49b2", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
┌───┐ ░ ░ \n", "q_0: ┤ X ├─░───■─────────■───░───────\n", " └───┘ ░ │ │ ░ \n", "q_1: ──────░───┼────■────■───░───────\n", " ░ ┌─┴─┐┌─┴─┐ │ ░ ┌─┐ \n", "q_2: ──────░─┤ X ├┤ X ├──┼───░─┤M├───\n", " ░ └───┘└───┘┌─┴─┐ ░ └╥┘┌─┐\n", "q_3: ──────░───────────┤ X ├─░──╫─┤M├\n", " ░ └───┘ ░ ║ └╥┘\n", "c: 2/═══════════════════════════╩══╩═\n", " 0 1" ], "text/plain": [ " ┌───┐ ░ ░ \n", "q_0: ┤ X ├─░───■─────────■───░───────\n", " └───┘ ░ │ │ ░ \n", "q_1: ──────░───┼────■────■───░───────\n", " ░ ┌─┴─┐┌─┴─┐ │ ░ ┌─┐ \n", "q_2: ──────░─┤ X ├┤ X ├──┼───░─┤M├───\n", " ░ └───┘└───┘┌─┴─┐ ░ └╥┘┌─┐\n", "q_3: ──────░───────────┤ X ├─░──╫─┤M├\n", " ░ └───┘ ░ ║ └╥┘\n", "c: 2/═══════════════════════════╩══╩═\n", " 0 1 " ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# suma de 1+0 en base 2 que es 1 \n", "qc_ha = QuantumCircuit(4,2)\n", "# encode inputs in qubits 0 and 1\n", "qc_ha.x(0) # For a=0, remove the this line. For a=1, leave it.\n", "#qc_ha.x(1) # For b=0, remove the this line. For b=1, leave it.\n", "qc_ha.barrier()\n", "# use cnots to write the XOR of the inputs on qubit 2\n", "qc_ha.cx(0,2)\n", "qc_ha.cx(1,2)\n", "# use ccx to write the AND of the inputs on qubit 3\n", "qc_ha.ccx(0,1,3)\n", "qc_ha.barrier()\n", "# extract outputs\n", "qc_ha.measure(2,0) # extract XOR value\n", "qc_ha.measure(3,1) # extract AND value\n", "\n", "qc_ha.draw()" ] }, { "cell_type": "code", "execution_count": 42, "id": "464ea8f3", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "