{ "cells": [ { "cell_type": "markdown", "id": "5c38153e", "metadata": {}, "source": [ "# Photonic circuits in QISKIT" ] }, { "cell_type": "code", "execution_count": 1, "id": "e20f1af2", "metadata": {}, "outputs": [], "source": [ "import qoptkit # QOPTKIT module\n", "import numpy as np # Numpy\n", "from math import acos,sqrt,pi # Mathematical module\n", "from qiskit import QuantumCircuit # QISKIT Circuits \n", "from qiskit_aer import Aer # QISKIT Aer\n", "from qiskit.visualization import plot_distribution # QISKIT Visualization tools" ] }, { "cell_type": "markdown", "id": "f8dd8eb6", "metadata": {}, "source": [ "## 1 Designing photonic circuits" ] }, { "cell_type": "markdown", "id": "10bfc409", "metadata": {}, "source": [ "
We have shown how a linear optical circuit can be used to implement the general qubit rotations rx,ry,rz and also the two qubit CZ operation. Therefore, we can choose any logical circuit defined using QISKIT and translate that circuit into an optical circuit. As shown next, the process is straightforward.
" ] }, { "cell_type": "markdown", "id": "bea83835", "metadata": {}, "source": [ "### Translation by substitution" ] }, { "cell_type": "markdown", "id": "4e10939e", "metadata": {}, "source": [ "A logical circuit defined in QISKIT can be transpiled into an equivalent version made of the four gates rx,ry,rx and CZ that we can implement with optical elements. Then each of these gates is substituted by its optical counterpart. Let's put an example. First we are going to create and arbitrary circuit,
" ] }, { "cell_type": "code", "execution_count": 2, "id": "05db7537", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "It is usual in quantum optics literature that channel \"0\" is represented as the most significant bit of the result. By extension, this also applies for qubits. This is, a \"01\" outcome means q0=0 and q1=1. However, QISKIT works the other way around. Qubit 0 is the least significant bit of the result. Therefore, when comparison between the two kind of circuits has to be made it is important to remember to invert the order in which the qubits are measured into classical bits. In our example this means that qubit 0 is assigned to classical bit 1 q0->c1 and q1->c0.
" ] }, { "cell_type": "markdown", "id": "91d325b1", "metadata": {}, "source": [ "Now we can simulate this circuit and plot the results." ] }, { "cell_type": "code", "execution_count": 3, "id": "29125b02", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "A simulation will show how both circuits (the logical and the optical) provide the same results. Note that the optical simulation is performed for an input state that corresponds to a logical qubit value 00. QISKIT assumes by default that qubits are initialized to zero because it is easier to initialize superconductor qubits to this value. This is the reason because the optical simulation has to be also initialized to 0 to make the results comparable.
" ] }, { "cell_type": "code", "execution_count": 7, "id": "5ada6539", "metadata": {}, "outputs": [ { "data": { "image/png": "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H1/s378fe/fuxa5du3D11VdjypQp2LJlC3x9fbFz587+bdQAwKKDiIgGnb4+XPT555/HmjVrkJOTg6lTp7pcT0VFBc6ePSudwWhpaQEA2aM8utpWq7UvmzKgsOggIqJBqbcPF123bh2effZZ7NixA3FxcdJDT5ubmwEAzc3NWL58Of7973/j5MmTyM3Nxe23346EhASkp6cDAFJTUxESEoJFixbhv//9L0pKSrB8+XKcOHFiUNzTitd0EBHRoNTbh4u+8sor6OjowF133SVbzsqVK7Fq1SpotVoUFBRg586daGhoQHR0NGbPno01a9ZI9+oICwtDTk4OnnnmGdxwww0wm80YP348PvjgA0yaNEm9jXeTXt+n43LE+3QMXLxPBxGRe13SB74RERER9QW/XiEiIo/BM8SXnjvPEPNMBxEREamCRQcRERGpgkUHERERqYJFBxEREamCRQcRERGpgkUHERERqYJFBxEREamCRQcRERGpgkUHERERqYJFBxEREamCRQcRERGpgkUHERERqYJFBxEREamCRQcRERGpgkUHERERqYJFBxEREamCRQcRERGpgkUHERERqYJFBxEREamCRQcRERGpgkUHERERqYJFBxEREamCRQcRERGpgkUHERERqYJFBxEREamCRQcRERGpgkUHERERqcJji47NmzcjLi4Oer0eKSkpOHz4sNOx27dvx7XXXouQkBCEhIQgLS2tx/FERESkPo8sOnbv3o3MzEysXLkSR48exaRJk5Ceno6amhqH4/Py8rBgwQJ89tlnyM/PR2xsLGbPno3Tp0+rnDkRERE5I4iiKLo7CVspKSmYNm0aNm3aBACwWq2IjY3Fo48+iqeeesplvMViQUhICDZt2oSFCxfavd7e3o729nap3djYiNjYWHz55ZcICAjocdl+fn5ISEiQ9ZWWlqKlpcVu7NsFRlk7IMAf/v4Xli+KVtTU1LrcHgAIDQ2BTucttdva2mA0GnuIOE8QBERERMj6Ghsb0dra6jJWr/dBUFCwrK+urhYWi9VlrMFggK+vr9Tu7OzE2bNnXcYBQHh4GDQardRuaTGhqanZ4dh7JwZ1y1eP0aNHy14/ceIEmpqaXK4zLCwM0dHRsr6CggJF+cbHxyMwMFBqNzU14cSJE4piJ06cKGtXVlairq7OZVxgYCDi4+NlfSUlJWhra3MZO3To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2tpaURRF0Ww2i52dnXbj9u/fL06ePFn08fER//SnP6mdJjmQlJQkent7i1dddZXo7e0tCoIgxsXFiffdd5/42muviUVFRbLxJpNJvO2220SNRiO2tra6KWvqMmLECPHmm28W6+rq7F47ffq0uHfvXvEXv/iF6OXlJQqCIG7fvt0NWZIzcXFxoiAIol6vF1NSUsRnn31WzM/PF61Wq2yc2WwWRfH85++ll14S9+/f7450PRKLjkGmqalJTEtLE8eOHSuaTCZRFEXRYrFIr1utVln76NGjYkhIiHjbbbdJr5N7lJeXi3FxcWJycrLY0dEh5ufni88++6w4adIkURAEUavVihMnThSXLFkivvvuu6LRaBQPHz4sRkVFibfeequ70x/0ioqKxICAAPHpp5+W+iwWi+zzJoqi2N7eLn700UfiyJEjxdDQUPHgwYNqp0oOFBYWioIgiFOnThVvuukmURAEURAEMSAgQExPTxf/8Ic/2BX9X3zxhSgIgnj11Ve7KWvPwy9/B5mAgAAkJyejuLgYu3btAmB/OrCrbbVaMXnyZFx33XU4fvw4Tp06xdOEbnTmzBk0NjZiwoQJ0Ol0mDZtGlatWoVPPvkEH3/8MRYvXgyj0YjNmzfjgQcewK233oqsrCxUV1fjF7/4hbvTH/REUURwcDDKysoAAJ2dnQAufN7E/399gLe3N376059iw4YNOHfuHL744gu35UwXfPvttwCAe++9F5988gmOHz+OtWvXIiEhAZ988gkef/xx3HDDDbj33nvx5ptv4ty5czh8+DAAICsry52pexY3Fz3kBhUVFeKVV14pCoIgPvroo+KRI0fsTr13nR40Go3iz372M3H48OHuSJW6+f7778U777xT/Mtf/uLw9Y6ODvHkyZPim2++Kd59991iaGioKAiCGBISonKm5ExKSooYGBgofvzxx3avdZ1F7DrzcfbsWTE+Pl686667VM2RHNu2bZsoCILDuTt8+LC4bNkyMTY2VjoDMnr0aDEqKkoMCgpSP1kPxqJjkHr//ffF+Ph46XThmjVrxM8++0w8efKkrAB56623xPDwcPGXv/ylG7OlLg0NDQ6vB+iu64/W1q1bRUEQxIcffliN1KgHXQXFoUOHxJiYGFEQBPHxxx8XDx06ZFfwt7W1iaIoigcPHhSjo6PFxx57TPV8Sc5qtYr5+fnismXLxNLSUll/d62treLevXvFRYsWiUFBQaIgCOKSJUvUTtej8Sezg4ho87Ot+vp6ZGdn491338WPP/6I8PBwTJgwAdHR0fDz80NrayveffddxMfHY8+ePRgzZowbsx/cbOcOOH+vAEEQnP5c74knnsD69evx1VdfYcqUKWqkSS5YLBa89dZbyMrKQlVVFcaNG4fZs2djxowZGDduHMaOHQuNRoPTp09j+fLleO+993Do0CHOn4dobm6Gt7c3vL297V6z/YwuWbIEW7ZswdGjR5GUlKRilp6NRccg0/XBqKioQHR0NDQaDQoLC7F3717k5eWhqKgIP/74IwAgJCQESUlJ+OMf/4jx48e7OXPqmruqqipERETIig2LxQKNRiMd9CoqKnDzzTejsrIStbW17kqZnKitrcWmTZvw7rvvoqSkBH5+foiJiUFAQABCQ0Nx/Phx1NbWIiMjA1u2bHF3uqRQ12e0rKwM8+fPh9FoxPfff+/utDwKi45BorOzE19++SV27NiBkpISCIIAPz8/TJs2DXfffTcmT54MURTx448/orW1FT/88APGjh2L2NhYeHl58eY2bmQ7dxqNBr6+vpg0aRLmzZuHGTNm2MXU1dXhzTffRHR0NObPn++GrMkRURRhtVqh1WrR2tqK77//Hv/5z3/w5Zdf4tChQzh+/DjCw8MRGxuLhx56CPfffz/8/f3dnTb10t69e3Hbbbdh+fLlWLdunbvT8SgsOgaJ9evXY82aNWhqakJCQgK0Wi2Ki4ul18eNG4eHH34Yd911FyIiItyYKdlyNXdjx47F4sWLsWDBAkRFRUn9HR0d8PLy4h1KPZzVakVbWxu8vb1hNBpRVVXFM4seSuk/vqqrq5GTk4Nbb70VoaGhKmQ2cLDoGAROnDiBK6+8ElOmTMHOnTvh7e2NyMhIVFVV4cMPP8R7772HvLw8AMCsWbOwbt06TJ061b1JE4Dezd0NN9yA559/nt//e5DW1laUl5dj+PDh8PX1lb1mtVplT3e2/YPGZ+q4X0/z5wqfz+KEqpetkls8++yzYkREhPjpp59KfbZXXRcUFIgLFy4U9Xq9OGbMGPGrr75SO01yoD9zxxu5uV92drY4depU8fe//724f/9+8fTp03Z3/7VarbK5qqmpkX6yTu6lZP5scf56xjMdg8C8efPwzTff4LPPPsPw4cPR2dkpXafR9f1ylz/84Q9YtmwZFi1ahNdff92NWRPAuRvohg0bhsrKSmi1WgQFBWHGjBnSw/pGjhyJIUOGyMabTCasWrUKZ8+exWuvvcYzHW7Wn/nbvn07z3Q4wAe+DQKTJ0/G+++/j+bmZgCAl9f5aRcEQfpQiP//1O7SpUvxxRdfYP/+/fjhhx8wcuRIt+VNnLuBrKSkBEajEampqbj33nuxb98+5OfnY+/evRg+fDhmzpyJtLQ0TJ48GTExMQgODkZhYSG2b9+OmTNnsuBws/7OHwsOx1h0DAKzZs0CANx333148cUXcc011zj8nXnXd5BjxozBP//5T+kPHbkP527gKikpQVtbG2bPno1HHnkEt9xyC4qLi5Gfn4/9+/fjb3/7G/7yl79g3LhxuOGGGzBnzhzk5uaisbERixcvdnf6gx7n7xJx53c7pI7Ozk7xN7/5jSgIgpiYmChu2rRJrKqqcji2vr5eXLhwoRgeHq5yluQI527geu+990RBEMTdu3fL+js6OsTvv/9e/Otf/youXbpUnDRpkujt7S36+/uLfn5+vG29h+D8XRosOgaRrVu3iqNGjRIFQRBjYmLEJUuWiB999JFYUFAgHjt2TDx9+rT41FNPiXq9XszMzHR3utQN527gsVqt4nfffSf+8MMPUttWc3OzePToUfGdd94RZ8+eLT0PidyP83dp8ELSQUQURZSWlmL79u3YtWsXKioqAAARERHQ6XQ4c+YMrFYrFixYgHXr1mHYsGFuzpi6cO4uL6KD+z089thj2LRpE44cOYLJkye7KTNSgvPXdyw6BimTyYTDhw/jH//4ByorK1FTUwODwYC7774b8+bNg16vd3eK5ATn7vLRdS+OkydP4vbbb8e5c+dQXl7u7rRIIc5f7/FC0kHK398fs2bNwqxZs2A2m6HT6dydEinEubt8dP1C5fTp0zCbzXj44YfdnBH1Buev93img4jIzURRREVFBUJDQ/mslQGI86cciw4iIiJSBe8+Q0RERKpg0UFERESqYNFBREREqmDRQURERKpg0UFERESqYNFBREREqmDRQURERKpg0UFERESqYNFBREREqvh/J+k7BGpgCwMAAAAASUVORK5CYII=", "text/plain": [ "As an attentive reader you may be wondering if it is possible to perform the opposite operation. Given an optical circuit may I obtain the logic of this circuit? Let's draw a arbitrary linear circuit inspired by the CNOT [4] and to calculate its output for a 00 qubit input.
" ] }, { "cell_type": "code", "execution_count": 8, "id": "db424b25", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Next, we obtain the corresponding logical circuit using the proper QoptKIT instruction. We have to specify the gates that are allowed to be used to build the resulting logical circuit,
" ] }, { "cell_type": "code", "execution_count": 9, "id": "5c248c85", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Note that after post-selection and encoding a linear optical circuit may not be represented by a unitary matrix. Therefore the process of translation will fail if the optical circuit does not have an equivalent logical circuit.
" ] }, { "cell_type": "markdown", "id": "8e668366", "metadata": {}, "source": [ "**THIS CODE IS PART OF QoptKIT**