{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy.sparse.linalg import eigsh\n", "from scipy.sparse.linalg import eigs\n", "import matplotlib.pyplot as plt\n", "from matplotlib import animation\n", "from mpl_toolkits.mplot3d import Axes3D\n", "from matplotlib.animation import PillowWriter\n", "#plt.style.use(['science', 'notebook'])\n", "from scipy import sparse" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create a meshgrid of $x$ and $y$ coordinates" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "N = 150\n", "X, Y = np.meshgrid(np.linspace(0,1,N, dtype=float),\n", " np.linspace(0,1,N, dtype=float))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our equation is\n", "\n", "$$\\left[-\\frac{1}{2}(D \\oplus D) + m\\Delta x^2 V \\right] \\psi = \\left(m \\Delta x^2 E\\right) \\psi$$\n", "\n", "where $D$ has -2 on the main diagonal and 1 on the two neighbouring diagonals, $\\psi$ is a vector. Firstly, we define our potential in units of $m \\Delta x^2$; in other words `get_potential` actually returns $m\\Delta x^2 V$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def get_potential(x,y):\n", " return 0*x\n", "def get_potential(x, y):\n", " return np.exp(-(x-0.3)**2/(2*0.1**2))*np.exp(-(y-0.3)**2/(2*0.1**2))\n", "V = get_potential(X,Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we construct\n", "\n", "$$- \\frac{1}{2} D \\oplus D + m\\Delta x^2 V $$\n", "\n", "Let $T=- \\frac{1}{2} D \\oplus D$ and $U = 2m\\Delta x^2 V$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "diag = np.ones([N])\n", "diags = np.array([diag, -2*diag, diag])\n", "D = sparse.spdiags(diags, np.array([-1,0,1]), N, N)\n", "T = -1/2 * sparse.kronsum(D,D)\n", "U = sparse.diags(V.reshape(N**2), (0))\n", "H = T+U" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get eigenvectors and eigenvalues" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "eigenvalues, eigenvectors = eigsh(H, k=10, which='SM')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def get_e(n):\n", " return eigenvectors.T[n].reshape((N,N))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "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": [ "plt.figure(figsize=(9,9))\n", "plt.contourf(X, Y, get_e(3)**2, 20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Animation code" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_2981041/1128550605.py:16: MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6. This is consistent with other Axes classes.\n", " ax = Axes3D(fig)\n" ] }, { "data": { "image/png": "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WZZlH3vsMXbbtm0sy3r748qVK9lp06axCxcuZBsbG7l9161bx1ZUVLDTp09nd+zYIXtMlmXZxsZGduHChey0adPYlStXsmNjY3LnCFrgIlr4mSzL2rhxI15++WU8/fTTeO2113DhhRdi/vz52L17Nx599FHRfT/77DOsXbsW77zzDgBv/A0APPLII9w21dXV2LVrFzdYWVFRgb1796qq0UChUGKOoKf6I5ouicyOlpaWYsmSJfja176GO+64A0ePHkVWVhY3xSxWK4EfJuJwOLBlyxZugT2hpKQE7733HgDg2LFjGBsbQ3Z2dpg/FYVCiVUiGiZCBK64uBgNDQ144oknEBcXh/r6euzbtw/j4+M+2/k09KvCM1deeSXcbjduv/12vzCRZ599Ft///vfx29/+FgzD4NVXXw17YCeFQoldIuqiEs6cOYPvfve7sFqtSE9Px9jYGC644AIsWbIEV199teg+t99+O9566y3k5OTg6NGj/g1lWTz00EPYsWMHEhIS8Oqrr2L+/PnhaD6FQokMQVsnURE4Pj09Pejo6IDJZJJNQ/TRRx8hKSkJt956q6jA7dixAy+88AJ27NiBffv24aGHHvILWKRQKJOKoAUuagkvSaGX7OxsVeNkl112GZqbmyXf37ZtG2699VYwDIMlS5agv78fHR0dUV8TSKFQokfUajLwMx+QKd1gEFtyQpaBUCh65/bbb0dOTg5mz54t+j7LsnjwwQdhs9lQU1OD2traCLcwOsRE0ZlQJx6kUCLFrl27UFVVBZvNhl//+td+7585cwZLly7FvHnzUFNTgx07doSlHbfddptsev6dO3eioaEBDQ0NeOWVV3DPPfeEpR2xRkwIXChQs+SEEjxKHZrwl7/8BQzDyFY1C3c73njjDcyaNQvV1dWq0wdpgaQa2rlzJ+rr67F582bU19f7bLNu3Tpcf/31OHToELZs2YJ777035O0AvEM4GRkZku9LDeHoHd0I3IoVK7Bx40awLIu9e/ciNTU16PE3pU40Pj6OG264ATabDYsXL5YdIwxnO5577jnMmjULNTU1+PrXv46WlpawtENNhwa8JRz/8z//k6u7EY128Otz1NXV4Xe/+13I28FfH22xWLj10XxiZX30VB3CmTQCd9NNN+Giiy7CiRMnUFRUhA0bNuDll1/Gyy+/DABYvnw5KioqYLPZ8P3vfx//9V//FdT51HQifpK+hx9+GGvWrAnqnIG2Y968eTh48CC+/PJLrFy5Ej/+8Y9D3g5AXYcGgMceewxr1qyRTF4aiXZorc8RCGpEY+3atdi0aROKioqwfPlyvPDCCyFvB0WaSSNwmzdvRkdHB5xOJ1pbW7F69WrcfffduPvuuwF475QvvfQSGhsbceTIEdl6qGpQ04m2bduGVatWAfAm6XvvvfeCniwJpB38/HRLlixBa2trSNtAUNOha2trcfbs2bCmlVLTjpMnT+LkyZO45JJLsGTJEtnxqXCyefNm3HbbbWhtbcWOHTtwyy23wOPxRLwdU3UIZ9IIXKRR04mkEgFGuh18NmzYgKuuuiqkbVCLx+PBD3/4Qzz77LNROT8ffn2OzZs34/vf/z76+/tDeg41orFhwwZcf/31AICLLroIY2NjUSnPF44hnMlAzBR+pgTPpk2bcPDgQXz44YdhOb5Shx4aGsLRo0dx+eWXA/CmM1+xYgW2b98etEWtpR2AuvocwaImjT5ZH33bbbeFdX30TTfdhD179qC3txdFRUX4xS9+AafTCQC4++67sXz5cuzYsQM2mw0JCQn44x//GPI2xCQK6UamLJ9++in7zW9+k3v+q1/9iv3Vr37ls803v/lN9tNPP2VZ1ptXKzMzk8t3F8l2sCzL7t69m50xYwbb1dUV0vPzUZM7jM+//Mu/sAcOHIhKO3bu3MneeuutLMuybE9PD1tUVMT29vaGvC1KqYbq6urYiy++mK2pqWHnzJnDvvPOOyFvg46ZnPngJgPBJAKMdDtqa2vZiooK9uTJkyE/vxClDs0nXAKnph0ej4d9+OGH2ZkzZ7KzZ8/mkixSJhVU4MJJMIkAI9mOr3/962xOTg47Z84cds6cOex3vvOdsLSDQokwkyvhJYVCoWhgciW8pFAolEhCBY4SU3g8HvT398PhcES7KRQdQAWOElO0trbinnvuQXt7e7SbQtEBNA6OEhVIIXDAa7UNDg4iLS0Nw8PD6OrqQllZGbq6utDT0wOXy4Xk5GRMmzYtyq2mTDaoBUeJOG+//TaWLVsGwCt0W7ZswZ133gkAOHXqFObOnctt99Of/hSPPPIIfvSjH6G7uztaTaZMUqjAUSLOjBkz0NTUBMCbL+0Pf/gD/ud//geDg4PYt28ft4512bJl2LhxI373u9+hsLAwbLnUKPqFuqiUiJOUlMQtnXrnnXdw0UUXISkpCe3t7di/fz/WrVuHrq4uPPnkk6irq4PL5UJ7ezuuueaaaDedMsmgAkeJOImJiZg/fz7+/Oc/Y/v27fjkk08AAMPDw1wa+5dffhlxcXHYs2cPBgcHcdVVV6G6ujqazaZMQqjAUSJOYmIiZsyYgXvvvRfPPfccjEYjnE4n9u7di2XLlsHj8WB4eBg5OTk4ceIE/vd//xe1tbXIz8/3RqfT9PYUldAxOErEYRgGNpsN+fn5uOOOOwAADocDu3fvxje/+U0YDAZ873vfw1//+lf85Cc/QXp6OpdyiIobRQvUgqNEHLvdjg0bNvjkjWNZFp2dnVxt3JkzZ9K6tpSgoRYcJaLU19dj3rx5SElJwbe//W3u9aSkJPzjH//w2dbj8cDj8YBl2ahkwaVMfuhie0rMQMfXKALoYnuKfqDiRgk1VOAoFIpuoQJHoVB0CxU4CoWiW6jAUSgU3UIFjkKh6BYqcBQKRbdQgaNQKLqFChyFQtEtVOAoFIpuoQJHoVB0CxU4CoWiW6jAUSgU3UIFjkKh6BYqcBQKRbdQgaNQKLqFChyFQtEtVOAoFIpuoQJHoVB0CxU4CoWiW6jAUSgU3aJUF5VWAaFQKJMWasFRKBTdQgWOQqHoFipwFApFt1CBo1AouoUKHIVC0S1U4CgUim75/wFOUg3HO/m//wAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "my_cmap = plt.get_cmap('cool')\n", "def init():\n", " # Plot the surface.\n", " ax.plot_surface(X, Y, get_e(3)**2, cmap=my_cmap,\n", " linewidth=0, antialiased=False)\n", " ax.set_xlabel('$x/a$')\n", " ax.set_ylabel('$y/a$')\n", " ax.set_zlabel('$\\propto|\\psi|^2$')\n", " return fig,\n", "\n", "def animate(i):\n", " ax.view_init(elev=10, azim=4*i)\n", " return fig,\n", "\n", "fig = plt.figure()\n", "ax = Axes3D(fig)\n", "ani = animation.FuncAnimation(fig, animate, init_func=init,\n", " frames=90, interval=50)\n", "ani.save('rotate_azimuth_angle_3d_surf.gif',writer='pillow',fps=20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**For infinite square well only**: Note that $E_{n_x, n_y} = \\alpha ( n_x^2 + n_y^2 ) $. First energy at $n_x=1$ and $n_y=1$. This means we can find $\\alpha = \\text{half the lowest eigenvalue}$ and we can plot $E/\\alpha$ which should be distributed like $n_x^2 + n_y^2$ for different combinations of $n_x$ and $n_y$." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "alpha = eigenvalues[0]/2\n", "E_div_alpha = eigenvalues/alpha\n", "_ = np.arange(0, len(eigenvalues), 1)\n", "plt.scatter(_, E_div_alpha)\n", "#[plt.axhline(nx**2 + ny**2,color='r') for nx in range(1,5) for ny in range(1,5)]" ] }, { "cell_type": "code", "execution_count": null, "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.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }