Files
cds-monte-carlo-methods/Exercise sheet 8/exercise_sheet_08.ipynb
2022-11-14 21:50:05 +01:00

750 lines
97 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "269c4188",
"metadata": {},
"source": [
"# Exercise sheet\n",
"\n",
"Some general remarks about the exercises:\n",
"* For your convenience functions from the lecture are included below. Feel free to reuse them without copying to the exercise solution box.\n",
"* For each part of the exercise a solution box has been added, but you may insert additional boxes. Do not hesitate to add Markdown boxes for textual or LaTeX answers (via `Cell > Cell Type > Markdown`). But make sure to replace any part that says `YOUR CODE HERE` or `YOUR ANSWER HERE` and remove the `raise NotImplementedError()`.\n",
"* Please make your code readable by humans (and not just by the Python interpreter): choose informative function and variable names and use consistent formatting. Feel free to check the [PEP 8 Style Guide for Python](https://www.python.org/dev/peps/pep-0008/) for the widely adopted coding conventions or [this guide for explanation](https://realpython.com/python-pep8/).\n",
"* Make sure that the full notebook runs without errors before submitting your work. This you can do by selecting `Kernel > Restart & Run All` in the jupyter menu.\n",
"* For some exercises test cases have been provided in a separate cell in the form of `assert` statements. When run, a successful test will give no output, whereas a failed test will display an error message.\n",
"* Each sheet has 100 points worth of exercises. Note that only the grades of sheets number 2, 4, 6, 8 count towards the course examination. Submitting sheets 1, 3, 5, 7 & 9 is voluntary and their grades are just for feedback.\n",
"\n",
"Please fill in your name here:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "220d541e",
"metadata": {},
"outputs": [],
"source": [
"NAME = \"Kees van Kempen\"\n",
"NAMES_OF_COLLABORATORS = \"\""
]
},
{
"cell_type": "markdown",
"id": "b6944e4c",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"id": "c53fbab6",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "da0f2845f08ee29eb0450f8eff343e98",
"grade": false,
"grade_id": "cell-3cb26b1434512d8d",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"**Exercise sheet 8**\n",
"\n",
"Code from the lectures:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "5e4391a6",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "1814f5ba5f2d71b14a4c534cfe3ad7ff",
"grade": false,
"grade_id": "cell-40c62687f6a2c579",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"import numpy as np\n",
"rng = np.random.default_rng() \n",
"import matplotlib.pylab as plt\n",
"%matplotlib inline\n",
"\n",
"def fan_triangulation(n):\n",
" '''Generates a fan-shaped triangulation of even size n.'''\n",
" return np.array([[(i-3)%(3*n),i+5,i+4,(i+6)%(3*n),i+2,i+1] \n",
" for i in range(0,3*n,6)],dtype=np.int32).flatten()\n",
"\n",
"def is_fpf_involution(adj):\n",
" '''Test whether adj defines a fixed-point free involution.'''\n",
" for x, a in enumerate(adj):\n",
" if a < 0 or a >= len(adj) or x == a or adj[a] != x:\n",
" return False\n",
" return True\n",
"\n",
"from collections import deque \n",
"\n",
"def triangle_neighbours(adj,i):\n",
" '''Return the indices of the three neighboring triangles.'''\n",
" return [j//3 for j in adj[3*i:3*i+3]]\n",
"\n",
"def connected_components(adj):\n",
" '''Calculate the number of connected components of the triangulation.'''\n",
" n = len(adj)//3 # the number of triangles\n",
" # array storing the component index of each triangle\n",
" component = np.full(n,-1,dtype=np.int32) \n",
" index = 0\n",
" for i in range(n):\n",
" if component[i] == -1: # new component found, let us explore it\n",
" component[i] = index\n",
" queue = deque([i]) # use an exploration queue for breadth-first search\n",
" while queue:\n",
" for nbr in triangle_neighbours(adj,queue.pop()):\n",
" # the neighboring triangle has not been explored yet\n",
" if component[nbr] == -1: \n",
" component[nbr] = index\n",
" queue.appendleft(nbr) # add it to the exploration queue\n",
" index += 1\n",
" return index\n",
"\n",
"def next_around_triangle(i):\n",
" '''Return the label of the side following side i in counter-clockwise direction.'''\n",
" return i - i%3 + (i+1)%3\n",
"\n",
"def prev_around_triangle(i):\n",
" '''Return the label of the side preceding side i in counter-clockwise direction.'''\n",
" return i - i%3 + (i-1)%3\n",
"\n",
"def vertex_list(adj):\n",
" '''\n",
" Return the number of vertices and an array `vertex` of the same size \n",
" as `adj`, such that `vertex[i]` is the index of the vertex at the \n",
" start (in ccw order) of the side labeled `i`.\n",
" '''\n",
" # a side i that have not been visited yet has vertex[i]==-1\n",
" vertex = np.full(len(adj),-1,dtype=np.int32) \n",
" vert_index = 0 \n",
" for i in range(len(adj)):\n",
" if vertex[i] == -1:\n",
" side = i\n",
" while vertex[side] == -1: # find all sides that share the same vertex\n",
" vertex[side] = vert_index\n",
" side = next_around_triangle(adj[side])\n",
" vert_index += 1\n",
" return vert_index, vertex\n",
"\n",
"def number_of_vertices(adj):\n",
" '''Calculate the number of vertices in the triangulation.'''\n",
" return vertex_list(adj)[0]\n",
"\n",
"def is_sphere_triangulation(adj):\n",
" '''Test whether adj defines a triangulation of the 2-sphere.'''\n",
" if not is_fpf_involution(adj) or connected_components(adj) != 1:\n",
" return False\n",
" num_vert = number_of_vertices(adj)\n",
" num_face = len(adj)//3\n",
" num_edge = len(adj)//2\n",
" # verify Euler's formula for the sphere\n",
" return num_vert - num_edge + num_face == 2\n",
"\n",
"def flip_edge(adj,i):\n",
" if adj[i] == next_around_triangle(i) or adj[i] == prev_around_triangle(i):\n",
" # flipping an edge that is adjacent to the same triangle on both sides makes no sense\n",
" return False\n",
" j = prev_around_triangle(i)\n",
" k = adj[i]\n",
" l = prev_around_triangle(k)\n",
" n = adj[l]\n",
" adj[i] = n # it is important that we first update\n",
" adj[n] = i # these adjacencies, before determining m,\n",
" m = adj[j] # to treat the case j == n appropriately\n",
" adj[k] = m\n",
" adj[m] = k\n",
" adj[j] = l\n",
" adj[l] = j\n",
" return True\n",
"\n",
"def random_flip(adj):\n",
" random_side = rng.integers(0,len(adj))\n",
" return flip_edge(adj,random_side)\n",
"\n",
"import networkx as nx\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"from mpl_toolkits.mplot3d.art3d import Poly3DCollection\n",
"\n",
"def triangulation_edges(triangulation,vertex):\n",
" '''Return a list of vertex-id pairs corresponding to the edges in the triangulation.'''\n",
" return [(vertex[i],vertex[j]) for i,j in enumerate(triangulation) if i < j]\n",
"\n",
"def triangulation_triangles(triangulation,vertex):\n",
" '''Return a list of vertex-id triples corresponding to the triangles in the triangulation.'''\n",
" return [vertex[i:i+3] for i in range(0,len(triangulation),3)]\n",
"\n",
"def plot_triangulation_3d(adj):\n",
" '''Display an attempt at embedding the triangulation in 3d.'''\n",
" num_vert, vertex = vertex_list(adj)\n",
" edges = triangulation_edges(adj,vertex)\n",
" triangles = triangulation_triangles(adj,vertex)\n",
" # use the networkX 3d graph layout algorithm to find positions for the vertices\n",
" pos = np.array(list(nx.spring_layout(nx.Graph(edges),dim=3).values()))\n",
" fig = plt.figure()\n",
" ax = fig.add_subplot(111, projection='3d')\n",
" tris = Poly3DCollection(pos[triangles])\n",
" tris.set_edgecolor('k')\n",
" ax.add_collection3d(tris)\n",
" ax.set_xlim3d(np.amin(pos[:,0]),np.amax(pos[:,0]))\n",
" ax.set_ylim3d(np.amin(pos[:,1]),np.amax(pos[:,1]))\n",
" ax.set_zlim3d(np.amin(pos[:,2]),np.amax(pos[:,2]))\n",
" plt.show()\n",
" \n",
"def vertex_neighbors_list(adj):\n",
" '''Return a list `neighbors` such that `neighbors[v]` is a list of neighbors of the vertex v.'''\n",
" num_vertices, vertex = vertex_list(adj)\n",
" neighbors = [[] for _ in range(num_vertices)]\n",
" for i,j in enumerate(adj):\n",
" neighbors[vertex[i]].append(vertex[j])\n",
" return neighbors\n",
"\n",
"def vertex_distance_profile(adj,max_distance=30):\n",
" '''Return array `profile` of size `max_distance` such that `profile[r]` is the number\n",
" of vertices that have distance r to a randomly chosen initial vertex.'''\n",
" profile = np.zeros((max_distance),dtype=np.int32)\n",
" neighbors = vertex_neighbors_list(adj)\n",
" num_vertices = len(neighbors)\n",
" start = rng.integers(num_vertices) # random starting vertex\n",
" distance = np.full(num_vertices,-1,dtype=np.int32) # array tracking the known distances (-1 is unknown)\n",
" queue = deque([start]) # use an exploration queue for the breadth-first search\n",
" distance[start] = 0\n",
" profile[0] = 1 # of course there is exactly 1 vertex at distance 0\n",
" while queue:\n",
" current = queue.pop()\n",
" d = distance[current] + 1 # every unexplored neighbour will have this distance\n",
" if d >= max_distance:\n",
" break\n",
" for nbr in neighbors[current]:\n",
" if distance[nbr] == -1: # this neighboring vertex has not been explored yet\n",
" distance[nbr] = d\n",
" profile[d] += 1\n",
" queue.appendleft(nbr) # add it to the exploration queue\n",
" return profile\n",
" \n",
"def perform_sweeps(adj,t):\n",
" '''Perform t sweeps of flip moves, where 1 sweep is N moves.'''\n",
" for _ in range(len(adj)*t//3):\n",
" random_flip(adj)\n",
"\n",
"def batch_estimate(data,observable,k):\n",
" '''Devide data into k batches and apply the function observable to each.\n",
" Returns the mean and standard error.'''\n",
" batches = np.reshape(data,(k,-1))\n",
" values = np.apply_along_axis(observable, 1, batches)\n",
" return np.mean(values), np.std(values)/np.sqrt(k-1)"
]
},
{
"cell_type": "markdown",
"id": "bed55184",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "8c9a6c198119d4649dd87308e8933611",
"grade": false,
"grade_id": "cell-5f5adc7840fea9ad",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"## Estimating Hausdorff dimensions in various 2D quantum gravity models \n",
"\n",
"**(100 Points)**\n",
"\n",
"In the lecture we considered the model of two-dimensional Dynamical Triangulations of the 2-sphere. The corresponding partition function is\n",
"$$ Z^{U}_{S^2,N} = \\sum_T 1, \\tag{1}$$\n",
"where the sum is over all triangulations of size $N$ with the topology of $S^2$, each of which is represented as an adjacency list $\\operatorname{adj}: \\{0,\\ldots,3N-1\\} \\to \\{0,\\ldots,3N-1\\}$. To emphasize that we are dealing with the **uniform** probability distribution on such triangulations, we have added the label $^U$. It is a lattice model of two-dimensional Euclidean quantum gravity with no coupled matter.\n",
"\n",
"One can also consider two-dimensional quantum gravity coupled to matter fields (e.g. a scalar field) supported on the geometry. Formally the corresponding path integral in the continuum reads\n",
"$$ Z = \\int [\\mathcal{D}g_{ab}]\\int [\\mathcal{D}\\phi] e^{-\\frac{1}{\\hbar}(S_E[g_{ab}] + S_m[\\phi,g_{ab}])} = \\int [\\mathcal{D}g_{ab}]e^{-\\frac{1}{\\hbar}S_E[g_{ab}]} Z^*_m[g_{ab}],$$\n",
"where $S_m[\\phi,g_{ab}]$ and $Z_m[g_{ab}]$ are the matter action and path integral of the field $\\phi$ on the geometry described by $g_{ab}$. The natural analogue in Dynamical Triangulations is\n",
"$$Z^*_{S^2,N} = \\sum_T Z^*_m[T],$$\n",
"where the sum is over the same triangulations as in (1) but now the summand $Z^*_m[T]$ is the lattice partition function of a matter system supported on the triangulation $T$, which generically depends in a non-trivial way on $T$. For instance, the matter system could be an Ising model in which the spin are supported on the triangles of $T$ and $Z^{\\text{Ising}}_m[T]$ would be the corresponding Ising partition function.\n",
"In other words, when Dynamical Triangulations are coupled to matter the uniform distribution $\\pi^U(T) = 1/Z^U_{S^2,N}$ is changed into a non-uniform distribution $\\pi^*(T) = Z^*_m[T] / Z^*_{S^2,N}$. This can have significant effect on the critical exponents of the random triangulation as $N\\to\\infty$, like the Hausdorff dimension. \n",
"\n",
"The goal of this exercise is to estimate the **Hausdorff dimension** of random triangulations in four different models and to conclude based on this that they belong to four different universality classes (i.e. that if they possess well-defined continuum limits that they are described by four different EQFTs): \n",
"* $Z^{U}_{S^2,N}$: the standard Dynamical Triangulations with **U**niform distribution (U)\n",
"* $Z^{W}_{S^2,N}$: triangulations coupled to a matter system called a Schnyder **W**ood (W)\n",
"* $Z^{S}_{S^2,N}$: triangulations coupled to a matter system called a **S**panning tree (S)\n",
"* $Z^{B}_{S^2,N}$: triangulations coupled to a matter system called a **B**ipolar orientation (B)\n",
"\n",
"What these matter systems precisely represent will not be important. We have provided for you a **black box generator** that samples from the corresponding four distributions $\\pi^U(T)$, $\\pi^W(T)$, $\\pi^S(T)$, $\\pi^B(T)$. It does so in an efficient manner (linear time in $N$) using direct Monte Carlo sampling algorithms and therefore returns independent samples with exactly the desired distribution $\\pi^*(T)$ (within numerical precision).\n",
"\n",
"The black box generator is provided by the executable program `generator` provided to you on the science server. It can be called directly from this notebook with the following function `generate_random_triangulation`, that takes the desired size $N$ and model (`'U'`,`'W'`, `'S'`, `'B'`) and returns a single random triangulation in the usual form of an adjacency list."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "bcc7acba",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "7d6abad00aa217998ca44ecc5e89f423",
"grade": false,
"grade_id": "cell-266ff66f880583d7",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import subprocess\n",
"\n",
"def generate_random_triangulation(n,model):\n",
" '''\n",
" Returns a random triangulation generated by the program `generator` in the form \n",
" of an array of length 3n storing the adjacency information of the triangle sides.\n",
" Parameters:\n",
" n - number of triangles in the triangulation, must be positive and even\n",
" model - a one-letter string specifying the model from which the triangulation is sampled:\n",
" 'U': Uniform triangulations\n",
" 'W': Schnyder-Wood-decorated triangulations\n",
" 'S': Spanning-tree decorated triangulations\n",
" 'B': Bipolar-oriented triangulations\n",
" '''\n",
" program = \"/vol/cursus/NM042B/bin/generator\"\n",
" output = subprocess.check_output([program,\"-s{}\".format(n),\"-t{}\".format(model)]).decode('ascii').split('\\n')[:-1]\n",
" return np.array([int(num) for num in output],dtype=np.int32)\n",
"\n",
"adj = generate_random_triangulation(100,'B')\n",
"is_sphere_triangulation(adj)"
]
},
{
"cell_type": "markdown",
"id": "4518f51f",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "37e92f3a59f2d5c6d117868d04d8f0d4",
"grade": false,
"grade_id": "cell-6aacf5fa6d8c4eb9",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"Recall that the **distance profile** $\\rho_T(r)$ of a triangulation is defined as \n",
"$$ \\rho_T(r) = \\frac{1}{V} \\sum_{x=0}^{V-1} \\sum_{y=0}^{V-1} \\mathbf{1}_{\\{d_T(x,y)=r\\}},$$\n",
"where $V = (N+4)/2$ is the number of vertices and $d_T(x,y)$ is the graph distance between the vertices with label $x$ and $y$."
]
},
{
"cell_type": "markdown",
"id": "d59143f0",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "afcdbf86f64bd17b8ac9b4f9ec422206",
"grade": false,
"grade_id": "cell-8e6d6fcefb5ab644",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"**(a)** Let $T$ be a random triangulation of size $N$ and $X$, $Y$ two independent numbers chosen uniformly from $0,\\ldots,V-1$, corresponding to two random vertices in $T$. Explain with a calculation that $\\frac{1}{V}\\mathbb{E}[ \\rho_T(r) ] = \\mathbb{P}(d_T(X,Y) = r)$ and that the expected distance between $X$ and $Y$ is related to the distance profile via\n",
"\n",
"$$\n",
"\\mathbb{E}[d_T(X,Y)] = \\frac{1}{V}\\sum_{r=0}^\\infty r\\, \\mathbb{E}[ \\rho_T(r) ]. \\tag{2}\n",
"$$\n",
"\n",
"**(20 pts)**"
]
},
{
"cell_type": "markdown",
"id": "dd1b43bf",
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "74963ed3d7cbd9eaa06be2e66a8f939e",
"grade": true,
"grade_id": "cell-f86454063d193cd6",
"locked": false,
"points": 20,
"schema_version": 3,
"solution": true,
"task": false
}
},
"source": [
"YOUR ANSWER HERE"
]
},
{
"cell_type": "markdown",
"id": "29704f5d",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "e2cc0493d54bcf087ce14bcb2e8a8d2f",
"grade": false,
"grade_id": "cell-aafca9797e5cfee4",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"**(b)** We will work under the assumption that \n",
"\n",
"$$\n",
"\\mathbb{E}[\\rho_T(r)] \\approx V^{1-1/d_H} f(r V^{-1/d_H})\n",
"$$ \n",
"\n",
"for a positive real number $d_H$ called the **Hausdorff dimension** and a continuous function $f$ that are both independent of $N$ but do depend on the model. Show that \n",
"\n",
"$$\n",
"\\mathbb{E}[d_T(X,Y)] \\approx c\\,V^{1/d_H}, \\qquad c = \\int_0^\\infty \\mathrm{d}x\\,x\\,f(x). \\tag{3}\n",
"$$\n",
"\n",
"_Hint:_ Approximate the summation by an integral. **(15 pts)**"
]
},
{
"cell_type": "markdown",
"id": "0c062ba6",
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "2db525e8acbc2412c1c5948052526a15",
"grade": true,
"grade_id": "cell-bcf3b38d64a4408d",
"locked": false,
"points": 15,
"schema_version": 3,
"solution": true,
"task": false
}
},
"source": [
"YOUR ANSWER HERE"
]
},
{
"cell_type": "markdown",
"id": "eba53e6d",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "ba14acd8cc24c2dfea35f3b8106cdfc8",
"grade": false,
"grade_id": "cell-fcab32195688a5c5",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"**(c)** For each of the four models estimate $\\mathbb{E}[d_T(X,Y)]$ with errors for $N = 2^7, 2^8, \\ldots, 2^{12}$ using (2) and based on $100$ samples each. Store your data in the file `qgdimension.hdf5`. Make an estimate of $d_H$ (with errors) for each of the models by fitting the parameters $c$ and $d_H$ of the ansatz (3). For each model, plot the data together with the fit in a log-log plot. **(40 pts)**"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "ee683060",
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "c3664034dec3a350f7fe0533fe2454cb",
"grade": true,
"grade_id": "cell-01f5fde55f35f2dc",
"locked": false,
"points": 15,
"schema_version": 3,
"solution": true,
"task": false
}
},
"outputs": [],
"source": [
"models = ['U','W','S','B']\n",
"sizes = [2**k for k in range(7,13)]\n",
"num_vertices = (np.array(sizes)+4)/2\n",
"measurements = 100\n",
"\n",
"# data gathering and storing in qgdimension.hdf5\n",
"import h5py\n",
"\n",
"max_distance = 30\n",
"samples = 100\n",
"N_space = 2**np.arange(7, 13)\n",
"\n",
"with h5py.File(\"qgdimension.hdf5\", \"a\") as f:\n",
" if not \"N-values\" in f:\n",
" f.create_dataset(\"N-values\",data=N_space)\n",
" \n",
" for model in models:\n",
" models_key = \"expectation-graph-distance-{}\".format(model)\n",
" if not models_key in f:\n",
" graph_distance_expectations = np.zeros((len(N_space), samples))\n",
" for idx_N, N in enumerate(N_space):\n",
" V = (N + 4)/2\n",
" for idx_sample in range(samples):\n",
" adj = generate_random_triangulation(N, model)\n",
" expectation = 1/V * vertex_distance_profile(adj,max_distance)@np.arange(max_distance)\n",
" graph_distance_expectations[idx_N][idx_sample] = expectation\n",
"\n",
" f.create_dataset(models_key,data=graph_distance_expectations)"
]
},
{
"cell_type": "code",
"execution_count": 104,
"id": "351f7a01",
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "000725107fe51acebc0bc68eef8c1c9c",
"grade": true,
"grade_id": "cell-9e8f666073e1e2df",
"locked": false,
"points": 25,
"schema_version": 3,
"solution": true,
"task": false
}
},
"outputs": [
{
"data": {
"image/png": "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LnkqUf5JZPny5Zx44onstttudO7cmQkTJiQdno5M5ql58+Zx4IEH0rlzZ7p27cqIESM2K5MsH6Wat0VqpG8+gAfz4dXfwVa7wIVvw7H3QtPtsh1ZSe6uVwVfffr08XgzZszYbFg2dOrUyefMmVNi2Ny5c71r165VGse7777rU6ZMSbrcjRs3evv27X327Nm+bt0679Gjh0+fPn2zMttuu61/8803acfQu3dvnzdvXtrTJVJUVOQrV650d/f169d7v379fMKECZuV22mnnXzx4sWlzqes9aku+5FIha343v2VS92HNne/ta37e3e6r1+T0UUAH3k1yAnV8aU8lVwq+afY2Wef7f/85z/d3X3dunW+bNmypMPTkck8tXDhQp8yZYq7u69YscI7duxY6jq5b56PUsnb7tVnPxLJiKXfuD97tvuQZu5/6+L+2fPuRUUZm32m85SuyNVgl1xyCXPmzOGYY47hzjvvpEmTJgAMHjyY2bNn07NnT37/+98nncfChQs54YQT6NWrF7vtthuTJ08uVyz7778/W221VdIykydPpkOHDrRv35769etz6qmn8sorr5QoM3bsWHbZZRd22mmnMpf55Zdfsu+++9K9e3fuvPNOfvjhB9q0aVOu+OOZ2abtuWHDBjZs2FCuTt/prI9ITlq3Ct65Fe7uBVNHQr+L4XefwL5XQL0G2Y5Osqy65KlU8g/AihUrGD9+PBdccAEA9evXp3nz5qUOL0tl5qntt9+e3r17A9C0aVM6d+7MggULSi0fn49SydsiNca6VaG/9j17wJdvQv51cOmH0P1EqMY39VEfuRrs/vvvZ9SoUbzzzju0bNmSG264AYDhw4czbdo0pk6duqnsEUccwUMPPUTr1q03Ddu4cSOHH344t9xyC0cddRQFBQUUFhaWWMZ+++3HypUrN1v2X//6Vw4++OC04l2wYAFt27bd9L5NmzZMmjSpRJlnnnmG0047rcx5bdy4kTPPPJN77rmHfv368Zvf/IbddtstpThSXafCwkL69OnD119/zW9/+1v69++/2TRmxiGHHIKZcfHFF3PRRReVa31Eck7hRvj4XzBuOKxeBF2OhYOHwFbtsx2ZVCPVJU+lkn8A5syZwzbbbMN5553Hp59+Sp8+fRgxYkSpwxs3blzquldFnir2zTff8MknnyTMU8WUj6RWKiqCz5+Dt4bCyu+h+8lw8FDYcodsR5YSVeSqwhuD4YfPMzvP7brD4aW34U/X66+/vtmwl19+mc6dO3PUUUcB0KjR5p0733vvvYzFEK44lxR7lWv9+vX85z//4bbbbitzXv/+97/p3Lkz/fr1A6Br1640bNgQgEGDBm0603rSSSfxzDPPkJeXt2naVNcpLy+PqVOnsnz5co477jimTZu2WV+CDz74gNatW7No0SIGDhzIbrvtxv7775/2+ojkDHeY9Qa8NQR++hJ23AtOGwlt+mY7MkmmluepsvJPsY0bN/Lxxx/z97//nf79+3P55ZczfPhwBg0alHD4TTfdVOoyqyJPAaxatYoTTjiBu+66i2bNmiUso3wktdK8D2HUNbBgCrTuDSc/Dm37ZTuqtKgiJ6WaOnUqe+65Z9Iymbwi16ZNG+bNm7fp/fz580uceX3jjTfo3bs32267bZnz+uyzz+jTp8+m91OmTCE/P5958+ax/fbbbxpeVFRUIjmWZ52aN29Ofn4+o0aN2qwiVxx/q1atOO6445g8efKmilw66yOSE+ZPgTE3wLcfwNYd4JSnYLcjq3WzFMltmcpTZeWfYm3atKFNmzabrmydeOKJDB8+nN/+9rcJhydTFXlqw4YNnHDCCZxxxhkcf/zxpcaifCS1ys8LwhW4z5+DJtvBsfdDj1OgTu71OFNFripk8IxkJjRt2jRhAoi33Xbb8emnn256v3jxYrbZZpsSZTJ5RW6PPfbgq6++Yu7cueywww4888wzPP3005vGjxw5crNmHwMGDODxxx9nhx1KXgLfeuutmTZtGhCS48iRI7niiiuYMmUKM2bM4JJLLmHNmjUJE3Uq67R48WLq1atH8+bNWbNmDW+99RbXXHNNiTKrV6+mqKiIpk2bsnr1akaPHs2NN96YdH1EctLSuTD2TzD939B4Gzjyb9D7HMirl+3IJFW1PE+VlX9il9e2bVtmzZpFp06dGDt2LF26dCl1OGQvT7k7F1xwAZ07d+b//u//kpZVPpJaYX0B/O/v8MFd4dEC+10N+14JWzTJdmTll8k7p9SEF9AeeBh4IdVpqvPdwGLvmti4ceNNw0877TTv2rWrX3311e7ufvjhh/uCBQtKTLty5Uo/+uijvUuXLr777rv7K6+8Uu44Tj31VN9uu+28bt26vsMOO/hDDz2UcLmvvfaad+zY0du3b+8333zzpuGrV6/2rbbaypcvX75pWGFhoe+4445eUFCw2fIWL17se+yxh+++++5+8skn+3bbbefr16/366+/3idPnuzu7v/973/90UcfLdf6fPrpp96zZ0/v3r27d+3a1YcNG7ZpXPE6zZ4923v06OE9evTwLl26lLk+iVSX/UiqrztGz/Kdrvlvqa87Rs+qvIWvXuL+xrXuw7Z2v2lb97E3ua9dUXnLKwO6a6XyVAXyVGn5J365n3zyiffp08e7d+/ugwYN8qVLl5Y6PJt56r333nPAu3fv7rvvvrvvvvvu/tprr222TqXlo9Lydrzqsh+JlKqoKNx98m9dwt0onz3LfencrISS6TxlYZ41m5k9AhwFLHL3bjHDDwNGAHnAQ+4+PGbcC+5+Yirz79u3r3/00Uclhs2cOZPOnTtnInwpxbRp03jkkUe44447Up7muOOO49lnn6V+/foMGTKEE088ke7du1dilBWj/UjSccoD4blVz168V+UuaMNamPwAvPc3WLcyPCT1wOug2eZXDqqSmU1xd3XGS0B5KjuUp0SybOEnoQ/wvImh3+5hw6HdvlkLJ9N5qrY0rXwMuAd4vHiAmeUB9wIDgfnAh2b2H3efkZUIJW3dunVLKzkCvPTSS5v+HzZsWKZDEqnZiopg2gvhFs0/fwcdBsLAYbBt12xHJlItKU+JZMnKH0OT/6lPQeOWcPTd0OtMqJNX9rQ5pFZU5Nx9vJm1ixvcD/ja3ecAmNkzwCBAFTkRkXhz3g03Mvn+U9iuBwz6O7TPz3ZUIiIiv9iwFibeF1qMbFwHe18K+/8eGmyZ7cgqRa2oyJViB2BezPv5QH8z2xq4BehlZte6e8J78ZrZRcBFADvuuGNlxyoikh2LZsKYG+Gr0bBlWzjuQeh+Uk7e3UtERGood/jiv/DmH2H5t9DpCDjkZth6l2xHVqlqc0Uu0f2w3d2XAJeUNbG7Pwg8CKHvQYZjExHJrhXfw7hb4ZMnoX5TOHgY9L8E6jXIdmQiIiK/+GEajBoM37wH23SGs16GXQ7MdlRVojZX5OYDbWPetwEWZikWEZHqYd1K+OBumHAPFG4Ilbf9fw+Ntsp2ZCIikqPuHPMlI8Z+Ver4ywd05MqBu6Y309U/wds3w8f/Ck0nj/gr9DkP8mpP9ab2rOnmPgQ6mtnOwALgVOD07IYkIpIlhRtDMhw3HFYvgq7HwYAbYav22Y5MRERy3JUDd91UUavwHZY3rocP/wnj/gzrV0G/i+CAa2rlCcdaUZEzs5FAPtDSzOYDQ9z9YTO7FHiT8PiBR9x9ehbDFBGpeu4w63UYMwSWfAU77gWnjYQ2uou/iIhUI+6hv/ab18GSr6HDwXDorbBNp2xHljW1oiLn7qeVMvx14PUqDqeESrnULCKSivlTYPT18N3/YOuOcOrToYO4JepCLLWV8pSIZN3iWTDqWpg9NuSr05+HXQ/JdlRZp9uOZdmVA3flm+FH8s3wI+m/81b033mrTe+/GX5khZKjmXHWWWdter9x40a22WYbjjrqqHLNb/ny5dx3331pT7dq1SouvvhidtllF7p27cr+++/PpEmT0ppHfn4+8Q+zFZFyWjoXnj8PHjooXIU78m/wmwmw25GqxMlmlKdSozwlUgkKlsLrf4D79oL5H4UrcL/+nypxkVpxRS4XFBY5ywrWU7CukLEzfyS/Uyvy6lTsB1Xjxo2ZNm0aa9asoWHDhowZM4Yddtih3PMrTpC/+c1v0pruV7/6FTvvvDNfffUVderUYc6cOcycOTPl6QsLC9MNVSRtteKqQ8FSGH87TP4n1KkL+/8B9vkdbNE025FJDlCeKp3ylEiGFW6EKY/CO7fA2p+hz7lw4B/Dw71lE12RqwYKi5yzHp7E14tWMX/5Gi4b+QlnPTyJwqKKP9Xg8MMP57XXXgNg5MiRnHbaL61Mly5dyrHHHkuPHj3Yc889+eyzzwAYOnQo559/Pvn5+bRv3567774bgMGDBzN79mx69uzJ73//ewBuv/129thjD3r06MGQIUM2W/7s2bOZNGkSN998M3Wi5061b9+eI488EoBjjz2WPn360LVrVx588MFN0zVp0oQbb7yR/v37M2HChBLzHDlyJN27d6dbt25cc801Fd5GIlC5Vx2ybsNa+GAEjOgJk+6H3U+F330CB/1RlThJifKU8pRIlZn9Nty/L7x+NWzXHS5+D466U5W4BFSRqwbGzVrE1HnLKc6HBesLmTpvOeNmLarwvE899VSeeeYZ1q5dy2effUb//v03jRsyZAi9evXis88+49Zbb+Xss8/eNO6LL77gzTffZPLkyQwbNowNGzYwfPhwdtllF6ZOncrtt9/O6NGj+eqrr5g8eTJTp05lypQpjB8/vsTyp0+fTs+ePcnLy0sY3yOPPMKUKVP46KOPuPvuu1myZAkAq1evplu3bkyaNIl99913U/mFCxdyzTXX8PbbbzN16lQ+/PBDXn755QpvJ5EaqagIPn0W7ukbHurdth9c8gEMugeabZ/t6CSHKE8pT4lUuiWz4elT4YnjYOMaOOUpOPs/sF23bEdWbakiVw1MX7iCNetLNstYs76QGQtXVHjePXr04JtvvmHkyJEcccQRJca9//77m/omHHTQQSxZsoSff/4ZgCOPPJItttiCli1b0qpVK3788cfN5j169GhGjx5Nr1696N27N1988QVffVV607RE7r77bnbffXf23HNP5s2bt2n6vLw8TjjhhM3Kf/jhh+Tn57PNNttQt25dzjjjjM2SsogAc96Ff+bDSxdBwxZw9itw5guwbZdsRyY5SHlKeUqk0qz9Gd78I9zbPzzU++Ch8NvJ0Pko9dsug/rIVQNdWzejYf08CmKSZMP6eXRp3Swj8z/mmGO4+uqrGTdu3KYziQDumzeJsegLs8UWW2walpeXx8aNGzcr6+5ce+21XHzxxaUuu2vXrnz66acUFRVtarJSbNy4cbz11ltMmDCBRo0akZ+fz9q1awFo0KBBwrOjiWIWkV+03fANPPk3+HoMbNkWjnsQup8EdXTeTspPeUp5SiQTSvS1nfE9+QVvkvf2TVCwBHqdAQfdCE23zXaYOUOZvRrI79SKnm2bU9xnvFH9PHq2bU5+p1YZmf/555/PjTfeSPfu3UsM33///XnqqaeAkKxatmxJs2alJ+WmTZuycuXKTe8PPfRQHnnkEVatWgXAggULWLSoZDObXXbZhb59+zJkyJBNye2rr77ilVde4eeff6ZFixY0atSIL774gokTJ5a5Lv379+fdd9/lp59+orCwkJEjR3LAAQektiFEarIV33Px8jv5y0+/gXmTYeCf4NKPYPdTVImTClOeUp4SqaiSfW0LuOyJiZz14o8Ubr0rXPQODLpXlbg06YpcNZBXx3jigv4cPmI8BesKGTaoa0buBlasTZs2XH755ZsNHzp0KOeddx49evSgUaNG/Otf/0o6n6233pp99tmHbt26cfjhh3P77bczc+ZM9tprLyB0/H7yySdp1apkYn/ooYe46qqr6NChA40aNWLrrbfm9ttvp0ePHtx///306NGDTp06seeee5a5Lttvvz233XYbBx54IO7OEUccwaBB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\n",
"text/plain": [
"<Figure size 864x576 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Fitting and plotting\n",
"from matplotlib import pyplot as plt\n",
"from scipy.optimize import curve_fit\n",
"\n",
"model_names = {\"U\": \"Uniform triangulations\",\n",
" \"W\": \"Schnyder-Wood-decorated triangulations\",\n",
" \"S\": \"Spanning-tree decorated triangulations\",\n",
" \"B\": \"Bipolar-oriented triangulations\"}\n",
"\n",
"with h5py.File(\"qgdimension.hdf5\", \"r\") as f:\n",
" N_space = np.array(f[\"N-values\"])\n",
" V_space = (N_space + 4)/2\n",
" expectations = {model: np.array(f[\"expectation-graph-distance-{}\".format(model)]) for model in models}\n",
" \n",
" fig, axs = plt.subplots(2, 2, figsize=(12, 8))\n",
" axs = axs.ravel()\n",
" fig.suptitle(r\"Graph distance expectation Monte Carlo simulations and Hausdorff dimension $d_H$ fits using $\\mathbb{E}[d_T(X,Y)] \\approx c\\,V^{1/d_H}$ for different triangulation models\")\n",
" \n",
" for idx_model, model in enumerate(models):\n",
" mu = np.mean(expectations[model], 1)\n",
" sigma = np.std(expectations[model], 1)\n",
"\n",
" fitfunc = lambda V, c, d_H: c*V**(1/d_H)\n",
" popt, pcov = curve_fit(fitfunc, V_space, mu, sigma=sigma)\n",
" V_space_fit = np.linspace(np.min(V_space)/2, np.max(V_space)*2, 1000)\n",
"\n",
" ax = axs[idx_model]\n",
" ax.set_title(model_names[model])\n",
" ax.errorbar(V_space, mu, sigma, label=\"Monte Carlo\",\n",
" fmt='.', markersize=10, capsize=4)\n",
" ax.plot(V_space_fit, fitfunc(V_space_fit, *popt),\n",
" label=r\"fit: $c = {:.2f}$, $d_H = {:.2f}$\".format(*popt))\n",
" ax.set_xlabel(r\"volume $V$\")\n",
" ax.set_ylabel(r\"$\\mathbb{E}[d_T(X,Y)]$\")\n",
" ax.set_yscale(\"log\")\n",
" ax.set_xscale(\"log\")\n",
" ax.legend()\n",
" \n",
" fig.tight_layout()\n",
" fig.show()"
]
},
{
"cell_type": "markdown",
"id": "b505b3cf",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "be7888d11d6b9ca0f2666739857578cb",
"grade": false,
"grade_id": "cell-032c7f8d6147d9f9",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"**(d)** Produce a *collapse* plot for each of the four models as follows: plot \n",
"$$V^{1/d_H}\\,\\mathbb{E}[\\frac{1}{V}\\rho_T(r)] \\quad\\text{ as function of } x = r / V^{1/d_H},$$ \n",
"where for $d_H$ you take the estimate obtained in the previous exercise. Show errors in the mean distance profiles via shaded regions (just like in the lecture). Verify that the curves collapse reasonably well. **(25 pts)**"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "988bfe95",
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "7b7eceb7923231bc3710d4e3036265b6",
"grade": true,
"grade_id": "cell-faf328e7505cf6a2",
"locked": false,
"points": 25,
"schema_version": 3,
"solution": true,
"task": false
}
},
"outputs": [],
"source": [
"# YOUR CODE HERE\n",
"raise NotImplementedError()"
]
},
{
"cell_type": "markdown",
"id": "d8f25787",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "7f19410ed936f838773ee891b059d1a3",
"grade": false,
"grade_id": "cell-65ae9c46ece5b657",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"**(e) Bonus exercise:** Make more robust estimates of $d_H$ by optimizing the quality of the collapse. You could do this (for each model separately) by taking $\\hat{f}(r) = \\mathbb{E}[\\rho_T(r)] / V_0$, where the right-hand side is the mean distance profile for the largest system size with $V_0 = (2^{12} + 4)/2$ vertices. Then according to our assumption, for another size $V \\leq V_0$ we expect $\\mathbb{E}[\\rho_T(r)] / V \\approx k \\hat{f}(kr)$, where $k \\geq 1$ is a scale factor that should be $k\\approx (V_0/V)^{1/d_H}$. Making sure to interpolate the function $\\hat{f}(r)$ (using [`scipy.interpolate.interp1d`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html#scipy.interpolate.interp1d)), this scale factor can be determined by fitting the curve $k \\hat{f}(kr)$ to the data $\\mathbb{E}[\\rho_T(r)] / V$. Then $d_H$ can be estimated by fitting $k$ versus $V$. **(20 bonus points, but note that maximum grade is 10)**"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ed4424ce",
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "199ffddc14c77d4174b92a61368cd5c9",
"grade": true,
"grade_id": "cell-e24b0602e4e8257d",
"locked": false,
"points": 20,
"schema_version": 3,
"solution": true,
"task": false
}
},
"outputs": [],
"source": [
"# YOUR CODE HERE\n",
"raise NotImplementedError()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c9e50c10",
"metadata": {},
"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.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}