Skip to content

Instantly share code, notes, and snippets.

@gyu-don
Last active December 29, 2022 07:14
Show Gist options
  • Save gyu-don/625c0a6e5cdadf64e0ec53567b0eef9e to your computer and use it in GitHub Desktop.
Save gyu-don/625c0a6e5cdadf64e0ec53567b0eef9e to your computer and use it in GitHub Desktop.
量子ビットの言葉でのヤングの実験
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "fb2ecdfa",
"metadata": {},
"outputs": [],
"source": [
"from qiskit.providers.aer import AerSimulator\n",
"from qiskit.visualization import plot_histogram\n",
"from qiskit import QuantumCircuit\n",
"\n",
"def circuit_10() -> QuantumCircuit:\n",
" qc = QuantumCircuit(2)\n",
" qc.x(0)\n",
" return qc\n",
" \n",
"def circuit_01() -> QuantumCircuit:\n",
" qc = QuantumCircuit(2)\n",
" qc.x(1)\n",
" return qc\n",
"\n",
"def circuit_10_01() -> QuantumCircuit:\n",
" qc = QuantumCircuit(2)\n",
" qc.h(0)\n",
" qc.x(1)\n",
" qc.cx(0, 1)\n",
" return qc"
]
},
{
"cell_type": "markdown",
"id": "df9ee614",
"metadata": {},
"source": [
"0番目の量子ビットを上側スリット、1番目の量子ビットを下側スリットとする。このとき、スリットの部分で測定をしてみると:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "12234ef6",
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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QUFBmjBhgrp37649e/bIx8enhGdU8godCs+cOaO7775bW7duveo1CwmFAACguP3+aidNmjRR69atFRERoffff19hYWFav369vv/++zzvb7fblZ2drddee02xsbGSpPfee0/VqlXThg0bFBcXV+xz8LRCh8InnnhCX331lTp37qyhQ4eqZs2abg/oBAAAKGnBwcGqX7++Dh8+rL179+rIkSMKDg52GtO3b1916NBBGzduNI8xbNiwobk8LCxMoaGh1/xZ3/Ki0Cnus88+U6tWrbRu3Tp+tQQAAJQq58+f15EjRzR48GD169dPDz74oNPyxo0b6+WXX9af//xnSVL79u0lSQkJCapZs6akK3tFU1JSbpiTagsdCi9evKiOHTsSCAEAgMc99dRT+vOf/6yIiAidOHFCkyZNks1m04ABAxQWFub25JLw8HBFRkZKkurXr6+77rpLjz32mN58800FBgZq/Pjxio6OVkxMTElPxyMKffZx06ZNb6hr9wAAgNIrOTlZAwYMUFRUlPr166eQkBBt375dYWFh+X6Mt99+W61bt1avXr3UqVMneXt764svvpC3t3cxdl56FHpL4aRJk9S7d29t375dbdq0KcqeAAAACmTZsmUFGu/uJNnAwED9+9//1r///e+iaqtMKXQoPHXqlJmkBw4cqObNmyswMNDt2CFDhhS6QQAAABS/QofCYcOGyWKxyDAMLVq0SIsWLXI5vtAwDFksFkIhAABAKVfoUBgfH1+UfQAAAMCDCh0Khw4dWpR9AAAAwIMKffYxAAAAyo9CbyksyNW9w8PDC/s0AAAAKAGFDoW1a9fO14WrLRaLcnJyCvs0AAAAKAGFDoVDhgxxGwrT0tL0ww8/6Oeff1anTp1Uu3bt6+kPAAAAJaDQoXDRokV5LjMMQ7Nnz9aLL754w14AEgAAoCwplhNNLBaLnnrqKd166636+9//XhxPAQAAgCJUrGcf33777Vq/fn1xPgUAAACKQLGGwiNHjnCSCQAAQBlQ6GMK82K323X8+HEtWrRIH3/8sbp27VrUTwEAAMqg8UPTPN1CqTRzcZCnW5B0HaHQarVe9ZI0hmGocuXKmj17dmGfAgAAACWk0KGwY8eObkOh1WpV5cqV1bJlSw0fPlxVq1a9rgYBAABQ/AodCjdu3FiEbQAAAMCT+O1jAAAAFM2JJlu3btXu3buVnp6uwMBANW3aVO3bty+KhwYAAEAJuK5Q+PXXX2v48OE6fPiwpCsnlziOM6xXr57i4+PVtm3b6+8SAAAAxarQoXD//v2KjY3VhQsX1L17d8XExKh69eo6deqUNmzYoDVr1iguLk7bt29Xw4YNi7JnAAAAFLFCh8KpU6fq8uXLWrVqlXr06OG0bNy4cfriiy/Uu3dvTZ06VcuWLbvuRgEAAFB8Cn2iycaNG3XPPfe4BEKHHj166J577tGGDRsK3RwAAABKRqFDYVpamiIjI686JjIyUmlpxX/18tq1a8tisbj917lzZ5fxWVlZmjp1qurVq6cKFSqoRo0aeuihh/Tbb7/l+RxLly5Vq1at5O/vr8qVK+vOO+/Url27inFWAAAAJafQu49r1Kih7du3X3XMN998oxo1ahT2KQokKChIjz/+uEu9du3aTrftdrvuuusurV69Wm3atFHfvn2VmJioBQsWaN26ddq+fbvCwsKc7jN9+nRNmDBBERER+tvf/qaMjAwtW7ZM7dq107p16zjTGiig559/XuPHj9djjz2mV155RZLUuXNnbdq0yWncww8/rNdff93l/qmpqbrtttt0/PhxnT17VsHBwSXQNQCUb4UOhb1799bcuXM1ceJEPfvss6pQoYK57NKlS5o5c6Y2bNigMWPGFEmj1xIcHKzJkydfc9zixYu1evVqDRgwQEuXLjXPln799df1yCOPaMKECXrjjTfM8YmJiZo8ebLq16+vHTt2KCjoyu8Tjhw5Um3atNGIESO0b98+Wa1c8hHIj2+//VZvvPGGmjRp4rJsxIgRmjp1qnm7YsWKbh/jgQceUJMmTXT8+PFi6xMAbjSFTjITJ05UZGSkZsyYofDwcN1555164IEHdOeddyoiIkLTpk1TZGSkJk6cWJT9Xre33npLkjRz5kynn+l7+OGHVadOHS1dulQXL1406/Hx8crJydGzzz5rBkJJatq0qQYMGKADBw7oq6++KrkJAGXY+fPnNXDgQL311luqXLmyy/KKFSuqWrVq5r/AwECXMf/617907tw5PfXUUyXRMgDcMAodCkNCQrR9+3YNHTpU58+f16pVqxQfH69Vq1YpIyNDw4cP1/bt21WlSpWi7DdPWVlZWrRokWbMmKF58+bpm2++cRlz6dIlffPNN4qKilJERITTMovFou7duyszM1PfffedWXf8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\n",
"text/plain": [
"<Figure size 700x500 with 1 Axes>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 上側スリットのみ量子ビットが1である状態[青]、下側スリットのみ量子ビットが1である状態[赤]、その2つの重ね合わせ状態[紫]は、それぞれ:\n",
"qc = circuit_10()\n",
"qc.measure_all()\n",
"upper = AerSimulator().run(qc, shots=1000).result().get_counts()\n",
"\n",
"qc = circuit_01()\n",
"qc.measure_all()\n",
"lower = AerSimulator().run(qc, shots=1000).result().get_counts()\n",
"\n",
"qc = circuit_10_01()\n",
"qc.measure_all()\n",
"superposition = AerSimulator().run(qc, shots=1000).result().get_counts()\n",
"\n",
"plot_histogram([upper, lower, superposition])"
]
},
{
"cell_type": "markdown",
"id": "1e39c271",
"metadata": {},
"source": [
"この回路に対し、両方の量子ビットにアダマールゲートをかけてから測定すると、干渉項が現れる (数式から逆算して、その答えにたどり着いたが、なぜアダマールゲートなのかは理解していない)\n",
"\n",
"**すなわち、重ね合わせではない場合のみ、01, 10が測定されており、重ね合わせではこれらの状態は測定されない**"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "bc2044da",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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3bql2rVra9y4cerRo4c8PDz4UDeg8+fPa/r06QoNDVWTJk3k6+trX2Y7TpPA9/C4cuWKpk6dqg8//FAuLi4Ou2pLliypFi1aqHv37nrqqaccthUY070/+LL6mcB3Rda5OrsAGM+sWbN0+fJlzZ49W08//bTDsrNnz2rnzp1avny5fvjhB/Xv319nz57V6NGj+aM1oC+//FIff/yxli5dquDgYLVp00atW7dWSEiIPDw87O+5xWKR1WqVi4uLtmzZops3b6pjx45Orh657ZtvvlF4eLieeuopjRw5UuXKldP+/fsVFRWlvXv3ateuXVqxYoU+//xzjR8/Xk899ZSzS0YemjVrlrZs2aKBAweqdevWKlasmMNngqQMAx/fFVnHTB5yXdOmTVWkSBEtXrxY/v7+Sk1NlclkSjcdv3nzZr3++uv69ddf9eWXX+r55593UsXIKw0aNNCvv/6qhg0bat++fUpJSVFgYKBatGihtm3bqkWLFgoKCrL3v379uvr06aOVK1cqOTlZnp6eTqweua1y5cqqU6eO5s+fLz8/P4dlsbGx2r9/v5YvX645c+YoLS1NX3/9tYYMGeKkapHXqlSpotOnT8vDw0P16tVTaGioOnfurCZNmjgEudTUVLm6uur69ev6+uuvVa9ePbVt29aJlRcehDzkqmvXrql79+46e/asIiMjVbRoUYcp+Xun4/fv36/27dvr8ccf108//cQ0vIHExMSoVatW8vPz065duxQZGalVq1Zp+fLlOnTokMxmsx555BG1atVKrVq1UlhYmKKiovTkk0+qcePGWr58ubOHgFx07NgxNW7cWCNHjtTkyZMlZTxbc/v2bW3YsEEjRozQlStXtHLlSjVr1swpNSPvHD16VHXr1lWjRo1UokQJbdiwQZLk5eWlFi1aqHPnzgoNDXX4Ebh9+3a1atVKzZs31/bt251VeqHCwTDIVcWKFVOjRo0UFRWlhQsXSko/3W57bLFY1KBBA7Vq1UrHjh3T6dOnCXgGcu7cOSUlJalOnTpyc3NT48aNNWnSJK1bt06rVq3S0KFDlZiYqC+++EKDBw9Wt27dNHbsWJ0/f17Dhg1zdvnIZVarVb6+vjp58qSkO7MzktL9AHR3d1fnzp310Ucf6fLly/r555+dVjPyzuHDhyVJffv21bp163Ts2DF98MEHql69utatW6dXX31V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\n",
"text/plain": [
"<Figure size 700x500 with 1 Axes>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 上側スリットのみ量子ビットが1である状態[青]、下側スリットのみ量子ビットが1である状態[赤]、その2つの重ね合わせ状態[紫]は、それぞれ:\n",
"qc = circuit_10()\n",
"qc.h([0, 1])\n",
"qc.measure_all()\n",
"upper = AerSimulator().run(qc, shots=1000).result().get_counts()\n",
"\n",
"qc = circuit_01()\n",
"qc.h([0, 1])\n",
"qc.measure_all()\n",
"lower = AerSimulator().run(qc, shots=1000).result().get_counts()\n",
"\n",
"qc = circuit_10_01()\n",
"qc.h([0, 1])\n",
"qc.measure_all()\n",
"superposition = AerSimulator().run(qc, shots=1000).result().get_counts()\n",
"\n",
"plot_histogram([upper, lower, superposition])"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "db55727c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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ONjcL9MoXu2ciIioeTgAvYnp+fn5iImJMVyUs2vXrvD09ER5eTmuXLmC0tLasUjp6eno1asXAKC4uBgPP/wwLl++DFtbW/Ts2RM6nQ7p6enw8vLC888/j+XLl9cbgJ6SkoKHHqq9b5OTkxP8/f2hUqlw7do1wxirzZs347nnnjPp9yMEr3ZORETUfOyZaoKHhwd++OEHbNu2DSNGjEBpaSlOnz6NrKws9OjRA4sWLcIPP/yAwMBAwzJOTk44fvw4nnzySbi5ueGXX34x3A4mOTkZ3t7eDbYTGBiIjz/+GNOmTYOXlxeuXr2K1NRUqNVqTJkyBceOHbNKkAJqx0p16dyRvVJERETNIJueKTK/isp7UNvbSV0GERFRi8YwRURERCQCD/MRERERicAwRURERCQCwxQRERGRCAxTRERERCIwTBERERGJwDBFREREJALDFBEREZEIDFNEREREIjBMEREREYnAMEVEREQkAsMUERERkQgMU0REREQiMEwRERERicAwRURERCQCwxQRERGRCAxTRERERCIwTBERERGJwDBFREREJALDFBEREZEIDFNEREREIjBMEREREYnAMEVEREQkAsMUERERkQgMU0REREQiMEwRERERicAwRURERCQCwxQRERGRCAxTRERERCIwTBERERGJwDBFREREJALDFBEREZEIDFNEREREIjBMEREREYnAMEVEREQkAsMUERERkQgMU0REREQiMEwRERERicAwRURERCQCwxQRERGRCP8HON93kDWXqEQAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 747.609x284.278 with 1 Axes>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 重ね合わせ状態の場合の回路\n",
"qc = circuit_10_01()\n",
"qc.barrier()\n",
"qc.h([0, 1])\n",
"qc.measure_all()\n",
"qc.draw(\"mpl\")"
]
},
{
"cell_type": "markdown",
"id": "6d80dce7",
"metadata": {},
"source": [
"なお、この干渉は、2重スリットの直後で測定してからアダマールゲートをかけて再度測定すると現れなくなる"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "6c13a0e7",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnkAAAG8CAYAAACixLM7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTQUlEQVR4nO3deXwN9+L/8fc5JxtJECFIJdbYaleK2EIlLWopbi9apaXV0lb1dnHRUkUptdwu36INraruqKJaERoUV+0tYg+qlhBLI9s5vz/8MteRhCSSnGS8no9HH/fmM58z85nM5ON9PjPzGYvD4XAIAAAApmJ1dQMAAACQ9wh5AAAAJkTIAwAAMCFCHgAAgAkR8gAAAEyIkAcAAGBChDwAAAATIuQBAACYkJurG1DU2e12nTx5Ur6+vrJYLK5uDgAAMDmHw6FLly4pMDBQVmvW43WEvNt08uRJBQUFuboZAADgDhMXF6eKFStmuZyQd5t8fX0lXftFlyhRwsWtAQAAZnfx4kUFBQUZGSQrhLzblH6JtkSJEoQ8AABQYG51mxgPXgAAAJgQIQ8AAMCECHkAAJhUSEiIbDabLBaLLBaLvLy8NGfOnAz1XnnlFbm7uxv13NzcdOLECWP5m2++6bS8VKlSOnjwYEHuCnLB4nA4HK5uRFF28eJFlSxZUgkJCdyTBwAoVDw8PNS8eXP17t1biYmJGjNmjJKTk3Xo0CFVqVJF0rWAN2XKFIWEhOjZZ5+Vl5eXFi9erHnz5qls2bL68ccfdf/998vPz0+TJ0/W8ePH9eabb8rDw0OJiYku3sM7U3azByHvNhHyAABFxfr169WqVSs999xzmjlzpiTJZrPprrvu0rFjxzL9zL333qvNmzcrKSlJHh4ekqR33nlHL774oubPn6/+/fsXWPtxTXazB5drAQC4Q6RfYk0fxVu3bp3sdrtKly5tXNZ1c3PTiBEjjM8kJSVJkhHwJKlMmTKSpLlz5xZU05ELhDwAAO4AycnJGjx4sGw2m4YPHy5JWrFihSRpx44datmypSZOnKjSpUtr+vTpmjdvniTpiSeekCTVrl1b8fHx2r59u5566ilJ0p9//lng+4HsI+QBAHAHKF++vJKTk7V48WKjLC0tTZJ011136ZdfftHIkSN1+vRpWSwWjRo1SpL07LPP6r777tPevXvl7++vRo0aqWTJkpJ001dqwfWYDBkAAJPz9/fX+fPntWjRInXp0sUob9KkiSSpZs2aTvW9vLx04cIF4+effvpJkhQdHa2goCBZrVZVrVpVISEh+d945BohDwAAk0pLS1NAQIDi4+MVGRmphx9+2Gl5r169JEmxsbFO5VevXlVgYGCG9bVr106S1KpVK0nSxIkT86HVyCuMswLIExEREfL29pbFYpHValWFChWM+32uN3v2bPn5+RnzbZUsWVLx8fHG8vLly8vNzU0Wi0U2m01Vq1bVb7/9dsvtT5o0SU2bNpWvr68CAgLUvXt37du3L0O9jRs3qn379vL29laJEiXUpk0bp2kgunbtquDgYHl5ealChQp69NFHdfLkyVz+VgDXKlu2rOLj4zVs2DAFBwcrKipKUVFRxhx4NptNdevWVVxcnB588EF98sknCg4OlsPh0FtvvWWsp1GjRnrzzTf10UcfqXHjxlq/fr3q16+v+vXru2rXkA1MoXKbmEIFuKZMmTLq3r27HnzwQSUlJWnYsGGKj4/XyZMnFRAQIOlawHvqqacUERGhp59+Wh4eHlq1apXGjRtn/P10795dXbp0Ue3atbV7927961//kiRdunTpptu///779c9//lNNmzZVamqq/v3vf2v37t36/fff5e3tLelawLv//vs1cuRIPfjgg3Jzc9OOHTvUrVs3eXp6SpKmT5+uFi1aqEKFCjpx4oSx/Q0bNuTL7w3IT1m927R169Zat26d8XONGjWM0Tyr1arnn39e77zzjrHc19dXly9fNtbZrl07RUVF5WPLcTPMk1dACHlA5v744w/VqVNHs2bN0rPPPitJ8vHxUaNGjfTLL79kez2jRo3SxIkTdeXKFRUvXjzbnztz5owCAgK0du1atWnTRpLUvHlzdezYUePHj8/2epYuXaru3bsrKSlJ7u7u2f4cAOQX5skD4FLplzgrVqwoSdqzZ4+uXLmicuXKydfXV1arVaVKldL777+f5ToOHjyoTz/9VL6+vjkKeJKUkJAgSSpdurQk6fTp09q0aZMCAgLUsmVLlStXTm3btlVMTEyW64iPj9dnn32mli1bEvAAFDmEPAB5LjU1VX379pWvr6969Ogh6dqlUkn69ttv1bt3b3322WeqWrWqhg4dajy5l+7ee++VxWJR9erVdf78eW3dujVH27fb7Ro+fLhCQ0NVt25dSdKhQ4ck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08Yo3759u7p06aL//ve/qlChgr777jt1795dkvTf//5XTZs21bFjxxQUFCRJ2rVrl+rXr6/Y2FhVr169QPeBy7XIdxEREfL29pbFYpHValWFChW0YsWKTOva7XaVLVtWFovFmMjyeoMGDVKxYsWMdaVP0HsrjmvTAGX4b8CAAZKkoKAgrV27VufOndPVq1cVGxurKVOmOP1RhIWFacOGDbpw4YISExO1f/9+vfXWWwQ8ADChhIQESVLp0qWNsr///lt9+/bVe++9p/Lly2f4TM2aNeXv76+PPvpIycnJSkxM1EcffaTatWsX6is+hDzk2tatW9WnTx8tXrxYixYtUlpamh588EGdPn06Q92HHnooy1G3bt26KTIyUo8//rhWr16tL7/8Ul27ds3v5gMA7jB2u13Dhw9XaGio6tata5S/8MILatmypbp165bp53x9fRUdHa0FCxaoWLFixsN7K1askJtb4X15WOFtGQq9618eLV17PVadOnX0xRdf6NlnnzXKv/jiC33//ffatm2bGjRo4PSZw4cPa+nSpZoyZYpeeuklo7xXr17523gAwB1n6NCh2r17t9NcqkuXLlVUVJS2bduW5ecSExP1xBNPKDQ0VJ9//rnS0tI0depUde7cWVu2bFGxYsUKovk5xkge8szJkyclyWleo7Nnz6p///565ZVXnF42nW7WrFmSpNjYWHl6espmsykoKEibNm0qmEYDAO4Iw4YN07Jly7RmzRqnf6eioqJ08OBBlSpVSm5ubsbIXM+ePdWuXTtJ0sKFC3XkyBFFRkaqadOmat68uRYuXKjDhw9ryZIlrtidbGEkD3kiNTVVffv2la+vr3r06GGUt27dWpUrV9bEiRMz/dwff/whSZo/f75ee+01lStXTi+//LLatGmjc+fOycfHp0DaDwAwJ4fDoWeffVbfffedoqOjM0y19eqrr2rQoEFOZfXq1dP06dP14IMPSrp2z57VanW67Sj95/QptwojQh7yRIMGDXTu3Dlt3LjRKBs1apQOHjyoY8eOZfm59D+OsWPHGg9khIaGqk6dOpo5c6ZGjRqVvw0HAJja0KFDtXDhQi1ZssSYakuSSpYsqWLFiql8+fKZPmwRHBxsBMKOHTvqpZde0tChQ/Xss8/Kbrfrrbfekpubm9Or2gobQh5uW/369bVv3z5FRUWpadOmRvny5cuVkpKSYdLht956Sx988IEuXLhgDJnfd999xvLatWvLYrFkOVklXO9gzbGuboLmNn/B1U3QpPklXd0EALfwwQcfSJJx6TVd+lRb2VGrVi19//33GjdunFq0aCGr1apGjRpp5cqVhfqtSIQ85JrdblfDhg21Z88erVy50mm+IenaJdiDBw86lT300EN66KGH9Pzzz0uSHn74YUVGRio6OtoIiAcPHpTD4VDt2rULZkcAAKaVm+mAM/tMx44d1bFjx7xoUoEh5CHX6tevrz179mjGjBkqV66cdu7cKenagxelS5dW/fr1M33YokaNGkYgjIiIUPny5TVmzBiVKFFCAQEBGjJkiDw9PY0gCAAAco6na4uokJAQ2Ww2WSwWWSwWeXl5ac6cOU51/Pz8jOXpdT788EOnOk8++aTTegIDA3X58uVstWHPnj2SpOHDh6tBgwbGfy+//HKO9mXLli0KDg7W008/rZ49e8pms2nt2rUqXrx4jtYDAAD+h5G8Iuro0aMKDQ1V7969lZiYqDFjxujJJ5/UfffdZ9woWqNGDTVv3lytWrXSvn37NH78eA0ZMkT9+/dXsWLFNGXKFM2ZM0eVK1fWuHHjtGXLFr377ruqXr26cWPqzeTVEHjFihW1f//+HK8LAABkjZBXRCUnJzv9HBoaqlatWmnGjBmaOXOmJGWYa65YsWL617/+pW+++UaPPPKIZs2aJavVqsOHD0uS+vfvr9OnT+vLL7/U/v37VaNGjYLZGQAAkOe4XGsS6Q843Dj/T7rDhw9r8uTJkqROnTpJklJSUjK8aiz9na7pkxQDAICiiZE8E0hOTtbgwYNls9k0fPhwp2VNmjTRb7/9Zvz86aefGi9l7ty5syIjIxUREaHFixdrzZo1ioyMlHTtDRQonAbPcHULpFdd3QAAwC0xkmcC5cuXV3JyshYvXpxh2fz58xUZGannnntOHh4e6t+/v3G/3ccff6y7775bq1atUvHixdW5c2dVrVpV0rWZvAGgqJo0aZKaNm0qX19fBQQEqHv37hnm3nzqqadUrVo1FStWTGXLllW3bt20d+/eDOuaN2+e6tevLy8vLwUEBGjo0KEFtRvAbWEkr4jz9/fX+fPntWjRInXp0iXD8rp166pu3boaMGCAXn/9dfn7++uxxx7Tjz/+KEnavXu30tLS9PPPP6tu3bpaunSpnnnmGTVr1qygdwWASURERCgmJkZ///23LBaLypUrp48//lgPPPCAUad27do6cOCAUlNTjTofffSRcTuJpAy3k0jSs88+m63bSdauXauhQ4eqadOmSk1N1b///W+Fh4fr999/l7e3t6RrVzr69eun4OBgxcfHa+zYsQoPD9fhw4dls9kkSe+8846mTZumt99+W/fee6+uXLmiI0eO3OZvyLwKw0Tp1fa5vg2FBSGviEpLS1NAQIDi4+MVGRmphx9+OFufkaTExESncpvNpoiICEnXvv1K197lB6DoCQkJ0aFDh4xXBnp6euo///mPBg8ebNTx8/PThQsXjJ89PT01c+ZMPfXUUxnWt3nzZt17772SpB07dmQ69+WNtm7dqj59+ujBBx9UUlKShg0bpgcffFAnT55UQECApGsB65lnnlGjRo109OhRvfjii+ratav+/vtveXh4GOt64okn9Nxzzxk/BwcHZ+v3sHLlSqef582bp4CAAG3dutWYp/PJJ580lleuXFlvvvmmGjRooCNHjqhatWo6f/68Ro8ere+//14dOnQw6mbndwAUBoS8Iqps2bI6f/68hg0bpuDgYEVFRUmSatasqbvuuksLFy7U66+/rv79+6tu3brauHGj8dTtm2++aayndu3aGjx4sNzd3TV9+nTFxcXpoYceUrFixVyyXwBuT15Mr3S9Nm3ayMPDI8MT/Tdz9uxZp5/r1aunOnXq6IsvvtCzzz4rSVqwYIGxvFWrVvL09FTv3r0VExOj9u3bG8vKli2bJ6EqISFBkox7km905coVRUZGqkqVKgoKCpIk/fTTT7Lb7Tpx4oRq166tS5cuqWXLlpo2bZpRByjMCHlF1Pnz5yVJ7777rt59912jvHXr1lq3bp38/f117Ngxvfbaa8ay4sWL691333V6/diBAwf04osvSrp2H94jjzyiTz/9tID2AkBey4vpldLdc889Sk1N1aBBgzJMpJ4TJ0+elCTjXdU3On36tCZOnCg3N7cMt4pMmTJFkydPVvHixdW7d2999NFHOb5n2G63a/jw4QoNDVXdunWdlr3//vt6+eWXdeXKFdWsWVM//fSTMZKYPiI6ceJEzZw5UyVLltTo0aPVsWNH7dy502nEESiMCHlF1K0mIo6IiFBSUtIt15OSkpJXTSoQIx9LcHUTeCk9ipTcTK8kXfsCuXXrVn377bdavXp1rrefmpqqvn37ytfXVz169HBa9s9//lNffPGFJMnDw0M//vijfHx8jOXt27dXr169VKpUKX3yySeaN2+eLl68qG+++SZHbRg6dKh2796tmJiYDMv69eunjh076s8//9TUqVP1j3/8Q+vXr5eXl5fsdrtSUlI0a9YshYeHS5I+//xzlS9fXmvWrDFucwEKK0IeAJhUbqdXOnPmjJ577jm1b99ePXr0uK2Q16BBA507d04bN27MsGzKlCl64okntHfvXk2YMEFdunTRyZMnVapUKUly2m6fPn3Upk0bLVmyJEfbHzZsmJYtW6Z169ZlOpJYsmRJlSxZUiEhIWrevLn8/Pz03XffqU+fPqpQoYIkqU6dOkb9smXLqkyZMjp27FiO2gG4AvNkAIBJ5XZ6pbp168rLy+u2wp107QGFffv2KSoqSk2bNs2wPDg4WB07dtSzzz6rAwcOGPcQZqV9+/ZKS0vTxYsXb7lth8OhYcOG6bvvvlNUVFSWI5k3fsbhcBhXQUJDQyXJaeqV+Ph4nT17VpUqVbrl+gBXI+QBgAllZ3qlAQMGaObMmfrzzz/lcDj02GOPSbo2kpeYmCiLxSKLxaL33ntP0rVRueyEG7vdrvr162vPnj1asWKF033AN/uMlPHp/+utX79eFovFeDPPzQwdOlQLFizQwoUL5evrq1OnTunUqVPG+g8dOqRJkyZp69atOnbsmDZs2KDevXurWLFixmXrGjVqqFu3bnr++ee1YcMG7d69W4899phq1aqlsLCwW7YBcDUu1wKAieTF9EqffPKJ0xOy33zzjWJiYvTyyy+rc+fOt1xfesCbMWOGypUrp507d0q69uBF6dKlFR0drUmTJunRRx9VtWrVtHPnTr3++uuyWCx64YUXJEljxozRsWPH1L17d5UoUUJz587Vzz//nK3AKEkffPCBJKldu3ZO5ZGRkRowYIC8vLz0yy+/aMaMGTp//rzKlSunNm3aaMOGDcY0L+m/ixdeeEGdO3eW1WpV27ZttXLlSrm7u2erHYArEfIAwETyYnql65+wla49hR8TE6N+/fplazqTPXv2SFKG+wCfeOIJzZ07VyVKlNC2bdv0008/yeFwyGazqWLFivrhhx909913S7o2d99XX32lTz75RJLk5eWlvn37av78+dn6Pdzq4bTAwEAtX778luspUaKEPvroI3300UfZ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BQQE3FYDAQAAkHO5DnnR0dF52AwAAADkJd5dCwAAYEJ58uDF+vXrtX37dl28eFElSpRQw4YNFRoamherBgAAQC7cVsjbsGGDBg4cqAMHDki69rBF+n16ISEhioyMVIsWLW6/lQAAAMiRXIe8PXv2KDw8XH///bc6duyosLAwVahQQadOndKaNWu0atUqRURE6Ndff1WdOnXyss0AAAC4hVyHvDfeeEPJyclavny57r//fqdlr7zyilauXKmuXbvqjTfe0KJFi267oQAAAMi+XD94ER0drV69emUIeOnuv/9+9erVS2vWrMl14wAAAJA7uQ55CQkJqlKlyk3rVKlSRQkJCbndBAAAAHIp1yEvMDBQv/76603rbNq0SYGBgbndBAAAAHIp1yGva9euio6O1pgxY3T16lWnZVevXtXrr7+uNWvWqFu3brfdSAAAAORMrh+8GDNmjJYtW6aJEyfqww8/VLNmzVSuXDn99ddf2rJli86cOaOqVatqzJgxedleAAAAZEOuQ56/v79+/fVXvfzyy1q0aJGWL19uLPPy8tLAgQM1efJklS5dOk8aCgAAgOy7rcmQy5Qpo48//lgffvih9u7da7zxolatWnJ3d8+rNgIAACCHchzyJkyYoCtXrmjcuHFGkHN3d1e9evWMOsnJyRo1apR8fX316quv5l1rAQAAkC05evDi559/1muvvSZ/f/+bjtR5eHjI399fo0aNYp48AAAAF8hRyPvkk0/k5+enYcOG3bLu0KFDVbp0aUVGRua6cQAAAMidHIW8DRs26L777pOnp+ct63p6euq+++7T+vXrc904AAAA5E6OQt7JkydVtWrVbNevUqWK/vzzzxw3CgAAALcnRyHParUqJSUl2/VTUlJkteZ6vmUAAADkUo4SWGBgoHbv3p3t+rt379Zdd92V40YBAADg9uQo5LVu3VpRUVE6cuTILeseOXJEUVFRatOmTW7bBgAAgFzKUcgbOnSoUlJS1KtXL509ezbLeufOnVPv3r2Vmpqqp59++rYbCQAAgJzJ0WTIjRs31vDhwzVjxgzVqVNHQ4YMUVhYmCpWrChJOnHihFavXq3Zs2frzJkzGjFihBo3bpwvDQcAAEDWcvzGi2nTpsnLy0tvv/22JkyYoAkTJjgtdzgcstlsGjlypN588808aygAAACyL8chz2KxaOLEiXriiScU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KA8PD/Xv3991DQQAALhNd+TlWjc3N82dO1cRERFq06aN02vNjh49qqlTp6py5cqubqapeHp66vXXX89wqRt3Js4HpONcwPU4H/LWHfl0bbrNmzfr9ddf14YNG5SSkqJ69eppxIgRevjhh13dNAAAgNtyR4c8AAAAs7oj78kDAAAwO0IeAACACRHyAAAATIiQBwAAYEKEPAAAABMi5CHfpD+47XA4xEPcAAAULEIe8o3FYjH+N/3/A4D0vy+BaWlpLm4JYF7Mk4d8cfr0ae3atUuxsbG6dOmS7r33XtWsWVP+/v5yc7v2ohW73S6rle8ZdwKONQAUPEIe8tyKFSs0YcIEbdiwwanc399fHTp00MMPP6wuXbrI3d3dRS2EKxH4sHLlSu3evVs7duxQ2bJl1axZM1WvXl3BwcHy9/eXzWaTw+HgCsAdIi0tTTabzdXNMCVCHvJUXFyc2rVrpytXrmjAgAEKCwvToUOHtG3bNu3YsUM7d+5UUlKSateurVGjRqlnz57y9PSkQzepv/76S1OmTFF4eLjuvfdelSpVyliWfq8mge/OceHCBU2aNElvv/22bDab06Xa0qVLKzQ0VD169FD37t2dzhWY041f+LLbJ/DvRfa5uboBMJcPP/xQ58+f19y5c/XQQw85LTt+/Lg2bNigpUuXauHChXrkkUd0/Phxvfzyy/zBmtT777+v6dOn67vvvlOdOnXUrl07tW3bVvXr15enp6dx3O12uxwOh2w2m6Kjo3X16lXdf//9Lm498tqcOXP07rvvqnv37nruuecUGBiobdu2ad++fdqyZYs2btyo77//Xv/5z380ZswYde/e3dVNRj768MMPFR0drf79+6tt27by8fFx6hMkZRr4+Pci+xjJQ55q3ry5ihUrpq+++kplypRRamqqLBZLhqH4NWvW6MUXX9Tvv/+u999/X48//riLWoz81KhRI/3+++9q3LixfvvtN6WkpKhSpUoKDQ1VWFiYQkNDVatWLaP+33//rT59+mjZsmW6cuWKvLy8XNh65LXKlSurbt26mj9/vvz9/Z2WnTx5Utu2bdPSpUv18ccfKy0tTbNnz9agQYNc1FrktypVqujo0aPy9PRUgwYNFB4erk6dOunee+91CnKpqalyc3PT33//rdmzZ6tBgwYKCwtzYcuLDkIe8szly5fVo0cPHT9+XFu3blXx4sWdhuNvHIrftm2bOnTooNatW2vJkiUMwZtMXFyc2rRpI39/f23cuFFbt27V8uXLtXTpUu3cuVNWq1V333232rRpozZt2igiIkL79u1T165d1bRpUy1dutTVu4A8tHfvXjVt2lTPPfecJkyYICnz0Zrk5GT9/PPPevbZZ3XhwgUtW7ZMLVq0cEmbkX/27NmjevXqqUmTJvLz89PPP/8sSfL29lZoaKg6deqk8PBwpy+BMTExatOmjVq2bKmYmBhXNb1I4WYY5BkfHx81adJE+/bt06JFiyRlHGpP/9lut6tRo0Zq06aN9u7dq6NHjxLwTObPP//UxYsXVbduXbm7u6tp06YaO3asVq1apeXLl2vw4MFKSEjQe++9pwEDBujBBx/UyJEj9ddff+nJJ590dfORxxwOh0qVKqWDBw9KujY6IynDl0APDw916tRJ77zzjs6fP69ffvnFZW1G/tm1a5ckqW/fvlq1apX27t2rt956S9WrV9eqVas0fPhwtW/fXn379tWnn36q8+fPa/PmzZKkkSNHurLpRQojechTJ06c0AMPPKDdu3dr2LBhGjBggOrUqeN02S196P3ixYsaNGiQNm3apKNHj7qw1cgPBw4c0CuvvKKePXuqb9++GZanpKTo5MmT+uWXX/T999/r559/1vnz51WqVCnFx8e7oMXIb82bN9fvv/+uL774Qg888IDTsvSR/PTR//j4eN1zzz1q0qSJvvrqKxe1GPll9uzZGjJkiH744YcM58KWLVv0+eef6+uvv9bx48clSSEhIbp48aISExN14cIFF7S4aGIkD3nqrrvu0htvvKHKlSvr3Xff1VNPPaWpU6cqOjpaR48e1dWrV4158r7//ntFR0dn+AOHOVSvXl0ff/yxIiIiMl3u7u6uSpUqqW/fvvriiy80ceJESVKfPn0KspkoAOljCbNmzVKJEiXUuXNnvfDCC9q8ebOuXr0q6X8306ekpEiS9u3bp6SkJAUGBrqm0cg3DodD9evX1/Dhw1WjRg2ncklq2rSp3nnnHe3fv1/ff/+9+vfvr7/++kt//fWXHn30UVc1u0hiJA954sb76eLj4zVp0iR9+eWXiouLU9myZVW3bl0FBgaqePHiSkxM1JdffqkqVapo8eLFqlmzpgtbj7yW2f2VaWlpslgsWU6P8PLLL2vq1Kn673//q8aNGxdEM1HA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\n",
"text/plain": [
"<Figure size 700x500 with 1 Axes>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 上側スリットのみ量子ビットが1である状態[青]、下側スリットのみ量子ビットが1である状態[赤]、その2つの重ね合わせ状態[紫]は、それぞれ:\n",
"qc = circuit_10()\n",
"qc.measure_all()\n",
"qc.h([0, 1])\n",
"qc.measure_all(add_bits=False)\n",
"upper = AerSimulator().run(qc, shots=1000).result().get_counts()\n",
"\n",
"qc = circuit_01()\n",
"qc.measure_all()\n",
"qc.h([0, 1])\n",
"qc.measure_all(add_bits=False)\n",
"lower = AerSimulator().run(qc, shots=1000).result().get_counts()\n",
"\n",
"qc = circuit_10_01()\n",
"qc.measure_all()\n",
"qc.h([0, 1])\n",
"qc.measure_all(add_bits=False)\n",
"superposition = AerSimulator().run(qc, shots=1000).result().get_counts()\n",
"\n",
"plot_histogram([upper, lower, superposition])"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5aa594fb",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.11.0"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment