Skip to content

Instantly share code, notes, and snippets.

@Miura-KR
Last active November 29, 2019 05:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Miura-KR/a76ba0f088da6fb3d703589986e672d8 to your computer and use it in GitHub Desktop.
Save Miura-KR/a76ba0f088da6fb3d703589986e672d8 to your computer and use it in GitHub Desktop.
Qiskitrootgate
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# ルートゲート\n",
"`power(exponent)` メソッドを使ってルートゲートを作る.\n",
"\n",
"https://qiskit.org/documentation/locale/ja/api/qiskit.circuit.Gate.html?highlight=power#qiskit.circuit.Gate.power\n",
"\n",
"$\\sqrt{NOT}$ ゲート は `XGate().power(.5)` "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"#initialization\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import numpy as np\n",
"\n",
"# importing Qiskit\n",
"from qiskit import IBMQ, Aer\n",
"from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister, execute\n",
"from qiskit.extensions.standard.x import XGate"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"NOT ゲート"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJEAAABOCAYAAAAgsPTZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAADdklEQVR4nO3dz0vTcRzH8df3uy1neUjZQfAmiofhBL31A/FQGZQX28qDB4Vc5iWQoks/yNpirehQf4BQSjkWXdyhCJd2sSEo1mEHCxG8eFAQpuX3++0QGVLhV9+Oz/ebrwfs8t3h+2Y8ee+7H/DVLMuyQCSgqx6A3I8RkRgjIjFGRGKMiMQYEYkxIhJjRCTGiEiMEZEYIyIxRkRijIjEGBGJMSISY0QkxohIjBGRGCMiMUZEYoyIxBgRiTEiEmNEJMaISIwRkRgjIjFGRGJe1QO4wYE3GSXn/XbitJLz7hQ3EYkxIhJjRCTGiEiMEZEYIyIxRkRijIjEHBORaZpIJpOora2F3+9HQ0MDstks6urq0NPTo3o826xCAd/DF2COT/w+tr6OjSv92LhzD5ZpKpyuOBwTUXd3NwYGBhCNRpHJZBCJRNDR0YG5uTk0NTWpHs82rbQU+rl2GM+HYVkWLMOAcTcO+HzwXL8GTXfMS75nHPGzx9DQEAYHBzE2Nobm5mYAQEtLC6amppBOp10VEQDobWdhptKwJj7AnMzBWlqCN5mAdsCnerSicERE8Xgcra2tmwH9UlNTA5/Ph/r6ekWT7Y5W6ocebofx4BFQfhjexw+hHTqoeqyiUb5bFxYWMDs7i3A4/Mdz8/PzCAaDKCkpUTDZHlhbg+d8BFp5uepJisoREQFAZWXlluOFQgHZbLbob2Wapm372Cnz7TuYL15CO3USxqvX2O2dL+zMVsyHXcojCgQCAIB8Pr/leCKRwOLiIhobG1WMtWvm5EcYT57Cc+sGPJcvAcvLsN6Pqx6rqJRfE1VXVyMUCiEWi6GiogJVVVVIpVIYHR0FgKJvIjtbwu7/icxPn2HE7sNztR966Od1nB5uh/FsGNrxYzv+ZOaWe/co30S6rmNkZATBYBC9vb3o6upCIBBAX18fvF4vQqGQ6hFtsb58hXHzNjzRi9CPHtk8rredAVZW/uttpDn1VlWdnZ2Ynp7GzMyM6lH4z8ZtKN9E/5LL5Vz3/dB+5ciIVldXkc/nXXdRvV8pv7D+m7KyMhiGoXoMssmRm4jchRGRGCMiMUZEYoyIxBgRiTEiEnPszx7kHtxEJMaISIwRkRgjIjFGRGKMiMQYEYkxIhJjRCTGiEiMEZEYIyIxRkRijIjEGBGJMSISY0QkxohIjBGR2A+XvdTSMkFvqAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 173.376x84.28 with 1 Axes>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"circ = QuantumCircuit(1)\n",
"circ.append(XGate(), [0])\n",
"circ.draw(output=\"mpl\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$|1\\rangle$ が得られる"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.+0.j 1.+0.j]\n"
]
}
],
"source": [
"backend = Aer.get_backend('statevector_simulator')\n",
"res = execute(circ, backend).result()\n",
"outputstate = res.get_statevector(circ)\n",
"print(outputstate)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"NOT² ゲート"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAL4AAABOCAYAAACe5qyEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAEP0lEQVR4nO3aQWibZRzH8V/sYpMu6bIm1mxVCVmygKUpthXES6wwLQ68uBYLK5WizWkwQdmhIkqhtaW3HQadBwvSTShFZaYgonlBxJVYaKkHwwhaOuPK1C5Lm5buTTwMq6XJkoIvzxv/vw/k8rTl+fP225f3fftaCoVCAUTCPKR6ACIVGD6JxPBJJIZPIjF8Eonhk0gMn0Ri+CQSwyeRGD6JxPBJJIZPIjF8Eonhk0gMn0Ri+CQSwyeRGD6JxPBJJIZPIjF8Eonhk0gMn0Ri+CQSwyeRGD6JxPBJpEOqB6gGP30N3F1TPUV1cDYCoedVT1Eew6/A3TVgfVX1FPRf4qUOicTwSSSGTyIxfBKJ4ZNIDJ9EYvgkEsMnkUwTfj6fx8TEBILBIGw2G1pbW6FpGkKhEAYHB1WPV5Se1zF57W2cee8RvPyOE+9PvYI7G7cN2+/siA9f/fBxxetUmmnCHxgYwPDwMKLRKObm5tDT04Pe3l6kUim0t7erHq+oq998gO9+/AwXz13HlaH7/9odu9KneCqqhCleWZiensbU1BTi8TgikQgAoLOzEwsLC5idnTVt+LHvJ3H21Ls45vYDAN44PY7+sQB+++NneBt8aoejBzLFGX90dBRdXV270f8tEAjAarWipaVF0WSlbeTuYG19BcGmf/4oj3tOoM5Wj1R6SeFkVAnl4a+urmJ5eRnd3d37vraysoLm5mbU1tYqmOzBNrYzAIDD9iN71h02Fza3MipGogMwRfgA4PV696zncjlommb4ZY7FYin70bT4vp+rq3UCuH/m/7fs1jrqbPWGzFpTY8W9/M6+9Xv6Dg7VWA3Z86A0LV7RMTXqUynl4Xs8HgBAMpncsz4+Po50Oo22tjYVY5XlsLvQ6HoCN24u7K6lf09hcysD/7GwIXt6j/rw6+0be9Zy21n8mb21e59BlVF+c+v3+xEOhzEyMoKGhgY0NTVhZmYGsVgMAAw/4xcKhbLfk7ha/H38l54ZxCfxMbQGOlFf58bl2AV0nHzRsBvbFzpew6XPz+PpUBee9D2Lza0MJq+9Bd+jzQgcf8qQPQ8qEnkOhUvlj6lqlkIlv3mDJZNJRKNRzM/Pw+12o7+/H06nE0NDQ8hkMrDb7UrnKxW+ntfx4RcX8GXiI+zo22gLnsKbZyZx5LDHsFli1y/j028v4tb6L7A/7EDYH8Hrp8fQ6HrcsD0PwvUY0PGq6inKM0X4xfT19WFxcRFLS+qfkJQKn/arlvCVX+OXkkgkTPv8nqqfKcPPZrNIJpOmvbGl6qf85rYYh8MBXddVj0H/Y6Y84xMZjeGTSAyfRGL4JBLDJ5EYPonE8EkkUz7HNxtno+oJqke1HCvTvqtDZCRe6pBIDJ9EYvgkEsMnkRg+icTwSSSGTyIxfBKJ4ZNIDJ9EYvgkEsMnkRg+icTwSSSGTyIxfBKJ4ZNIDJ9E+gvChgmDod/NwAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 233.576x84.28 with 1 Axes>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"circ = QuantumCircuit(1)\n",
"circ.append(XGate().power(2), [0])\n",
"circ.draw(output=\"mpl\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$|0\\rangle$ が得られる"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1.+0.j 0.+0.j]\n"
]
}
],
"source": [
"res = execute(circ, backend).result()\n",
"outputstate = res.get_statevector(circ)\n",
"print(outputstate)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$\\sqrt{NOT}$ゲート"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAL4AAABOCAYAAACe5qyEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAEP0lEQVR4nO3aQWibZRzH8V/sYpMu6bIm1mxVCVmygKUpthXES6wwLQ68uBYLK5WizWkwQdmhIkqhtaW3HQadBwvSTShFZaYgonlBxJVYaKkHwwhaOuPK1C5Lm5buTTwMq6XJkoIvzxv/vw/k8rTl+fP225f3fftaCoVCAUTCPKR6ACIVGD6JxPBJJIZPIjF8Eonhk0gMn0Ri+CQSwyeRGD6JxPBJJIZPIjF8Eonhk0gMn0Ri+CQSwyeRGD6JxPBJJIZPIjF8Eonhk0gMn0Ri+CQSwyeRGD6JxPBJpEOqB6gGP30N3F1TPUV1cDYCoedVT1Eew6/A3TVgfVX1FPRf4qUOicTwSSSGTyIxfBKJ4ZNIDJ9EYvgkEsMnkUwTfj6fx8TEBILBIGw2G1pbW6FpGkKhEAYHB1WPV5Se1zF57W2cee8RvPyOE+9PvYI7G7cN2+/siA9f/fBxxetUmmnCHxgYwPDwMKLRKObm5tDT04Pe3l6kUim0t7erHq+oq998gO9+/AwXz13HlaH7/9odu9KneCqqhCleWZiensbU1BTi8TgikQgAoLOzEwsLC5idnTVt+LHvJ3H21Ls45vYDAN44PY7+sQB+++NneBt8aoejBzLFGX90dBRdXV270f8tEAjAarWipaVF0WSlbeTuYG19BcGmf/4oj3tOoM5Wj1R6SeFkVAnl4a+urmJ5eRnd3d37vraysoLm5mbU1tYqmOzBNrYzAIDD9iN71h02Fza3MipGogMwRfgA4PV696zncjlommb4ZY7FYin70bT4vp+rq3UCuH/m/7fs1jrqbPWGzFpTY8W9/M6+9Xv6Dg7VWA3Z86A0LV7RMTXqUynl4Xs8HgBAMpncsz4+Po50Oo22tjYVY5XlsLvQ6HoCN24u7K6lf09hcysD/7GwIXt6j/rw6+0be9Zy21n8mb21e59BlVF+c+v3+xEOhzEyMoKGhgY0NTVhZmYGsVgMAAw/4xcKhbLfk7ha/H38l54ZxCfxMbQGOlFf58bl2AV0nHzRsBvbFzpew6XPz+PpUBee9D2Lza0MJq+9Bd+jzQgcf8qQPQ8qEnkOhUvlj6lqlkIlv3mDJZNJRKNRzM/Pw+12o7+/H06nE0NDQ8hkMrDb7UrnKxW+ntfx4RcX8GXiI+zo22gLnsKbZyZx5LDHsFli1y/j028v4tb6L7A/7EDYH8Hrp8fQ6HrcsD0PwvUY0PGq6inKM0X4xfT19WFxcRFLS+qfkJQKn/arlvCVX+OXkkgkTPv8nqqfKcPPZrNIJpOmvbGl6qf85rYYh8MBXddVj0H/Y6Y84xMZjeGTSAyfRGL4JBLDJ5EYPonE8EkkUz7HNxtno+oJqke1HCvTvqtDZCRe6pBIDJ9EYvgkEsMnkRg+icTwSSSGTyIxfBKJ4ZNIDJ9EYvgkEsMnkRg+icTwSSSGTyIxfBKJ4ZNIDJ9E+gvChgmDod/NwAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 233.576x84.28 with 1 Axes>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"circ = QuantumCircuit(1)\n",
"circ.append(XGate().power(.5), [0])\n",
"circ.draw(output=\"mpl\")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.5+0.5j 0.5-0.5j]\n"
]
}
],
"source": [
"res = execute(circ, backend).result()\n",
"outputstate = res.get_statevector(circ)\n",
"print(outputstate)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$\\sqrt{NOT}$ゲート 二回目"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAARkAAABOCAYAAAAU7GLsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAEoElEQVR4nO3cb0jcBRzH8Y8680/nsjRzK0JM84F4khr07GaxkoKelDJrYggpYtGjaGBEIWiKT2LQAwNBCbcQjMHQJ1keQTQwQWcPkmEl1jVZ0+n5D3deD0aW6Nq529ff7673C+7JT378vnyF993vvDMhHA6HBQBGEp0eAEB8IzIATBEZAKaIDABTRAaAKSIDwBSRAWCKyAAwRWQAmCIyAEwRGQCmiAwAU0QGgCkiA8AUkQFgisgAMEVkAJgiMgBMERkApogMAFNEBoApIgPAFJEBYIrIADBFZACYIjIATBEZAKaOOD1ALPjpa2llwekpYkNGjlT07N2fz64jF+2uDwuRicDKgrQ07/QU/w/sOv5wuwTAFJEBYIrIADBFZACYIjIATBEZAKaIDABTRAaAKddEZnt7W93d3SosLFRqaqpKS0vl9/tVVFSkxsZGp8fbV2g7pJ6L7+rVDx/Wy+9n6KO+V3Rj9ZrZ9U635+mrHz6P+Hg8YdexyzWRaWhoUFtbm5qamjQyMqKamhrV1tZqdnZW5eXlTo+3r/PffKzvfrygs29f0rnWWx9T7TxX5/BU8Yldxy5XfK1gYGBAfX19Ghsbk8/nkyRVVlZqYmJCQ0NDro3M8Pc9On3yAx3LypckvflSl+o7C/TH9V+U+1Ces8PFGXYdu1zxSqajo0NVVVU7gflbQUGBkpOTVVJS4tBkt7e6fkMLS3MqfPSfAB7PfkLpqUc1G5hycLL4w65jm+ORmZ+f1/T0tKqrq/f8bG5uTsXFxUpJSXFgsv+2urksSbo/7YFdxz2pmVrbWHZipLjFrmObKyIjSbm5ubuOr6+vy+/3m98qJSQk3PHh94/tOS89JUPSrWfZfwtuLCk99ajJrElJybq5vbXn+M3Qlo4kJZtc86D8/rGIdsquoxftrqN9RMrxyGRnZ0uSZmZmdh3v6upSIBBQWVmZE2PdkSctUzmZj+vKbxM7xwJ/zmptY1n5x7wm18x9ME+/X7uy69j6ZlCLwas771XEI3Yd2xyPTH5+vrxer9rb29Xf36/R0VE1Nzert7dXksxfyYTD4Ts+fL4T+5774jON+mKsU4HrP2t1Y1mfDb+niidfMHsj8vmKNzR8qUeXZ79VaDuklbVFfXrhHeU9UqyC40+ZXPOgfL4TEe2UXUcv2l1H+4iU439dSkxM1ODgoJqamtTc3KysrCzV19erpaVFra2t8nptnqnuhVOVZxRcW9RbnzytrdCmygpP6sxrdp+heK7sdW1urensly26uvSr0u7zyJvvU1vDRSUlOf6rNMWuY1dC+CBJOkR1dXWanJzU1JTzfz0YP89/a4tU5mNSxam7P59dRy7aXR8Wx2+Xbmd8fNy1n48BEDlXRiYYDGpmZsa1b/oCiJwrby49Ho9CoZDTYwC4B1z5SgZA/CAyAEwRGQCmiAwAU0QGgCkiA8AUkQFgypWfk3GbjBynJ4gd0e6KXUcuVnbl2u8uAYgP3C4BMEVkAJgiMgBMERkApogMAFNEBoApIgPAFJEBYIrIADBFZACYIjIATBEZAKaIDABTRAaAKSIDwBSRAWCKyAAwRWQAmPoLANQ2YKZZIQwAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 353.976x84.28 with 1 Axes>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"circ.append(XGate().power(.5), [0])\n",
"circ.draw(output=\"mpl\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$|1\\rangle$ が得られる"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.+0.j 1.+0.j]\n"
]
}
],
"source": [
"res = execute(circ, backend).result()\n",
"outputstate = res.get_statevector(circ)\n",
"print(outputstate)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'qiskit-terra': '0.10.0',\n",
" 'qiskit-aer': '0.3.2',\n",
" 'qiskit-ignis': '0.2.0',\n",
" 'qiskit-ibmq-provider': '0.3.3',\n",
" 'qiskit-aqua': '0.6.1',\n",
" 'qiskit': '0.13.0'}"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import qiskit\n",
"qiskit.__qiskit_version__"
]
}
],
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment