Skip to content

Instantly share code, notes, and snippets.

@maciej-adamiak
Last active August 17, 2019 12:26
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 maciej-adamiak/4185eca482b81cde539dddfc2bd36862 to your computer and use it in GitHub Desktop.
Save maciej-adamiak/4185eca482b81cde539dddfc2bd36862 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,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister\n",
"from qiskit import execute\n",
"from qiskit import BasicAer\n",
"from qiskit.tools.visualization import plot_histogram"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def qdft(qc): \n",
" qc.h(q[0])\n",
"\n",
" qc.cu1(np.pi/2, q[1], q[0])\n",
" qc.h(q[1])\n",
"\n",
" qc.cu1(np.pi/4, q[2], q[0])\n",
" qc.cu1(np.pi/2, q[2], q[1])\n",
" qc.h(q[2]);\n",
"\n",
" qc.cu1(np.pi/8, q[3], q[0])\n",
" qc.cu1(np.pi/4, q[3], q[1])\n",
" qc.cu1(np.pi/2, q[3], q[2])\n",
" qc.h(q[3]);\n",
"\n",
" qc.swap(q[0], q[3])\n",
" qc.swap(q[1], q[2])\n",
"\n",
" qc.measure(q, c)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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tdbe+if51ePdTZtptmtKtO3bty/r16/Ptm3bcuHChZw9ezZbtmzJ6Ohozpw5k+XLl49fu3Tp0rS2tub48eO3tMbg4GC6uyf/D+t2rg0AANPZfYs6s6L74fGff9PzRObO9YjnZml4tF2+fDlbt25NrVbLhg0bMn/+/FSr1fT29ubSpUtJkra2tmt+p729PWNjY/nqq6/y5JNPpqenJ0888UQOHDhw03V27NiRzz//fNJzTbQ2AADMJn/3zIrMu3NuFt+3KH/lFv9N1fBcPnjwYCqVStatW3fduWr1+zvVXLx48Zrjo6OjaW1tTWdnZw4dOpSWlpYMDw/n5ZdfztGjR2/LXBOtPdV27KxN+RoAAHCrTp//Kv+465+aPcasMNj3xg2PNzzaRkZGsmDBghs+26G9vT1dXV05duxYHn300STJ8PBwxsbG0t3dnZaWlvFrR0dHb2n740QmWnuq3ewDAgCAZqnX657JVoCGb49ctmxZTp06lU8++STfffddRkdH8+mnn46ff+ONN7Jz586cOnUqY2Nj6evrS29vbx544IEkyalTp/L000+nt7c369evv62zTbQ2AADMJoKtDJV6vV5v9KJ79uzJwMBAzp8/n2q1ms2bN6e/vz/J989K6+vry+7du3PlypWsXbs2tVotnZ2d17zH8PBwVq9enS+//PKGawwMDGTv3r05efLkpOea7NpTwfZIAACY3W62+64p0fZTXblyJfPmzUvy/TbLnp6enDhxoslTAQAATJ1pdd/Oo0eP5p133klLS0u+/fbbvP/++80eCQAAYEpNq2/aAAAAZpumPFwbAACAyRFtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABRNtAAAABftfHIXurxpEqwUAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 1143.8x499.66 with 1 Axes>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q = QuantumRegister(4)\n",
"c = ClassicalRegister(4)\n",
"qc = QuantumCircuit(q, c)\n",
"\n",
"qdft(qc)\n",
"qc.draw(output='mpl')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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gwYN4t///jfvvPMOnTt3jnpRREQkRao0kIKZ/QDAObcS+J2Z1anm2jlz5nD00UfToUMHAIYOHcr06dM57rjjystMmzaN0aNHA3D++eczevRozAznHK+99hrt27cnKyurvPwXX3zBrFmzeOSRRwBo1KgRjRo1qrmFEhGRaknqHKiZ3VHXkidAUVERRx55ZPnzvLw8ioqKKizToEEDWrRowaZNm9i2bRsPPvggN9988z7lV61axWGHHcZ1113HgAEDuOGGG9i+vc59tCIiGeuACdQ597FzrlXw/4LgecJH9NXNPPfccw/XXHMNhxxyyD7TS0pKmD9/Pj/4wQ+YOXMmWVlZCc+tiohIeqpKE+5kYFfwf2UjER20cnNzWbt2bfnzdevWkZubm7DMkUceSUlJCV988QXZ2dnMmTOHV155hbFjx7Jlyxbq1atHkyZNOO+888jLy+PEE08EfLOvEqiISOaoykhEdyT6vy454YQTKCwsZNWqVeTm5jJlyhSeeOKJfcqcffbZPPfcc/Tp04eXX36ZU089Fecc06ZNKy/zm9/8hmbNmvHjH/8YgCOPPJJly5Zx7LHHMnPmTHUiEhHJIEnfjaUuatCgAffeey8XXnghpaWlXHrppXTp0oVx48aRn5/P2WefzWWXXcaIESPo1asXrVq14g9/+MMB495zzz1cffXV7N69mw4dOvDwww/XwNKIiEgqVOVuLAtIPHjCfszs69WuUZoaPHgwgwcP3mfamDFjyv9v0qQJkyZNqjTGLbfcss/zHj16MGPGjJTVUUREak5V78YiIiIiMZI6ByoiIiKebk8mIiISQlXOgX4MDDCzzQc6H3ownwMVERGJpetARUREQtB1oCIiIiGEug7UOXcM0CV4usTM/pu6KomIiKS/pBKoc6418EfgPGDvV5Pdq8BwM9uY4vplhJufalXlsvdesTnCmoiISE1JthfuH4BOwKlAk+DRHzgaeDK1VRMREUlfyTbhngkMMrPZMdPec85dDbyRumqJiIikt2SPQIuBRDet3AHUyeZbERGpm5JNoHcCDzjnyu8uHfx/X/CaiIhInRBmMPmjgZXOubIbZB4J7AQOx58jFREROehpMHkREZEQNJi8iIhICBpMXkREJISkEqhzrpFz7g7n3CfOuZ3OudLYR1SVFBERSTfJHoH+CrgC3+t2L/Az4BH8JSwjU1s1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\n",
"text/plain": [
"<Figure size 504x360 with 1 Axes>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"backend = BasicAer.get_backend('qasm_simulator')\n",
"shots_sim = 100\n",
"\n",
"job_sim = execute(qc, backend)\n",
"stats_sim = job_sim.result().get_counts()\n",
"\n",
"plot_histogram(stats_sim)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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BQSUvxksKSnRv//9b7377rsWVgUAgH1+HjifeuopDRkyhKB5nWbNmqVTp07p3XffVceOHb1+XnJysvuI5n333adnn322TF7xZdUWNi9cuKBZs2YpJSVF0dHRcjgcmjJlilwul9dhc9WqVerVq5d69eql7du3l9tv7ty5+vjjj72urbCwUJIUEhLisTw0NLTM0aIhQ4bovffe8/q1a7rMzEwdOXJE4eHhHm3RokWKioqyu7yr8reaDx48WGEAkiSn06mDBw9aVFHlcnJyPE6dvRrDMHTixAn98MMPFlVVuY8++qjCgFzKl95rAACqW2ngTEhIUFJSknbs2KEVK1YQNK/RoUOHtGLFCiUmJuqXv/yl188rvRlQ6amzr7zyiho3bqw5c+ZUY7UmM6rJ+++/b4SGhnosO3HihCHJOH36tMfy7du3G06n02NZXl6e0bVrV+PHH380vvvuO6Nr166Gy+W65npef/11IzY21v3akoxDhw559AkODjY2bNjgsSwlJcUYMWLENY/rLUm2tdL3xRthYWHGggULjK+++sqjhYaGGps2bfLqNWJjY/2uZrPqptFoNBqNRqPV7Pbz/dQpU6YYDRo0MPLy8rze71y8eLEhyRgzZoxx6dIl9/L/+q//MiQZn332mc/sp1ak2o5sfvvtt7rxxhs9lqWmpqpZs2a66aabKn1+RkaGYmNjVb9+fYWHh6tFixY6ceKEKbWFhoaqdevWHkcrjh07poKCgjKn427cuFHDhw83ZdyKGP9/Il2rW2xsrNc1HjlyxH2+eUREhLsVFRUpPz+/SkcJY2Nj/a7m663b2/anP/3Jq1r++te/2rbe/LwVFhaqYcOGFdYbEBCgbt26ua879YU2Z84cr66X2LFjh+210mg0Go1mVTt//rz69u2rgIAAvfHGG+6/h7/97W996u+4L7af76cahqG3335bY8aMKXMjoPL8/IjmlddoTp48WZL09ttvl3meFfupV2sVqbaw2bFjRx05ckQ7d+5UcXGxUlNTlZSU5HEKrcvlUlFRkYqLiyVJRUVFKioqkmEY+v777xUWFubuGxYWpu+//960+qZOnapFixbp+PHjKigoUGJiouLj49W2bVt3n/Pnz2v79u0aOnSoaeP6s8zMTDVo0EBdu3b1WL5v3z61atWqzJcLvsAfa05ISFBgYGC5p9IGBAToxhtv1KhR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W3ef8+fPa/v27Ro6dKipY/urzMxMNWjQQF27dvVYvm/fPrVq1arMlwuAr5s6dWqlp0k2atRI9913n0UVwZcMGTJETZs2rfD0TpfLpUceecTCqmqm8ePHl7me7edKSko0depUiyoCzOGv+05X3gxo48aNld6l1ir79+9XnTp1NGDAgEr7VhQ0Sw0ePFhnz57VF198UV0l13rVFjajoqI0b948jRo1ShEREcrIyFB0dLRH2Fy5cqUCAwMVHx8vl8ulwMBABQYGuu/s94tf/EJ79uxRRkaGHn300XLHWrhwoTp16lSl+ubOnathw4YpKipKLVu2lMvl0qpVqzz6bNmyRd26dVN4eHiVXrumyszMVFRUVJk5Uffv3++TF7gDlenXr59GjBhRYZ/FixerYcOGFlUEX1K3bl299NJLMgyj3MB59913V7oOoXKhoaFatGhRhX3GjRunO++806KKAHP4477T1e466820KFbIzs5Wx44dK/1yypugKUndu3eXJGVlZVVLvajmu9H+/ve/1/fff69vv/1WL7zwgj7//HOPsJmQkHDVQ7Ft27bVxYsX3f2Cg4PVqFGjcsd56qmn9Omnn1apNqfTqcWLF+vMmTMqLCzU+vXry4RKq06h9Rd/+tOftGPHjjLLly5dqvXr11tfEHCdAgICtGbNGk2bNq3MDQ+aNGmiV199laNWtdzYsWO1du1aNWvWzGO50+nUQw89pHfffdf2m2XUFDNmzNDSpUvVuHFjj+U33HCDHnvsMb355ptMUQC/42/7ThVNb+ILgfP222/XPffcU2m/5ORkr+bRjIiI0D333FNmuwPz1Km8izkKCgqUm5vr9bQnmZmZeuqpp+R0OnXp0iW98MIL1VxhWW3atHHPCQqgZqpXr55efvllzZ8/X5s2bVJBQYFat26tIUOG6IYbbrC7PPiA++67T6NGjVJ6erqOHj2qhg0basiQIWrevLndpdU4v/71rzVp0iRt2rRJX331lUJDQzVs2DA1adLE7tKAGs+beTRLA2dcXJzi4+O1efNm3XHHHZbV+Ic//MGrfvfff78uXryop556qsIvqcLDw5l1oppZFjZzcnIUFBSk9u3be9W/T58+2rVrl2njR0ZGKiEhoUrPmT9/vmnjA/BtTZs21aRJk+wuAz6qTp06XL9vkXr16mn06NF2lwHUKi6XS2lpaV5Nb3Jl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\n",
"text/plain": [
"<Figure size 1204x499.66 with 1 Axes>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q = QuantumRegister(4)\n",
"c = ClassicalRegister(4)\n",
"qc = QuantumCircuit(q, c)\n",
"\n",
"qc.h(q)\n",
"qdft(qc)\n",
"qc.draw(output='mpl')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 504x360 with 1 Axes>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"backend = BasicAer.get_backend('qasm_simulator')\n",
"shots_sim = 100\n",
"\n",
"job_sim = execute(qc, backend)\n",
"stats_sim = job_sim.result().get_counts()\n",
"\n",
"plot_histogram(stats_sim)"
]
}
],
"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.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment