{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# DMRG Figures\n", "**This notebook is for generating the figures for my thesis**\n", "\n", "Sam Greydanus. May 2017. MIT License\n", "\n", "Code inspired by https://github.com/simple-dmrg/simple-dmrg/" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "% matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "import numpy as np\n", "import copy\n", "import time\n", "from scipy.sparse import kron, identity\n", "from scipy.sparse.linalg import eigsh # Lanczos routine from ARPACK\n", "np.random.seed(seed=123) # for reproducibility" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "class FreeSite():\n", " def __init__(self):\n", " self.length = 1 # length\n", " self.ops = ops = {}\n", " \n", " # build operator dictionary\n", " ops[\"H\"] = np.zeros((2,2)) # local Hamiltonian np.random.randn(2,2)\n", " ops[\"Sz\"] = np.array([[0.5, 0], [0, -0.5]]) # z spin (S^z) operator\n", " ops[\"Sp\"] = np.array([[0.0, 1.0], [0.0, 0.0]]) # raising (S^+) operator\n", " \n", " def get_dim(self):\n", " return list(self.ops.values())[0].shape[0] # all ops should have same dimensionality\n", " \n", " def enlarge(self, site):\n", " '''Enlarge block by a single site'''\n", " \n", " D1, H1, Sz1, Sp1 = self.get_dim(), self.ops['H'], self.ops['Sz'], self.ops['Sp'] # this block\n", " D2, H2, Sz2, Sp2 = site.get_dim(), site.ops['H'], site.ops['Sz'], site.ops['Sp'] # another block (ie free site)\n", "\n", " enlarged = copy.deepcopy(self)\n", " enlarged.length += site.length\n", " ops = enlarged.ops\n", "\n", " ops['H'] = kron(H1, identity(D2)) + kron(identity(D1), H2) + self.interaction_H(site)\n", " ops['Sz'] = kron(identity(D1), Sz2)\n", " ops['Sp'] = kron(identity(D1), Sp2)\n", "\n", " return enlarged\n", " \n", " def interaction_H(self, site):\n", " '''Given another block, returns two-site term in the \n", " Hamiltonain that joins the two sites.'''\n", " Sz1, Sp1 = self.ops[\"Sz\"], self.ops[\"Sp\"] # this block\n", " Sz2, Sp2 = site.ops[\"Sz\"], site.ops[\"Sp\"] # another block\n", " \n", " J = 1.; Jz = 1.\n", "# J = np.random.rand(); Jz = np.random.rand()\n", " join_Sp = (J/2)*(kron(Sp1, Sp2.conjugate().transpose()) + kron(Sp1.conjugate().transpose(), Sp2))\n", " join_Sz = Jz*kron(Sz1, Sz2)\n", " return (join_Sp + join_Sz)\n", " \n", " def rotate_ops(self, transformation_matrix):\n", " # rotate and truncate each operator.\n", " new_ops = {}\n", " for name, op in self.ops.items():\n", " new_ops[name] = self.rotate_and_truncate(op, transformation_matrix)\n", " self.ops = new_ops\n", " \n", " @staticmethod\n", " def rotate_and_truncate(S, O):\n", " '''Transforms the operator to a new (possibly truncated) basis'''\n", " return O.conjugate().transpose().dot(S.dot(O)) # eqn 7 in arXiv:cond-mat/0603842v2" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def step(sys, env, free_site, m):\n", " '''One DMRG step keeping maximum of m states in new basis'''\n", " \n", " # enlarge blocks\n", " sys_enl = sys.enlarge(free_site)\n", " env_enl = sys_enl if env is sys else env.enlarge(free_site)\n", " sys_ops, env_ops = sys_enl.ops, env_enl.ops\n", " sys_enl_m, env_enl_m = sys_enl.get_dim(), env_enl.get_dim()\n", " \n", " # find superblock hamiltonian\n", " H_E1 = kron(sys_ops[\"H\"], identity(env_enl_m))\n", " H_E2 = kron(identity(sys_enl_m), env_ops[\"H\"])\n", " H_SS = sys_enl.interaction_H(env_enl)\n", " H_super = H_E1 + H_E2 + H_SS\n", " \n", " # find the superblock ground state. \"SA\"= smallest amplitude e'value\n", " (energy,), psi0 = eigsh(H_super, k=1, which=\"SA\")\n", " \n", " # construct reduced density matrix. we want (sys, env) -> (row, column)\n", " psi0 = psi0.reshape([sys_enl_m, -1])\n", " rho = np.dot(psi0, psi0.conjugate().transpose())\n", " \n", " # diagonalize reduced density matrix, sort e'vecs by e'vals\n", " evals, evecs = np.linalg.eigh(rho)\n", " possible_eigenstates = []\n", " for eval, evec in zip(evals, evecs.transpose()):\n", " possible_eigenstates.append((eval, evec))\n", " possible_eigenstates.sort(reverse=True, key=lambda x: x[0]) # largest e'values first\n", " \n", " # build transformation matrix from m overall most significant e'vecs\n", " m = min(len(possible_eigenstates), m)\n", " transformation_matrix = np.zeros((sys_enl_m, m))\n", " for i, (eval, evec) in enumerate(possible_eigenstates[:m]):\n", " transformation_matrix[:, i] = evec\n", "\n", " error = 1 - sum([x[0] for x in possible_eigenstates[:m]])\n", " sys_enl.rotate_ops(transformation_matrix)\n", "\n", " return sys_enl, energy, error" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def graphic(sys, env, sys_label='l'):\n", " assert sys_label in ('l', 'r'), 'Label must be \"l\" or \"r\"'\n", " graphic = ('=' * sys.length) + '**' + ('-' * env.length)\n", " return graphic if sys_label is \"l\" else graphic[::-1]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# global plot settings\n", "fs = [8,5]\n", "cs = 4\n", "L=16\n", "m_default = 16\n", "cl = [-.5,.5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run infinite DMRG for different values of m" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Finished infinite algorithm for for m=4\n", "Finished infinite algorithm for for m=6\n", "Finished infinite algorithm for for m=8\n", "Finished infinite algorithm for for m=10\n", "Finished infinite algorithm for for m=12\n" ] } ], "source": [ "m_vals = [4,6,8,10,12]\n", "assert L % 2 == 0, \"L must be even\"\n", "\n", "infin_results = []\n", "for m in m_vals:\n", " # build system using infinite system\n", " free_site = FreeSite()\n", " block = copy.deepcopy(free_site) # block starts out as one free site\n", "\n", " infin_blocksize = []\n", " infin_energies = []\n", " infin_errors = []\n", " while 2 * block.length < L:\n", " # one DMRG step, save block to mem\n", " # print(graphic(block, block))\n", " block, energy, error = step(block, block, free_site, m=m)\n", " # print(\"E/L =\", energy / (block.length * 2))\n", " infin_blocksize.append(block.length * 2)\n", " infin_energies.append(energy / (block.length * 2))\n", " infin_errors.append(error)\n", " infin_results.append(((m, (infin_blocksize, infin_energies, infin_errors, block.ops['H']))))\n", " print('Finished infinite algorithm for for m={}'.format(m))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Get true energy from exact diagonalization" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "free_site = FreeSite()\n", "block = free_site\n", "for i in range(2,17):\n", " block = block.enlarge(free_site)\n", "(actual_e,), psi0 = eigsh(block.ops['H'], k=1, which=\"SA\")\n", "actual_e /= 16\n", "actual_e_error = 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot infinite DMRG estimates for different $m$" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f1 = plt.figure(figsize=fs)\n", "plt.title(\"Infinite DMRG $E_{0}$ estimates\")\n", "plt.xlabel(\"Block size ($L$)\")\n", "plt.ylabel(\"Ground state energy ($E_{0}$)\")\n", "\n", "k = 0\n", "ee = 1\n", "labels = []\n", "for i in range(len(m_vals)):\n", " x = infin_results[i][1][0][k:]\n", " y = infin_results[i][1][1][k:]\n", " yerr = infin_results[i][1][2][k:]\n", " yerr = np.cumsum(yerr)\n", " plt.errorbar(x, y, yerr=yerr, errorevery=ee, capsize=cs)\n", " labels.append(r'$m = %i$' % (m_vals[i]))\n", "\n", "y = [actual_e]*len(x)\n", "plt.errorbar(x, y, color='k')\n", "labels.append('exact')\n", " \n", "plt.legend(labels, ncol=2, loc='upper right')\n", "plt.show() ; f1.savefig('./figures/infin-full-e0.pdf', bbox_inches='tight')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n5bf/D2fsQvFj5i+hAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f2 = plt.figure(figsize=fs)\n", "plt.title(\"Infinite DMRG $E_{0}$ estimates (near convergence)\")\n", "plt.xlabel(\"Block size ($L$)\")\n", "plt.ylabel(\"Ground state energy ($E_{0}$)\")\n", "\n", "# colormap = plt.cm.gist_ncar\n", "# plt.gca().set_color_cycle([colormap(i) for i in np.linspace(0, 0.9, len(m_vals)-2)])\n", "\n", "k = int((L-10)/2)\n", "labels = []\n", "for i in range(len(m_vals)):\n", " x = infin_results[i][1][0][k:]\n", " y = infin_results[i][1][1][k:]\n", " yerr = infin_results[i][1][2][k:]\n", " yerr = np.cumsum(yerr)\n", " plt.errorbar(x, y, yerr=yerr, errorevery=ee, capsize=cs)\n", " labels.append(r'$m = %i$' % (m_vals[i]))\n", " \n", "y = [actual_e]*len(x)\n", "plt.errorbar(x, y, color='k')\n", "labels.append('exact')\n", "\n", "plt.legend(labels, ncol=2, loc='upper right')\n", "plt.show() ; f2.savefig(\"./figures/infin-convergence-e0.pdf\", bbox_inches='tight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run finite DMRG for different values of m" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "building finite system to size L\n", "sweeping over system with finite algorithm\n", "\t using m=12\n", "\t using m=14\n", "\t using m=16\n" ] } ], "source": [ "m_warmup=12\n", "m_sweep_list=[12, 14, 16]\n", "block_mem = {} # memory for Block objects\n", "assert L % 2 == 0, \"L must be even\"\n", "\n", "# build system using infinite system\n", "free_site = FreeSite()\n", "block = copy.deepcopy(free_site) # block starts out as one free site\n", "\n", "block_mem[\"l\", block.length] = block\n", "block_mem[\"r\", block.length] = block\n", "print(\"building finite system to size L\")\n", "while 2 * block.length < L:\n", " # one DMRG step, save block to mem\n", " block, energy, error = step(block, block, free_site, m=m_warmup)\n", " block_mem[\"l\", block.length] = block\n", " block_mem[\"r\", block.length] = block\n", "fin_results = []\n", "\n", "# now that we've built the system, sweep back and forth\n", "sys_label, env_label = \"l\", \"r\"\n", "sys = block; del block # rename block\n", "print(\"sweeping over system with finite algorithm\")\n", "i = 0\n", "for m in m_sweep_list:\n", " print(\"\\t using m={}\".format(m))\n", " fin_step = [] ; fin_energies = [] ; fin_errors = []\n", " while True:\n", " i += 1\n", " env = block_mem[env_label, L - sys.length - 2] # load env block from memory\n", " if env.length == 1: # reverse direction\n", " sys, env = env, sys\n", " sys_label, env_label = env_label, sys_label\n", "\n", " # one DMRG step\n", "# print(graphic(sys, env, sys_label))\n", " sys, energy, error = step(sys, env, free_site, m=m)\n", " fin_step.append(i)\n", " fin_energies.append(energy/L)\n", " fin_errors.append(error/L)\n", "# print(\"E/L: {} \\t error: {}\".format(energy/L, error))\n", "\n", " # save new block\n", " block_mem[sys_label, sys.length] = sys\n", "\n", " # full sweep?\n", " if sys_label == \"l\" and 2 * sys.length == L: break\n", " fin_results.append(((m, (fin_step.copy(), fin_energies.copy(), fin_errors.copy(), sys.ops['H'].copy()))))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nthvqvQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f3 = plt.figure(figsize=fs)\n", "plt.title(\"Finite DMRG $E_{0}$ estimates\")\n", "plt.xlabel(\"step #\")\n", "plt.ylabel(\"Ground state energy ($E_{0}$)\")\n", "\n", "k = 0\n", "ee = 3\n", "labels = []\n", "yerr_prev = 0\n", "for i in range(len(m_sweep_list)):\n", " x = fin_results[i][1][0][k:]\n", " y = fin_results[i][1][1][k:]\n", " yerr = fin_results[i][1][2][k:]\n", " yerr = np.cumsum(yerr) + yerr_prev\n", " plt.errorbar(x, y, yerr=yerr, errorevery=ee, capsize=cs)\n", " labels.append(r'$m = %i$' % (m_sweep_list[i]))\n", " \n", " yerr_prev = yerr[-1]\n", "\n", "x = range(fin_results[i][1][0][-1])\n", "y = [actual_e]*len(x)\n", "plt.errorbar(x, y, color='k')\n", "labels.append('exact')\n", " \n", "plt.legend(labels, ncol=1, loc='upper right')\n", "plt.show() ; f3.savefig(\"./figures/fin-e0.pdf\", bbox_inches='tight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hamiltonians before/after" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "m = m_default\n", "block_mem = {} # memory for Block objects\n", "assert L % 2 == 0, \"L must be even\"\n", "\n", "# build system using infinite system\n", "free_site = FreeSite()\n", "block = copy.deepcopy(free_site) # block starts out as one free site\n", "\n", "block_mem[\"l\", block.length] = block\n", "block_mem[\"r\", block.length] = block\n", "while 2 * block.length < L:\n", " # one DMRG step, save block to mem\n", " block, energy, error = step(block, block, free_site, m=m)\n", " block_mem[\"l\", block.length] = block\n", " block_mem[\"r\", block.length] = block\n", "fin_results = []\n", "\n", "infin_block = block" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sweeping over system with finite algorithm\n", "\t using m=16\n", "\t using m=16\n", "\t using m=16\n" ] } ], "source": [ "# now that we've built the system, sweep back and forth\n", "m_sweep_list=[m, m, m]\n", "sys_label, env_label = \"l\", \"r\"\n", "sys = block; del block # rename block\n", "print(\"sweeping over system with finite algorithm\")\n", "for m in m_sweep_list:\n", " print(\"\\t using m={}\".format(m))\n", " while True:\n", " env = block_mem[env_label, L - sys.length - 2] # load env block from memory\n", " if env.length == 1: # reverse direction\n", " sys, env = env, sys\n", " sys_label, env_label = env_label, sys_label\n", "\n", " # one DMRG step\n", " sys, energy, error = step(sys, env, free_site, m=m)\n", "\n", " # save new block\n", " block_mem[sys_label, sys.length] = sys\n", "\n", " # full sweep?\n", " if sys_label == \"l\" and 2 * sys.length == L: break\n", "fin_block = sys" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f4 = plt.figure(figsize=[10,7])\n", "plt.subplot(231) ; plt.title(\"$H$\") ; plt.ylabel(\"Infinite DMRG\") ; plt.imshow(infin_block.ops['H'])\n", "plt.clim(*cl)\n", "plt.subplot(232) ; plt.title(\"$S^z$\") ; plt.imshow(infin_block.ops['Sz'])\n", "plt.clim(*cl)\n", "plt.subplot(233) ; plt.title(\"$S^+$\") ; plt.imshow(infin_block.ops['Sp'])\n", "plt.clim(*cl)\n", "\n", "plt.subplot(234) ; plt.title(\"$H$\") ; plt.ylabel(\"Finite DMRG\") ; plt.imshow(fin_block.ops['H'])\n", "plt.clim(*cl)\n", "plt.subplot(235) ; plt.title(\"$S^z$\") ; plt.imshow(fin_block.ops['Sz'])\n", "plt.clim(*cl)\n", "plt.subplot(236) ; plt.title(\"$S^+$\") ; im = plt.imshow(fin_block.ops['Sp'])\n", "plt.clim(*cl)\n", "\n", "cax = f4.add_axes([0.95, 0.15, 0.03, 0.7])\n", "cb = f4.colorbar(im, cax=cax, orientation='vertical')\n", "cb.set_label('color scale')\n", "\n", "plt.show() ; f4.savefig(\"./figures/compare-ops.pdf\", bbox_inches='tight')" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAERCAYAAACdCWaWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XncXGV99/HPN4EkEEgI+5KwSCiKiqgpCLZqWWxcCrRV\nCxUEpa+0tfShgI8PFutu64raYpegLIoCLqVioSxiKWoRCQrIIhL2hCUkIRLWJPf9e/4454aZyb3M\nOWfmzMx1f9+v13nds1zXOdeZmd/cv7nOdc6liMDMzMwsVVN63QAzMzOzbnKyY2ZmZklzsmNmZmZJ\nc7JjZmZmSXOyY2ZmZklzsmNmZmZJc7JjZmZmSXOyY2ZmZklzsmNmZmZJ26TXDTAzM7PO+f3fmxmr\nVg9VWseNtzx3RUQs7FCTes7JjpmZWUJWrR7iZ1fsWmkdU3e6a9sONacvONkxMzNLSADDDPe6GX3F\nyY6ZmVlSgqFwstPIyY6ZmVlCsp6d6HUz+oqTHTMzs8T4MFYzJztmZmYJCYKhcM9OIyc7ZmZmifFh\nrGaT8qKCknaQdK2ktZI+L+lvJX2lzbptl7VyJD0p6UX57XMlfaJL2/lXSX/XjXVb90naNf+sTO1k\nWSunMZ4kvUHSsi5t53cl3dmNdacigCGi0pKaZJIdSfdJOrTN4ouAlcCsiDg1Iv4+Iv6snYqNZSXt\nLikkleoha6j/ZL48Kuk/JR3WUu4+Seskbdvy+C/y+rvn98/Nyz0pabWkqyS9uKXOTpLOkvRQXu6e\nvF5TuYbyo35pSbpGUluvWVERsUVE3NNuWyps5y8i4uOdWp91R/75f6YhTp6UtHNEPJB/Via8elpr\n2aqf37z+s/kPpick3SjpNEnTG8p8JI/Pk1rqnpQ//pH8/hskDef7tVbSnZLe3VJHkk6UdIukpyU9\nkrfhqHHauNF3oqTjJf247H6PZ7x4Kvj9PNF2fhQRe3diXSkbJiotqUkm2SloN+D2iL45qLlVRGwB\nvAK4CrhY0vEtZe4Fjh65I+nlwOajrOsz+bp2AZYDX22osw3wv3m93wW2BF4F/A9w2MarMusbf5An\nKyPLQ71uEHBiRGwJ7AScChwFXCZJDWV+Dbyrpd5x+eONHsrjdhZwMnCWpMZ/6P8I/E2+nW3I4vuD\nQDJXuLXOCWAootKSmiSTnZFfL5I+J+lxSfdKelP+3LlkXzbvz39JHZr/Ajs/f36kt+U4SQ9IWinp\n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\nzCxp/x/U9qis9mXhyAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f5 = plt.figure(figsize=fs)\n", "plt.subplot(121) ; plt.title(\"Infinite DMRG Hamiltonian\") ; plt.imshow(infin_block.ops['H'])\n", "plt.clim(*cl)\n", "plt.subplot(122) ; plt.title(\"Finite DMRG Hamiltonian\") ; im = plt.imshow(fin_block.ops['H'])\n", "plt.clim(*cl)\n", "\n", "cax = f5.add_axes([0.95, 0.15, 0.03, 0.7])\n", "cb = f5.colorbar(im, cax=cax, orientation='vertical')\n", "cb.set_label('color scale')\n", "\n", "plt.show() ; f5.savefig(\"./figures/compare-Hs.pdf\", bbox_inches='tight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Measure scaling of eigsh runtime w.r.t number of sites" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1x\n", "2x\n", "3x\n", "4x\n", "5x\n" ] } ], "source": [ "runs = []\n", "for i in range(5):\n", " runtimes = [] ; x = []\n", " free_site = FreeSite()\n", " block = free_site\n", " for j in range(2,21):\n", " block = block.enlarge(free_site)\n", " start = time.time()\n", " (energy,), psi0 = eigsh(block.ops['H'], k=1, which=\"SA\")\n", " runtimes.append(time.time()-start) ; x.append(j)\n", " runs.append(runtimes)\n", " print(\"{}x\".format(i+1))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f6 = plt.figure(figsize=[6,5])\n", "plt.title(\"Scaling of $\\mathbf{eigsh()}$ computation time\", fontsize=16)\n", "plt.xlabel(\"Number of sites ($N$)\", fontsize=14)\n", "plt.ylabel(\"Compute time (seconds)\", fontsize=14)\n", "s = 10\n", "\n", "runtimes = np.vstack(runs)\n", "ymeans = np.mean(runtimes, axis=0)[s:]\n", "ystds = np.std(runtimes, axis=0)[s:]\n", "x_ = x[s:]\n", "\n", "plt.errorbar(x_, ymeans, yerr=ystds, capsize=cs)\n", "plt.show() ; f6.savefig('./figures/eigsh-runtimes.pdf', bbox_inches='tight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## DMRG scaling of computation time" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\tfinished infinite algorithm m=20, L=10\n", "\tfinished infinite algorithm m=20, L=20\n", "\tfinished infinite algorithm m=20, L=30\n", "\tfinished infinite algorithm m=20, L=40\n", "\tfinished infinite algorithm m=20, L=50\n", "\tfinished infinite algorithm m=20, L=60\n", "\tfinished infinite algorithm m=20, L=70\n", "\tfinished infinite algorithm m=20, L=80\n", "\tfinished infinite algorithm m=20, L=90\n", "\tfinished infinite algorithm m=20, L=100\n", "1x\n", "\tfinished infinite algorithm m=20, L=10\n", "\tfinished infinite algorithm m=20, L=20\n", "\tfinished infinite algorithm m=20, L=30\n", "\tfinished infinite algorithm m=20, L=40\n", "\tfinished infinite algorithm m=20, L=50\n", "\tfinished infinite algorithm m=20, L=60\n", "\tfinished infinite algorithm m=20, L=70\n", "\tfinished infinite algorithm m=20, L=80\n", "\tfinished infinite algorithm m=20, L=90\n", "\tfinished infinite algorithm m=20, L=100\n", "2x\n", "\tfinished infinite algorithm m=20, L=10\n", "\tfinished infinite algorithm m=20, L=20\n", "\tfinished infinite algorithm m=20, L=30\n", "\tfinished infinite algorithm m=20, L=40\n", "\tfinished infinite algorithm m=20, L=50\n", "\tfinished infinite algorithm m=20, L=60\n", "\tfinished infinite algorithm m=20, L=70\n", "\tfinished infinite algorithm m=20, L=80\n", "\tfinished infinite algorithm m=20, L=90\n", "\tfinished infinite algorithm m=20, L=100\n", "3x\n", "\tfinished infinite algorithm m=20, L=10\n", "\tfinished infinite algorithm m=20, L=20\n", "\tfinished infinite algorithm m=20, L=30\n", "\tfinished infinite algorithm m=20, L=40\n", "\tfinished infinite algorithm m=20, L=50\n", "\tfinished infinite algorithm m=20, L=60\n", "\tfinished infinite algorithm m=20, L=70\n", "\tfinished infinite algorithm m=20, L=80\n", "\tfinished infinite algorithm m=20, L=90\n", "\tfinished infinite algorithm m=20, L=100\n", "4x\n", "\tfinished infinite algorithm m=20, L=10\n", "\tfinished infinite algorithm m=20, L=20\n", "\tfinished infinite algorithm m=20, L=30\n", "\tfinished infinite algorithm m=20, L=40\n", "\tfinished infinite algorithm m=20, L=50\n", "\tfinished infinite algorithm m=20, L=60\n", "\tfinished infinite algorithm m=20, L=70\n", "\tfinished infinite algorithm m=20, L=80\n", "\tfinished infinite algorithm m=20, L=90\n", "\tfinished infinite algorithm m=20, L=100\n", "5x\n" ] } ], "source": [ "m = 20\n", "runs = []\n", "for i in range(5):\n", " runtimes = []\n", " L_vals = [10,20,30,40,50,60,70,80,90,100]\n", " for L in L_vals:\n", " # build system using infinite system\n", " start = time.time()\n", " free_site = FreeSite()\n", " block = copy.deepcopy(free_site) # block starts out as one free site\n", " while 2 * block.length < L:\n", " block, energy, error = step(block, block, free_site, m=m)\n", " runtimes.append(time.time()-start)\n", " print('\\tfinished infinite algorithm m={}, L={}'.format(m, L))\n", " runs.append(runtimes)\n", " print(\"{}x\".format(i+1))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nctlV9wAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f7 = plt.figure(figsize=[6,5])\n", "plt.title(\"Scaling of DMRG computation time ($m=20$)\", fontsize=16)\n", "plt.xlabel(\"Number of sites ($N$)\", fontsize=14)\n", "plt.ylabel(\"Compute time (seconds)\", fontsize=14)\n", "s = 0\n", "\n", "runtimes = np.vstack(runs)\n", "ymeans = np.mean(runtimes, axis=0)[s:]\n", "ystds = np.std(runtimes, axis=0)[s:]\n", "x = L_vals[s:]\n", "\n", "plt.errorbar(x, ymeans, yerr=ystds, capsize=cs)\n", "plt.show() ; f7.savefig('./figures/dmrg-runtimes.pdf', bbox_inches='tight')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "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.1" } }, "nbformat": 4, "nbformat_minor": 1 }