{ "cells": [ { "cell_type": "markdown", "id": "b7b21320", "metadata": {}, "source": [ "# Quantum Fourier Transform\n", "\n", "The Quantum Fourier Transform (QFT) is an important subroutine to many quantum algorithms, most famously Shor's algorithm for factoring and the quantum phase estimation (QPE) algorithm for estimating the eigenvalues of a unitary operator [1, 2]. The QFT can be performed efficiently on a quantum computer, using Hadamard gates, controlled phase shift gates and swap gates.\n", "\n", "## Reference\n", "\n", "[1] Wikipedia: https://en.wikipedia.org/wiki/Quantum_Fourier_transform\n", "\n", "[2] Nielsen, Michael A., Chuang, Isaac L. (2010). Quantum Computation and Quantum Information (2nd ed.). Cambridge: Cambridge University Press." ] }, { "cell_type": "code", "execution_count": 1, "id": "865f8bf5", "metadata": {}, "outputs": [], "source": [ "from notebook_plotting import plot_bitstrings_formatted\n", "import matplotlib.pyplot as plt\n", "\n", "%matplotlib inline\n", "\n", "import numpy as np\n", "from braket.circuits import Circuit\n", "from braket.devices import LocalSimulator\n", "\n", "from braket.experimental.algorithms.quantum_fourier_transform import (\n", " quantum_fourier_transform as qft_module\n", ")" ] }, { "cell_type": "markdown", "id": "1991c703", "metadata": {}, "source": [ "# Circuits\n", "Let's visualize the circuits for quantum Fourier Transform and inverse quantum Fourier Transform." ] }, { "cell_type": "code", "execution_count": 2, "id": "e040b503", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "T : |0| 1 | 2 | 3 | 4 | 5 | 6 | 7 |\n", " \n", "q0 : -H-PHASE(1.57)-PHASE(0.79)---PHASE(0.39)--------------------------------------------SWAP-\n", " | | | | \n", "q1 : ---C-----------|-----------H-|-----------PHASE(1.57)-PHASE(0.79)---------------SWAP-|----\n", " | | | | | | \n", "q2 : ---------------C-------------|-----------C-----------|-----------H-PHASE(1.57)-SWAP-|----\n", " | | | | \n", "q3 : -----------------------------C-----------------------C-------------C-----------H----SWAP-\n", "\n", "T : |0| 1 | 2 | 3 | 4 | 5 | 6 | 7 |\n" ] } ], "source": [ "n_qubits = 4\n", "circuit = qft_module.quantum_fourier_transform_circuit(n_qubits)\n", "print(circuit)" ] }, { "cell_type": "code", "execution_count": 3, "id": "a6a27639", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "T : | 0 |1| 2 | 3 | 4 | 5 | 6 |7|\n", " \n", "q0 : -SWAP-------------------------------------------------PHASE(-0.39)---PHASE(-0.79)-PHASE(-1.57)-H-\n", " | | | | \n", "q1 : -|----SWAP------------------PHASE(-0.79)-PHASE(-1.57)-|------------H-|------------C--------------\n", " | | | | | | \n", "q2 : -|----SWAP---PHASE(-1.57)-H-|------------C------------|--------------C---------------------------\n", " | | | | \n", "q3 : -SWAP------H-C--------------C-------------------------C------------------------------------------\n", "\n", "T : | 0 |1| 2 | 3 | 4 | 5 | 6 |7|\n" ] } ], "source": [ "circuit = qft_module.inverse_quantum_fourier_transform_circuit(n_qubits)\n", "print(circuit)" ] }, { "cell_type": "markdown", "id": "6ec6c365", "metadata": {}, "source": [ "You can use methods `qft()` and `iqft()` to append quantum Fourier Transform circuits to am existing circuit. " ] }, { "cell_type": "code", "execution_count": 4, "id": "006ad942", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "T : |0|1| 2 | 3 | 4 | 5 | 6 | 7 | 8 |\n", " \n", "q0 : -X-H-PHASE(1.57)-PHASE(0.79)---PHASE(0.39)--------------------------------------------SWAP-\n", " | | | | \n", "q1 : -X---C-----------|-----------H-|-----------PHASE(1.57)-PHASE(0.79)---------------SWAP-|----\n", " | | | | | | \n", "q2 : -X---------------C-------------|-----------C-----------|-----------H-PHASE(1.57)-SWAP-|----\n", " | | | | \n", "q3 : -X-----------------------------C-----------------------C-------------C-----------H----SWAP-\n", "\n", "T : |0|1| 2 | 3 | 4 | 5 | 6 | 7 | 8 |\n" ] } ], "source": [ "circuit = Circuit().x(range(n_qubits))\n", "circuit.qft(range(n_qubits))\n", "print(circuit)" ] }, { "cell_type": "code", "execution_count": 5, "id": "8d12a329", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "T : |0| 1 |2| 3 | 4 | 5 | 6 | 7 |8|\n", " \n", "q0 : -X-SWAP-------------------------------------------------PHASE(-0.39)---PHASE(-0.79)-PHASE(-1.57)-H-\n", " | | | | \n", "q1 : -X-|----SWAP------------------PHASE(-0.79)-PHASE(-1.57)-|------------H-|------------C--------------\n", " | | | | | | \n", "q2 : -X-|----SWAP---PHASE(-1.57)-H-|------------C------------|--------------C---------------------------\n", " | | | | \n", "q3 : -X-SWAP------H-C--------------C-------------------------C------------------------------------------\n", "\n", "T : |0| 1 |2| 3 | 4 | 5 | 6 | 7 |8|\n" ] } ], "source": [ "circuit = Circuit().x(range(n_qubits))\n", "circuit.iqft(range(n_qubits))\n", "print(circuit)" ] }, { "cell_type": "markdown", "id": "6fe50dcb", "metadata": {}, "source": [ "# Local Simulator" ] }, { "cell_type": "markdown", "id": "0186b9ab", "metadata": {}, "source": [ "## Example 1 - With no state preparation" ] }, { "cell_type": "code", "execution_count": 6, "id": "a8904721", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "(0.0, 1.0)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "task = qft_module.run_quantum_fourier_transform(\n", " qubits=range(4), \n", " n_shots=1000, \n", " device=LocalSimulator()\n", ")\n", "probabilities = task.result().values[0]\n", "plot_bitstrings_formatted(probabilities)\n", "plt.ylim([0, 1])" ] }, { "cell_type": "markdown", "id": "edc705a9", "metadata": {}, "source": [ "## Example 2 - With state preparation" ] }, { "cell_type": "code", "execution_count": 7, "id": "ccfd12f8", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "(0.0, 1.0)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEaCAYAAAAcz1CnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAYHElEQVR4nO3de7RkZXnn8e9PEC+oeKFFQ4MwEYRWI2qLujIajRobXQETNdLqgEQlaykqSxPFZMSIJAFNHDVBTXvFKxBNTI+2QkxQJzFgN3KRy6AdRqXRSHvB0TFG0Wf+qN1aVNc5p6pP1alq3u9nrVpdtfeup56C7vrV3u9be6eqkCS16zazbkCSNFsGgSQ1ziCQpMYZBJLUOINAkhpnEEhS46YWBEneleTGJFcusD5J3pxka5IrkjxkWr1IkhY2zT2C9wDrFll/FHBIdzsReOsUe5EkLWBqQVBVnwW+s8gmxwDvrZ6LgLsmufe0+pEkDTfLMYL9gev7Hm/rlkmSVtCes25gFElOpHf4iL333vuhhx122Iw7kqTdyyWXXPKtqlo1bN0sg+AG4IC+x6u7ZTupqg3ABoC1a9fWli1bpt+dJN2KJPnqQutmeWhoI3BcN3voEcD3quobM+xHkpo0tT2CJB8CHgPsm2Qb8GrgtgBV9TZgE/AkYCvwQ+CEafUiSVrY1IKgqtYvsb6AF07r9SVJo/GXxZLUOINAkhpnEEhS4wwCSWqcQSBJjTMIJKlxBoEkNc4gkKTGGQSS1DiDQJIaZxBIUuMMAklqnEEgSY0zCCSpcQaBJDXOIJCkxhkEktQ4g0CSGmcQSFLjDAJJapxBIEmNMwgkqXEGgSQ1ziCQpMYZBJLUOINAkhpnEEhS4wwCSWqcQSBJjTMIJKlxBoEkNc4gkKTGGQSS1DiDQJIaZxBIUuOmGgRJ1iW5NsnWJKcMWX9gkguTXJrkiiRPmmY/kqSdTS0IkuwBnAUcBawB1idZM7DZfwfOq6oHA8cCb5lWP5Kk4aa5R3AksLWqrquqHwPnAMcMbFPAXbr7+wBfn2I/kqQhphkE+wPX9z3e1i3r98fAs5NsAzYBLxpWKMmJSbYk2bJ9+/Zp9CpJzZr1YPF64D1VtRp4EvC+JDv1VFUbqmptVa1dtWrVijcpSbdm0wyCG4AD+h6v7pb1ey5wHkBV/Stwe2DfKfYkSRowzSDYDByS5OAke9EbDN44sM3XgMcBJDmcXhB47EeSVtDUgqCqbgZOAs4HrqE3O+iqJKclObrb7GXA85NcDnwIeE5V1bR6kiTtbM9pFq+qTfQGgfuXndp3/2rgV6fZgyRpcbMeLJYkzZhBIEmNMwgkqXEGgSQ1ziCQpMYZBJLUOINAkhpnEEhS4wwCSWqcQSBJjTMIJKlxBoEkNc4gkKTGGQSS1DiDQJIaZxBIUuMMAklqnEEgSY0zCCSpcQaBJDXOIJCkxhkEktQ4g0CSGmcQSFLjDAJJapxBIEmNMwgkqXEGgSQ1ziCQpMYZBJLUOINAkhpnEEhS4wwCSWqcQSBJjZtqECRZl+TaJFuTnLLANr+T5OokVyX54DT7kSTtbKQgSPK3SZ6cZOTgSLIHcBZwFLAGWJ9kzcA2hwCvBH61qu4PnDxqfUnSZIz6wf4W4JnAl5OckeR+IzznSGBrVV1XVT8GzgGOGdjm+cBZVfVdgKq6ccR+JEkTMlIQVNWnqupZwEOArwCfSvK5JCckue0CT9sfuL7v8bZuWb9DgUOT/EuSi5KsG699SdJyjXOo5x7Ac4DnAZcCb6IXDP+wjNffEzgEeAywHnh7krsOee0Tk2xJsmX79u3LeDlJ0qBRxwj+DvhfwB2B36yqo6vq3Kp6EXCnBZ52A3BA3+PV3bJ+24CNVfWTqvo/wJfoBcMtVNWGqlpbVWtXrVo1SsuSpBGNukfw9qpaU1V/VlXfAEhyO4CqWrvAczYDhyQ5OMlewLHAxoFtPkpvb4Ak+9I7VHTdWO9AkrQsowbB6UOW/etiT6iqm4GTgPOBa4DzquqqJKclObrb7Hzg20muBi4E/qCqvj1iT5KkCdhzsZVJ7kVvgPcOSR4MpFt1F3qHiRZVVZuATQPLTu27X8BLu5skaQYWDQLgifQGiFcDb+hb/n3gD6fUkyRpBS0aBFV1NnB2kqdW1UdWqCdJ0gpa6tDQs6vq/cBBSXY6fFNVbxjyNEnSbmSpQ0N7d38uNEVUkrSbW+rQ0F93f75mZdqRJK20pQ4NvXmx9VX14sm2I0laaUsdGrpkRbqQJM3MKLOGJEm3YksdGnpjVZ2c5H8CNbi+qo4e8jRJ0m5kqUND7+v+/PNpNyJJmo2lDg1d0v35me7EcYfR2zO4trvYjCRpN7fUHgEASZ4MvA34N3rnGzo4ye9V1Sem2ZwkafpGCgLgL4DHVtVWgCS/DHwcMAgkaTc36mmov78jBDrX0TvxnCRpN7fUrKHf7u5uSbIJOI/eGMHT6V14RpK0m1vq0NBv9t3/JvBr3f3twB2m0pEkaUUtNWvohJVqRJI0G6POGro98Fzg/sDtdyyvqt+dUl+SpBUy6mDx+4B70bti2WfoXbHMwWJJuhUYNQjuW1WvAv5fd/6hJwMPn15bkqSVMmoQ/KT786YkDwD2Ae45nZYkSStp1B+UbUhyN+BVwEZ6Vyx71dS6kiStmJGCoKre0d39DPBfpteOJGmljXRoKMk9kvxlki8kuSTJG5PcY9rNSZKmb9QxgnOAG4GnAk8DvgWcO62mJEkrZ9QxgntX1Wv7Hp+e5BnTaEiStLJG3SO4IMmxSW7T3X4HOH+ajUmSVsZSJ537Pr2TzAU4GXh/t+o2wA+A359mc5Kk6VvqXEN3XqlGJEmzMeoYAUmOBh7dPfx0VX1sOi1JklbSqNNHzwBeAlzd3V6S5M+m2ZgkaWWMukfwJOCIqvoZQJKzgUuBV06rMUnSyhh11hDAXfvu7zPhPiRJMzLqHsGfApcmuZDeDKJHA6dMrStJ0opZMgiS3Ab4GfAI4GHd4ldU1b9PszFJ0spY8tBQNy7w8qr6RlVt7G4jhUCSdUmuTbI1yYJ7EEmemqSSrB2jd0nSBIw6RvCpJL+f5IAkd99xW+wJSfYAzgKOAtYA65OsGbLdnenNSLp4zN4lSRMw6hjBM+j9wvgFA8sXOyX1kcDWqroOIMk5wDH0pp/2ey1wJvAHI/YiSZqgUfcI1tD7dn85cBnwl/QuZL+Y/YHr+x5v65b9XJKHAAdU1ccXK5TkxCRbkmzZvn37iC1LkkYxahCcDRwOvJleCKzplu2ybhD6DcDLltq2qjZU1dqqWrtq1arlvKwkacCoh4YeUFX9x/cvTDJ4iGfQDcABfY9Xd8t2uDPwAODTSQDuBWxMcnRVbRmxL0nSMo26R/CFJI/Y8SDJw4GlPqw3A4ckOTjJXsCx9K53DEBVfa+q9q2qg6rqIOAiwBCQpBU26h7BQ4HPJfla9/hA4NokXwSqqn5l8AlVdXOSk+hdt2AP4F1VdVWS04AtVbVx8DmSpJU3ahCs25XiVbUJ2DSw7NQFtn3MrryGJGl5RgqCqvrqtBuRJM3GOCedkyTdChkEktQ4g0CSGmcQSFLjDAJJapxBIEmNMwgkqXEGgSQ1ziCQpMYZBJLUOINAkhpnEEhS4wwCSWqcQSBJjTMIJKlxBoEkNc4gkKTGGQSS1DiDQJIaZxBIUuMMAklqnEEgSY0zCCSpcQaBJDXOIJCkxhkEktQ4g0CSGmcQSFLjDAJJapxBIEmNMwgkqXEGgSQ1ziCQpMZNNQiSrEtybZKtSU4Zsv6lSa5OckWSf0xyn2n2I0na2dSCIMkewFnAUcAaYH2SNQObXQqsrapfAT4MvG5a/UiShpvmHsGRwNaquq6qfgycAxzTv0FVXVhVP+weXgSsnmI/kqQhphkE+wPX9z3e1i1byHOBT0yxH0nSEHvOugGAJM8G1gK/tsD6E4ETAQ488MAV7EySbv2muUdwA3BA3+PV3bJbSPJ44I+Ao6vqP4cVqqoNVbW2qtauWrVqKs1KUqumGQSbgUOSHJxkL+BYYGP/BkkeDPw1vRC4cYq9SJIWMLUgqKqbgZOA84FrgPOq6qokpyU5utvs9cCdgL9JclmSjQuUkyRNyVTHCKpqE7BpYNmpffcfP83XlyQtzV8WS1LjDAJJapxBIEmNMwgkqXEGgSQ1ziCQpMYZBJLUOINAkhpnEEhS4wwCSWqcQSBJjZuL6xFItyYHnfLxZT3/K2c8eUKdSKMxCCT88FbbDIJlWM6Hhx8ckuZFU0Hgtz5JszSvn0EOFktS4wwCSWqcQSBJjTMIJKlxTQ0WS7sjZ6dp2twjkKTGGQSS1DiDQJIaZxBIUuMcLJ4TDghqJfj3TMMYBNpt+aEmTYaHhiSpce4RSNIiWtjzdI9AkhpnEEhS4wwCSWqcQSBJjTMIJKlxzhqSdKvTwkyfSTIIboXm+R/BPPem8czr9Xc1vqkeGkqyLsm1SbYmOWXI+tslObdbf3GSg6bZjyRpZ1MLgiR7AGcBRwFrgPVJ1gxs9lzgu1V1X+B/AGdOqx9J0nDT3CM4EthaVddV1Y+Bc4BjBrY5Bji7u/9h4HFJMsWeJEkDUlXTKZw8DVhXVc/rHv834OFVdVLfNld222zrHv9bt823BmqdCJzYPbwfcO1UmoZ9gW8tudXK15p0vRZqTbpeC7UmXa+FWpOuN+ne+t2nqlYNW7FbDBZX1QZgw7RfJ8mWqlo7b7UmXa+FWpOu10KtSddrodak6026t1FN89DQDcABfY9Xd8uGbpNkT2Af4NtT7EmSNGCaQbAZOCTJwUn2Ao4FNg5ssxE4vrv/NOCfalrHqiRJQ03t0FBV3ZzkJOB8YA/gXVV1VZLTgC1VtRF4J/C+JFuB79ALi1ma5OGnSR/Kmtfe5rXWpOu1UGvS9VqoNel6Uz8EPszUBoslSbsHzzUkSY0zCCSpcQaBJDXOIJCkxu0WPyiblu50FkcC+3eLbgA+P8kprEkOq6r/PeZz9gHWDfR1flXdNMG+nlBV/7ALz5vL3pIcRu+UJf19bayqaybY1wlV9e5J1ZPmRbOzhpL8BvAW4Mv84oduq4H7Ai+oqgsm9Dpfq6oDx9j+OODVwAUDfT0BeE1VvXcWfc1zb0leAayndz6rbX19HQucU1VnzKKvvufNZXh2z5vLAF2JvpbR2xOBpwz09vdV9ckJ9nVqVZ02qXpLvl7DQXANcFRVfWVg+cHApqo6fIxab15oFXB8Vd1ljFrX0jvf0k0Dy+8GXFxVh45Ra/AHfP19/XpV7T1qrXnuLcmXgPtX1U8Glu8FXFVVh4xR64pF+jq0qm43aq2u3lyGZ/ecuQzQleprF3t7I3Ao8N6B3o4DvlxVL5lFX8vV8qGhPfnF/8h+NwC3HbPWCcDLgP8csm79mLUCDEvnn3XrxvEo4NnAD4a8xpFj1trxvHns7WfALwFfHVh+727dOPYDngh8d0hfnxuzFsAfAQ9dKDzpfaCMZInwvMcu9PZchgfoG4CrgJE/cJcI0P1m1dcUenvSsC88Sc4FvgSMHARJ/u8ifd1hzL6WpeUgeBewOck5wPXdsgPofet455i1NgNXVtVOHxRJ/njMWn8CfCHJBX19HUjvG+Rrx6x1EfDDqvrMkL525Qyu89rbycA/JvnyQF/3BU5a6EkL+Bhwp6q6bEhfnx6zFsxveO7oYR4DdJJ9Tbq3HyV5WFVtHlj+MOBHY9a6CXhYVX1zcEWS63fefHqaPTQE0F0o52h2Pg559Zh17g78qKp+OKG+7kbvL+7gMeXBv8grbl57S3Ibdh7431xVP51dV5DkeOBUeoeGdgrPqnrPGLU+Abyuqi4csu6zVfXoMXtbB/wVvXGynQJ0nGPeSd4JvLuq/nnIug9W1TNn0dcUensI8FbgzvziiMIBwPeAF1bVJWPUOp3e583nh6w7s6peMWqt5Wo6CHboPsipqu/MU615lWQ/+j5wh32jmUWtBerfqaoGv0GvaK15DU+Y6wCdy752SHIvbvn39t9n2c9yNRsESQ4EXgf8Or00D3AX4J+AUwYHkUes9Th6u3u7XGuJ1/liVT1wVrWSHAG8jd7pwrfRe5+r6b3nF1TVF8ao9WB636z24ZaDqGPXWuJ1Jjbotpxau1N4dq8x0wCd9NTueZ0qvhK1RtHyGMG5wBuBZ+34lpHedZafTm+2wiNmUSvJby+0CrjXGD1NtFbnPcDvVdXFA6/zCODdwIPGqPXuSdVK8tKFVgF3GqOnidbq6h3BkPBMchMTCs9dqTWCq+kdjlnxWotN7U4y9tTuSddbxAVM7r/ZJGstqeUg2Leqzu1f0H2In5Nk3IHPSdY6F/gAwwcYbz/DWgB7D35wA1TVRUnGmoo64Vp/CrweuHnIunF/PT/JWjCn4dk9b14D9E3A4xea2g2MPLV70vWWmCp+13GammSt5Wo5CC5J8hbgbG45a+h44NIZ1roC+POqunJwRZLHz7AWwCeSfJzelMf+93kcMO6PaSZZ6wvAR4cN1CV53gxrwfyGJ8xvgE5yavek601yqvgkay1Ly0FwHL35yq9hYNYQ408fnWStk4GF5hf/1gxrUVUvTnIUO//i86yq2jSrWvT+QS10idNxr/86yVowv+EJ8xugk5zaPel6k5wqPslay9LsYLG0UhYIvI27EHiTrnU/4DtVtX3Iuv3GGYSeZK3uOYcz/H2ONbV70vUmOVV80tPOl9VLq0GQZE963+KfwsA5Q4B3Dv6qcQa1fovej2rmotYIr7Whqk60lrT7aTkIPkRvquLZ3PKcIccDd6+qZ1hrp3p3X2gVcHlVrbbWTvX2AV5J79vofvQG7m+kF8ZnDJ56YqVqDdR7CnDPCfW27FpLvM4nquqoSdSadL15rTWKlscIHlo7nzNkG3BReicxs9bOttP72X//qRGqe3xPaw11Hr3fkzx2x4+Ouh8jPadb9xszqtVf7zED9Y5fRm/LrtX9enfoKuCIMXqaeL15rbVcLQfBd5I8HfhIVf0Mfv5rxqez8zlJrNVzHfC4qvra4IqMf26UFmoBHFRVZ/Yv6D4oz0hywgxrLVbvzCS/O8Nam4HPcMsw3uGuY9aadL15rbU8VdXkDTiI3jz7G+mdNfBL3f1zgYOtNbTeC4EHLbDuRdYa+pwLgJcD+/Ut2w94BfCpWdWa596AK4FDFlh3/S68z4nVm9day701O0YAC84k+PvahYtftFCrqzexC4Y0UutuwCldvR2Hlr5Jb2rxGTXG+YYmWWuee0vyNOCLVbXTWWiTPKWqPjpqrUnXm9day9XsNYvTu/jFB+kd/724uwF8KMkp1hpa7+X0TpkR4PPdLbvY262+FkBVfbeqXlFVh1XV3bvb4dU7s+RTZlVrnnurqg8P+3Ds3G2cWpOuN6+1lm0ldz/m6UbvMMlthyzfi96Vhqy1m/Q2r7VGeK2vzWOtee7N9zmdW8uDxZO8+EULtea5t3mtRSZ4daxJ1pp0vXmtNel681pruVoOgpOZ3FWtWqg1z73Nay2Y7NWxJn0ZzXntzfe5a+9zlzUbBFX1ySSHMoGLX7RQa557m9danUle+nLSl9Gc1958n7v2PndZ07OGJEkNzxqSJPUYBJLUOINAzUlyUJJhF+t5R5I13f0/HKHOyUnuuMj6n9eT5pljBGpOkoOAj1XVAxbZ5gdVteglFpN8BVhbVd8asm6PXRxcllacewRq1Z5JPpDkmiQfTnLHJJ9OsjbJGcAdklzWbbN3ko8nuTzJlUmekeTF9H5vcGGSC6EXHkn+IsnlwCN31Otb9yddjYuS7Nct/+Xu8ReTnJ7kB93yeyf5bNfDlUkeNZv/TGqBQaBW3Q94S1UdTu9yni/YsaKqTgH+o6qOqKpnAeuAr1fVg7q9iE9W1ZuBr9M7JfRju6fuDVzcbffPA6+3N3BRVT0I+Czw/G75m4A3VdUDueV1dZ8JnF9VR9C7KP1lk3rj0iCDQK26vqr+pbv/fuC/LrLtF4EnJDkzyaOq6nsLbPdT4CMLrPsxvXnjAJfQOzMswCOBv+nuf7Bv+83ACeldu/aBVfX9RfqTlsUgUKsGB8cWHCyrqi8BD6EXCKcnOXWBTX+0yLjAT+oXA3I/ZYkfc1bVZ4FH0/sx23uSHLfY9tJyGARq1YFJHtndfyYweCjnJ0luC5Dkl4AfVtX7gdfTCwWA7wN3XmYfFwFP7e4fu2NhkvsA36yqtwPv6HtNaeIMArXqWuCFSa6hd8rftw6s3wBckeQDwAOBzye5DHg1cHrfNp/cMVi8i04GXtqdgOy+wI7DTo8BLk9yKfAMemMJ0lQ4fVSaoe53CP9RVZXkWGB9VR0z677UlmZPOifNiYcCf5UkwE3AuNf3lZbNPQJJapxjBJLUOINAkhpnEEhS4wwCSWqcQSBJjTMIJKlx/x+vi6sGxwir4AAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "h_tgt = 2\n", "state_prep_circ = Circuit().h(h_tgt)\n", "\n", "task = qft_module.run_quantum_fourier_transform(\n", " qubits=range(4), \n", " n_shots=1000, \n", " state_prep_circ=state_prep_circ, \n", " device=LocalSimulator()\n", ")\n", "\n", "probabilities = task.result().values[0]\n", "plot_bitstrings_formatted(probabilities)\n", "plt.ylim([0, 1])" ] }, { "cell_type": "markdown", "id": "d3c380c3", "metadata": {}, "source": [ "## Example 3 - Inverse QFT" ] }, { "cell_type": "code", "execution_count": 8, "id": "623f2d8a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 1.0)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "circ = Circuit()\n", "circ.h(range(n_qubits))\n", "for ii in range(n_qubits - 1):\n", " circ.rz(ii + 1, np.pi / (2**ii))\n", "\n", "task = qft_module.run_quantum_fourier_transform(\n", " qubits=range(4),\n", " n_shots=1000,\n", " state_prep_circ=circ,\n", " inverse=True, # inverse-qft\n", " device=LocalSimulator(),\n", ")\n", "\n", "probabilities = task.result().values[0]\n", "plot_bitstrings_formatted(probabilities)\n", "plt.ylim([0, 1])" ] }, { "cell_type": "markdown", "id": "e6c75a51", "metadata": {}, "source": [ "# Quantum Device" ] }, { "cell_type": "code", "execution_count": 7, "id": "e6109e88", "metadata": {}, "outputs": [], "source": [ "from braket.aws import AwsDevice\n", "from braket.tracking import Tracker\n", "\n", "tracker = Tracker().start()\n", "\n", "# device = AwsDevice(\"arn:aws:braket:eu-west-2::device/qpu/oqc/Lucy\") # OQC Lucy" ] }, { "cell_type": "markdown", "id": "a28283ce", "metadata": {}, "source": [ "## Example 1 - With no state preparation" ] }, { "cell_type": "code", "execution_count": 8, "id": "0bef7d2d", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# task = qft_module.run_quantum_fourier_transform(\n", "# qubits=range(4),\n", "# n_shots=1000,\n", "# device=device\n", "# )\n", "\n", "# probabilities = task.result().values[0]\n", "# plot_bitstrings_formatted(probabilities)\n", "# plt.ylim([0, 1])" ] }, { "cell_type": "markdown", "id": "6c11dc46", "metadata": {}, "source": [ "## Example 2 - With state preparation" ] }, { "cell_type": "code", "execution_count": 9, "id": "26030bda", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# h_tgt=2\n", "# state_prep_circ = Circuit().h(h_tgt)\n", "\n", "# task = qft_module.run_quantum_fourier_transform(\n", "# qubits=range(4),\n", "# n_shots=1000,\n", "# state_prep_circ=state_prep_circ,\n", "# device=device\n", "# )\n", "\n", "# probabilities = task.result().values[0]\n", "# plot_bitstrings_formatted(probabilities)\n", "# plt.ylim([0, 1])" ] }, { "cell_type": "markdown", "id": "94558d07", "metadata": {}, "source": [ "## Example 3 - Inverse QFT" ] }, { "cell_type": "code", "execution_count": 10, "id": "26b846e7", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# circ = Circuit()\n", "# circ.h(range(n_qubits))\n", "# for ii in range(n_qubits - 1):\n", "# circ.rz(ii+1, np.pi/(2**ii))\n", "\n", "# task = qft_module.run_quantum_fourier_transform(\n", "# qubits=range(4),\n", "# n_shots=1000,\n", "# state_prep_circ=circ,\n", "# inverse=True, # inverse-qft\n", "# device=device\n", "# )\n", "\n", "# probabilities = task.result().values[0]\n", "# plot_bitstrings_formatted(probabilities)\n", "# plt.ylim([0, 1])" ] }, { "cell_type": "code", "execution_count": 11, "id": "99277828", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Task Summary\n", "{'arn:aws:braket:eu-west-2::device/qpu/oqc/Lucy': {'shots': 3000, 'tasks': {'COMPLETED': 3}}} \n", "\n", "Estimated cost to run this example: 1.95 USD\n" ] } ], "source": [ "print(\"Task Summary\")\n", "print(f\"{tracker.quantum_tasks_statistics()} \\n\")\n", "print(f\"Estimated cost to run this example: {tracker.qpu_tasks_cost() + tracker.simulator_tasks_cost():.2f} USD\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2)." ] } ], "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.9.7" } }, "nbformat": 4, "nbformat_minor": 5 }