diff --git a/Exercise sheet 6/exercise_sheet_06.ipynb b/Exercise sheet 6/exercise_sheet_06.ipynb index 8af69d0..f20f802 100644 --- a/Exercise sheet 6/exercise_sheet_06.ipynb +++ b/Exercise sheet 6/exercise_sheet_06.ipynb @@ -684,8 +684,8 @@ " state = xy_aligned_init_config(width)\n", " square_magn = np.zeros((len(temperatures), measurements))\n", " \n", - " t_0 = time.time()\n", " for idx, T in enumerate(temperatures):\n", + " toc()\n", " print(\"T =\", T)\n", " beta = 1/T\n", " # We let the sweep size depend on the width and the average cluster size\n", @@ -823,7 +823,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "3d5a419b", "metadata": { "deletable": false, @@ -838,19 +838,75 @@ "task": false } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T = 0.5\n", + "\tequilibrating took 5.539074659347534 seconds\n", + "\n", + "T = 0.6\n", + "\tequilibrating took 5.275792598724365 seconds\n", + "\n", + "T = 0.7\n", + "\tequilibrating took 6.957661867141724 seconds\n", + "\n", + "T = 0.8\n", + "\tequilibrating took 6.382277250289917 seconds\n", + "\n", + "T = 0.9\n", + "\tequilibrating took 5.454374074935913 seconds\n", + "\n", + "T = 1.0\n", + "\tequilibrating took 5.399614572525024 seconds\n", + "\n", + "T = 1.1\n", + "\tequilibrating took 4.563677787780762 seconds\n", + "\n", + "T = 1.2000000000000002\n", + "\tequilibrating took 5.712708473205566 seconds\n", + "\n", + "T = 1.3\n", + "\tequilibrating took 5.183827877044678 seconds\n", + "\n", + "T = 1.4\n", + "\tequilibrating took 6.481664180755615 seconds\n", + "\n", + "T = 1.5\n", + "\tequilibrating took 6.137166976928711 seconds\n", + "\n" + ] + } + ], "source": [ "width = 25\n", "state = xy_aligned_init_config(width)\n", "equil_sweeps = 200\n", "\n", - "# YOUR CODE HERE\n", - "raise NotImplementedError()" + "with h5py.File(\"xy_data.hdf5\", \"a\") as f:\n", + " if not \"states\" in f:\n", + " states = np.zeros(temperatures.shape + state.shape)\n", + " for idx, T in enumerate(temperatures):\n", + " toc()\n", + " print(\"T =\", T)\n", + " beta = 1/T\n", + " sweep_size = np.ceil(width**2/f[\"cluster-size\"][idx]).astype(int)\n", + " \n", + " # Equilibrate\n", + " for j in range(equil_sweeps*sweep_size):\n", + " xy_cluster_move(state,beta)\n", + " print(\"\\tequilibrating... [{}/{}]\".format(j, equil_sweeps*sweep_size), end='\\r')\n", + " print(\"\\tequilibrating took\", toc(), \" seconds\")\n", + " states[idx] = state.copy()\n", + " print()\n", + " \n", + " f.create_dataset(\"states\", data=states)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "2f322a5f", "metadata": { "deletable": false, @@ -875,7 +931,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "69d891e8", "metadata": { "deletable": false, @@ -891,7 +947,20 @@ "task": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "def plot_xy(state,ax,title=\"\"):\n", " '''Plot the XY configuration given by state. Takes an Axes object ax from \n", @@ -905,8 +974,16 @@ " ax.set_xticks([])\n", "\n", "# Make a table of plots\n", - "# YOUR CODE HERE\n", - "raise NotImplementedError()" + "with h5py.File(\"xy_data.hdf5\", \"a\") as f:\n", + " fig, axs = plt.subplots(3, 4, figsize=(10, 10))\n", + " axs = axs.ravel()\n", + " for idx, T in enumerate(temperatures):\n", + " plot_xy(f[\"states\"][idx], axs[idx],\"T = {:.1f}\".format(T))\n", + " \n", + " # Hide the axes of unused plots.\n", + " [ax.axis('off') for ax in axs[len(temperatures):]]\n", + " plt.tight_layout()\n", + " plt.show()" ] }, { diff --git a/Exercise sheet 6/xy_data.hdf5 b/Exercise sheet 6/xy_data.hdf5 index ba7936a..9a5b9ee 100644 Binary files a/Exercise sheet 6/xy_data.hdf5 and b/Exercise sheet 6/xy_data.hdf5 differ