{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Quantum simulation of the Schrödinger equation\n", "\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most general form of the Schrödinger equation is the time-dependent Schrödinger equation, which describes the wave function $\\psi(\\mathbf{r},t)$ of a quantum system, at time $t$ and position $\\mathbf{r}$, for a given Hamiltonian $\\hat{H}$:\n", "\n", "$$i \\hbar \\frac{\\partial}{\\partial t} \\psi(\\mathbf{r} , t) = \\hat{H} \\psi(\\mathbf{r} , t)$$\n", "\n", "The Hamiltonian can be interpreted as describing the total energy of the system. It contains a set of operations concerning all the interactions affecting the state of the system, and as a physical observable, it is self-adjoint. The time evolution is defined by the exponential of the Hamiltonian, which makes it a unitary operator, as per Stone’s theorem on one-parameter unitary groups. For a known wave function $\\psi(\\mathbf{r},0)$, the Schrödinger equation can provide knowledge about the wave function at an arbitrary time $t_{f}$, and allows for determination of outcome probability; $|\\psi(\\mathbf{r}, t_f)|^2$ is the probability of finding a quantum particle at a position $\\mathbf{r}$ and time $t_f$.\n", " \n", "Considering a one dimensional potential $V(x)$, a single particle of mass $m$ is governed by the Hamiltonian:\n", "\n", "$$\\hat{H} = \\frac{\\hbar^{2}\\hat{k}^2}{2m} + V(x)$$\n", "\n", "Where $\\hbar$ is the reduced Planck constant, and $\\hat{k}$ is the wave number of the particle.\n", "\n", "**The general procedure for quantum simulation involves preparing an initial state $|\\phi(0)\\rangle$, finding the state $|\\phi(t)\\rangle$ of the quantum system at some time $t$ and computing the value of some physical quantity of interest.**\n", "\n", "For a time independent Hamiltonian, $H$, the solution to the Schrödinger equation:\n", " \n", "$$i\\hbar\\frac{d}{dt}|\\phi\\rangle=H|\\phi\\rangle$$\n", "\n", "\n", "is given by $|\\phi(t)\\rangle=e^{-i\\hbar H t} |\\phi(0)\\rangle$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Digital simulation - discretizing space\n", "\n", "Admit a quantum system composed of a single particle. \n", "\n", "In the one-dimensional simplification, the motion of the system can be restricted to a region $-d \\leq x \\leq d$, which can be decomposed into $2^n$ intervals of length $\\Delta x = \\frac{2d}{2^n}$, such that it is possible to approximate the wave function over a discrete grid with points $x_m$, where $i \\in [1, \\, 2^{n}]$. \n", "\n", "Each point $x_m$, determined by the discretization of position, can be encoded in a state $|q_m\\rangle$ using $n$ qubits such that $m \\in [1, \\, 2^{n}]$ and $|q_m\\rangle = |q\\rangle_{n-1}\\otimes |q\\rangle_{n-2}\\otimes ...\\otimes |q\\rangle_0$. The wave function can then be expressed as:\n", "\n", "$$ |\\psi(x, t)\\rangle = \\frac{1}{N_F} \\sum_{i = 1}^{2^n} \\psi(x_m, t) |q_m\\rangle$$\n", "\n", "Where $N_F = \\sqrt{\\sum_{i=0}^{2^n} | \\psi(x_m, t)|^2}$ acts as a normalization factor." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Digital simulation - discretizing time\n", "\n", "\n", "The time evolution operator over a step $\\Delta t$ can be split into two steps using Trotter decomposition: $e^{-\\frac{i}{\\hbar}[H_0 + V(x)]\\Delta t} \\approx e^{-\\frac{i}{\\hbar}H_0 \\Delta t} \\, e^{-\\frac{i}{\\hbar}V(x) \\Delta t}$. Admitting, for simplicity, $\\hbar = m = 1$, the wave function for a point in space $x_1$ after a time step $\\Delta t$ can then be determined as:\n", "\n", "$$\\psi(x_{i}, t + \\Delta t) = e^{-i\\hat{k}^2 \\Delta t} \\, e^{-i V(x_m)\\Delta t} \\, \\psi(x_m , t)$$\n", "\n", "Where $k$ is the wavenumber of the particle. In this approximation, the time evolution operator consists in alternating applications of the phase shift operator in the position and momentum representations. The Fourier transformation can be used to link these operators by first applying the direct Fourier transform, $F$, to get into the momentum representation, where $e^{-i\\hat{k}^2 \\Delta t }$ is diagonal. The inverse Fourier transform, $F^-1$, is then applied to return the system to the position representation, where $e^{-i V(x_m)\\Delta t}$ is diagonal. The wave function at a time $l \\Delta t$ is obtained by applying $l$ times the operator\n", "\n", "$$F^{-1} \\, e^{-i\\hat{k}^2 \\Delta t} \\, F \\, e^{-i V(x_m)\\Delta t}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulation algorithm\n", "\n", "From this, the simulation of the Schrödinger equation on a quantum computer can be outlined into the following steps:\n", "\n", "* Prepare the encoded initial state on the quantum computer, by applying the necessary transformations, $\\hat{U}_{prep}$, over n qubits representing $N = 2^n$ points;\n", "* Apply a diagonal phase transformation of the form $e^{-i V(x_m)\\Delta t}$;\n", "* Apply the Quantum Fourier Transform to change the system into momentum representation;\n", "* Apply a diagonal phase transformation of the form $e^{-i\\hat{k}^2 \\Delta t}$;\n", "* Apply the inverse QFT to return to the coordinate representation;\n", "* Repeat steps (2) through (5) until an arbitrary time $l \\Delta t$ is reached." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**TASK**: Follow the implementation for this algorithm available in section XVI of [this paper](https://arxiv.org/pdf/1804.03719.pdf), and check the results for different starting wave functions, and time steps." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from qiskit import Aer, IBMQ\n", "from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister\n", "from qiskit import execute, compile\n", "\n", "from qiskit.tools import visualization\n", "from qiskit.tools.visualization import circuit_drawer, plot_histogram\n", "\n", "from math import pi\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Plot results\n", "def show_results(D):\n", " # D is a dictionary with classical bits as keys and count as value\n", " # example: D = {'000': 497, '001': 527}\n", " plt.bar(range(len(D)), list(D.values()), align='center')\n", " plt.xticks(range(len(D)), list(D.keys()))\n", " plt.show()\n", "\n", "# Execute circuit, display a histogram of the results\n", "def execute_locally(qc, draw_circuit=False):\n", " # Compile and run the Quantum circuit on a simulator backend\n", " backend_sim = Aer.get_backend('qasm_simulator')\n", " job_sim = execute(qc, backend_sim, shots=1000)\n", " result_sim = job_sim.result()\n", " result_counts = result_sim.get_counts(qc)\n", " \n", " # Print the results\n", " print(\"simulation: \\n\\n\", result_counts)\n", " show_results(result_counts)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def qftransform (circuit, qr, swap = True, n=0):\n", " if n == 0:\n", " n=qr.size\n", " for i in range(n-1, -1, -1):\n", " circuit.barrier()\n", " circuit.h(qr[i])\n", " for j in range (i-1, -1, -1):\n", " r = 2**(i-j+1)\n", " circuit.cu1((2*pi/r), qr[j], qr[i])\n", " circuit.barrier()\n", " if swap == True and n > 1:\n", " for i in range(0, n//2):\n", " circuit.swap(qr[i], qr[n-i-1])\n", " \n", "def inverse_qftransform (circuit, qr, swap = True, n=0):\n", " if n == 0:\n", " n=qr.size\n", " if swap == True and n > 1:\n", " for i in range(0, n//2):\n", " circuit.swap(qr[i], qr[n-i-1])\n", " for i in range(0, n, 1):\n", " circuit.barrier()\n", " for j in range (0, i, 1):\n", " r = 2**(i-j+1)\n", " circuit.cu1((-2*pi/r), qr[i], qr[j])\n", " circuit.h(qr[i])\n", " circuit.barrier()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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A2EEAABAEcXGxsrV1VWNGzfOtX3Xrl1yc3NT/fr1TaoMAADnQBgBAABQRHFxcWrevLlKl869MNmuXbvk6+srFxfeYgEAkB9GShRLixcv1htvvKHs7OwC983OzlZwcLAWLlxoQGUAgBx///23nn76af3www+F2j8pKUndu3fX77//bufKChYXF6eWLVvm2b5r164bbgcAScrKytLw4cO1YsWKQu2fkZGh3r17a/fu3XauDDAeYQSKpR9//FHvv/++Ro8enW8gkRNETJkyRT/++KOBFcIRJSUlSZJSU1NNrgQoGVJSUrRnzx516dKlwEAiKSlJHTt21LZt2xwijNi9e3ee0CErK0t79uyxbu/cubOqVKmiiRMnmlFisXXp0iUdPnxYv/32m65cuWJ2OcXa33//rUOHDuno0aPKysoyu5xi4e+//1Z8fLyeeeaZAgOJjIwMde/eXV9++aV+/fVXgyoEjFNiwohFixbJ39+/SM/x9fXVpk2b7FMQ7Gr69OkaPny4pk2bdtNAIieIeP/99/XKK69o5syZJlQKR7Bu3Tq1bdtW99xzjySpSpUq6t+/vw4ePGhyZUDxdvfdd2vbtm2qWrVqvoFEThDx+++/6+uvv1bbtm0NrjS3P/74Q0lJSfL19c21PT4+XufPn5efn5+kq+89pk6dakaJxVJ6erreeusteXl5qV69evrXv/6lGjVqaPLkybp06ZLZ5RUrZ86c0ciRI1WtWjXdd999ql27turVq6f//ve/hBK3qXz58vrqq6/Upk2bfAOJnCAiOjpaixcv1jPPPGNwpYD9mRpGJCcnKyAgQNWrV5eHh4f69eunlJQUQ9rOzMzU6NGjVbVqVbm5ual37946ffp0rn169uypNWvWGFKPM7nnnnv08ccf59qWnZ0td3d3rV692qSqcrNYLJo5c+ZNA4nrg4j//ve/slgsJlZcfDhD/7jWrFmz1KNHD8XExFi3XblyRZ999platWrFZZFwSufPn1fVqlW1cuVK67YLFy6obdu2euqppxzqw4S3t3e+gcT1QcRDDz1kUqX/OH78uCTJ09Mz1/bIyEj5+fnp3nvvlXT13wbbSE9PV6dOnTRx4sRc79f++usvhYaGqnv37gQSNnL69Gm1adNGM2bMUFpamnV7QkKCXn31VQ0aNMihXkOckZubW76BxPVBxIABA0yq9MacaYyB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3brU1NTk17/+dSZNmpSlS5emsrIykydPznXXXZeFCxdm6NChOeecc7Js2bK8/vrrOfvss/Pkk09udSx5e6uvr++Uf0H+4he/uMsxd9xxx07H3XHHHe0ZiU6kPebHljHsu84666wsXry47f4bb7yR2traXHDBBbn//vt36zXeW0RsOUfEr371qxx//PG5+eab2w6lSTrvZyYAANvaUeVQdueMeOWVV3LYYYdt9di8efNSU1OTmpqaJEltbe1W/0hesGBBKisrM3To0DQ2NmbYsGHp0aNHevTokX79+uX555/Pcccd16G53/sP+veqr69Pkp2OaW/PPPPMLsfccccdGT9+/A6333777e0ZaY80NzfnsMMOy5tvvrnTcfvvv39eeeWV9OrVq6Bk5aE95kdS2jmyxbvPEbF58+YkyZVXXrnNSS3Z2pbPpXd76KGHsnHjxlx77bW79Ro7KiKS5Ljjjsv555+fb3/721uVEcmuPzMBAOjcyu4wjQEDBuS5557LkiVL8tZbb2XevHm59dZbU1dX1zZm1apVee2119LS0pLly5dn4sSJaWhoSHV1ddavX5/evXu3je3du3fWr19firfCXjrooIMyYsSIXZ4zYsSIEYqILuy9J6tMsluX/WT7li1blqqqqpxxxhm7HLuzImKLCy+8MC+88IJDNQAAykzZlREnnXRSpk2blksvvTRHHnlkGhsbM2TIkAwcOLBtzNKlSzNgwID07NkzI0eOzIQJE3LjjTcmSfr06bPVIR4bNmxInz59Cn8f+4q/+qu/KnWEnZo+fXp69+693UKiW7duqa6uzvTp00uQrGvo7PNjR1fNeO9JLRUSu2/lypWpq6vbaQmY7F4RkSSDBg1KkqxYsaJD8gIAUBpld5hGksyYMSMzZsxou9+vX7+MGzeu7f64ceO2uv9uQ4YMyVe+8pW8+eab2bx5c5qamnLsscd2eOZ91eWXX17qCDt19NFH59FHH82oUaOyfPnyrbYNHjw4//RP/5RjjjmmROnKX2eeH7u6fOeOLvvJzg0aNCiHHHLILsfdeOONuywikj98fl988cVtl2IGAKA8lGUZ8W7Nzc1Zs2bNVisjdqa6ujoTJ05sOxb69ttv9wVkJ/r375+nn3661DF26vjjj89//ud/5he/+EWWLVuWCRMm5PHHH8/gwYNLHa3sddb5sasiYguFxJ7727/9290aN3bs2PTq1SuTJ0/eYRGRJEcddVQefvjh9ooHAEAnUfZlxFNPPZWqqqo9Wt0wevTojB49ugNTUQqDBg3KoEGDMmHCBEVEF7dixYq8/PLLu3X5zi2FxOzZs/PKK6/k8MMPLyJi2Tv66KMzZcqUUscAAKBEyu6cEe912mmnpbm5ead/eQO6li0nRdxVEbHFtGnT8l//9V+KCAAAaCdlX0bQsbZ3aT/YojPPjz29goorrgAAQPtRRrBX7r777lJHoBMzPwAAgO1RRrBXrrnmmlJHoBMzPwAAgO1RRrBXFi9eXOoIdGLmBwAAsD3KCAAAAKBQyggAAACgUPuVOgD7tqeffrrUEejEzI/yt2LFisKvmrJixYrU1dUVuk8AANqXlRHslQceeKDUEejEzI/yVldX975LgdUvrtvu7Y7eLwAAnYOVEeyVG2+8MZdffnmpY9BJmR/lbdasWe/7uQ23zc6tXx6/zW0AALoGKyMAAACAQikjAAAAgEIpI9grd911V6kj0ImZHwAAwPYoI9grAwYMKHUEOjHzAwAA2B5lBHvlrLPOKnUEOjHzAwAA2B5lBAAAAFAoZQR75dprry11BDox8wMAANgeZQR7ZcKECaWOQCdmfgAAANujjAAAAAAKpYwAAAAACqWMAAAAAAqljAAAAAAKpYwAAAAACrVfqQNAVzFx4sSsWLGi8P3W1dVl1qxZhe+XPVOq+ZGYIwAAFM/KCCjIihUrCv+yWYp98v6U6ndljgAAUApWRkCB6urqsnjx4sL2V19fX9i+2HtFz4/EHAEAoDSsjAAAAAAKpYwAAAAACqWMAAAAAAqljAAAAAAKpYwAAAAACqWMALqkjRs3duj4zqilpSWbNm0qdQwAAFBGAF3PI488kn79+mXp0qW7Nf7mm2/Oxz72sfzmN7/p4GS757XXXsudd96Zyy+/PB/5yEdy8MEH59BDD80pp5ySa665Jo888khaWlq2ek5LS0uuueaaDBs2LJs3by5RcgAA+ANlBF3G448/njvvvDNJsnz58hKnoZQGDRqUI444IhdeeOEuC4mbb74506dPT319ffr27VtQwu1rbm7OhAkTUltbm+uvvz6PP/546urqcuWVV+aP//iPc+CBB2bevHm5+OKL85GPfCT33XdfWltb24qI2bNn55Of/GQOOOCAkr4PAADosmXE+vXrM2bMmNTU1KRXr14ZOXJkNmzYUOpYdICnn346J510Uk4++eRcf/31SZJTTjklgwcPzn//93+XON3OHXHEEfn2t7+91WOtra056KCD8tBDD5Uo1b6vpqYmP/3pT3PUUUfttJDYUkSMGjUq3/nOd9K9e/eCk/6vxx57LCeccELuvvvujBo1KitXrszq1avz4IMP5hvf+Eb+/u//Pj/72c/y6quv5v7778/BBx+cESNG5HOf+1yuvvrqzJ49O1OnTs0tt9ySioqKkr0PAABIunAZMXr06Lz++ut59tln09TUlPXr12fUqFGljkU7W716dc4444w8+eST22xbsWJFzjjjjDz//PMlSLZrv/71r7Nu3bp8/OMf3+rx1atX53e/+11OOumkEiUrD7sqJDpTEbF48eKcd9556dGjRx599NHMnj07H/vYx7Y7dv/998/ll1+e//iP/8jMmTPz0EMP5Tvf+U6mTJmiiAAAoNMo6zLigQceyIknnpiePXvmggsuyKRJk3LZZZdl8+bNWbhwYaZPn56qqqocfPDBmTp1ahYsWJA1a9aUOjbtaMaMGdm4ceM2x88n/3syvxkzZpQg2a4tX7483bt3z4ABA7Z6fOXKlenbt28+9KEPlShZ+dhRIdGZioi1a9fmM5/5TI4++ug8+uijGTp06G49r1u3bnnhhRfS2tqaioqKrFmzRhEBAECnUbZlxD333JPJkyfnrrvuyqZNm3LJJZfkzjvvzMCBA9Pa2tr2s8WWL6srV64sVWTaWXNzc773ve9tt4jYoqWlJffdd1+nvMLA8uXLc9xxx+WDH/zgVo+vXLnSqoh29N5CIkmnKSJaW1szfvz4vP322/mXf/mXHHbYYbv1vHefI2Lq1KmZMWNGvv/97+fBBx/s4MQAALB7yrKMeOONNzJp0qTMnj07w4YNS/fu3XP11VfnnXfeycCBA9OzZ8/U19fnpptuysaNG/Pqq69m5syZSf7wBTZJzjvvvBxyyCG55ZZbSvlW2Atr167NW2+9tctxb731VtauXVtAoj2zfPnyPPfccznkkEO2+rntttty8sknlzpeWdlSSBx44IFJkgsuuKDkRUSSPProo1m4cGFuvvnmHHvssbv1nPcWEbfccksaGhry8Y9/PNOmTduqhAUAgFLZr9QBOsKSJUvS0tLS9lfOJHn11VeTJAMHDkySzJ07N5MmTUr/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\n", "text/plain": [ "