{ "metadata": { "name": "", "signature": "sha256:8806da305eb3ccf0b323bc70f2a7bd37add5945fe02150234547f288ae109140" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "# Initializing some things\n", "import numpy as np\n", "from scipy.optimize import curve_fit\n", "\n", "import matplotlib.pyplot as plt\n", "import matplotlib as mpl\n", "import matplotlib.animation as animation\n", "%matplotlib inline\n", "\n", "mpl.rcParams['lines.linewidth'] = 1.5\n", "mpl.rcParams['lines.marker'] = \"o\"\n", "mpl.rcParams['axes.grid'] = True\n", "mpl.rcParams['legend.labelspacing'] = 0.0\n", "cmap = mpl.cm.get_cmap(name='YlOrRd')\n", "colors3 = [cmap(x) for x in [0.4, 0.6, 0.9]]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Magnets: How do they work? Exploring the 2D Ising model\n", "Magnetism on a microscopic level is caused by electrons in the atom \"shells\". The Ising model is a intuitive but powerful way of describing such a system. In this notebook, we'll first learn about the Ising model and try to get some intuition for it. To look into the physical consequences, we'll solve it numerically with my c++ solver magneto. Code for that program and this notebook is on [github.com/s9w/magneto](https://github.com/s9w/magneto). After the physics, we'll have a look at the algorithms that are used to solve it and their differences [at the end of the article](#algorithms).\n", "\n", "## Ising\n", "\n", "Quantum Mechanics tells us that electrons have a property called spin which is in one of two states, usually called \"up\" and \"down\". In **Ising model**, that is represented by $\\sigma=+1$ and $\\sigma=-1$, with $\\sigma$ just being the standard symbol for spin states. The spins are arranged in a two or three dimensional square lattice. We'll look at two dimensions here. Example for a small 4x4 system:\n", "\n", "```\n", "+1 +1 -1 +1\n", "-1 -1 +1 +1\n", "-1 +1 -1 -1\n", "+1 -1 -1 +1\n", "```\n", "\n", "The behaviour of all physical systems boils down to minimizing the overall energy. So let's try to reason about the energy of such a system: Each electron spin produces either a positive or negative magnetic field. But it's also influenced by such fields, both external and those of the other spins. So there is an interaction between them. In good approximation, it's enough to only look at the interaction between next neighbor spins. So each spin only is affected by its four direct adjacent spins.\n", "\n", "A positive field will push an electron spin towards a positive alignment and vice versa. So it's intuitive that without external fields and disturbances, a configuration where many spins are parallel (in the same state) is energetically beneficial. Put into an equation, the energy of the whole system (without an external magnetic field) is given by the Hamiltonian:\n", "\n", "$$H = -J\\sum_{\\langle ij\\rangle } \\sigma_i \\sigma_j$$\n", "\n", "That way of writing a sum just means a summation over next neighbors for every single spin. We'll assume the coupling constant $J=1$ for the moment, more on that later.\n", "\n", "Real systems consist of an astronomical number of spins, so a large lattice is crucial for good numerical results. To help cope with \"finite size effects\", periodic boundary conditions are used. So for a 2x2 grid with either all positive or all negative spins, the energy would be -8. Usually the energy is divided by the number of sites in the grid so that it's in a nice range between -2 and 0.\n", "\n", "So we know what energy a specific configuration has. But a square grid with length $L$ has $L^2$ positions, which amounts to $2^{(L^2)}$ possible states. Even with conservative grid sizes that's a large number. Which of those configurations are actually physically realized and how often? More precise: What's their probability distribution? Statistical mechanics has the answer: The **Boltzmann distribution**\n", "\n", "$$\\exp\\left(-\\frac{H}{T}\\right)$$\n", "\n", "Normalized, it looks like this:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "ax = plt.subplot(xlabel=\"Energy\", ylabel=\"Probability\", title=\"Boltzmann distribution\")\n", "E = np.linspace(0, 4.5, num=50)\n", "\n", "for i, T in enumerate([0.8, 1.5, 3.5]):\n", " ax.plot(E, 1.0/T*np.exp(-E/T), \"-\", label=\"T={}\".format(T), color=colors3[i])\n", "ax.legend();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\ndqPwFDb04aIAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "It depends on the system temperature $T$. As expected, configurations with the lowest total energy are always the most probable. But at high temperatures, the distribution becomes flatter and states with higher energies become more likely. Therefore we expect the average total energy to increase with temperature.\n", "\n", "Physical interpretation: A higher temperature increases thermal energy and therefore thermal fluctuations. They compete with the magnetic interactions between the spins. While the magnetic forces will push the system towards parallel alignments (uniform state), thermal effects have a random nature. With high T, the thermal effects get stronger and eventually dominate over the spin interactions.\n", "\n", "Now we got everything we need. To recap: Ising model says we can write such a system as grids with $\\pm 1$; the Hamiltonian gives the relationship between a spin configuration and its energy; the Boltzmann distribution gives us a probability for each energy. So when we have algorithms to get system configurations that follow these rules, we can do physics. We'll do physics first, then look at the algorithms later.\n", "\n", "To visualize how a typical system looks at different temperatures, we'll run a first simulation. The two spin states are represented with white and black. Note that all simulation inputs are included, but commented out because some of them run quite long. For documentation of the use of magneto itself, have a look at the [github repo](https://github.com/s9w/magneto)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -N1=20000 -N2=0 -TMin=1.3 -TMax=3.3 -L=62 -TSteps=3 -states=states\n", "\n", "def draw_state(ax, grid, title):\n", " ax.grid(False)\n", " ax.imshow(grid, cmap=plt.cm.Greys, interpolation=\"none\")\n", " ax.set_title(title)\n", "\n", "def load_states(filename):\n", " with open(filename) as f:\n", " T = float(f.readline())\n", " grid = np.loadtxt(filename, delimiter=\",\", skiprows=1)\n", " return T, grid\n", "\n", "def draw_states(filename_base, n=3):\n", " fig = plt.figure(figsize=(3*n, n))\n", " for i in range(n):\n", " T, grid = load_states(filename=\"{}{}.txt\".format(filename_base, i))\n", " ax = fig.add_subplot(1, n, i+1)\n", " draw_state(ax, grid, \"T={:.2f}\".format(T))\n", " fig.tight_layout()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "draw_states(\"states\", 3)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected! At low temperatures, there is little thermal energy and the spin interactions dominate. This results in mostly uniform states. With rising temperatures, the thermal fluctuations become stronger and eventually turn the system into random noise." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Energy, heat capacity and phase transitions\n", "To get into physical details, we'll first look at the **energy**. It was defined with the Hamiltonian above. We expected it to increase with temperature." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -L=30 -TSteps=15 -en=energy -dist=normal -alg=sw -N1=10 -N2=100\n", "Tc = 2.0/np.log(1+np.sqrt(2))\n", "ax = plt.subplot(xlabel=\"T/T_c\", ylabel=\"Energy\", ylim=(-2,0), xlim=(0,2))\n", "T, E = np.loadtxt(\"energy.txt\", delimiter=\", \", unpack=True)\n", "ax.plot(T/Tc, E);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected! Here, the temperature on the x-axis was divided by a special temperature $T_c$ called the **critical** or **Curie temperature**. That's because a lot of things happen at that point.\n", "\n", "To see that, we first have a look at the (specific) **heat capacity** $c_V$ of the system. It's a value that characterizes how much heat can be stored. Specifically: when you add an amount of heat $Q$ to a system and its temperature changes by $\\Delta T$, the heat capacity is $\\frac{Q}{\\Delta T}$. Metal has a high heat capacity so it'll barely heat up if you add a certain amount of heat. But something like air will!\n", "\n", "Statistical mechanics gives us two ways of calculating $c_V$. One is simply the temperature derivation of energy. The other is from its [variance](http://en.wikipedia.org/wiki/Variance). \n", "\n", "$$c_V = \\frac{dE}{dT} = \\frac{1}{T^2}(\\langle E^2\\rangle - \\langle E\\rangle^2)$$\n", "\n", "Let's look at both:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -L=30 -TSteps=12 -cv=cv -dist=normal\n", "ax = plt.subplot(xlabel=\"T/T_c\", ylabel=\"Heat capacity\")\n", "\n", "# variance\n", "T, cv = np.loadtxt(\"cv.txt\", delimiter=\", \", unpack=True)\n", "ax.plot(T/Tc, cv, label=\"by variance\")\n", "\n", "# derivation\n", "T, E = np.loadtxt(\"energy.txt\", delimiter=\", \", unpack=True)\n", "ax.plot(T[:-1]/Tc, np.diff(E)/np.diff(T), label=\"by derivation\")\n", "\n", "ax.legend();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that both ways yield equal results up to a numerics. The heat capacity has a peak right at $T_c$. The 2D Ising system has been solved analytically, so the value of $T_c$ is known exactly:\n", "\n", "$$T_c=\\frac{2}{\\ln(1+\\sqrt 2)}\\approx 2.269$$\n", "\n", "The peak looks sharp. In fact, the heat capacity diverges at $T_c$ if you would run the simulation on an infinitely large lattice etc!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Magnetization, Susceptibility and Correlation\n", "Now we look at the **magnetization** of the total system, which is just the sum over all spins. It's basically what is left after the internal spin interactions are done with each other. A nonzero magnetization generates a magnetic field!\n", "\n", "Systems with all negative or all positive spins result in the same energy and are therefore equally likely. Usually the absolute value is used because it makes the plots prettier and the calculations easier. So the (absolute) magnetization is $\\lvert m \\rvert=\\lvert \\sum \\sigma_i \\rvert$.\n", "\n", "If we recall how the systems looked, it's easy to predict that magnetization should be at its maximum for low temperatures as those caused uniform systems. The mostly equal spins add up to some value. At high temps there should be equal numbers of both spins so we expect the magnetization to vanish. Let's have a look:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -L=30 -TSteps=12 -N2=200 -mag=mag -dist=normal\n", "ax = plt.subplot(xlabel=\"T/T_C\", ylabel=\"Magnetization |m|\", xlim=(0,2), ylim=(0,1))\n", "T, m = np.loadtxt(\"mag.txt\", delimiter=\", \", unpack=True)\n", "ax.plot(T/Tc, m);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEQCAYAAABbfbiFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2cVWW5//HPxfCogGBYmqDIhImFDVvlwQcclQGSo5Un\nU+rUoU5H6/wE61RH4yE4kZ0oMxAtyUzsWGm/k6U2Jog6QHqUeFTz4SdjGGiaGiKIIAPX74+1B4Z5\nXHvPWnutvff3/Xqt18xae83eF7e3c826r7Xu29wdERGRprokHYCIiKSPkoOIiLSg5CAiIi0oOYiI\nSAtKDiIi0oKSg4iItBB7cjCzn5rZK2b2RDvnXGdmz5nZBjMbEXdMIiLSvkJcOdwCTGzrRTM7D3if\nuw8FLgV+VICYRESkHbEnB3dfCWxt55QLgFuz5z4G9DOz98Qdl4iItC0NNYejgc1N9rcAAxOKRURE\nSEdyALBm+5rTQ0QkQV2TDgB4ERjUZH9g9thBzEwJQ0QkD+7e/A/wDqXhyuFu4DMAZjYaeMPdX2nt\nRHffv40fP4PgAuPgbcKEmQedVw5bmLZoaHC2bnX+/Gdn/XpnypTZ3HWX87OfOQsXOnPnOl/9qvOv\n/+pcdJEzfrwzapRzwgnOkUc6vXo1f//WP3Po0JksXeq8/nry7VKobfbs2YnHUEqb2jPaLV+xXzmY\n2S+Bs4ABZrYZmA10A3D3Re5+r5mdZ2YbgbeAz4Z532nTxlNfP4P6+qv3H6usnM7UqW3eGFWywrRF\nRQX06xdsAO6buOCC3D7nnXdg27Zgu/jirqxd2/Kc556rYPz44PshQ+CUUw5smQwcdliu/7r027Rp\nU9IhlBS1ZzrEnhzcfXKIcy7P9X0nTRoLwMKFs9i1q4KePfcyderE/cfLSaHaont3OOKIYBswoKHV\nc845Zy/Tp8Pq1cG2ahX86lcHXj/++IMTxogR0Lv3gddra1dw3XVL2b27Kz16NDBt2viy/G8qkjTr\nzGVHIZmZF0usxaCuro7q6uq8f762dgVXXLGkxdXKggUtk9Jrr8GaNQcSxurVsGVL8JoZDBsGJ58M\nvXqtoLZ2CS++2PQ9Z7BgwYRUJ4jOtqUcTO0ZLTPD86g5KDlI3mprV7Bw4f1NrlZqQv8Sf/nlAwlj\nzRr44x/h5ZdnAt9qce6ECbO47765EUcvUh6UHCQnafzrbMyYOTz66JwWxz/4wTk8/vgcLOfuXRhp\nbMtipvaMVr7JIQ13K4kA0Ldv63WMJ5/cy5lnwsqVBQ5IpIzpykFSo7U6xpAh05kwYSK//e1Y/vpX\nOO88+Pa34UMfSjBQkSKiYSUpCW3VMXbuhIUL4TvfgTfegMmT4ZvfhPe9L+mIRdJNyUFyUqzjulu3\nwve+B/Pnw5498PnPw6xZ8N73JhdTsbZlWqk9o6Wag5SF/v2DYaX6erj0UvjJT4Krh6uuChKHiERD\nVw5S1OrrYfZs+MUvgqev/+M/YNo0OPTQpCMTSQcNK0lZe/xxmDEDfvc7OPLIxqGmFfzoR3raWsqb\nkoPkpFTHdR9+GL7+dVi5cgVduy6hoSH+p61LtS2TovaMlmoOIsDpp8Py5ZDJLD0oMQDU11/NwoX3\nJxSZSHFRcihTpfyXmRn06dP6nJK7dlVE/nml3JZJUHumg5KDlKQePVp/2rpnz70FjkSkOCk5lKm6\nurqkQ4jVtGnjqayccdCxiorpXHJJTeSfVeptWWhqz3RIwzKhIpFrvsZFQ8Ne1qyZyPXXj+Xii6FX\nr4QDFEk53a0kZeOee+AjH4FLLoGf/5zUzvIqEiXdrSTSgfPPh6uvhl/+EubNSzoakXRTcihT5Tqu\ne9VVwZXD9OnBlUQUyrUt46L2TAclBykrZnDzzZDJwKc+BU89lXREIumkmoOUpS1b4JRToHdvWLUK\nDj886YhE4qGag0gOBg6E3/wGNm+GT3wCGlp/LEKkbCk5lCmN68KYMXDjjfDAA/CVr+T/PmrLaKk9\n00HPOUhZ++xn4Ykn4Ac/gOHDg8WDREQ1BxEaGmDSJHjoIXjwQTjjjKQjEomOpuwW6YStW2HUqGB9\n6tWr4Zhjko5IJBoqSEtONK57sP794e67Yffu4Cnqt94K/7Nqy2ipPdNByUEk64QTgqenN2wIahG6\nUJVypmElkWa+971gLeq5c2HmzKSjEekc1RxEIuIOn/kM3HbbCj70oaX066c1qKV4qeYgOdG4btvM\n4MILV9CjxxI2bPgWy5fPYenSb3HFFUuorV3R4ny1ZbTUnumg5CDSihtvXMru3VqDWsqXkkOZ0jq9\n7du9O/wa1GrLaKk900HJQaQVWoNayp2SQ5nSuG77WluDurJyOlOntlyDWm0ZLbVnOmhuJZFWNF2D\nes2aCnbs2MuCBRN1t5KUjdhvZTWzicB8oAL4ibvPa/b6AOA24EiCZHWNuy9u5X10K6skYt68YAW5\n11/Xug9SfFJ5K6uZVQDXAxOBE4HJZjas2WmXA+vcvQqoBr5vZrqikdTIZIKv69YlG4dIIcVdcxgJ\nbHT3Te6+B7gd+Eizc/4K9M1+3xd43d219ErMNK4b3ogRwde1a1t/XW0ZLbVnOsT9F/rRwOYm+1uA\nUc3OuQl40MxeAvoAn4g5JpGcDBgQzNLaVnIQKUVxJ4cwRYLpwHp3rzazSuB+M/uQu29vfuKUKVMY\nPHgwAP369aOqqmr/PdGNf21oP9x+47G0xJP2/UGD6vjDHyAY+Tz49erq6sTjK6V9tWfn9uvq6li8\neDHA/t+X+Yi1IG1mo4E57j4xu/91YF/TorSZ3Qtc7e4PZ/cfAK5099XN3ksFaUnM3LnwjW/Atm3Q\nt2/H54ukRSoL0sBqYKiZDTaz7sDFwN3NznkGGAdgZu8B3g88H3NcZa/xLw0Jp7EovWFDy9fUltFS\ne6ZDrMkhW1i+HFgCPAXc4e5Pm9llZnZZ9rRvA6eY2QZgGfAf7v73OOMSyVVjclDdQcqFpuwWCemo\no2D8eLj11qQjEQkvrcNKIiUjk9GVg5QPJYcypXHd3GUy8NRTsHPnwcfVltFSe6aDkoNISJkM7NsH\nTzyRdCQi8VPNQSSkF16AwYPhhz+EL34x6WhEwlHNQSRmxxwTTLynuoOUAyWHMqVx3dyZtV6UVltG\nS+2ZDkoOIjnIZIKawzvvJB2JSLxUcxDJwR13wCWXBFcPjbO1iqSZag4iBaAnpaVcKDmUKY3r5qey\nEvr0OTg5qC2jpfZMByUHkRx06RIMJ+nKQUqdag4iOfryl2HRInjzTeiqBW0l5VRzECmQTAbefhue\nfTbpSETio+RQpjSum7/mRWm1ZbTUnumg5CCSo/e/H3r1Ut1BSptqDiJ5GDMGuneH5cuTjkSkfao5\niBRQJgPr1gWztIqUIiWHMqVx3c7JZGD7dqivV1tGTe2ZDkoOInnQk9JS6tqsOZjZJiDMIL+7+5Ao\ng2qNag6SJu+8A717B888zJuXdDQibcu35tDmIzzuPrhTEYmUsO7dYfhwXTlI6Qo9rGRmfc3s8MYt\nzqAkfhrX7bzGtR0eeqgu6VBKivpmOnSYHMzsMjN7GXgCWNNkEylrmQz8/e/wyitJRyISvQ6fczCz\njcBod3+tMCG1GYdqDpIqjz0Go0fDnXfCxz6WdDQirYvzOYfngbdzD0mktJ10ElRUqO4gpSlMcrgK\n+F8zW2RmC7PbdXEHJvHSuG7n9eoFw4bB/ffXJR1KSVHfTIcwEw7/GFhGUHPYBxjhbnEVKXmZDNxz\nT9JRiEQvTM1hnbsnvlquag6SRgsWwJe+BC+9BEcdlXQ0Ii3FWXP4ffaOpaN0K6vIwfSktJSqMMnh\nkwR1h0c4cBvr6jiDkvhpXDcaVVUAdUoOEVLfTIcOaw56UlqkbX36wMCBunKQ0qP1HEQ6afJkeOQR\neOGFpCMRaSnyuZXSNvGeSFplMnD77fDaazBgQNLRiESjzZqDuw929+NCbEoMRUjjutHp0qUOCBb/\nkc5T30wHrecg0klDhwZfVXeQUhJ7zcHMJgLzgQrgJ+7eYvZ7M6sGfgB0A15z9+pWzlHNQVLruONg\n5Ei4446kIxE5WOQ1hyiYWQVwPTAOeBH4o5nd7e5PNzmnH3ADMMHdt5iZRm2l6DRO3y1SKuIeVhoJ\nbHT3Te6+B7gd+Eizcz4J/NrdtwAkPftrudC4bnTq6urIZGDjRti2Leloip/6ZjqEWc/hDDO738ye\nM7M/Z7fnQ77/0cDmJvtbsseaGgocbmYPmdlqM/t0yPcWSY3GJ6XXr082DpGohBlWuhn4ErAW2Jvj\n+4cpEnQDMsC5wCEEM8A+6u7P5fhZkoPq6uqkQygZ1dXV+xf8WbsWzjor2XiKnfpmOoRJDm+4++/z\nfP8XgUFN9gcRXD00tZmgCP028LaZrQA+BLRIDlOmTGHw4MEA9OvXj6qqqv0dqfFSVPvaT2L/6afr\neNe7YO3adMSj/fLdr6urY/HixQD7f1/mI8ysrN8huNPoTmB343F377D8ZmZdgWcJrgpeAlYBk5sV\npE8gKFpPAHoAjwEXu/tTzd5LdytFqK6ubn/Hks5pbMvzz4fnn4c//SnpiIqb+ma04rxbaTTB8NAp\nzY6f3dEPunuDmV0OLCFIMDe7+9Nmdln29UXu/oyZ3Qc8TrBexE3NE4NIMchk4N574a234NBDk45G\npHM0t5JIRO66Cz760WCepTFjko5GJBDbeg5m1s/MfmBma7Lb983ssPzCFCldWttBSkmY5xx+CrwJ\nXAR8AtgO3BJnUBK/xgKWdF5jWw4cGEy8p+TQOeqb6RCm5lDp7hc22Z9jZhviCkikWJnpSWkpHWGu\nHN42szMbd8zsDGBnfCFJIehukOg0bctMBp58Enbvbvt8aZ/6ZjqEuXL4AvCzJnWGrcA/xxeSSPHK\nZKChIUgQJ5+cdDQi+evwysHd17v7ScBwYLi7V7m7hpWKnMZ1o9O0LVWU7jz1zXRobyW4T7v7f5vZ\nV2gyDYaZGcHqb9cWIkCRYjJkCBx2mJKDFL82n3Mws8vcfZGZzaGVOZLc/T9jjq15PHrOQYrC2WfD\nzp3w2GNJRyISwxPS7r4o++0yd/9Dsw87I9cPEikXmQzccAPs2QPduiUdjUh+wtyttLCVY9dFHYgU\nlsZ1o9O8LTOZ4G6lZ55JJp5ip76ZDu3VHMYApwFHmNm/A42XJX0I5kkSkVY0LUoPH55sLCL5au/K\noTsHEkEfoHd2exP4ePyhSZx0L3l0mrfl8cfDIYeoKJ0v9c10CDNl92B331SYcNqNQwVpKRqnnw5d\nusDKlUlHIuUuton3gJ1mdo2Z3ZtdyvMhM3swjxglRTSuG53W2jKTgXXrYN++wsdT7NQ30yFMcvg5\n8AwwBJgDbAJWxxeSSPHLZIJ1HZ7TYrdSpMIMK61194yZPZ59UhozW+3uzRf/iZWGlaSYbNgAVVXw\ni1/A5MlJRyPlLM5hpXeyX182s38wswzQP9cPEiknJ54I3burKC3FK0xyuNrM+gFfAb4K/AT4cqxR\nSew0rhud1tqyWzc46SQlh3yob6ZDmFlZ17v7G8AbQDWAmR0VZ1AipSCTgV/9CtyDtR5EikmYmkMD\n8D/A59x9Z/bYOncfUYD4msahmoMUlUWL4AtfgOefh+OOSzoaKVdx1hyeAFYCD5vZ+3KOTKRMafpu\nKWZhkgPufgNwOXCPmZ0fb0hSCBrXjU5bbTl8OFRUKDnkSn0zHcLUHABw94fN7Bzg/wInxBeSSGno\n2RM+8AElBylOYWoOR7n7X5vsdwVOc/cVcQfXLA7VHKTofPazUFsLr7yiorQkI/L1HBpXggM+aS17\ntQMFTQ4ixah79xW8+upSTjutK337NjBt2ngmTRqbdFgiHWqv5nBI9mvTGVkbtz4xxyUx07hudNpq\ny9raFdTWLgG+xaOPzmHp0m9xxRVLqK3V31XtUd9MB60EJxKT665byosvXn3Qsfr6q1m4cJauHiT1\ntBJcmdKc+dFpqy137279b69du7RWVnvUN9NBK8GJxKRHj4ZWj/fsubfAkYjkTivBlSmN60anrbac\nNm08lZUzDjpWWTmdqVNrChBV8VLfTIf2ag7LgeVmdou7v2Bmh7r7WwWMTaSoNdYV5s+fxbJlFRx7\n7F4WLJioeoMUhTDPOZxGMBNrH3cfZGZVwKXu/m+FCLBJHHrOQYrWOefA668H6zyIFFKccyvNByYC\nrwG4+3rgrFw/SKSc1dTA448HD8OJFIOwcyv9pdmh1ittUjQ0rhudMG1Zky0zPPBAvLGUAvXNdAiT\nHP5iZqcDmFl3M/sq8HS8YYmUlhEjoH9/uP/+pCMRCSdMzeEIYAEwjuB21qXANHd/Pf7wDopDNQcp\nahddBP/7v7B5s+ZZksKJrebg7q+6+yfd/d3ufoS7fyqXxGBmE83sGTN7zsyubOe8U82swcwuDPve\nIsVk3Dh48UV49tmkIxHpWIfJwczebWYzzOwmM7slu/00zJubWQVwPUFB+0RgspkNa+O8ecB9HHjY\nTmKkcd3ohG3LxrqDhpbap76ZDmFqDncBfYH7gdomWxgjgY3uvsnd9wC3Ax9p5bypBEuRvhryfUWK\nzpAhwbZsWdKRiHQszGI/vdy9zeGgDhwNbG6yvwUY1fQEMzuaIGGcA5xKMB24xEzz10Qnl7YcNw5+\n+UvYswe6dYsvpmKmvpkOYa4cfmdmk/J8/zC/6OcDV2WrzYaGlaSE1dTA9u2walXSkYi0L8yVw5eA\n6Wb2DrAne8zdvW+In30RGNRkfxDB1UNTJwO3ZxcUGgB82Mz2uPvdzd9sypQpDB48GIB+/fpRVVW1\n/6+MxnFK7Yfbnz9/vtovov2mY+QdnX/22dWYwU031bFnTzriT9t+Lu2p/Zb7dXV1LF68GGD/78t8\ndHgra2dklxR9FjgXeAlYBUx291afkzCzW4B73P3OVl7TrawRqqur29+xpHNybctTT4UePeAPf+j4\n3HKkvhmtfG9lDfOcQ6aVw9uAF9y9wyelzezDBENHFcDN7v5fZnYZHLSgUOO5Sg5S8qZPh+9+F/7+\nd+gb5vpbpBPiTA6PEgz9PJ49NBz4E3AY8EV3X5Lrh+ZDyUFKxYMPwrnnwt13w/nnJx2NlLo4J957\nCahy95Pd/WSgCngeqAG+m+sHSjo0HdeVzsm1LU87DXr10vMObVHfTIcwyeH97v6nxh13fwo4wd3r\n0W2nIjnr2RPOPFPPO0i6hRlW+hXwOsEDbAZ8AjgC+CfgD+5+atxBZuPQsJKUjGuuga99LZhnaeDA\npKORUhbnsNIUoJ7gltYrCIaU/pngttZzcv1AEdEU3pJ+YSbe2+nu17j7x7LbNdlj+9x9eyGClOhp\nXDc6+bTl8OFwxBGqO7RGfTMdOnwIzsyOB75NMHFer+xhd/chcQYmUsq6dAmm0li2DNw1hbekT5ia\nw8PAbOBa4AKCYaYKd58Ve3QHx6Gag5SUW26Bz30uWD50+PCko5FSFWfNoZe7LyNIJJvcfQ6Q71xL\nIpI1blzwVUNLkkZhksOu7HoLG83s8uxiPIfGHJfETOO60cm3LQcNgve/X7e0Nqe+mQ5hksOXgEOA\nacApBLew/nOcQYmUi3HjYPly2L076UhEDhbrxHtRUs1BStFdd8FHPwoPPQSaa07ikG/Noc27lczs\nHoInoFt7U3f3C3L9MBE5WHU1VFQEQ0tKDpIm7Q0rjSZYf2ElcE12+36TTYqYxnWj05m2POwwGDlS\nRemm1DfTob3kcBQwHfggwZTbNcCr7l7n7ssLEZxIOaipgdWrYevWpCMROSBUzcHMegCTCa4e5rj7\n9XEH1koMqjlISVq5EsaOhV//Gi68MOlopNTE8pyDmfU0s38EbgP+D7AA+E1+IYpIa0aPht69NbQk\n6dJmcjCz/wYeAUYA33T3U919rru/WLDoJDYa141OZ9uyW7egGK3nHQLqm+nQ3pXDp4ChBDOxPmJm\n25tsbxYmPJHyMG4cbNwImzYlHYlIQM85iKTAU0/BBz4AN90En/980tFIKYlzbiURidmwYfDe96ru\nIOmh5FCmNK4bnSja0iwYWnrgAdi3r/MxFTP1zXRQchBJiZoaeP11WL8+6UhEVHMQSY2//jUYWvrO\nd+DKK5OORkqFag4iRe6oo+CDH9QtrZIOSg5lSuO60YmyLWtqgiem3347srcsOuqb6aDkIJIi48YF\nazs8/HDSkUi5U81BJEV27IDDD4cvfxnmzUs6GikF+dYclBxEUuass2D7dli7NulIpBSoIC050bhu\ndKJuy5oaWLcOXnst0rctGuqb6aDkIJIyNTXB1wceSDYOKW8aVhJJmYYGGDAALroomGtJpDM0rCRS\nIrp2hXPOCeZZ0t9DkhQlhzKlcd3oxNGW48bBCy8E03iXG/XNdFByEEmhxrqDnpaWpKjmIJJC7nDc\ncZDJwJ13Jh2NFDPVHERKSOMU3g8+CHv3Jh2NlKOCJAczm2hmz5jZc2bWYr5JM/uUmW0ws8fN7GEz\nO6kQcZUzjetGJ662rKmBbdtg9epY3j611DfTIfbkYGYVwPXAROBEYLKZDWt22vPAWHc/CZgL/Dju\nuETS7txzg69aHU6SEHvNwczGALPdfWJ2/yoAd/9OG+f3B55w94HNjqvmIGUnk4G+fUF/TEu+0lxz\nOBrY3GR/S/ZYW/4FuDfWiESKRE0NPPJIMCGfSCF1LcBnhP5z38zOBj4HnN7a61OmTGHw4MEA9OvX\nj6qqKqqrq4ED45TaD7c/f/58tV9E+03HyKN+/3Hjqvnud+GGG+oYNSod/9649+Nsz3LYr6urY/Hi\nxQD7f1/moxDDSqOBOU2Glb4O7HP3ec3OOwm4E5jo7i0e/dGwUrTq6ur2dyzpnDjb8u23oX9/+Ld/\ng2uvjeUjUkd9M1qpnbLbzLoCzwLnAi8Bq4DJ7v50k3OOAR4E/sndH23jfZQcpCxVVa2gvn4pJ5/c\nlR49Gpg2bTyTJo1NOiwpEvkmh9iHldy9wcwuB5YAFcDN7v60mV2WfX0R8A2gP/AjMwPY4+4j445N\nJO1qa1ewefMSduy4muXLg2P19TMAlCAkVnpCukzp0j06cbblhAkzWbr0W60cn8V9982N5TOTpr4Z\nrTTfrSQiedq9u/WL+127KgociZQbJYcypb/MohNnW/bo0dDq8V27SndODfXNdFByEEmxadPGU1k5\n46BjXbtOZ/XqGq6/Xus9SHyUHMpU03vJpXPibMtJk8ayYMEEJkyYxVlnzWHChFncdttEJk4cy9Sp\n8OlPw1tvxfbxiVDfTIdCPAQnIp0wadLYFncmXXQRfPvb8I1vwIYNwbTeQ4cmFKCUJN2tJFLEliyB\nT34yWHf61lvhox9NOiJJG92tJFKGJkyAtWvh+OPhYx+Dq64KEoVIZyk5lCmN60Yn6bY89lhYuRIu\nvRTmzQsSxt/+lmhInZJ0e0pAyUGkBPTsCYsWwU9/GszimsnAo61ORCMSjmoOIiVm3Tr4x3+ELVvg\nBz8IJu2znEecpVSo5iAiAIwYAWvWBGtBXH45fOYzpXe7q8RPyaFMaVw3Omlsy/794Z574JvfhJ//\nHEaPhh//eAUTJsykunoOEybMpLZ2RdJhtiqN7VmO9JyDSInq0gVmzYKRI+HjH1/BF76wBPer97+u\n2V2lPao5iJSBsWNnsnJly9ldx42bxf33l+bsrhJI7XoOIpK8Ll1a/1992bIKTjopuLoYNSr4+oEP\nQFf9Zih7qjmUKY3rRqcY2rKt2V0rK/dy9NHwm98Ez0lUVUHfvnDmmfCVr8Add8Cf/1zYCf6KoT3L\ngf4+ECkD06aNp75+BvX1B2oOlZXTWbBgIpMmBb/86+th1aoD2w03HFi3+ogjgquKxu3UU+Fd7wpW\nqrvuuqXs3q0lTEuNag4iZaK2dgULF97Prl0V9Oy5l6lTa9r9Rf7OO/Dkk0GieOyx4OvTTx+4ijjy\nyBXs2BEsYdqosnIGCxZMUIJIkXxrDkoOIhLam28Gz1CsWgXXXjuTv/2tZZF7yJBZ3HjjXMaMgd69\nEwhSDqKH4CQnGteNTjm1Zd++cPbZcOWVMGxY66PSzz9fwfjx0K9fMPz07/8e1DRefTXcZ5RTe6aZ\nkoOI5KWtIve55+5lyZJghthDDoEf/hAuvBDe/W448US47DK47Tb4y18KHLDkRMNKIpKX2toVXHHF\nkjaK3AdqDrt3w+rVwcyxK1bAww8Hw1MAxxwT3BnVuA0bpnmgoqaag4gUXK5FboC9e+GJJ4Jk0Zgw\nXnkleG3AADjjjAPJYsQIPXPRWUoOkpO6ujqqq6uTDqMkqC07xx02bjyQLJYureOll6qBoKA9ZsyB\nZDFqFPTqpVtoc6EnpEWkKJkF618PHQqf+xzU1QUr2zUmi5UrYfbsIIl06waVlSt4+eUlvPHGgeGs\n556bwd69cMEFShBR0ZWDiKTe1q1BrWLlSli0aCbbtrW8hRZmceihc+nbF/r0Ce6synfr0aPg/8TY\n6MpBREpW//7wD/8QbI891pXly1uec+yxFXz840Gxu+lWXx983b4dtm0Lah4d6d69c8mlcTvkkGQK\n7E2H3fKl5FCmNE4eHbVltDpqz7ZuoT3hhL1cc0377+0Ou3a1TCBhtpdegmeeObC/a1fH/5YuXYjk\nSqZPH6io6PjzoLW7yP4z3A82o+QgIkWlrXmipk6d2OHPmgUF7V694D3v6Vwc77wTXI3kmmS2boUX\nXjjws9u3h/u8Qw8Nl0gWL156UNvkSzUHESk6+dxCm1b79sGOHfldzTTfgiGzOdmtkW5lFREpW+7w\n9ttw3nkzWb68acFecytJDjR/TXTUltFSe+bHLCiAf+1r46msnNHp91PNQUSkhDQOry1cOItduypa\nvbMrDA0riYiUME3ZLSIikYk9OZjZRDN7xsyeM7Mr2zjnuuzrG8xsRNwxicZ1o6S2jJbaMx1iTQ5m\nVgFcD0wETgQmm9mwZuecB7zP3YcClwI/ijMmCaxfvz7pEEqG2jJaas90iPvKYSSw0d03ufse4Hbg\nI83OuQC4FcDdHwP6mVknH0+RjrzxxhtJh1Ay1JbRUnumQ9zJ4Whgc5P9LdljHZ0zMOa4RESkHXEn\nh7C3FzW3eJ1/AAAECElEQVSvpOu2pJht2rQp6RBKhtoyWmrPdIj1VlYzGw3McfeJ2f2vA/vcfV6T\nc24E6tz99uz+M8BZ7v5Ks/dSwhARyUMap+xeDQw1s8HAS8DFwORm59wNXA7cnk0mbzRPDJDfP05E\nRPITa3Jw9wYzuxxYAlQAN7v702Z2Wfb1Re5+r5mdZ2YbgbeAz8YZk4iIdKxonpAWEZHCSd0T0npo\nLjodtaWZVZvZNjNbl91mJhFnMTCzn5rZK2b2RDvnqF+G1FF7qm/mxswGmdlDZvYnM3vSzKa1cV74\nPuruqdkIhp42AoOBbsB6YFizc84D7s1+Pwp4NOm407iFbMtq4O6kYy2GDTgTGAE80cbr6pfRtqf6\nZm7teSRQlf2+N/BsZ393pu3KQQ/NRSdMW0LL24ilFe6+EtjazinqlzkI0Z6gvhmau7/s7uuz3+8A\nngbe2+y0nPpo2pKDHpqLTpi2dOC07CXmvWZ2YsGiKz3ql9FS38xT9u7QEcBjzV7KqY+mbT0HPTQX\nnTBtshYY5O47zezDwG+B4+MNq6SpX0ZHfTMPZtYb+B/giuwVRItTmu232UfTduXwIjCoyf4gguzW\n3jkDs8fkYB22pbtvd/ed2e9/D3Qzs8MLF2JJUb+MkPpm7sysG/Br4DZ3/20rp+TUR9OWHPY/NGdm\n3Qkemru72Tl3A5+B/U9gt/rQnHTclmb2HjOz7PcjCW5t/nvhQy0J6pcRUt/MTbatbgaecvf5bZyW\nUx9N1bCS66G5yIRpS+DjwBfNrAHYCVySWMApZ2a/BM4CBpjZZmA2wV1g6pd56Kg9Ud/M1enAPwGP\nm9m67LHpwDGQXx/VQ3AiItJC2oaVREQkBZQcRESkBSUHERFpQclBRERaUHIQEZEWlBxERKQFJQcR\nEWkhVQ/BiSTNzN4FLMvuHgnsBV4lmINmFLCQYI6f/kB34DiC6ZEB5rr7nW2871eBfwF2AXuAhe7+\n3zH9M0Q6TclBpAl3f51gRkvMbDaw3d2vbXzdzEYBGXd3MzsW+J27t7toipl9ATgXONXdd5hZH+Bj\nsf0jRCKg5CDSvv2zWJrZMOD/+YFpBcKuN/B14KzGWTLdfTvws0ijFImYag4i4X0Y+H0uP2BmfYE+\n7r4plohEYqLkIBLeeOC+pIMQKQQlB5EQzOwQoJ+7v5zLz7n7m8AOMzsunshE4qHkIBLO2cCDef7s\nfwE3ZAvRmFlvM/t0ZJGJxEAFaZH2NRafPwz8qp3X234D9x9ll2/8o5ntIbiV9ZroQhSJntZzEAnB\nzNYAI919b9KxiBSCkoOIiLSgYSWRiJjZ9QTLNTY1391vTSIekc7QlYOIiLSgu5VERKQFJQcREWlB\nyUFERFpQchARkRaUHEREpIX/D4NZNao8N5/uAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bingo! And now it's easy to see why $T_c$ is so important. It's the temperature where the magnetization of the system becomes zero. More generally, the system undergoes a **phase transition**, which is an important concept in physics. Usually there are two types of phase transitions: \"First order\" ones, for example the boiling and evaporating of water. And \"second order\" or continuous transitions like this system, which is actually a model for the transition between the **ferromagnetic** and **paramagnetic** phase.\n", "\n", "**Ferromagnetism** means that when an external magnetic field is applied, the electron spins lign up with it and cause themselves a big magnetization. This only works at temperatures below the critical point. We saw that at low temperatures the spins are mostly uniform. When even a small external field is applied, they'll easily align to it.\n", "\n", "Above $T_c$, magnetization is heavily disturbed by thermal fluctuations. An external field can still \"force\" the spins to align, but this **paramagnetism** is typically much weaker than ferromagnetism. Common magnets you can buy are therefore all in the ferromagnetic phase. They would lose their strength above their Curie temperature, which is quite high for quantum reasons.\n", "\n", "How strong a system reacts to an external field is quantified by the magnetic **susceptibility** $\\chi$. It's the factor between an externally applied magnetic field and the resulting magnetization of the system. Or: It's a measure of how strong the system responds to external fields. There are several ways to calculate it. One is by variance of the magnetization:\n", "\n", "$$\\chi=\\frac{1}{T}(\\langle m^2\\rangle - \\langle m\\rangle^2)$$\n", "\n", "The other is to look at the **correlation** between two spins $\\sigma_i$ and $\\sigma_j$, measured by the **correlation function**:\n", "\n", "$$G(i,j) = \\langle\\sigma_i \\sigma_j\\rangle - \\langle\\sigma_i\\rangle \\langle\\sigma_j\\rangle $$\n", "\n", "We can rewrite that as $G(d)$ with the distance between spins $d=\\lvert i-j\\rvert$. It's intuitive that the correlation between spins decreases with distance. In fact it's proportional to an exponential function: $G(d)\\sim \\exp(-\\frac d \\xi)$. The parameter $\\xi$ is called **correlation length** and summarizes the character of the correlation. It can be interpreted as average size of clusters or as typical range of spin fluctuations. Let's look at some correlation functions:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -L=60 -TSteps=9 -TMin=2.0 -TMax=2.6 -N2=100 -N3=1000 -corr=chi_corrfun -alg=metro -N1=5000\n", "\n", "def corr_fun(x, corr_len, a):\n", " return np.exp(-x/corr_len)*a\n", "\n", "def ln_corr_fun(x, corr_len, a):\n", " return -x/corr_len + np.log(a)\n", "\n", "def lower_range(data, threshold):\n", " end_index = np.argmax(data" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note the logarithmic y-axis. The correlation vanishes in the distance - good! But at $T_c$ it does so infinitely slow, or: The correlation length $\\xi$ is infinitely long. At least it would be if the lattice would be that big. In practice, $\\xi$ is as big as the lattice itself! That means the spins correlate and interact with each other over the entire lattice!\n", "\n", "To illustrate this, we'll look at the system at these exact temperatures and sizes again. With enough good will, the correlation length can be imagined as the average cluster size." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -N1=100 -N2=0 -TMin=2.0 -TMax=2.6 -L=60 -TSteps=3 -states=states_corr -alg=sw\n", "draw_states(\"states_corr\", n=3)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nQibG/wO5FJByD23Q4AAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since $G$ was an exponential function which quickly went to 0, the fit isn't trivial. The small values are difficult to pin down precisely and were cut at a threshold. That's also the reason why it's next to impossible to calculate correlations at very high or low temperatures: The correlation is simply too small to reasonably do numerics with it.\n", "\n", "Also at $T_c$ it can be seen that the finite size of the lattice becomes a problem since the first few values make the result much worse. They could be \"discussed away\", depending on mood and effort.\n", "\n", "The connection beween correlation lenght and susceptibility is given by\n", "\n", "$$\\chi \\sim \\frac 1 T \\xi$$\n", "\n", "Before we look at that connection in more detail, let's calculate the susceptibility with the two discussed methods:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -L=60 -TMin=2.0 -TMax=2.6 -TSteps=9 -N2=100 -N3=10 -chi=chi -dist=normal -N1=10 -alg=sw\n", "\n", "ax = plt.subplot(xlabel=\"T/T_c\", ylabel=\"Magnetic susceptibility $\\chi$\")\n", "T, chi = np.loadtxt(\"chi.txt\", delimiter=\", \", unpack=True)\n", "ax.plot(T/Tc, chi, label=\"by variation\")\n", "\n", "data = np.loadtxt(\"chi_corrfun.txt\", delimiter=\", \")\n", "T = data[:,0]\n", "chi_corrfun = []\n", "for i in range(9):\n", " _, corr_fun_data = np.split(data[i], [1])\n", " corr_fun_data = lower_range(corr_fun_data, threshold = 0.01)\n", " distance = np.arange(corr_fun_data.size)\n", " [xi, a], _ = curve_fit(ln_corr_fun, distance, corr_fun_data)\n", " chi_corrfun.append(xi/T[i])\n", "\n", "ax.plot(np.asarray(T/Tc), np.asarray(chi_corrfun), \"red\", label=\"by correlation\")\n", "plt.legend();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The susceptibility can be used to look at the **critical behaviour** with more detail. Not only does it diverge at $T_c$, but like many properties it follows a power law. If we define a \"reduced temperature\" $\\tau=\\frac{T-T_c}{T_c}$, then $\\chi$ is on both sides of the divergence proportional to $\\lvert\\tau\\rvert^{-\\gamma}$. That $\\gamma$ is called a **critical exponent**.\n", "\n", "For our 2D ising case, the theoretical value is $\\frac 7 8$. Let's try to calculate it with a fit. We'll do the same calculation, but closer \"zoomed in\" and with a longer calculation." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -L=60 -TSteps=15 -N2=200 -N3=10 -chi=chi_exp -TMin=2.7 -TMax=3.5 -dist=normal -alg=sw -N1=10\n", "ax = plt.subplot(111, xlabel=\"Reduced temperature $\\\\tau$\", ylabel=\"Magnetic susceptibility $\\chi$\")\n", "\n", "# Fit\n", "def chi_fit(tau, gamma, a):\n", " return a*np.power(tau,-gamma)\n", "T, chi = np.loadtxt(\"chi_exp.txt\", delimiter=\", \", unpack=True)\n", "tau = (T-Tc)/Tc\n", "popt, pcov = curve_fit(chi_fit, tau, chi)\n", "\n", "# Plot\n", "ax.plot(tau, chi, \"o\", label=\"data\")\n", "ax.plot(tau, chi_fit(tau, *popt), \"--\", label=\"fit\")\n", "ax.legend(loc=\"upper right\")\n", "\n", "# Result\n", "gamma = popt[0]; gamma0 = 1.75\n", "print(\"gamma: {:.2f}, deviation: {:.1f}%\".format(gamma, 100.0*(gamma-gamma0)/gamma0))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "gamma: 1.63, deviation: -6.8%\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n1TW/PUEwQgAAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This run was within \u00b110%.\n", "\n", "There are many other critical exponents and they can all be found like this. It's a very general principle that can be found not only in Ising models but many others." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Finite size effects\n", "So we have limited computer speed and therefore have to use a finite system size $L$. The effect of that is that the calculated positions of $T_c$ drift away from the theoretical value for grids with finite size. That drift can be used to extrapolate the ideal value for $L\\to\\infty$.\n", "\n", "To do so, we use a trick: The critical temperature is plotted against the inverse grid size. Since the inverse grid size of an infinitely large grid is $\\frac 1 L = 0$, we just read the fit value there. That results in a much better value of $T_C$ than any of the direct computations.\n", "\n", "There are different ways to get $T_c$ out of those plots. One way would be to take the peak position. But the data is often noisy, so a fit often is better. The correct function to fit would be $\\lvert\\tau\\rvert^{-\\gamma}$ but I found it very hard to make it converge. Instead a normal function worked much better. Example for one grid size:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -L=8 -TSteps=12 -TMin=2.0 -TMax=3.5 -alg=sw -N2=500 -N3=30 -chi=chi_finite_8\n", "# !magneto -L=10 -TSteps=12 -TMin=1.8 -TMax=2.8 -alg=sw -N2=400 -N3=30 -chi=chi_finite_10\n", "# !magneto -L=12 -TSteps=15 -TMin=2.0 -TMax=3.5 -alg=sw -N2=300 -N3=25 -chi=chi_finite_12\n", "# !magneto -L=16 -TSteps=15 -TMin=2.0 -TMax=3.5 -alg=sw -N2=200 -N3=20 -chi=chi_finite_16\n", "# !magneto -L=32 -TSteps=15 -TMin=1.8 -TMax=3.0 -alg=sw -N2=200 -N3=20 -chi=chi_finite_32" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.stats import norm\n", "\n", "def chi_fun(x, x0, sigma, a, b):\n", " return norm.pdf(x, x0, sigma)*b + x*a\n", "\n", "L = 8\n", "T, cv = np.loadtxt(\"chi_finite_{}.txt\".format(L), delimiter=\", \", unpack=True)\n", "popt, _ = curve_fit(chi_fun, T, cv, p0=[ 2.45, 0.1, 0.8, 0.6])\n", "plt.title(\"Example of fit for L={}. Resulting Tc={:.2f}\".format(L, popt[0]))\n", "plt.plot(T, cv, \"o\")\n", "plt.plot(T, chi_fun(T, *popt), \"-\");" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nQmCC\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And for all of them, with the fit:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot critical temps vs inverse grid sizes\n", "grid_sizes = np.array([8,10,12,16,32])\n", "L_inv = 1.0/grid_sizes\n", "\n", "T_critical_array = []\n", "for L in grid_sizes:\n", " T, cv = np.loadtxt(\"chi_finite_{}.txt\".format(L), delimiter=\", \", unpack=True)\n", " popt, _ = curve_fit(chi_fun, T, cv, p0=[ 2.45, 0.1, 0.8, 0.6])\n", " Tc0 = popt[0]\n", " T_critical_array.append(Tc0)\n", "\n", "ax = plt.subplot(xlabel=\"1/L\", ylabel=\"Critical temperature\", title=\"$T_c$ for different L\")\n", "ax.plot(L_inv, T_critical_array, \"o\")\n", "ax.set_xticks(np.arange(0, 0.16, 0.05))\n", "\n", "# Fit with a linear function\n", "def T_fit(x,a,b):\n", " return a+b*x\n", "popt, pcov = curve_fit(T_fit, L_inv, T_critical_array)\n", "x = np.linspace(0, 0.14)\n", "ax.plot(x, T_fit(x, *popt), \"--\")\n", "\n", "# Result\n", "gamma = popt[0]; gamma0 = 1.75\n", "T_c_fit = T_fit(0, *popt)\n", "print(\"Calculated Tc: {:.3f}, deviation: {:.2f}%\".format(T_c_fit, 100.0*(T_c_fit-Tc)/Tc))\n", "ax.axhline(y=Tc, marker=\"\");" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Calculated Tc: 2.280, deviation: 0.47%\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This fit was within 1% of the theoretical value!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Algorithms\n", "We've seen at the beginning that for a lattice length of $L$ there are $2^{L\\cdot L}$ possible configurations. Now one could generate all of them and weigh them with the Boltzmann factor $e^{-H/T}$. A much better approach is to generate the system configurations in a way so that they come out Boltzmann distributed.\n", "\n", "The most popular way to do this is the Metropolis algorithm. It's based on markov chains and uses an equilibrium condition called [detailed balance](http://en.wikipedia.org/wiki/Detailed_balance#Reversible_Markov_chains) to prove a simple assumption: If the system is in a state with energy $E_0$ and we flip the value of a single spin so that the system has now $E_1$, the probability to accept that change should be:\n", "\n", "$$p=\\min\\left(1, \\exp\\left(-\\frac{\\Delta E}{T}\\right)\\right) \\quad \\text{ with } \\Delta E=E_1-E_0$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "ax = plt.subplot(xlabel=\"$\\Delta E$\", ylabel=\"Probability\", ylim=(0,1.1), title=\"Metropolis acceptance probability\")\n", "dE = np.linspace(-2, 2)\n", "\n", "for i, T in enumerate([0.8, 1.5, 3.5]):\n", " ax.plot(dE, np.minimum(1, np.exp(-dE/T)), \"-\", label=\"T={}\".format(T), color=colors3[i])\n", "ax.legend();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEbCAYAAADeeCN4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FNUax/Hvu0moAULvEHovCiIgSigqzQLqVUQExY7t\n4qXYQOSKYEXRq4g0C3bFig0ITQULVTpIL9I7pMx7/9gNhpCEZLOb3Qnv53n2YWdn5sxvZ8menXNm\nzoiqYowxxqTwhDqAMcaY8GIVgzHGmNNYxWCMMeY0VjEYY4w5jVUMxhhjTmMVgzHGmNNYxWBynYhM\nFpERvucXi8iqUGcyZyciG0Wkg5/rxotIvwzmVRGRwyIiaZcVkV4i8p3/qY0/rGJwGd8f50kRKZnm\n9UUi4ohIlSyUESciW4KX8qzU90BV56pq3RBmyTERifXt+7z+93Tqcwvkuqq6WVWL6D8XVaX+//Gu\nql6esqxvP1f3M4PJorz+HzkvUmAD0DPlBRFpBBTE/z/aM4hIRKDKymgTQS4/FFz7nkQkMtQZssG1\n+9ktrGJwp3eAm1NN9wHeItUfjIjkF5HnRGSTiOwUkddEpICIFAamAxV8h++HRKS8iDwhIh+LyNsi\nchDoIyIVROQLEdkrImtF5LZU5acs/76vjN9FpHGq+fV8TQL7RWS5iFyR3htJe/QiIoNFZKuvzFUi\n0j6D9br6jpIOishmERmWZn4bEfnJt/3NItLH93pBEXned+R1QETmikgB37yWqdZZLCJtU5UXLyJP\ni8gC3zaniUhx3+w5vn8P+PbphSJSQ0RmisgeEdktIu+ISLFU5W0UkYdEZIkvx/sikj/V/Kt8GQ6K\nyDoRudz3ejERmSAi2337aURGRypZ+Iw2isggEVkKHBaRCBG5UkT+9O2DWSKS9miuhW/+PhGZmJJZ\nRGJE5CsR+ds370sRqZhm3Zrp7b/MjrhEpK+IzPU9T9nPS3zv518iskxEuqVaPsq3z5ukt09MFqmq\nPVz0AP4COgCrgLpABLAFqAI4QBXfci8C04AYIBr4Ahjpm9cW2JKm3CeABOBK33QBvF94rwD5gCbA\n30C7NMv38GV4CO+RTAQQBawDhgCRQDvgEFDbt+4kYITveVxKFqAOsBko55uuAlTPYD+0BRr4njcC\ndgJX+aar+rZ3vS9PCaCJb96rwEygPN4fRi19768isAfo5Fuuo2+6pG86HtgK1AcKAR8Db6fangN4\nUuWr4fucooBSwGzgxTSf4y9AOaA4sAK40zevBXAA6OCbrgDU8T3/DHgN7xFiaWABcEcG+yjDz8g3\nfyPwh++95wdqA0d8uSOAgcBaIDLV8kt9yxcH5qX6HEsA3fH+v4kGPgQ+S5Uls/0Xm3r/AbOAW33P\n+wJzU5XjpP4/4cv4fqrpq4Alof47dfsj5AHskc0P7J+K4VFgJNAJ+M73h+zg/TIV3x946j+gVsAG\n3/M40q8Y4lNNVwaSgMKpXhsJTEq1/E+p5gmwHWgDXAzsSFP+VGCY73lGFUNNYJfv/UVlc7+MAV7w\nPX8Y+CSdZTzAMaBROvMGA2+lee1b4Gbf81n4KlbfdD3gpO99n/bFlkG+q4E/0nyON6aaHg285ns+\nDng+nTLKAieAAqle6wnMzGCbGX1GF6XK0DfV/MfTfMkK3i/zS1Itf0eq+Z2BdRlsuymwL9V0lvcf\n2asYKgCHgWjf9MfAf0L9d+r2h5vaFc0/FHgbmAtUI00zEt5fkoWA30X+aV3i7E2HW1M9r4D3D/to\nqtc2A83TW15VVUS2+tYD71FMaptSzUuXqq4TkQfxfqE1EO/ZKANUdUfaZUXkQmAU0ADvL/78eH+l\ngrdS25DOJkrh/UW7Pp15VYHr0jR5ReI9ukiR+j1t5p+jgTOISFngJbwVZRG8+35fmsV2pnp+HO9R\nDEAl4OsMMkYBO1J9rh5floxk9hnB6e+pfOqyfMtvwXuEkN7ym1PKEpFCeI9SL8d7NAEQLSKivm/s\ndNbNcP9llapuF5H5wLUiMg3vD6X7clKmsT4G11LVzXi//DoDn6aZvQfvF019VS3ue8SoatGU1dMr\nMs3r24ESIhKd6rUqnF55VE554msfrgRs861bWVJ9e+H9UtuWZnvpva/3VPVi3/KK95d0eqbibSqr\npKoxwOv8UzluxtuUk9YevL+4a6YzbzPepo3iqR5FVPWZVMtUSfM80Vdmeu9lJJAMNFTVYkBvsv73\ntiWDjFvw/soumSpjMVVtlElZ6X1G21PNT/uZV021vPjWT/25pd0HKfMewtsU1cL3ftvi/Twkk3VT\n9l9OTQFuAq7De4R0xg8Jkz1WMbhbP6C9qh5P/aKqOsB4YIyIlAYQkYoicplvkV1ASREpmmo1SVPG\nFuAn4GnxdmQ3Bm7F2/GdopmIdBfvGS0P4v3S/QVYiLfJZpCvMzAO6Aa8n2pbZ5xZIiK1RaS9r0Pz\npK+85AzeezSwX1UTRKQFcGOqeVOBjiJynYhEikhJEWni2y8TgRfE2+EeISKtRCSf731dISKX+V4v\nIN6O8ZRfywLcJN5O9ULAk8BHvl/Du/E2caSujKKBo8AhXxkDM3gfp+0C378TgFt8+8Lj++zq+L7w\nvvflL+KbV0NELsmkzIw+o/R8CHT1bTcK75f9Cbz/D1Ly9fflKYG3OfODVO/3OHDQN2/Y6UVnuv+y\nYxdnVvqfAecD9+M9ejY5ZBWDi6nqBlX9I/VLqZ4PxtsB/It4zzL6Ae8vOlR1FfAesMF3Bkl50j/P\nvCfe9t/teI9KhqpqStOKAp/j7eDdB/QCeqhqsqomAFfgPZrZjbcDu7eqrkm1buptpTzPDzztW2cH\n3maGhzN4+/cAT4rIIbxt4ylfUClHU13wfrHtBRYBKWfj/AdYBvzqm/c03rbtrXg7Lh/B28m+2bd+\nypd1SvPdZF+2fHi/iFDVY8BTwHzf/mwBDMf7ZXUQ+BL4hMxPJ0597v6vwC14m2YO4O24Tfm1fbNv\n2yvw7veP8HZgZ1Rmup9Rugt7P5+bgLF4P4OuwBWqmpSqvHfxVk7r8XZM/9c3bwzeDvE9eCuS6Zz5\nGb9FOvsv1fyM3kPqeU8AU3xnTV3ry30C7//PWM48ejZ+kOxX2MaAeE8PramqvUOdJTeIyCy8TU0T\nQ50lq86lz0hEHgdqqerNZ13YnJV1Pht/nYsXGbntPbstr198TVe34u3HMQFgTUnGX+k1PeV1bnu/\nef4zEpHb8Tb7TVfVeaHOk1dYU5IxxpjT2BGDMcaY07iij0FE7LDGGGP8oKrZ7mtyzRFDqC8Rz8pj\n2LBhIc9gOS2j5bScKQ9/uaZicIONGzeGOkKWWM7AcUNGsJyB5pac/rKKwRhjzGmsYgigvn37hjpC\nlljOwHFDRrCcgeaWnP5yxemqpw/QaIwxJitEBM3Lnc9uEB8fH+oIWWI5A8cNGcEdOUXEHjl4BJIr\nTlc1xpwbrGXAP4GuGKwpyRgTFnzNHqGO4UoZ7TtrSjLGGBMQVjEEkBvaccFyBpIbMoJ7cprwYBWD\nMcaY01jFEEBxcXGhjpAlljNw3JAR3JMzHEVHR1OkSBGKFCmCx+OhUKFCp6bfe++9bJX14osvUr58\neYoVK0a/fv1ISEjIcNl58+ZxwQUXUKxYMWrUqMH48eNz+layzCoGY4zJxJEjRzh8+DCHDx+matWq\nfPXVV6eme/bsmeVyvvvuO0aPHs3MmTPZtGkTGzZsYNiwtLfG9kpOTqZ79+7ccccdHDx4kA8++IAB\nAwawdOnSQL2tTFnFEEBuace1nIHjhozgnpx52ZQpU7jtttuoV68eMTExDB06lMmTJ6e77K5du9i7\ndy+9e3tvSte8eXPq1avHypUrcyVrUK9jEJGJeG8o/reqNspgmZfx3jT+GNBXVRcFM5Mxxn108Tg4\nsCHnBcVUR5remfNyUpk6dSr9+/fPcP6yZcuoVKkSK1asoHv37qdeb9y4Mbt27WL//v0UL178tHUq\nVKhA48aNmThxInfeeScLFixg06ZNtGnTJqDZMxLU6xhE5GLgCPBWehWDiHQB7lXVLiJyIfCSqrZM\nZzm7jsGYPC6z6xjCpWKoVq0aEyZMoH379tlet2bNmvzvf//jsssuAyAxMZH8+fOzceNGqlSpcsby\nCxcupGvXrhw4cACA119/nX79+qVbdqCvYwjqEYOqzhWR2EwWuRKY4lt2gYjEiEhZVd0VzFzGGHcJ\n9K/8UIiOjubQoUOnpg8ePAhAkSJFzlh227ZtdOvWjalTp3LppZeyZs0aunXrRvny5enSpUvQs4a6\nj6EisCXV9FagUoiy5Jhb2nEtZ+C4ISO4J6cbvfvuu6fOUkr7KFq0KFu3bgWgQYMGLF68+NR6S5Ys\noWzZsmc0IwH89NNPVKpUiUsvvRSA2rVr07VrV6ZPn54r7ykcxkpKe5iT7rHkD8Xq5UKUnFmSdJTE\nyMKhjnFWljNnoisWpeLAgZS/plOoo5gw0KtXL3r16nXW5W6++Wb69u1Lr169KFeuHCNGjOCWW25J\nd9mGDRuyevVqZs2aRVxcHBs2bOCrr75i8ODBgY6frlBXDNuAyqmmK/leO8NLnr+pkC8/ANEREdQp\nWIhm0UUB+P2I9/As1NNx0WXDKk9G00WOOGzACZs8btqfmpRE/IbtnLz13zS5ezhlu8bxUfwCSrRs\nSodOlwP//DpPuXYgXKZThEuejPLlVZdffjmDBg2iXbt2HD9+nGuvvZbhw4efmt+lSxcuueQShgwZ\nQr169Xjttdfo378/W7dupVixYtx0003cdtttmW4jPj7+1JlOsbGxfmcN+iB6vj6GL7PQ+dwSGGOd\nzyacadIJnIk3sn/aOrZtiWDHznyc3HOAiOhClL+yPTUH3kaxpuF/dBuObBA9/7lqED0ReQ/4Cagj\nIltE5FYRuVNE7gRQ1W+ADSKyDhgH3BPMPMHmll8+ltN/ElkAzzVPUeK68jSMK0JU0720Gt2bSjd0\nZdc3c5h9wbWsfvIVnMTEUEc9TTjuSxO+gn1W0lkvC1TVe4OZwZhAk5L1oPkNUOADOF6Dkks/olSb\nbtR78kuWPfQsq4aNZccXMzl/ymiKNqgV6rjGZJvdj8EYP2hyIsy4Hz15GE62QKdNgKp18Qx4mR3x\ni1ly1zCSDh2h7ogHqPnQrUhERKgjhz1rSvKfq5qSjMmrJCIKLhiAJBxAqpzE89DLsGsLzquDKd/9\nUtr/+TVlu7VjxeDnmHtxL46s+SvUkY2fAjWI3vLly7n88sspXbo0Hs/Zv3o9Hs9p277jjjty8jay\nxSqGAHJLO67lDAwpXov4Q01g8ywoE4XcPBjWLEJ//ID8ZUpywccvc/47z3Jk5Xrim17N+hcno8nJ\nIcka7vsynAVqEL18+fJxww03MGHChCyvs2zZslPbeuONN/yJ7xerGIzJiartIaYG/PEKtGgLjVqj\nH7yE7t6GiFC515W0+/MrSrVvyfIBTzPvkl4cXh2AoR2M69SuXZtbbrmF+vXrZ3kdx3GCmChj1sdg\nTA7pwb/gxwegQku0Zh/04WuhZmM8g18/dZN2VWXrO5+z7IGRJB8/Qd0n76fmgFus7yGVzPoYnLef\nQTetzvk2qtbB03uQ3+unN1ZSZoPoiQhLly6lUqV/BnRYt24dtWvXPuuXvsfjoXz58jiOQ+vWrXnh\nhReoWrVqhtuxPgZjwogUqwYNboJt85CTfyHXPwjLf0HnTPtnGREq976a9n9+RZnL27Bi0LPMvagn\nh1asC2FyEwg33ngj+/fvT/exb9++0yqF7JgzZw6bNm1i1apVVKhQgW7dupGcW02Rqhr2D2/M8Ddr\n1qxQR8gSyxk4KRmd5CR1pvdTZ9ZAdZKTNWnELZp0+0Xq7Nt1xjqO4+iW977Sb0q20C/yNdDVI1/X\n5ISEXMkZztzwdx4bG6szZszIURlr165VXytIliUnJ2t0dLQuX7483fkZ7Tvf69n+zrUjBmMCQDwR\nULUj7FkOx3fjuW0YJCbgTB55xiG+iFDphq60+/Nryl3ZnpWPvMCcC//FgUUrQpTe5ERWB9HLiZT/\nQ2n/LwWL9TEYEyB6dBdMvwUa9Ebq9cT5egr63gvIvaPxtMx4wL3tn3zH0v5PkrBnPzUH9qPO0P5E\nFCyQi8nDgxuuY8jJ/RgATpw4wYYNG2jYsCHHjx8HIH/+/Gcst2LFChISEmjUqBHHjx/n0Ucf5fvv\nv2f58uVEpNMvZX0MxoQpKVwWSjWCTTNQVaRTL6jeAJ0yCj20L8P1KlxzOe1XfkPlPlezdtQbzGpy\nFXvm/JqLyU1u2LhxI4UKFaJhw4aICAULFqRevX/G1erSpQujRo0CvLf2vOGGGyhWrBg1atRgy5Yt\nfPXVV+lWCkHhT/tTbj9wQdujqjvacVUtZyClzehs+Fadjzqrs2eld3rzGk26+XxNfmVwlsrb9cN8\n/b5ae51GbV1811BNOHg4KDnDkVv+zsNRRvsO62MwJgxUagOefLB5BgBSuRZy9e3oz9PR32eddfUy\nHVvTbtmX1BhwCxvf+JCZ9buwY9qPwU5tzGmsj8GYANNfRsHfi6DbO4gnCk1KxBnWC/b/jefpT5Bi\nJbNUzv6FS1l8+2McWrqa8t0vpdHYxylYsWyQ04eOG/oYwpX1MRgT7qp2gITDsMPbTyCRUXjuegqO\nHcGZOCLLX37FWzSm7W+fUH/UQ+yaPoeZ9Tqz4dV3Qzashjl3WMUQQG4Zj8ZyBk66GcueD/ljYPPM\nUy9J5VrIv+6D32ehc7/IcvmeqChqDb6D9su/onjLpiy790nmtrmRQ8uydxWwG/ZluArUIHrvv/8+\ndevWpVixYpQqVYoePXqwffv2DJe3QfSMyUPEEwGV42D7QjTh8D+vd7oJ6jZD3xqN7sn4CyE9hWtU\nodV3Ezj/7Wc4um4T8ef3YMXDz5N07HiA05u0AjWI3kUXXcScOXM4ePAgmzZtolChQgwYMCDTdWwQ\nvTwg5R624c5yBk6GGau2B02CLXNOvSSeCDx3jgAUZ9zjaDYHSBMRKt90FR1WTafSTVd6T21t0JWd\nX8f7n9PkmsqVK1OmTBnAezZoREQE5cuXz3QdG0QvE9b5bNxGVeGHeyCyENL++dPmObM/Q8c/gfT6\nD57Ovf3exp7ZC1ly9xMcWbme8j0uo9FLj1KwUrmcRg+ZzDqflz34FAcXr8rxNoo1rUujMY/6vX5O\nB9GbN28e3bp149ChQ7Rt25bvvvuOfPnypbuuDaKXR7ilHddyBk5GGUUEqrSHfSvRI6c3G8klV8P5\nceiHL6Nb/R9Er1TbFrRbPI16Iwew65vZzKjXmfUvTsZJSspyTpNz2RlEr02bNhw4cICtW7cSFRXF\nwIEDMyzXBtGzC9xyleUMnMwyOkd3q/NRF3WWv33mvAN7NOnutpr0yL/UScz5AHpHNmzWn7vcrtOo\nrTObXKl7f/ojyznDhRv+zgMxiF6KX375RWNiYrK0rA2i52Juace1nIGTWUYpVArKNIHNM884zJdi\nJfHcOhQ2rUI/G5fjHIWrVebCr8ZxwSdjSdizn7mtb2BRv0c4uXvfWXOanPF3EL3ExEQKFSqUpW2k\n/P9J+/8oWKxiMCaYqnaAozth75kjp0rz9sjFV6JfTEDXLMrxpkSECj0uo/3Kb6g5sB9b3vqcGXU6\n8dfr79m1D0HUq1evU2cOpX0cOnToVFPS1KlT2bJlCwCbNm3i0Ucf5Zprrkm3zBUrVrB48WKSk5M5\ncuQIAwYMoFKlSqeNrRRMVjEEkFvacS1n4Jw1Y8XWEJEfNs1Md7b0HgylK+C8+jB69FBAMkUViabB\nM4OIW/I5xZrWZendT/BS/Tj2L1wakPKNf1asWEHr1q2Jjo4mLi6OVq1a8cwzz5yaH06D6NlZSQEU\nHx/vikN2yxk4WcmoC5+FHQuh27tIxJlnoOj6ZThP9oVm7fDc9+yp24EGgqqy7YNvmNp/CHX2J1L1\ntuuoN/Lf5C9VImDbCBQbEsN/gT4rySoGY4JMd/0Bcx+DCwcjldumu4zz1ST0/TFIv6F42qXfvJAT\niYeOsHr4K2x46S0ii0ZT778PUPWO6/FERgZ8W/6yisF/drqqMW5TpgkUKgMbvs1wEenSBxq2RN9+\nBt22PuARoopG0/D5Id7mpfPqsbT/k8xu1sPu+2DSZRVDALmhTRwsZyBlJaNIBFTrBLuXoIfTP0NF\nPB7vQHsFCuK8MhhNOBGUnEUb1KL1j5O54OOXSTxwmPltb+K3ngM4vnVnQLdn3M0qBmNyQ+xlIBGZ\nHzXElMJz51OwZS069YWgRRGRU3eNqzO0Pzs++4EZdTqxZuTrJJ84GbTtGvewPgZjcon+/BTsXgZd\n30q3EzqFM/V59Ju38Dz4ItLcv3sLZ8fRv7bw50Oj2fHZDxSqVokGzw+h/NUdA9oJnhXWx+A/62Mw\nxq2qd4GEQ7BtfqaLyb/uh2r1ccYPQ/cGv4mncLXKtPj0FVr9MImIQgX5tce9/NShDweX5nxsIuNO\nVjEEkBvaxMFyBlK2MpZpAoXLw4ZvMl1MIqPw9B8FyUk4/3sYTT5z7KPsykrOMh1bE7d4Go1fHcqh\npauJP687S+4aeurq6dwgIvbw4xFoVjEYk0tEPFC9M+z5Ez24KfNly1VF+j4Kq/9AP3ollxKCJzKS\navf0osPa76l+301sevNjfqx1GetemISTkBDUbasqs2bNCvnYbFl5hGPOQApqH4OIdALGABHAm6o6\nOs38UsA7QDkgEnhOVSenU471MZg8QU8ehK97Q/UuSNO7zrq8M3EEOvNjPP9+CWkWF/yAaRxeuZ7l\nA57m72/nUrhmVeo/MzAk/Q/GP2HXxyAiEcArQCegPtBTRNIO9HEvsEhVmwJxwPMiEj5X3BgTYJK/\nGFS8CDbNQJPOfkqq3DTI298w7jF015ZcSHi6IvVq0Gr6m7T85g08+aL4tce9zI/rzYHfl+d6FpN7\ngtmU1AJYp6obVTUReB+4Ks0yO4CivudFgb2qmvMG1RBxQ5s4WM5A8itj9S6QeBS2zj3ropIvP577\nnwMRnJcf8vv6hpzuy7Kd2xK35HMav/YEh1euZ3bza/j95kEBv/7BDZ85uCenv4JZMVQEUv/E2ep7\nLbXxQAMR2Q4sAR4IYh5jwkOphlCk8lk7oVNI6Yrei982rUbfGn32FYLEExlJtbt60nHt99QcfDvb\nP5zOjNqXs/LxMSQePhKyXCbwgtlsk5VOgUeAxaoaJyI1gB9EpImqHk67YN++fYmNjQUgJiaGpk2b\nnhq8LKX2tumsTae8Fi553DwdFxeX7fVnz56N7q5MXIGf0APrmb14S5bWv+TK29Av3mTm0Qg8Tdpk\nO2+KnL7/+Yt+h07N6XDXDawY8jyf/Pd58r0ynutGPkrV265jzvz5fpfvz/4M1XSKcMmTsu8mT54M\ncOr70h9B63wWkZbAE6rayTf9MOCk7oAWkW+Ap1R1vm96BjBYVX9LU5Z1Pps8RRMOw1e9IbYjcv69\nWVvHScYZdResXYLnibeRqnWCnDJr9i1YwoqBz7B37m8Urh1Lg9EDKXdVB+ugDgNh1/kM/AbUEpFY\nEckHXA98kWaZVUBHABEpC9QBNgQxU1Cl/SURrixn4PibUfIVgcqXwOZZaOKxrK3jifBe3xBdFOfl\n/6DHzjiwDnjOrChxYRMumv0OLT7/H+LxsLB7f+Zd0ot9vyzOdllu+MzBPTn9FbSKwdeJfC/wHbAC\n+EBVV4rInSJyp2+xkUBzEVkC/AgMUtXcu5rGmFCq3gWSjsOW2VleRYqVxHPfs7BnO864x1HHCWLA\nrBMRyl/ZgXbLvqTJuCc5unYTc1tdz8Jr7+fwatf+1jtn2VhJxoSIqsKP94J4oMPL2Wp6cb59F33n\nGeSau/F0P/v1ELkt6chR1j0/iXXPTcA5fpIq/a6lzrD+FKxQNtTRzinh2JRkjMmEiHiPGg6sh32r\ns7fu5Td67xf9yWvob+nfNjSUIqMLU3fYvVy6/kdi77mRzZM+ZUbNy1jx8PMkHgjMLUxN8FjFEEBu\naXe0nIGT44xV20NUNKz9NFuriQhyy2NQoyHO64+iW9Zmunyo9mX+MiVp/PJjdFg1nfLdO7J21Bv8\nUL0ja599k+TjZ16T4YbPHNyT019WMRgTQhJZ0Dt+0taf0KPZu1hM8uXH8+CLUKAwzosPokcOBill\nzhWuXplm7z5P3KJpFL+wMSsGPcuPtS5j4/gPcRITQx3PpGF9DMaEmB7fA9/cAjWuQJrekf311y3F\n+e+tULcZnoGvIhHhP6rMnvgFrHjkRfb/vIjCNatS98n7qXh9F8Rjv1UDyfoYjHEpKVjKe+rqxu/Q\nhOxfQSw1G3ublZb/gr73YhASBl6puAu5eP57XPjl60QUKsDvNz5E/HlXs/PLmXaznjBgFUMAuaXd\n0XIGTsAy1u7hPXX1r4xv/ZkZT9urkct7od++gzMn7eVC4bkvRYRy3doRt2gazd57geRjJ3jzyj7M\nbX0Du2f+HOp4mQrH/RlIVjEYEwYkpgaUbgLrvkAd/8aRlBsHQP0W6KQR6LqlAU4YPOLxUOmGrrRf\n8TU1/9OP41t38lOHvsxv15u9c3876/om8KyPwZgwoTsWwvwnoMVApEo7/8o4fABn6I2QcBLP8HeQ\nUuUDGzIXJJ84yabxH7Jm5DhO7txN6Usvou6IByhxYZNQR3Mdf/sYrGIwJkyoOvD93RCRHzq85PdY\nQ7ptPc7wPlCiLJ6hU5BC0QFOmjuSjh1n42vvsXbUGyTs2U/ZrnHUffJ+Ys5vEOpormGdz2HALe2O\nljNwAplRxAO1usOBdbDH/xvhSMUaeO5/HnZsxBk7EE1OcsW+hNP3Z2ShgtR86FYu/WsG9Z5+iH0/\nLWJ2sx4s6N6fA4tWhC4k7vi/mRNWMRgTTqq2g/zFYE32LnhLSxpeiNzyKCz7CZ3ytKvP9ImMLkzt\nIXdw6caZ1B1+H3vjFzL7/O5hUUHkVdaUZEyY0T/fgZVT4fI3kCKVclSW88FL6JcTkRsH4OnSJ0AJ\nQyvx4GE2vPwW61+YTOKBQ5S7uiN1hvYn5rz6oY4WdqyPwZg8Qk8cgG/6QOylWb5XQ4ZlOQ76ymD0\n1x/w3P/2O3GFAAAgAElEQVQ8ckGHAKUMvTMqiKs6UOfxe4hp1jDU0cKG9TGEAbe0O1rOwAlGRikQ\n4x1DaeOP6MmcDXMhHg9y1wjiI0rjvPYIut7/vovckJ39GVWsCHUe7+9tYnryfvbO/pXZza/h5y63\ns+/nRcELiTv+b+aEVQzGhKNa3cFJgPVf57goyVcAz7X3QrESOC/cj+7ZHoCA4eNUBbFpFvWe+jcH\nFi5lbusbmN+xL3tmLwx1PFeypiRjwpTOGwb710KXSUhE/pyXl3Iaa0wpPI9PRorEBCBl+Ek6cpSN\n4z5g3bMTOLlrDyUvbk7tx++hdMfW59ztRq0pyZi8ps61cPIAbJgekOKkYg08A16C3dtwnrsXPZG1\nW4q6TWR04VOnuTZ6+TGObtjCz5fdypwLr2PHtB/D5q534cwqhgByS7uj5QycYGaU0o2gdGNY/TGa\nnJCjslJySt1mePqPhg1/4owdhCaF15DXgdyfEQULUP2+3nRc/yNN3hhBwt4DLOzen1mNrmDLO5/j\nJPk39Eigc4YjqxiMCWf1boQT+/weXC890ry99xqHJXPRN4e7+hqHrIjIn4/Y2/9Fh9Xf0uzd58Dj\n4Y/eg5hR+3I2jnuf5BMnQx0x7FgfgzFhTuMHwZEd0HkCEpEvYOU6n72OfvIa0q0vnhv+HbByw506\nDju/msWap17nwMKl5C9XmhoP3kzsXT2JKlYk1PECyq5jMCaP0r8Xw5xHoOndSM0rAleuKjp5JDrj\nQ+TGh/B0uTlgZbuBqrJn1i+sHTWe3T/MJ7JoNLF396TGAzdToHyZUMcLCOt8DgNuaXe0nIGTKxlL\nN4GSDWD1R2iyf30C6eUUEaTPELigIzr1eZz5OT81Nqdy8zMXEUq3b0Xr7yfS9rdPKNPpYtY9O4Ef\nYtuz+I7HObJ2Y1jkDIWzVgwicqWIWAViTIiICNS/EY7vgY3fB7ZsTwSeu0dCveboG0PRJfMCWr5b\nxDRryAUfjKHD6m+pcus1bHlrGjPqdGLhtfezb8GSUMfLdWdtShKRd4FWwMfARFVdlRvB0mSwpiRz\nTlNViP8PHNsDnd5EIqICW/6xwzgjb4dtG7z3ja5/QUDLd5sTO3ez4eW32fjaeyQeOESJNs2oObAf\n5bq1c9V9qYPaxyAixYCeQF9AgUnAe6p6OLsb9IdVDMaA7vwD5j0G59+LVO8S+PIP78f5762wZwee\nIeOQWnZjnMTDR9g88RPWvziF45u2EV2nGjUeupXKva8iokDOLzoMtqD2MajqQbxHDB8AFYDuwCIR\nuT+7G8zL3NLuaDkDJ1czlj0PStSFVR+gTvb6GrKSU4oUxzPkDYgpjfNsf3TjSj+D+i/cPvOoItHU\neKAPHdd9T7OpzxNRqCBL7nic58ufz+onX+Hk7n2hjhgUWeljuEpEPgPigSjgAlXtDDQGBgQ3njEm\nxam+hmO7YeOM4GyjeGk8D78BBaNxRt+NblsflO24jScykko9u9H2909pPWMyhWvHsmrYWL6vEsfi\nO4dyeGXe2k9Z6WOYAkxQ1TnpzOuoqj8GK1yq7VhTkjH4+hpm/htOHoRO4xFPZHC2s3MzzohbQATP\nYxORclWCsh03O7xyPevHTGHLW9NwTpykbJe21BhwC6XatwybMZmC2ZS0K22lICKjAXKjUjDG/MN7\n1NALju2CTcE5agCQclXwPDwOkhJxnr4D3bMjaNtyqyL1atB03JNctjmeuk/ez4HflvNTx77EN72K\nTRM/dvUV1VmpGC5N57XA93zlAeHWPpoRyxk4IclYrjkUrw0r38/ydQ3+5JRKNfEMeR2OH/FWDvt2\nZbuM7HLDZw6n58xfuoR32O/N8Zw36WlQZXG/R/m+cltWPj6G49uDv98CLcOKQUTuFpFlQB0RWZbq\nsRFYmmsJjTGnERFo2Md71LD+y+BuK7YenoGvwsG9OE/dhu5135dcbonIn48qfXsQt+QLWs+cQomL\nzmfNU6/zQ9X2/N7rIfYvdM/XZoZ9DL5TVIsDo4DBQEo71WFV3Zs78U5lsT4GY9LQuY/DvtXeMZTy\nBXeMH127BGf03VC0BJ5H30RKlgvq9vKKo+s3s+GVd9g84WOSDh+leMumVL+/NxWuuQxPvsCNe5WR\ngF/HICJFVfWQiJTEe+3CaVT1rOdpiUgnYAwQAbypqqPTWSYOeBHvGU97VDUunWWsYjAmDT3wF/x4\nL9TugTTuF/ztrVvqrRyKxOB55E2kVPmgbzOvSDx8hC2TP2PDy29zdN0m8pcrTeyd1xN75/VBHZcp\nGJ3P7/n+/T2Dx9kCRQCvAJ2A+kBPEamXZpkY4FXgClVtCFyb3TcQTtzYPhrO3JAzlBklphrEdoR1\nn6NHM2/iCUROqdnY2+dw5CDOU/2CcotQN3zmkP2cUUWiqX5fbzqs/paW08cTc359Vg9/he+rtOO3\nGx9i309/hNXw5xlWDKra1fdvrKpWS/vIQtktgHWqulFVE4H3gavSLHMj8ImqbvVta49/b8OYc1T9\n3iAR8OdbubI5qdEIz5BxcPQQzn/7obu35cp28wrxeCjb6RJafv0GHdZ+T/X7bmLXN7OZe1FPZje/\nhk0TPiLp2PFQx8y0Ken8zFZU1T8yLVjkWuByVb3dN30TcKGq3pdqmZQmpAZAEeAlVX07nbKsKcmY\nDOjyKbDqA+jwElK8Vu5s86+VOKPugAKFvX0OZSrlynbzoqQjR9nyzhf89epUDi9fQ1RMUSr37U61\nu3sSXTsrv8Ez5m9TUmZXx7xAOn0LqbQ7S9lZ+SaPAs4HOgCFgJ9F5BdVXZt2wb59+xIbGwtATEwM\nTZs2JS4uDvjnsM6mbfqcnN5ZBlafIK70BPSSp5k9e3aubL/tw2/gjLqTmXddjefG/9Du2hvCY3+4\nbHreb79C3fK0W/oF++b9zsfDRrPo5TdoOGYKpTu2ZkfbhhRv1ZT2HTqctbz4+HgmT54McOr70i+q\nGpQH0BL4NtX0w8DgNMsMBp5INf0mcG06ZakbzJo1K9QRssRyBk64ZHTWfqHOR53V2b4w3fnByuls\nXKVJd8dp0t1t1dm4Msflhcv+PJtg5zy+429dNeJV/bbSJTqN2vptxYt15RNj9djWndkqx/fdme3v\n78yuY2jv+/caEemR9pGFOuc3oJaIxIpIPuB64Is0y3wOtBGRCBEpBFwIrMhinWaMSVG9M0RXgGUT\nUSc51zYrVevgeXwSROX3XuewZlGubTsvK1CuNHUeu4dL/5pBi89epWjDWqx+Yiw/VG3HgqvvYde3\nc1DHCdr2M+tjGK6qw0RkMumfrnrLWQsX6cw/p6tOUNWnReRO3/rjfMv8B7gFcIDxqvpyOuVoRjmN\nMV66dR78MhKa3Y9U65S7296zA2fUnbB/F54HX0Qatc7V7Z8Ljq7fzMbxH7J54ick7N5HoWqVqHr7\nv6hy6zUUKFsq3XXsns/GnOM05WY+R3d5b+YTWSB3t39wr/c6h23r8fQfjbTomKvbP1ckn0xg57Qf\n2fj6e+yJX4hERlLuqg7E3n4dpS+96LQbCQVtED0RKSUiY0VkkYj8ISIv+S56M2mkdAKFO8sZOOGU\nUUSgUT84sQ/WfHravNzIKcVK4nn0TajeEGfsQJw5n2e7jHDan5kJZc6I/PmoeH0XLpr1Nu1XfkP1\nB25mb/wCfu50Gz/W6Mjq//6P49tyNnRJVgbRex/4G+iB9wK03Xhv2GOMCTNSqj5UagOrPkSP7sz9\n7Rcuimfwa9DwQvSNoTjfvpPrGc4lRerWoOFzg7ls21yav/8ihWpUYdXjL/F9lTgWXHW33+Vm5X4M\ny9V7VXLq15apaiO/t5pN1pRkTNbpsT3w3R1Qpgly0bDQZEhMwPnfw/Drj0jXvsj1D7jqXsludnT9\nZjZN+JjNkz6l8875weljEJEXgF/55yjhOqCFqj6U7cR+sorBmOzR1Z/AsgnQeihSoWVoMjjJ6Fuj\n0R8/QFp1Ru54EokK/sBxxstJTCQiX77A9jGIyBEROQzcDrwLJPge7wF3+Bs2L7P20cByQ86wzVjr\nKihaFRa/jiadCElO8UQgfR5G/nU/+vN0nGfvQY8dznSdsN2fabghpycqyv91M5qhqtGqWsT38Khq\npO/hUdXgjvFrjMkR8UTCef3h2N/e4TJClUMEz5X9kLv+C6sX4Yy4JVdu+GNyJkunq4pIcaAWcOr8\nN03nHtDBYk1JxvhHf30eNs+GS19FilYObZZlP+O8NAAKF8Uz8FWkUs2Q5jkXBPN01duBOcD3wHDg\nO+CJ7G7IGBMCjW6FyAKw6H8hH9ZZGrXC89hESErCebIvuvK3kOYxGcvKaQIP4B1Ce6OqtgPOAw4G\nNZVLuaHdESxnIIV7RilQHBr2IT5+JmyZHeo4SGw9PE+8BTGlcEbdiTN72mnzw31/pnBLTn9lpWI4\noarHAUSkgKquAuoEN5YxJmCqd4LoSrB0PJp4NNRpkNIV8Qx7C+o2Q8cPw3n/xaCO+2OyLyunq34G\n3Ir3yKEDsB+IVNUuwY93KoP1MRiTA7pvDcz8N9S8Eml6Z6jjAKBJiejbo9EZH0GzdnjuHokUKBTq\nWHlKroyV5Ls/c1G8w2knZHdj/rKKwZic0z9ehQ3TfTf0qRHqOIBv2P/vp6LvPAdVauEZMBYpWTbU\nsfKMoHU++wpvJiIPAI2BrblZKbiJW9odLWfguCEj+HI2vBnyF4Xfx6BOUqgjAb7TWS/vhec/Y2HX\nVmb264yuXx7qWGflls/dX1k5K2koMBkoAZQCJonI40HOZYwJMMlXBM6/Fw6sD+m1DemRJm3wDJsC\nkZE4/70V5+fpoY50TstKH8MaoLGqnvBNFwSWqGrtXMiXksGakowJEF34LGyZA+1fRIqH17UEenAv\nzksPwZpFSJc+yPX3IxGZ3YHYZCaYTUnbgIKppgsAW7O7IWNMmGh6F+QvBr+9gCYnhjrNaaRYSTyP\njEc6Xo9+MwXnmXvQw/tDHeuck9lYSWNFZCzeaxb+FJHJvru5LceuY0iXW9odLWfguCEjnJ7T26R0\nHxzcCCunhixTeuLj45HIKDx9H0FuHw5rFuE8fiO6cWWoo53GLZ+7vzI7Rvsd7y09fwOm8c/tPeNJ\n51afxhj3kAoXolU7wqqP0AqtkBK51jKcZZ62V6OVauK8NABneB/ktmF4Luoa6ljnhKyOlZQfSPmf\ns0pVc/X40/oYjAk8TTgCP9wDkQWh41gkIjyHxNaDe3HGDoJVvyGdbkJueBCJ9H/k0HNJMMdKigPW\nAK/6HmtFpG22Expjworki4ZmD8DhLfDn26GOkyEpVhLPkNeRy3uh376DM/I2dK+N0BpMWel8fgG4\nTFUvUdVLgMuAF4Mby53c0u5oOQPHDRkh45xSrhlU6wxrPkX3rMjdUOnIMGdkFJ7eg5D+o2DzGpzH\nrkeXzM/dcKm45XP3V1YqhkhVXZ0yoapryLxvwhjjJo37QaHS3rOUkk6EOk2mPK0643nyPe8gfM/e\ng/PhWDQ5PC7Wy0uych3DJCAZeAcQoBfgUdVbgx/vVAbrYzAmiPTvxTDnEajWCWl2f6jjnJWePO69\nbejsz6Buczz9n0aKlwl1rLATtLGSfB3P9wIX+V6aC/xPVU9mO6WfrGIwJvh02SRY/RG0GIRUiQt1\nnCxx5n2JTvov5C+E556nkYahub91uApK57OIROK9yvl5Ve3he7yYm5WCm7il3dFyBo4bMkIWczbo\nDSXrwR9j0cOhuYY1u/vT0+YKPE9OhSIxOKPvwvngJTQp+CdNuuVz91emFYOqJgGrRaRqLuUxxoSI\neCLhwiHgiYQFo9Bkd4yVKRVr4Bn+LtK2O/rlRJzhfdCdm0Idy9Wy0pQ0F+9d2xYCKXf5UFW9MsjZ\nUmewpiRjcoluXwA/DYcaXZHz+oc6Trbowh9xJgyHpETk5sHIJVcjku2WlDwjmH0MKdcspC5cVTXX\n7hNoFYMxuUuXvAlrP4WWjyCV2oQ6Trbo3l044x6FFb9Ci0vx9BuKFC4a6lghEfA+BhEpKCL/Bv4F\n1AXmq2q87xH6m8eGIbe0O1rOwHFDRvAjZ6O+UKIO/DYGPbIjGJHSFYj9KSXL4hkyDrn+Afh9Fs7D\n16Irfs15uFTc8rn7K7M+hilAM2Ap0AV4LlcSGWNC7lR/g3hgwdNhNwrr2YgnAs8Vt+IZOgXy5cd5\n+nacd55FE8L7Oo1wkWFTkogsU9VGvueRwK+qel5uhkuVxZqSjAkB3fYT/Pxf372i7wp1HL/oiWPo\n+2PQHz+A8rF47hyB1Gwc6li5Ihinq566nNB3dpI/oTqJyCoRWSsigzNZ7gIRSRKRHv5sxxgTHFKx\nNdS8CtZ9gW6OD3Ucv0iBQnj6PoJnyDhIOIEzvA/OBy+jie446yoUMqsYGovI4ZQH0CjV9KGzFSwi\nEcArQCegPtBTROplsNxo4FtO7+B2Hbe0O1rOwHFDRshhzsa3QqmG3v6GfWsClik9wdyf0rAlnqc/\nRi65Ev1yAs5Q/+/z4JbP3V8ZVgyqGqGqRVI9IlM9z0oXfwtgnapu9A3T/T5wVTrL3Qd8DOz26x0Y\nY4JKPFHQ6lEoUBx+ehI9vifUkfwmhYrguX04nofGwqH9OMNuwvnktVy5KM5NsnQ/Br8KFrkWuFxV\nb/dN3wRcqKr3pVqmIt4xmNoDE4EvVfXTdMqyPgZjQkwP/gWz/gNFKkHcM0hE/lBHyhE9chB9axT6\n0zdQqQaefsOQWk1CHSuggnnPZ39l5Zt8DDDE960vuLwpyZi8TIpVgxYDYf86b7OSy3+sSXQxPPc8\n7T16OH4U58k+OG+NQo8fPfvKeVwwh8/eBlRONV0ZSDsASzPgfd+ViaWAziKSqKpfpC2sb9++xMbG\nAhATE0PTpk2Ji4sD/mnvC/V0ymvhkiej6TFjxoTl/nPj/kybNdR5MppevHgxDz74YI7LkwotmXWs\nOXz7KXFFY6He9a7fn7MPOmiXB2m7awn6w/vM+vwTPJ1uot3tD2S4fqD2Z6Cn4+PjmTx5MsCp70u/\nqGpQHngrnfVALJAPWAzUy2T5SUCPDOapG8yaNSvUEbLEcgaOGzKqBjan4zjqLHhGnY86q7N1fsDK\nVQ39/nTWLNakQVdrUq/Gmjx2kDoH9qS7XKhzZpXvuzPb399B62MAEJHOeJuLIoAJqvq0iNzp+6Yf\nl2bZSVgfgzGuoMkJED8IDm2Gds8hMdVDHSlgNCkR/XICOm085C+I/Ot+pP01iCci1NGyLWhjJYUD\nqxiMCT96fB/MfMB7dXS7F5CCJUMdKaB02wacKSO9Yy5Va4Cn7yNIjYahjpUt4dj5fM5J3T4azixn\n4LghIwQnpxQsAa2HQcIRmPsYmnA4x2WG0/6UitXxPDweuWcU7NuF88RNOJOeQo8eCqucwWAVgzHG\nb1K8JrR+HI5sg/nDw/6e0dklInhad8bz7DTkshvRmR/jDLwSZ8l815+VlRlrSjLG5JhunQe/PA3l\nmkPrx72D8OVBumkVzuSRsHYJ1GqC56ZBYd28ZH0MxpiQ0vVfw6JXoWoHaP5vRPJmg4Q6Djr3C/TD\nl+HgXqTNFcj19yPFy4Q62hmsjyEMuKXd0XIGjhsyQu7klBpdof5NsGkGLJ3oV1OLG/aneDzM0Rg8\nz36BdLsF/eVbnP9cifP5+DwzrLdVDMaYwKnXE2pc4b3725qPQ50mqKRQNJ4bHsQz+jNo1Ar96BWc\nQd3RBd+7vv/BmpKMMQGl6sDCZ2HLbGj2IFLtslBHyhX65wKcd5+DzWugVlM8Pf+N1G4a0kzWx2CM\nCRvqJML84bBrkbe/IbZjqCPlCnWS0dnT0E9egwO7oVk7PNc/gFSoFpI81scQBtzQPgqWM5DckBFy\nP6d3qO7HoExT+O1F9K/vs7Se2/eneCLwtLsGz3NfINf2hz8X4gy5BmfiCPSAe4Yrt4rBGBMUElkA\nLhoKZc+H38egG6aHOlKukQKF8Fx9B57nv0Q6XIfOnobzUDecT/6HHjsS6nhnZU1Jxpig0uQE+Pkp\n2PkrnNffe/bSOUZ3bkY/Gosu+B6iiyFd+yKX3oAUKBTU7VofgzEmbGlyIvwyEnYsgKZ3IzWvCHWk\nkNC/VuB8/D9YMheKlkCu7Ie0vw7JF5ybHlkfQxhwe/touHFDTjdkhNDnlIgoaPUIVGgJi19D105L\nd7lQ58wqf3NKtfpEDHwFz9ApUKkm+s6z3iamGR+G1e1FrWIwxuQK8URBy0egYmtY8ga6Om9f55AZ\nqd2UiEfG43n4DShVHp30lPciuRkfoYkJoY5nTUnGmNylThL8+rz3OoeaV0OT2/Ls8BlZoaqwZB7O\nZ6/D+uVQoizSrS8S1wPJVyBHZVsfgzHGNVQdWPImrJsGlS6GCx5CIvKFOlZIqSos/xnnszdgzSIo\nVgrperO3D8LPTmrrYwgDeb19NLe5IacbMkL45RTxIE3vgMa3wda5MPdxNOFI2OXMSFDubyGCNGqN\n5/FJeB55EypWR6e+gPPvLjifv4kePRTwbWYkb46Na4xxBandAy1QAn59AeIHok6nUEcKORGB+hcQ\nUf8CdM1i7+B8H41Fv5yAtLsG6dQbKVk2uBnc0ERjTUnG5G3692L4aQREFYY2TyLFYkMdKazoplXo\n11PQX74DEaR1F6RrH6RSzUzXsz4GY4yr6YENMG8oJJ+EVo8iZUI7AF040t3b0Olvo/GfQcIJOO8S\nPF36QN1m3iONNKyPIQycy+2jweCGnG7ICO7IKTHViY/oAQVLeu8hvfbzsB2+OlT7U0pXxHPzEDwv\nfYv0uBvWLsV5qh/OYzfgzP0yYKe6WsVgjAkbUrAEtHsByreAJeO8A/Alh/68/nAjRYrj6XGXt4Lo\nNxSSEtBxj+E82Anns9fRg3tzVn641sipWVOSMecWVQdWvgcr3oXitaDVY0ih0qGOFbZOner67buw\nZB5E5UNadSbizhHWx2CMyVt0+y/em/5E5Pf2O5RqEOpIYU+3/4V+NxWd9wWRExdaH0OouaEdFyxn\nILkhI7g3p1RoCe1fhKhCMHsIuv7rsOh3COf9KRWq4bnlUTwvZe0eGOmxisEYE9akaBVoP8Z7X4dF\nr8Kvz6GJx0IdK+xJdDH/1w2H2vdsrCnJGOPtd3gfVkyFwmXgwsFIiTqhjhXW7DoGY8w5Qff8CQuf\ngeP7oOHNUPuac3oQvszYdQxhIJzbHVOznIHjhoyQt3JKqQbQ8RWo0AqWTfJe83B8X/DDpeKW/ekv\nqxiMMa4j+YpAy4fh/Pth70r44R50x6+hjpVnWFOSMcbV9NBmWDAKDm6Eap2gcT8kqnCoY4UF62Mw\nxpyzNDkB/nwH1nwKBYvD+fch5VuEOlbIhW0fg4h0EpFVIrJWRAanM7+XiCwRkaUiMl9EGgc7U7C4\npd3RcgaOGzJC3s8pEfmQxrdC+xcgKhrmP4EufA5NOBzYgD5u2Z/+CmrFICIRwCtAJ6A+0FNE6qVZ\nbANwiao2BkYAbwQzkzEm75IStaHDy1DvRu+tQ7+7C902P9SxXCeoTUki0goYpqqdfNNDAFR1VAbL\nFweWqWqlNK9bU5IxJlv0wHr4bQwcWA8V20CTO5BCpUIdK1eFa1NSRWBLqumtvtcy0g/4JqiJjDHn\nBImp4R1Oo0Ef2LEQvrsdXfUhmpwY6mhhL9i39szyz3wRaQfcClyU3vy+ffsSGxsLQExMDE2bNiUu\nLg74p70v1NMpr4VLnoymx4wZE5b7z437M23WUOfJaHrx4sU8+OCDYZMno+lA70/xRBK/qyxa8Gbi\niv0JyycT/8UUqHEF7a65y+/yw3V/xsfHM3nyZIBT35d+UdWgPYCWwLepph8GBqezXGNgHVAzg3LU\nDWbNmhXqCFliOQPHDRlVLWcKZ8dv6ky/TZ2POqszb7g6h7f7VY5b9qfvuzPb393B7mOIBFYDHYDt\nwEKgp6quTLVMFWAmcJOq/pJBORrMnMaYc4c6ibB2Gqx4DzQZaveAOtchUYVCHS3gwvY6BhHpDIwB\nIoAJqvq0iNwJoKrjRORNoDuw2bdKoqq2SFOGVQzGmIDS43tg6UTYEg/5ikLd66FGNyQiKtTRAiZc\nO59R1emqWkdVa6rq077XxqnqON/z21S1pKqe53u49qqU1O2j4cxyBo4bMoLlTI8ULIVcOAg6vAQx\nNWDpePjuNnTjj6gmZ7quW/anv2ysJGPMOU2K10IueQouHgn5Y+C3F+CHe9HtC8LipkChYENiGGOM\nj6rCtnmwfAoc2Q4l6nqbmMq3QCTbLTIhF7Z9DIFgFYMxJjepkwQbf4BVH8KxXRBTHereABVbu+re\nD2Hbx3AucUu7o+UMHDdkBMuZXeKJRKp3hk7jofkASE6AX0bC93ejm2Ywa+aMUEcMqmBf4GaMMa4l\nnkiI7YhWbQdb58OqD+DX52G9olWOQWxHJLJgqGMGnDUlGWNMFqmqd3iNVe/DvtUQVRhiL4eaVyCF\ny4Y63hmsj8EYY3KR7l3lvVBu2zzv4D8VW0LNq6FUg7DpqLY+hjAQLu2jZ2M5A8cNGcFyBlp8fDxS\nsi7Scgh0ngR1roG/l8LsQTDjAXTDt2jisVDH9JtVDMYYkwNSqDTS6Bbo+hacfy84ifDHy/B1b/T3\nl9B9q113PYQ1JRljTACpKuxbBX99C1vmQPJJKFbNez/qKnFIviK5lsX6GIwxJsxo4lHYHA9/fQcH\n1oEnCipcCFXaQbnmiCe44zJZH0MYcFP7qBu4IacbMoLlDLSs5pSowkiNrkjHl723HK3WCXYvg59G\nwJe90N/HoruXoeoEN3A22XUMxhiTC6R4TSheE21yO+xaBJtnweaZ8Nd0KFQardQWKl0ExWuH/Kwm\na0oyxpgQ0aTjsP0Xb3PTrj+894coWAoqtoaKF0Gp+ohE+F2+9TEYY4yLacJh78Vz2+bDzj/ASYD8\nxaBCS6jQCko3RiILZKtM62MIA3mtfTTU3JDTDRnBcgZaMHJKviJI1Q5I66Fw5XvQ8hEo09R7ZtP8\nJ4+E4e8AAAerSURBVOCLG9B5w9B1X6JHdwZ8+6lZH4MxxoQZiSwIldpApTZocqK3w3rnr97H4l9h\n8WtokcpQ7gIodz6UrJ/to4lMt++GJhprSjLGGC89vM1XSfwGu5eCkwSeSChZH8o08R5lFK+NeCKs\nj8EYY841mnQC9iyHv5fA34vhwHrvjMiCULoRnjbDrY8h1M7l9tFgcENON2QEyxlo4ZJTIgsg5Zoj\njfshHcfCFe9By4ehShwc3up3udbHYIwxeYTkLwaVLvY+AJjgXzluaKKxpiRjjMk+O13VGGNMQFjF\nEEDh0u54NpYzcNyQESxnoLklp7+sYjDGGHMa62Mwxpg8yvoYjDHGBIRVDAHklnZHyxk4bsgIljPQ\n3JLTX1YxGGOMOY31MRhjTB5lfQzGGGMCIqgVg4h0EpFVIrJWRAZnsMzLvvlLROS8YOYJNre0O1rO\nwHFDRrCcgeaWnP4KWsUg3vvRvQJ0AuoDPUWkXpplugA1VbUWcAfwWrDy5IbFixeHOkKWWM7AcUNG\nsJyB5pac/grmEUMLYJ2qblTVROB94Ko0y1wJTAFQ1QVAzP/bu7cQq+oojuPfX2ZR2YWJsotCBF0f\nogJLulBRihZ0oSKC6CLZQEnRQ0Vp4EugFRQUVoQ+SfXQjYm01DCIohtpaWkmNJGVFpZ2z8rVw/6b\nZ5/OZc90ztn7wO8Dw+zL4sxynXHW2Xv//3tLGt/FnLpq27ZtZadQiPPsnH7IEZxnp/VLnqPVzcZw\nJPBlzfqmtK1dzIQu5mRmZm10szEUHUZUf8W8b4cfDQ8Pl51CIc6zc/ohR3CendYveY5W14arSpoM\nzI2IaWn9bmBnRMyviXkceD0inknr64FzImJL3Wv1bbMwMyvTaIardvNBPe8Dx0g6CvgauAq4ui5m\nCJgFPJMaybb6pgCj+4eZmdnodK0xRMRfkmYBrwJjgIURsU7SYNr/REQskXShpI3AL8AN3crHzMyK\n6YuZz2Zm1juVnPks6QFJ69Kkt+clHdgkru0Eui7neaWkjyX9LenUFnHDkj6StErSuxXNsexaDkha\nLmmDpGWSDmoSV0ot+2WyZrs8JZ0raXuq3ypJc0rIcZGkLZLWtIipQi1b5lmRWk6UtDL9H18r6dYm\ncSOrZ0RU7guYAuyRlucB8xrEjAE2AkcBY4HVwAk9zvN44FhgJXBqi7jPgYGSatk2x4rU8n7gzrR8\nV6P3vKxaFqkPcCGwJC2fDrxdwntdJM9zgaFe51aXw9nAKcCaJvtLr2XBPKtQy8OAk9PyOODTTvxu\nVvKIISKWR8TOtPoOjec2FJlA11URsT4iNhQML+UCesEcS68lNZMd0/dLW8T2upb9Mlmz6PtY6mCO\niHgD+KFFSBVqWSRPKL+WmyNidVr+GVgHHFEXNuJ6VrIx1JkBLGmwvcgEuqoIYIWk9yXNLDuZBqpQ\ny/Gxe0TaFqDZL24ZteyXyZpF8gzgjHRKYYmkE3uWXXFVqGURlaplGgF6CtmH6Vojrmc3h6u2JGk5\n2WFQvXsi4qUUMxvYERFPNYjryVXzInkWcGZEfCPpEGC5pPXp00hVciy7lrNzyUREi7krXa1lE/0y\nWbPIz/sAmBgRv0qaDrxIdqqxasquZRGVqaWkccCzwG3pyOE/IXXrLetZWmOIiCmt9ku6nuzc2PlN\nQr4CJtasTyTrhB3VLs+Cr/FN+v6dpBfIDvk79sesAzmWXst0ke+wiNgs6XDg2yav0dVaNlGkPvUx\nE9K2XmqbZ0T8VLO8VNICSQMR8X2PciyiCrVsqyq1lDQWeA5YHBEvNggZcT0reSpJ0jTgDuCSiPi9\nSdi/E+gk7UU2gW6oVzk20PBco6R9Je2flvcDpgJNR2N0WbPzoVWo5RBwXVq+juzTV06JtSxSnyHg\n2pRb08maXdY2T0njJSktn0Y2ZL1KTQGqUcu2qlDL9PMXAp9ExMNNwkZezzKvqLe40v4Z8AWwKn0t\nSNuPAF6uiZtOdhV+I3B3CXleRnbu7jdgM7C0Pk/gaLLRIauBtb3Os0iOFanlALAC2AAsAw6qUi0b\n1QcYBAZrYh5N+z+kxSi1MvMEbkm1Ww28BUwuIcenye6GsCP9bs6oaC1b5lmRWp4F7Ew57Pp7Of3/\n1tMT3MzMLKeSp5LMzKw8bgxmZpbjxmBmZjluDGZmluPGYGZmOW4MZmaW48ZgZmY5bgxmZpbjxmBW\nkKQzJC1osm9Q0neSZkq6UdJ9khb2OkezTijtJnpmfWgScImkeyNia92+d4BlEfHkrg2SWj1Twqyy\nfMRgVkC61/1aYDFwc4OQycCbKfaitK3+vvhmfcGNwayYCyLiNeAR4KZ099Jak4CDJT0InAi7bxFu\n1m98KsmsDUkHAD8CRMQmSW8A1wCLasJOAmYChwLHSdob2Ctq7tlv1i98xGDW3sXknw/xEHD7rpX0\njIi/I3tO+VayU0rnAc2eJWJWaW4MZi1IGgPsGRE7dm2LiPeA7ZKmpk2TyO5zT0T8SXZ//GPSslnf\n8fMYzFqQdDnwGPBH3a79yY4M5gJzyB7m8gqwD3AFMD8ilvYuU7POcWMwM7Mcn0oyM7McNwYzM8tx\nYzAzsxw3BjMzy3FjMDOzHDcGMzPLcWMwM7McNwYzM8v5BwAQzGmKMvWzAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's quite simple and elegant! But Metropolis suffers from an effect called **critical slowing down**. That means it becomes increasingly ineffective near the critical temperature. To understand, recall that the system has large clusters of identical spins there. Those clusters are energetically stable. And because of their size, a single spin flip like in Metropolis isn't doing much.\n", "\n", "As demonstration, we'll use a disk as an ideal cluster. We generate and save it with NumPy, then use it in magneto as starting configuration. The result is an animation of the first 100 metropolis sweeps on such a system." ] }, { "cell_type": "code", "collapsed": false, "input": [ "L=80; a=L//2; r=30\n", "y,x = np.ogrid[-a:L-a, -a:L-a]\n", "mask = x*x + y*y <= r*r\n", "array = np.zeros((L,L), dtype=int)\n", "array[mask] = 1\n", "\n", "plt.grid(False)\n", "plt.imshow(array, cmap=plt.cm.Greys, interpolation=\"none\")\n", "np.savetxt(\"circle.txt\", array, fmt='%1u', delimiter=\",\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\ncejNkvl/GyINzRrjlGIAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -N1=0 -N3=1 -N2=100 -TMin=2.0 -L=80 -TSteps=1 -states=slowdown_metro -alg=metro -initial=circle.txt -record=main\n", "def writeIsingMovie(file_in, file_out):\n", " fig = plt.figure(figsize=(1,1))\n", " data = np.loadtxt(file_in, delimiter=\",\", skiprows=1)\n", " L = data.shape[1]\n", " grids = np.split(data, data.shape[0]/L)\n", " images = []\n", " for grid in grids:\n", " images.append([plt.imshow(grid, cmap=plt.cm.Greys, interpolation =\"none\")])\n", " plt.axis('off')\n", " plt.subplots_adjust(left=0.0, right=1.0, top=1.0, bottom=0.0)\n", " ani = animation.ArtistAnimation(fig, images, blit=True)\n", " ani.save(file_out, dpi=L*2, fps=25, extra_args=['-vcodec', 'libvpx', \"-quality\", \"good\", \"-b:v\", \"350k\"])\n", "\n", "writeIsingMovie(\"slowdown_metro0.txt\", \"slowdown.webm\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "%%html\n", "" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Even after 100 sweeps the cluster still isn't completely gone!\n", "\n", "There is another class of algorithms called **cluster algorithms**, especially **Swendsen-Wang**. It works by starting a BFS (Breadth-first search) at every grid point to cover the entire grid. But the cluster can only contain same spins and is limited by a probability similar to Metropolis. Cluster algorithms don't suffer from critical slowing down. For demonstration, let's look at the same disk configuration again and only look at the first three Swendsen-Wang steps." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# !magneto -N1=0 -N3=1 -N2=5 -TMin=2.3 -L=80 -TSteps=1 -states=slowdown_sw -initial=circle.txt -record=main -alg=sw\n", "fig = plt.figure(figsize=(9,3))\n", "data = np.loadtxt(\"slowdown_sw0.txt\", delimiter=\",\", skiprows=1)\n", "L = data.shape[1]\n", "grids = np.split(data, data.shape[0]/L)\n", "for i in range(3):\n", " ax = fig.add_subplot(1, 3, i+1)\n", " ax.grid(False)\n", " ax.imshow(grids[i], cmap=plt.cm.Greys, interpolation=\"none\")\n", "fig.tight_layout()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's gone almost instantly." ] } ], "metadata": {} } ] }