diff options
| author | Sebastiano Tronto <sebastiano.tronto@gmail.com> | 2021-05-25 17:10:49 +0200 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano.tronto@gmail.com> | 2021-05-25 17:10:49 +0200 |
| commit | d6c61d988bfa4255baf9cdae42db59ebee38363f (patch) | |
| tree | 118ff3c2424e735149c145524965a4a337e50beb /src/Lecture7/slides | |
| parent | 46eef66b1e1571c77dc828d7e950b129b4c8bfd0 (diff) | |
| download | mathsoftware-d6c61d988bfa4255baf9cdae42db59ebee38363f.tar.gz mathsoftware-d6c61d988bfa4255baf9cdae42db59ebee38363f.zip | |
Added files
Diffstat (limited to 'src/Lecture7/slides')
31 files changed, 5560 insertions, 0 deletions
diff --git a/src/Lecture7/slides/.ipynb_checkpoints/X1-ComputationalComplexity-checkpoint.ipynb b/src/Lecture7/slides/.ipynb_checkpoints/X1-ComputationalComplexity-checkpoint.ipynb new file mode 100644 index 0000000..ab7dd49 --- /dev/null +++ b/src/Lecture7/slides/.ipynb_checkpoints/X1-ComputationalComplexity-checkpoint.ipynb | |||
| @@ -0,0 +1,394 @@ | |||
| 1 | { | ||
| 2 | "cells": [ | ||
| 3 | { | ||
| 4 | "cell_type": "markdown", | ||
| 5 | "metadata": {}, | ||
| 6 | "source": [ | ||
| 7 | "# Nested loops\n", | ||
| 8 | "\n", | ||
| 9 | "The following two functions compute sum and product of matrices, respectively.\n", | ||
| 10 | "\n", | ||
| 11 | "By counting the nested loops it is easy to see that `add()` is $O(n^2)$ while `prod()` is $O(n^3)$." | ||
| 12 | ] | ||
| 13 | }, | ||
| 14 | { | ||
| 15 | "cell_type": "code", | ||
| 16 | "execution_count": 37, | ||
| 17 | "metadata": {}, | ||
| 18 | "outputs": [ | ||
| 19 | { | ||
| 20 | "name": "stdout", | ||
| 21 | "output_type": "stream", | ||
| 22 | "text": [ | ||
| 23 | "Time for add: 0.00012074300000008975\n", | ||
| 24 | "Time for prod: 0.00036587199999971176\n" | ||
| 25 | ] | ||
| 26 | } | ||
| 27 | ], | ||
| 28 | "source": [ | ||
| 29 | "from random import randint\n", | ||
| 30 | "import time\n", | ||
| 31 | "\n", | ||
| 32 | "def add(A, B):\n", | ||
| 33 | " S = [[0] * len(A) for i in range(len(A))]\n", | ||
| 34 | " for i in range(len(A)):\n", | ||
| 35 | " for j in range(len(A)):\n", | ||
| 36 | " S[i][j] = A[i][j] + B[i][j]\n", | ||
| 37 | " return S\n", | ||
| 38 | "\n", | ||
| 39 | "def prod(A, B):\n", | ||
| 40 | " S = [[0] * len(A) for i in range(len(A))]\n", | ||
| 41 | " for i in range(len(A)):\n", | ||
| 42 | " for j in range(len(A)):\n", | ||
| 43 | " for k in range(len(A)):\n", | ||
| 44 | " S[i][j] = S[i][j] + A[i][k] * B[k][j]\n", | ||
| 45 | " return S\n", | ||
| 46 | "\n", | ||
| 47 | "N = 10\n", | ||
| 48 | "A = [ [randint(0,100) for i in range(N)] for j in range(N) ]\n", | ||
| 49 | "B = [ [randint(0,100) for i in range(N)] for j in range(N) ]\n", | ||
| 50 | "\n", | ||
| 51 | "t0 = time.process_time()\n", | ||
| 52 | "add(A,B)\n", | ||
| 53 | "t1 = time.process_time()\n", | ||
| 54 | "prod(A,B)\n", | ||
| 55 | "t2 = time.process_time()\n", | ||
| 56 | "\n", | ||
| 57 | "print(\"Time for add: \", t1-t0)\n", | ||
| 58 | "print(\"Time for prod:\", t2-t1)" | ||
| 59 | ] | ||
| 60 | }, | ||
| 61 | { | ||
| 62 | "cell_type": "markdown", | ||
| 63 | "metadata": {}, | ||
| 64 | "source": [ | ||
| 65 | "# Sorting a list, slow version\n", | ||
| 66 | "\n", | ||
| 67 | "The following code implements a slow version of the so-called *insertion sort* alogithm\n", | ||
| 68 | "\n", | ||
| 69 | "Complexity: $O(n^2)$." | ||
| 70 | ] | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | "cell_type": "code", | ||
| 74 | "execution_count": 61, | ||
| 75 | "metadata": {}, | ||
| 76 | "outputs": [ | ||
| 77 | { | ||
| 78 | "name": "stdout", | ||
| 79 | "output_type": "stream", | ||
| 80 | "text": [ | ||
| 81 | "Running time: 1.1012288430000012\n" | ||
| 82 | ] | ||
| 83 | } | ||
| 84 | ], | ||
| 85 | "source": [ | ||
| 86 | "from random import randint\n", | ||
| 87 | "import time\n", | ||
| 88 | "\n", | ||
| 89 | "def correct_position(e, S):\n", | ||
| 90 | " for i in range(len(S)):\n", | ||
| 91 | " if S[i] > e:\n", | ||
| 92 | " return i\n", | ||
| 93 | " return len(S)\n", | ||
| 94 | "\n", | ||
| 95 | "def sort_list(L):\n", | ||
| 96 | " S = []\n", | ||
| 97 | " for e in L:\n", | ||
| 98 | " cp = correct_position(e, S)\n", | ||
| 99 | " S.insert(cp, e)\n", | ||
| 100 | " return S\n", | ||
| 101 | "\n", | ||
| 102 | "N = 10000\n", | ||
| 103 | "L = [randint(0,10**9) for i in range(N)]\n", | ||
| 104 | "\n", | ||
| 105 | "t0 = time.process_time()\n", | ||
| 106 | "sort_list(L)\n", | ||
| 107 | "t1 = time.process_time()\n", | ||
| 108 | "\n", | ||
| 109 | "print(\"Running time:\", t1-t0)" | ||
| 110 | ] | ||
| 111 | }, | ||
| 112 | { | ||
| 113 | "cell_type": "markdown", | ||
| 114 | "metadata": {}, | ||
| 115 | "source": [ | ||
| 116 | "# Binary search\n", | ||
| 117 | "\n", | ||
| 118 | "The following code implements a binary search.\n", | ||
| 119 | "\n", | ||
| 120 | "Complexity: $O(\\log_2(n))$" | ||
| 121 | ] | ||
| 122 | }, | ||
| 123 | { | ||
| 124 | "cell_type": "code", | ||
| 125 | "execution_count": 53, | ||
| 126 | "metadata": {}, | ||
| 127 | "outputs": [ | ||
| 128 | { | ||
| 129 | "name": "stdout", | ||
| 130 | "output_type": "stream", | ||
| 131 | "text": [ | ||
| 132 | "The correct position of e = 658230309 in L is:\n", | ||
| 133 | "... 658211821 658224379 e 658234625 658246765 ...\n", | ||
| 134 | "\n", | ||
| 135 | "Time for sorting: 0.021211020999999164\n", | ||
| 136 | "Time for searching: 7.820199999741817e-05\n" | ||
| 137 | ] | ||
| 138 | } | ||
| 139 | ], | ||
| 140 | "source": [ | ||
| 141 | "from random import randint\n", | ||
| 142 | "import time\n", | ||
| 143 | "\n", | ||
| 144 | "def binary_search(e, S, start, end):\n", | ||
| 145 | " if start == end:\n", | ||
| 146 | " return start\n", | ||
| 147 | " midpoint = (start+end) // 2\n", | ||
| 148 | " if e < S[midpoint]:\n", | ||
| 149 | " return binary_search(e, S, start, midpoint)\n", | ||
| 150 | " else:\n", | ||
| 151 | " return binary_search(e, S, midpoint+1, end)\n", | ||
| 152 | " \n", | ||
| 153 | "N = 100000\n", | ||
| 154 | "L = [randint(0,10**9) for i in range(N)]\n", | ||
| 155 | "e = randint(0,10**9)\n", | ||
| 156 | "\n", | ||
| 157 | "t0 = time.process_time()\n", | ||
| 158 | "L.sort() # Using Python's sort()\n", | ||
| 159 | "t1 = time.process_time()\n", | ||
| 160 | "i = binary_search(e, L, 0, len(L))\n", | ||
| 161 | "t2 = time.process_time()\n", | ||
| 162 | "print(\"The correct position of e =\", e, \"in L is:\")\n", | ||
| 163 | "print(\"...\", L[i-2], L[i-1], \"e\", L[i], L[i+1], \"...\")\n", | ||
| 164 | "print(\"\")\n", | ||
| 165 | "print(\"Time for sorting: \", t1-t0)\n", | ||
| 166 | "print(\"Time for searching:\", t2-t1)\n" | ||
| 167 | ] | ||
| 168 | }, | ||
| 169 | { | ||
| 170 | "cell_type": "markdown", | ||
| 171 | "metadata": {}, | ||
| 172 | "source": [ | ||
| 173 | "# Sorting a list, fast version (with binary_search)\n", | ||
| 174 | "\n", | ||
| 175 | "The following code uses the function `binary_search()` above instead of `correct_position()` in our insertion sort algorithm.\n", | ||
| 176 | "\n", | ||
| 177 | "Complexity: $O(n\\log_2(n))$" | ||
| 178 | ] | ||
| 179 | }, | ||
| 180 | { | ||
| 181 | "cell_type": "code", | ||
| 182 | "execution_count": 69, | ||
| 183 | "metadata": {}, | ||
| 184 | "outputs": [ | ||
| 185 | { | ||
| 186 | "name": "stdout", | ||
| 187 | "output_type": "stream", | ||
| 188 | "text": [ | ||
| 189 | "Running time: 0.03710268399998995\n" | ||
| 190 | ] | ||
| 191 | } | ||
| 192 | ], | ||
| 193 | "source": [ | ||
| 194 | "from random import randint\n", | ||
| 195 | "import time\n", | ||
| 196 | "\n", | ||
| 197 | "def binary_search(e, S, start, end):\n", | ||
| 198 | " if start == end:\n", | ||
| 199 | " return start\n", | ||
| 200 | " midpoint = (start+end) // 2\n", | ||
| 201 | " if e < S[midpoint]:\n", | ||
| 202 | " return binary_search(e, S, start, midpoint)\n", | ||
| 203 | " else:\n", | ||
| 204 | " return binary_search(e, S, midpoint+1, end)\n", | ||
| 205 | " \n", | ||
| 206 | "def sort_list(L):\n", | ||
| 207 | " S = []\n", | ||
| 208 | " for e in L:\n", | ||
| 209 | " cp = binary_search(e, S, 0, len(S)) # Changed here\n", | ||
| 210 | " S.insert(cp, e)\n", | ||
| 211 | " return S\n", | ||
| 212 | " \n", | ||
| 213 | "N = 10000\n", | ||
| 214 | "L = [randint(0,10**9) for i in range(N)]\n", | ||
| 215 | "\n", | ||
| 216 | "t0 = time.process_time()\n", | ||
| 217 | "sort_list(L)\n", | ||
| 218 | "t1 = time.process_time()\n", | ||
| 219 | "\n", | ||
| 220 | "print(\"Running time:\", t1-t0)" | ||
| 221 | ] | ||
| 222 | }, | ||
| 223 | { | ||
| 224 | "cell_type": "markdown", | ||
| 225 | "metadata": {}, | ||
| 226 | "source": [ | ||
| 227 | "# Fast exponentiation\n", | ||
| 228 | "\n", | ||
| 229 | "The following cell contains two functions for computing $a^n$ ($n$ non-negative integer): a slow one that runs in $O(n)$ and a fast one that runs in $O(\\log_2(n))$. We compare these two also with Python's built-in operator `**`.\n", | ||
| 230 | "\n", | ||
| 231 | "Complexity: $O(n)$ for the slow algorithm, $O(\\log_2(n))$ for the other two." | ||
| 232 | ] | ||
| 233 | }, | ||
| 234 | { | ||
| 235 | "cell_type": "code", | ||
| 236 | "execution_count": 30, | ||
| 237 | "metadata": {}, | ||
| 238 | "outputs": [ | ||
| 239 | { | ||
| 240 | "name": "stdout", | ||
| 241 | "output_type": "stream", | ||
| 242 | "text": [ | ||
| 243 | "2.71828179834636\n", | ||
| 244 | "2.7182817863957984\n", | ||
| 245 | "2.7182817983473577\n", | ||
| 246 | "Time for slow_power(): 3.234879998000004\n", | ||
| 247 | "Time for fast_power(): 9.059099999575437e-05\n", | ||
| 248 | "Time for Python's **: 0.00010159500000384014\n" | ||
| 249 | ] | ||
| 250 | } | ||
| 251 | ], | ||
| 252 | "source": [ | ||
| 253 | "import time\n", | ||
| 254 | "\n", | ||
| 255 | "def slow_power(a, n):\n", | ||
| 256 | " r = 1\n", | ||
| 257 | " for i in range(n):\n", | ||
| 258 | " r = r * a\n", | ||
| 259 | " return r\n", | ||
| 260 | "\n", | ||
| 261 | "def fast_power(a, n):\n", | ||
| 262 | " if n == 0:\n", | ||
| 263 | " return 1\n", | ||
| 264 | " if n%2 == 0:\n", | ||
| 265 | " return fast_power(a*a, n//2)\n", | ||
| 266 | " else:\n", | ||
| 267 | " return a * fast_power(a, n-1)\n", | ||
| 268 | "\n", | ||
| 269 | "a = 1.00000001\n", | ||
| 270 | "n = 100000000\n", | ||
| 271 | "\n", | ||
| 272 | "t0 = time.process_time()\n", | ||
| 273 | "print(slow_power(a, n))\n", | ||
| 274 | "t1 = time.process_time()\n", | ||
| 275 | "print(fast_power(a, n))\n", | ||
| 276 | "t2 = time.process_time()\n", | ||
| 277 | "print(a**n)\n", | ||
| 278 | "t3 = time.process_time()\n", | ||
| 279 | "\n", | ||
| 280 | "print(\"Time for slow_power():\", t1-t0)\n", | ||
| 281 | "print(\"Time for fast_power():\", t2-t1)\n", | ||
| 282 | "print(\"Time for Python's **: \", t3-t2)" | ||
| 283 | ] | ||
| 284 | }, | ||
| 285 | { | ||
| 286 | "cell_type": "markdown", | ||
| 287 | "metadata": {}, | ||
| 288 | "source": [ | ||
| 289 | "# Fast gcd\n", | ||
| 290 | "\n", | ||
| 291 | "Complexity: $O(\\log_2(n))$" | ||
| 292 | ] | ||
| 293 | }, | ||
| 294 | { | ||
| 295 | "cell_type": "code", | ||
| 296 | "execution_count": 31, | ||
| 297 | "metadata": {}, | ||
| 298 | "outputs": [ | ||
| 299 | { | ||
| 300 | "name": "stdout", | ||
| 301 | "output_type": "stream", | ||
| 302 | "text": [ | ||
| 303 | "126\n", | ||
| 304 | "Running time: 0.00017707599999994272\n" | ||
| 305 | ] | ||
| 306 | } | ||
| 307 | ], | ||
| 308 | "source": [ | ||
| 309 | "import time\n", | ||
| 310 | "\n", | ||
| 311 | "def gcd(a, b):\n", | ||
| 312 | " if b == 0:\n", | ||
| 313 | " return a\n", | ||
| 314 | " else:\n", | ||
| 315 | " return gcd(b, a%b)\n", | ||
| 316 | "\n", | ||
| 317 | "t0 = time.process_time()\n", | ||
| 318 | "print(gcd(155275387236018, 572335397352432))\n", | ||
| 319 | "t1 = time.process_time()\n", | ||
| 320 | "\n", | ||
| 321 | "print(\"Running time:\", t1-t0)" | ||
| 322 | ] | ||
| 323 | }, | ||
| 324 | { | ||
| 325 | "cell_type": "markdown", | ||
| 326 | "metadata": {}, | ||
| 327 | "source": [ | ||
| 328 | "# Fibonacci numbers\n", | ||
| 329 | "\n", | ||
| 330 | "In the following cell there are two functions that compute the $n$-th Fibonacci number. They are almost the same, but the second one memorizes the results in a list to avoid computing them multiple times, and it is much much faster.\n", | ||
| 331 | "\n", | ||
| 332 | "Complexity: $O\\left(\\left(\\frac{1+\\sqrt 5}{2}\\right)^n\\right)\\sim O(1.6^n)$ for the slow version, $O(n)$ for the fast version." | ||
| 333 | ] | ||
| 334 | }, | ||
| 335 | { | ||
| 336 | "cell_type": "code", | ||
| 337 | "execution_count": null, | ||
| 338 | "metadata": {}, | ||
| 339 | "outputs": [], | ||
| 340 | "source": [ | ||
| 341 | "import time\n", | ||
| 342 | "\n", | ||
| 343 | "F_memorized = [-1] * (10**6)\n", | ||
| 344 | "\n", | ||
| 345 | "def F_slow(n):\n", | ||
| 346 | " if n <= 1:\n", | ||
| 347 | " return n\n", | ||
| 348 | " else:\n", | ||
| 349 | " return F_slow(n-1) + F_slow(n-2)\n", | ||
| 350 | " \n", | ||
| 351 | "def F_fast(n):\n", | ||
| 352 | " if F_memorized[n] == -1:\n", | ||
| 353 | " if n <= 1:\n", | ||
| 354 | " F_memorized[n] = n\n", | ||
| 355 | " else:\n", | ||
| 356 | " F_memorized[n] = F_fast(n-1) + F_fast(n-2)\n", | ||
| 357 | " \n", | ||
| 358 | " return F_memorized[n]\n", | ||
| 359 | "\n", | ||
| 360 | "n = 40\n", | ||
| 361 | "\n", | ||
| 362 | "t0 = time.process_time()\n", | ||
| 363 | "print(F_slow(n))\n", | ||
| 364 | "t1 = time.process_time()\n", | ||
| 365 | "print(F_fast(n))\n", | ||
| 366 | "t2 = time.process_time()\n", | ||
| 367 | "\n", | ||
| 368 | "print(\"Time for F_slow:\", t1-t0)\n", | ||
| 369 | "print(\"Time for F_fast:\", t2-t1)" | ||
| 370 | ] | ||
| 371 | } | ||
| 372 | ], | ||
| 373 | "metadata": { | ||
| 374 | "kernelspec": { | ||
| 375 | "display_name": "Python 3", | ||
| 376 | "language": "python", | ||
| 377 | "name": "python3" | ||
| 378 | }, | ||
| 379 | "language_info": { | ||
| 380 | "codemirror_mode": { | ||
| 381 | "name": "ipython", | ||
| 382 | "version": 3 | ||
| 383 | }, | ||
| 384 | "file_extension": ".py", | ||
| 385 | "mimetype": "text/x-python", | ||
| 386 | "name": "python", | ||
| 387 | "nbconvert_exporter": "python", | ||
| 388 | "pygments_lexer": "ipython3", | ||
| 389 | "version": "3.8.5" | ||
| 390 | } | ||
| 391 | }, | ||
| 392 | "nbformat": 4, | ||
| 393 | "nbformat_minor": 4 | ||
| 394 | } | ||
diff --git a/src/Lecture7/slides/.ipynb_checkpoints/X1-ComputationalComplexity-notebook-checkpoint.ipynb b/src/Lecture7/slides/.ipynb_checkpoints/X1-ComputationalComplexity-notebook-checkpoint.ipynb new file mode 100644 index 0000000..16a6d40 --- /dev/null +++ b/src/Lecture7/slides/.ipynb_checkpoints/X1-ComputationalComplexity-notebook-checkpoint.ipynb | |||
| @@ -0,0 +1,412 @@ | |||
| 1 | { | ||
| 2 | "cells": [ | ||
| 3 | { | ||
| 4 | "cell_type": "markdown", | ||
| 5 | "metadata": {}, | ||
| 6 | "source": [ | ||
| 7 | "# Nested loops\n", | ||
| 8 | "\n", | ||
| 9 | "The following two functions compute sum and product of matrices, respectively.\n", | ||
| 10 | "\n", | ||
| 11 | "By counting the nested loops it is easy to see that `add()` is $O(n^2)$ while `prod()` is $O(n^3)$." | ||
| 12 | ] | ||
| 13 | }, | ||
| 14 | { | ||
| 15 | "cell_type": "code", | ||
| 16 | "execution_count": 2, | ||
| 17 | "metadata": {}, | ||
| 18 | "outputs": [ | ||
| 19 | { | ||
| 20 | "name": "stdout", | ||
| 21 | "output_type": "stream", | ||
| 22 | "text": [ | ||
| 23 | "Time for add: 0.005766554000000035\n", | ||
| 24 | "Time for prod: 1.3871021639999999\n" | ||
| 25 | ] | ||
| 26 | } | ||
| 27 | ], | ||
| 28 | "source": [ | ||
| 29 | "from random import randint\n", | ||
| 30 | "import time\n", | ||
| 31 | "\n", | ||
| 32 | "def add(A, B):\n", | ||
| 33 | " S = [[0] * len(A) for i in range(len(A))]\n", | ||
| 34 | " for i in range(len(A)):\n", | ||
| 35 | " for j in range(len(A)):\n", | ||
| 36 | " S[i][j] = A[i][j] + B[i][j]\n", | ||
| 37 | " return S\n", | ||
| 38 | "\n", | ||
| 39 | "def prod(A, B):\n", | ||
| 40 | " S = [[0] * len(A) for i in range(len(A))]\n", | ||
| 41 | " for i in range(len(A)):\n", | ||
| 42 | " for j in range(len(A)):\n", | ||
| 43 | " for k in range(len(A)):\n", | ||
| 44 | " S[i][j] = S[i][j] + A[i][k] * B[k][j]\n", | ||
| 45 | " return S\n", | ||
| 46 | "\n", | ||
| 47 | "N = 200\n", | ||
| 48 | "A = [ [randint(0,100) for i in range(N)] for j in range(N) ]\n", | ||
| 49 | "B = [ [randint(0,100) for i in range(N)] for j in range(N) ]\n", | ||
| 50 | "\n", | ||
| 51 | "t0 = time.process_time()\n", | ||
| 52 | "add(A,B)\n", | ||
| 53 | "t1 = time.process_time()\n", | ||
| 54 | "prod(A,B)\n", | ||
| 55 | "t2 = time.process_time()\n", | ||
| 56 | "\n", | ||
| 57 | "print(\"Time for add: \", t1-t0)\n", | ||
| 58 | "print(\"Time for prod:\", t2-t1)" | ||
| 59 | ] | ||
| 60 | }, | ||
| 61 | { | ||
| 62 | "cell_type": "markdown", | ||
| 63 | "metadata": {}, | ||
| 64 | "source": [ | ||
| 65 | "# Sorting a list, slow version\n", | ||
| 66 | "\n", | ||
| 67 | "The following code implements a slow version of the so-called *insertion sort* alogithm\n", | ||
| 68 | "\n", | ||
| 69 | "Complexity: $O(n^2)$." | ||
| 70 | ] | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | "cell_type": "code", | ||
| 74 | "execution_count": 1, | ||
| 75 | "metadata": {}, | ||
| 76 | "outputs": [ | ||
| 77 | { | ||
| 78 | "name": "stdout", | ||
| 79 | "output_type": "stream", | ||
| 80 | "text": [ | ||
| 81 | "Running time: 1.1191449070000001\n" | ||
| 82 | ] | ||
| 83 | } | ||
| 84 | ], | ||
| 85 | "source": [ | ||
| 86 | "from random import randint\n", | ||
| 87 | "import time\n", | ||
| 88 | "\n", | ||
| 89 | "def correct_position(e, S):\n", | ||
| 90 | " for i in range(len(S)):\n", | ||
| 91 | " if S[i] > e:\n", | ||
| 92 | " return i\n", | ||
| 93 | " return len(S)\n", | ||
| 94 | "\n", | ||
| 95 | "def sort_list(L):\n", | ||
| 96 | " S = []\n", | ||
| 97 | " for e in L:\n", | ||
| 98 | " cp = correct_position(e, S)\n", | ||
| 99 | " S.insert(cp, e)\n", | ||
| 100 | " return S\n", | ||
| 101 | "\n", | ||
| 102 | "N = 10000\n", | ||
| 103 | "L = [randint(0,10**9) for i in range(N)]\n", | ||
| 104 | "\n", | ||
| 105 | "t0 = time.process_time()\n", | ||
| 106 | "sort_list(L)\n", | ||
| 107 | "t1 = time.process_time()\n", | ||
| 108 | "\n", | ||
| 109 | "print(\"Running time:\", t1-t0)" | ||
| 110 | ] | ||
| 111 | }, | ||
| 112 | { | ||
| 113 | "cell_type": "markdown", | ||
| 114 | "metadata": {}, | ||
| 115 | "source": [ | ||
| 116 | "# Binary search\n", | ||
| 117 | "\n", | ||
| 118 | "The following code implements a binary search.\n", | ||
| 119 | "\n", | ||
| 120 | "Complexity: $O(\\log_2(n))$" | ||
| 121 | ] | ||
| 122 | }, | ||
| 123 | { | ||
| 124 | "cell_type": "code", | ||
| 125 | "execution_count": 3, | ||
| 126 | "metadata": {}, | ||
| 127 | "outputs": [ | ||
| 128 | { | ||
| 129 | "name": "stdout", | ||
| 130 | "output_type": "stream", | ||
| 131 | "text": [ | ||
| 132 | "The correct position of e = 216197744 in L is:\n", | ||
| 133 | "... 216196218 216197540 e 216198673 216198962 ...\n", | ||
| 134 | "\n", | ||
| 135 | "Time for sorting: 0.26413054400000036\n", | ||
| 136 | "Time for searching: 9.616099999965044e-05\n" | ||
| 137 | ] | ||
| 138 | } | ||
| 139 | ], | ||
| 140 | "source": [ | ||
| 141 | "from random import randint\n", | ||
| 142 | "import time\n", | ||
| 143 | "\n", | ||
| 144 | "def binary_search(e, S, start, end):\n", | ||
| 145 | " if start == end:\n", | ||
| 146 | " return start\n", | ||
| 147 | " midpoint = (start+end) // 2\n", | ||
| 148 | " if e < S[midpoint]:\n", | ||
| 149 | " return binary_search(e, S, start, midpoint)\n", | ||
| 150 | " else:\n", | ||
| 151 | " return binary_search(e, S, midpoint+1, end)\n", | ||
| 152 | " \n", | ||
| 153 | "N = 1000000\n", | ||
| 154 | "L = [randint(0,10**9) for i in range(N)]\n", | ||
| 155 | "e = randint(0,10**9)\n", | ||
| 156 | "\n", | ||
| 157 | "t0 = time.process_time()\n", | ||
| 158 | "L.sort() # Using Python's sort()\n", | ||
| 159 | "t1 = time.process_time()\n", | ||
| 160 | "i = binary_search(e, L, 0, len(L))\n", | ||
| 161 | "t2 = time.process_time()\n", | ||
| 162 | "print(\"The correct position of e =\", e, \"in L is:\")\n", | ||
| 163 | "print(\"...\", L[i-2], L[i-1], \"e\", L[i], L[i+1], \"...\")\n", | ||
| 164 | "print(\"\")\n", | ||
| 165 | "print(\"Time for sorting: \", t1-t0)\n", | ||
| 166 | "print(\"Time for searching:\", t2-t1)\n" | ||
| 167 | ] | ||
| 168 | }, | ||
| 169 | { | ||
| 170 | "cell_type": "markdown", | ||
| 171 | "metadata": {}, | ||
| 172 | "source": [ | ||
| 173 | "# Sorting a list, fast version (with binary_search)\n", | ||
| 174 | "\n", | ||
| 175 | "The following code uses the function `binary_search()` above instead of `correct_position()` in our insertion sort algorithm.\n", | ||
| 176 | "\n", | ||
| 177 | "Complexity: $O(n\\log_2(n))$" | ||
| 178 | ] | ||
| 179 | }, | ||
| 180 | { | ||
| 181 | "cell_type": "code", | ||
| 182 | "execution_count": 69, | ||
| 183 | "metadata": {}, | ||
| 184 | "outputs": [ | ||
| 185 | { | ||
| 186 | "name": "stdout", | ||
| 187 | "output_type": "stream", | ||
| 188 | "text": [ | ||
| 189 | "Running time: 0.03710268399998995\n" | ||
| 190 | ] | ||
| 191 | } | ||
| 192 | ], | ||
| 193 | "source": [ | ||
| 194 | "from random import randint\n", | ||
| 195 | "import time\n", | ||
| 196 | "\n", | ||
| 197 | "def binary_search(e, S, start, end):\n", | ||
| 198 | " if start == end:\n", | ||
| 199 | " return start\n", | ||
| 200 | " midpoint = (start+end) // 2\n", | ||
| 201 | " if e < S[midpoint]:\n", | ||
| 202 | " return binary_search(e, S, start, midpoint)\n", | ||
| 203 | " else:\n", | ||
| 204 | " return binary_search(e, S, midpoint+1, end)\n", | ||
| 205 | " \n", | ||
| 206 | "def sort_list(L):\n", | ||
| 207 | " S = []\n", | ||
| 208 | " for e in L:\n", | ||
| 209 | " cp = binary_search(e, S, 0, len(S)) # Changed here\n", | ||
| 210 | " S.insert(cp, e)\n", | ||
| 211 | " return S\n", | ||
| 212 | " \n", | ||
| 213 | "N = 10000\n", | ||
| 214 | "L = [randint(0,10**9) for i in range(N)]\n", | ||
| 215 | "\n", | ||
| 216 | "t0 = time.process_time()\n", | ||
| 217 | "sort_list(L)\n", | ||
| 218 | "t1 = time.process_time()\n", | ||
| 219 | "\n", | ||
| 220 | "print(\"Running time:\", t1-t0)" | ||
| 221 | ] | ||
| 222 | }, | ||
| 223 | { | ||
| 224 | "cell_type": "markdown", | ||
| 225 | "metadata": {}, | ||
| 226 | "source": [ | ||
| 227 | "# Fast exponentiation\n", | ||
| 228 | "\n", | ||
| 229 | "The following cell contains two functions for computing $a^n$ ($n$ non-negative integer): a slow one that runs in $O(n)$ and a fast one that runs in $O(\\log_2(n))$. We compare these two also with Python's built-in operator `**`.\n", | ||
| 230 | "\n", | ||
| 231 | "Complexity: $O(n)$ for the slow algorithm, $O(\\log_2(n))$ for the other two." | ||
| 232 | ] | ||
| 233 | }, | ||
| 234 | { | ||
| 235 | "cell_type": "code", | ||
| 236 | "execution_count": 30, | ||
| 237 | "metadata": {}, | ||
| 238 | "outputs": [ | ||
| 239 | { | ||
| 240 | "name": "stdout", | ||
| 241 | "output_type": "stream", | ||
| 242 | "text": [ | ||
| 243 | "2.71828179834636\n", | ||
| 244 | "2.7182817863957984\n", | ||
| 245 | "2.7182817983473577\n", | ||
| 246 | "Time for slow_power(): 3.234879998000004\n", | ||
| 247 | "Time for fast_power(): 9.059099999575437e-05\n", | ||
| 248 | "Time for Python's **: 0.00010159500000384014\n" | ||
| 249 | ] | ||
| 250 | } | ||
| 251 | ], | ||
| 252 | "source": [ | ||
| 253 | "import time\n", | ||
| 254 | "\n", | ||
| 255 | "def slow_power(a, n):\n", | ||
| 256 | " r = 1\n", | ||
| 257 | " for i in range(n):\n", | ||
| 258 | " r = r * a\n", | ||
| 259 | " return r\n", | ||
| 260 | "\n", | ||
| 261 | "def fast_power(a, n):\n", | ||
| 262 | " if n == 0:\n", | ||
| 263 | " return 1\n", | ||
| 264 | " if n%2 == 0:\n", | ||
| 265 | " return fast_power(a*a, n//2)\n", | ||
| 266 | " else:\n", | ||
| 267 | " return a * fast_power(a, n-1)\n", | ||
| 268 | "\n", | ||
| 269 | "a = 1.00000001\n", | ||
| 270 | "n = 100000000\n", | ||
| 271 | "\n", | ||
| 272 | "t0 = time.process_time()\n", | ||
| 273 | "print(slow_power(a, n))\n", | ||
| 274 | "t1 = time.process_time()\n", | ||
| 275 | "print(fast_power(a, n))\n", | ||
| 276 | "t2 = time.process_time()\n", | ||
| 277 | "print(a**n)\n", | ||
| 278 | "t3 = time.process_time()\n", | ||
| 279 | "\n", | ||
| 280 | "print(\"Time for slow_power():\", t1-t0)\n", | ||
| 281 | "print(\"Time for fast_power():\", t2-t1)\n", | ||
| 282 | "print(\"Time for Python's **: \", t3-t2)" | ||
| 283 | ] | ||
| 284 | }, | ||
| 285 | { | ||
| 286 | "cell_type": "markdown", | ||
| 287 | "metadata": {}, | ||
| 288 | "source": [ | ||
| 289 | "# Fast gcd\n", | ||
| 290 | "\n", | ||
| 291 | "Complexity: $O(\\log_2(n))$" | ||
| 292 | ] | ||
| 293 | }, | ||
| 294 | { | ||
| 295 | "cell_type": "code", | ||
| 296 | "execution_count": 31, | ||
| 297 | "metadata": {}, | ||
| 298 | "outputs": [ | ||
| 299 | { | ||
| 300 | "name": "stdout", | ||
| 301 | "output_type": "stream", | ||
| 302 | "text": [ | ||
| 303 | "126\n", | ||
| 304 | "Running time: 0.00017707599999994272\n" | ||
| 305 | ] | ||
| 306 | } | ||
| 307 | ], | ||
| 308 | "source": [ | ||
| 309 | "import time\n", | ||
| 310 | "\n", | ||
| 311 | "def gcd(a, b):\n", | ||
| 312 | " if b == 0:\n", | ||
| 313 | " return a\n", | ||
| 314 | " else:\n", | ||
| 315 | " return gcd(b, a%b)\n", | ||
| 316 | "\n", | ||
| 317 | "t0 = time.process_time()\n", | ||
| 318 | "print(gcd(155275387236018, 572335397352432))\n", | ||
| 319 | "t1 = time.process_time()\n", | ||
| 320 | "\n", | ||
| 321 | "print(\"Running time:\", t1-t0)" | ||
| 322 | ] | ||
| 323 | }, | ||
| 324 | { | ||
| 325 | "cell_type": "markdown", | ||
| 326 | "metadata": {}, | ||
| 327 | "source": [ | ||
| 328 | "# Fibonacci numbers\n", | ||
| 329 | "\n", | ||
| 330 | "In the following cell there are two functions that compute the $n$-th Fibonacci number. They are almost the same, but the second one memorizes the results in a list to avoid computing them multiple times, and it is much much faster.\n", | ||
| 331 | "\n", | ||
| 332 | "Complexity: $O\\left(\\left(\\frac{1+\\sqrt 5}{2}\\right)^n\\right)\\sim O(1.6^n)$ for the slow version, $O(n)$ for the fast version." | ||
| 333 | ] | ||
| 334 | }, | ||
| 335 | { | ||
| 336 | "cell_type": "code", | ||
| 337 | "execution_count": 37, | ||
| 338 | "metadata": {}, | ||
| 339 | "outputs": [ | ||
| 340 | { | ||
| 341 | "name": "stdout", | ||
| 342 | "output_type": "stream", | ||
| 343 | "text": [ | ||
| 344 | "9227465\n", | ||
| 345 | "9227465\n", | ||
| 346 | "Time for F_slow: 2.3301570169999906\n", | ||
| 347 | "Time for F_fast: 8.848800000293977e-05\n" | ||
| 348 | ] | ||
| 349 | } | ||
| 350 | ], | ||
| 351 | "source": [ | ||
| 352 | "import time\n", | ||
| 353 | "\n", | ||
| 354 | "F_memorized = [-1] * (10**6)\n", | ||
| 355 | "\n", | ||
| 356 | "def F_slow(n):\n", | ||
| 357 | " if n <= 1:\n", | ||
| 358 | " return n\n", | ||
| 359 | " else:\n", | ||
| 360 | " return F_slow(n-1) + F_slow(n-2)\n", | ||
| 361 | " \n", | ||
| 362 | "def F_fast(n):\n", | ||
| 363 | " if F_memorized[n] == -1:\n", | ||
| 364 | " if n <= 1:\n", | ||
| 365 | " F_memorized[n] = n\n", | ||
| 366 | " else:\n", | ||
| 367 | " F_memorized[n] = F_fast(n-1) + F_fast(n-2)\n", | ||
| 368 | " \n", | ||
| 369 | " return F_memorized[n]\n", | ||
| 370 | "\n", | ||
| 371 | "n = 35\n", | ||
| 372 | "\n", | ||
| 373 | "t0 = time.process_time()\n", | ||
| 374 | "print(F_slow(n))\n", | ||
| 375 | "t1 = time.process_time()\n", | ||
| 376 | "print(F_fast(n))\n", | ||
| 377 | "t2 = time.process_time()\n", | ||
| 378 | "\n", | ||
| 379 | "print(\"Time for F_slow:\", t1-t0)\n", | ||
| 380 | "print(\"Time for F_fast:\", t2-t1)" | ||
| 381 | ] | ||
| 382 | }, | ||
| 383 | { | ||
| 384 | "cell_type": "code", | ||
| 385 | "execution_count": null, | ||
| 386 | "metadata": {}, | ||
| 387 | "outputs": [], | ||
| 388 | "source": [] | ||
| 389 | } | ||
| 390 | ], | ||
| 391 | "metadata": { | ||
| 392 | "kernelspec": { | ||
| 393 | "display_name": "Python 3", | ||
| 394 | "language": "python", | ||
| 395 | "name": "python3" | ||
| 396 | }, | ||
| 397 | "language_info": { | ||
| 398 | "codemirror_mode": { | ||
| 399 | "name": "ipython", | ||
| 400 | "version": 3 | ||
| 401 | }, | ||
| 402 | "file_extension": ".py", | ||
| 403 | "mimetype": "text/x-python", | ||
| 404 | "name": "python", | ||
| 405 | "nbconvert_exporter": "python", | ||
| 406 | "pygments_lexer": "ipython3", | ||
| 407 | "version": "3.8.5" | ||
| 408 | } | ||
| 409 | }, | ||
| 410 | "nbformat": 4, | ||
| 411 | "nbformat_minor": 4 | ||
| 412 | } | ||
diff --git a/src/Lecture7/slides/.ipynb_checkpoints/X2-StudentsRequests-checkpoint.ipynb b/src/Lecture7/slides/.ipynb_checkpoints/X2-StudentsRequests-checkpoint.ipynb new file mode 100644 index 0000000..a35bb8d --- /dev/null +++ b/src/Lecture7/slides/.ipynb_checkpoints/X2-StudentsRequests-checkpoint.ipynb | |||
| @@ -0,0 +1,165 @@ | |||
| 1 | { | ||
| 2 | "cells": [ | ||
| 3 | { | ||
| 4 | "cell_type": "markdown", | ||
| 5 | "metadata": {}, | ||
| 6 | "source": [ | ||
| 7 | "# Diffie-Hellman key exchange\n", | ||
| 8 | "\n", | ||
| 9 | "The following is a simple implementation of the classic [Diffie-Hellman key exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange) cryptographic protocol." | ||
| 10 | ] | ||
| 11 | }, | ||
| 12 | { | ||
| 13 | "cell_type": "code", | ||
| 14 | "execution_count": 9, | ||
| 15 | "metadata": {}, | ||
| 16 | "outputs": [ | ||
| 17 | { | ||
| 18 | "name": "stdout", | ||
| 19 | "output_type": "stream", | ||
| 20 | "text": [ | ||
| 21 | "Public key: p = 20747 and g = 13428 \n", | ||
| 22 | "\n", | ||
| 23 | "[[ Alice's secret key: a = 12403 ]]\n", | ||
| 24 | "[[ Bob's secret key: b = 17642 ]] \n", | ||
| 25 | "\n", | ||
| 26 | "Alice sends h1 = 14710 to Bob\n", | ||
| 27 | "Bob sends h2 = 10680 to Alice \n", | ||
| 28 | "\n", | ||
| 29 | "Alice computed 10455 using h2 and her secret a\n", | ||
| 30 | "Bob computed 10455 using h1 and his secret b\n" | ||
| 31 | ] | ||
| 32 | } | ||
| 33 | ], | ||
| 34 | "source": [ | ||
| 35 | "# Public information:\n", | ||
| 36 | "p = Primes()[10^3 + randint(1,10000)] # random prime\n", | ||
| 37 | "g = randint(2, p-1) # random integer\n", | ||
| 38 | "\n", | ||
| 39 | "print(\"Public key: p =\", p, \"and g =\", g, \"\\n\")\n", | ||
| 40 | "\n", | ||
| 41 | "a = randint(2, p-1) # Only Alice knows this\n", | ||
| 42 | "b = randint(2, p-1) # Only Bob knows this\n", | ||
| 43 | "\n", | ||
| 44 | "print(\"[[ Alice's secret key: a =\", a, \"]]\")\n", | ||
| 45 | "print(\"[[ Bob's secret key: b =\", b, \"]]\", \"\\n\")\n", | ||
| 46 | "\n", | ||
| 47 | "h1 = (g^a) % p # Alice sends this to Bob\n", | ||
| 48 | "h2 = (g^b) % p # Bob sends this to Alice\n", | ||
| 49 | "\n", | ||
| 50 | "print(\"Alice sends h1 =\", h1, \"to Bob\")\n", | ||
| 51 | "print(\"Bob sends h2 =\", h2, \"to Alice\", \"\\n\")\n", | ||
| 52 | "\n", | ||
| 53 | "secret_a = (h2^a) % p # Alice can compute this because she knows a\n", | ||
| 54 | "secret_b = (h1^b) % p # Bob can compute this because he knows b\n", | ||
| 55 | "\n", | ||
| 56 | "print(\"Alice computed\", secret_a, \"using h2 and her secret a\")\n", | ||
| 57 | "print(\"Bob computed\", secret_b, \"using h1 and his secret b\")" | ||
| 58 | ] | ||
| 59 | }, | ||
| 60 | { | ||
| 61 | "cell_type": "markdown", | ||
| 62 | "metadata": {}, | ||
| 63 | "source": [ | ||
| 64 | "## General Diffie-Hellman\n", | ||
| 65 | "\n", | ||
| 66 | "The following code is an implementation of a generic Diffie-Hellman key exchange protocol that uses a group $G$ instead of $(\\mathbb Z/p \\mathbb Z)^\\times$." | ||
| 67 | ] | ||
| 68 | }, | ||
| 69 | { | ||
| 70 | "cell_type": "code", | ||
| 71 | "execution_count": 24, | ||
| 72 | "metadata": {}, | ||
| 73 | "outputs": [ | ||
| 74 | { | ||
| 75 | "name": "stdout", | ||
| 76 | "output_type": "stream", | ||
| 77 | "text": [ | ||
| 78 | "Public key:\n", | ||
| 79 | "G = Additive abelian group isomorphic to Z/171 embedded in Abelian group of points on Elliptic Curve defined by y^2 = x^3 + x + 156 over Finite Field of size 157 \n", | ||
| 80 | "g = (155 : 60 : 1) \n", | ||
| 81 | "\n", | ||
| 82 | "[[ Alice's secret key: a = 141 ]]\n", | ||
| 83 | "[[ Bob's secret key: b = 158 ]] \n", | ||
| 84 | "\n", | ||
| 85 | "Alice sends h1 = (29 : 125 : 1) to Bob\n", | ||
| 86 | "Bob sends h2 = (60 : 59 : 1) to Alice \n", | ||
| 87 | "\n", | ||
| 88 | "Alice computed (109 : 94 : 1) using h2 and her secret a\n", | ||
| 89 | "Bob computed (109 : 94 : 1) using h1 and his secret b\n" | ||
| 90 | ] | ||
| 91 | } | ||
| 92 | ], | ||
| 93 | "source": [ | ||
| 94 | "def genericDH(G):\n", | ||
| 95 | " if G.cardinality() == 1:\n", | ||
| 96 | " print(\"Group is trivial, can't do anything\")\n", | ||
| 97 | " return\n", | ||
| 98 | " g = G.random_element()\n", | ||
| 99 | " while g == G.identity(): # Make sure g is not trivial\n", | ||
| 100 | " g = G.random_element()\n", | ||
| 101 | " \n", | ||
| 102 | " print(\"Public key:\\nG =\", G, \"\\ng =\", g, \"\\n\")\n", | ||
| 103 | " \n", | ||
| 104 | " a = randint(2, G.exponent()-1) # Only Alice knows this\n", | ||
| 105 | " b = randint(2, G.exponent()-1) # Only Bob knows this\n", | ||
| 106 | "\n", | ||
| 107 | " print(\"[[ Alice's secret key: a =\", a, \"]]\")\n", | ||
| 108 | " print(\"[[ Bob's secret key: b =\", b, \"]]\", \"\\n\")\n", | ||
| 109 | " \n", | ||
| 110 | " # \"Ternary operator\", I did not explain this\n", | ||
| 111 | " # https://docs.python.org/3/reference/expressions.html#conditional-expressions\n", | ||
| 112 | " h1 = g^a if G.is_multiplicative() else a*g # Alice sends this to Bob\n", | ||
| 113 | " h2 = g^b if G.is_multiplicative() else b*g # Bob sends this to Alice\n", | ||
| 114 | "\n", | ||
| 115 | " print(\"Alice sends h1 =\", h1, \"to Bob\")\n", | ||
| 116 | " print(\"Bob sends h2 =\", h2, \"to Alice\", \"\\n\")\n", | ||
| 117 | " \n", | ||
| 118 | " secret_a = h2^a if G.is_multiplicative() else a*h2 # Alice can compute this because she knows a\n", | ||
| 119 | " secret_b = h1^b if G.is_multiplicative() else b*h1 # Bob can compute this because he knows b\n", | ||
| 120 | "\n", | ||
| 121 | " print(\"Alice computed\", secret_a, \"using h2 and her secret a\")\n", | ||
| 122 | " print(\"Bob computed\", secret_b, \"using h1 and his secret b\")\n", | ||
| 123 | " \n", | ||
| 124 | "E = EllipticCurve(GF(157), [1,-1])\n", | ||
| 125 | "G = E.abelian_group()\n", | ||
| 126 | "genericDH(G)" | ||
| 127 | ] | ||
| 128 | }, | ||
| 129 | { | ||
| 130 | "cell_type": "markdown", | ||
| 131 | "metadata": {}, | ||
| 132 | "source": [ | ||
| 133 | "# Numerical methods for PDEs" | ||
| 134 | ] | ||
| 135 | }, | ||
| 136 | { | ||
| 137 | "cell_type": "code", | ||
| 138 | "execution_count": null, | ||
| 139 | "metadata": {}, | ||
| 140 | "outputs": [], | ||
| 141 | "source": [] | ||
| 142 | } | ||
| 143 | ], | ||
| 144 | "metadata": { | ||
| 145 | "kernelspec": { | ||
| 146 | "display_name": "SageMath 9.0", | ||
| 147 | "language": "sage", | ||
| 148 | "name": "sagemath" | ||
| 149 | }, | ||
| 150 | "language_info": { | ||
| 151 | "codemirror_mode": { | ||
| 152 | "name": "ipython", | ||
| 153 | "version": 3 | ||
| 154 | }, | ||
| 155 | "file_extension": ".py", | ||
| 156 | "mimetype": "text/x-python", | ||
| 157 | "name": "python", | ||
| 158 | "nbconvert_exporter": "python", | ||
| 159 | "pygments_lexer": "ipython3", | ||
| 160 | "version": "3.8.5" | ||
| 161 | } | ||
| 162 | }, | ||
| 163 | "nbformat": 4, | ||
| 164 | "nbformat_minor": 4 | ||
| 165 | } | ||
diff --git a/src/Lecture7/slides/.ipynb_checkpoints/X2-StudentsRequests-notebook-checkpoint.ipynb b/src/Lecture7/slides/.ipynb_checkpoints/X2-StudentsRequests-notebook-checkpoint.ipynb new file mode 100644 index 0000000..ccd6a21 --- /dev/null +++ b/src/Lecture7/slides/.ipynb_checkpoints/X2-StudentsRequests-notebook-checkpoint.ipynb | |||
| @@ -0,0 +1,298 @@ | |||
| 1 | { | ||
| 2 | "cells": [ | ||
| 3 | { | ||
| 4 | "cell_type": "markdown", | ||
| 5 | "metadata": {}, | ||
| 6 | "source": [ | ||
| 7 | "# Diffie-Hellman key exchange\n", | ||
| 8 | "\n", | ||
| 9 | "The following is a simple implementation of the classic [Diffie-Hellman key exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange) cryptographic protocol." | ||
| 10 | ] | ||
| 11 | }, | ||
| 12 | { | ||
| 13 | "cell_type": "code", | ||
| 14 | "execution_count": 1, | ||
| 15 | "metadata": {}, | ||
| 16 | "outputs": [ | ||
| 17 | { | ||
| 18 | "name": "stdout", | ||
| 19 | "output_type": "stream", | ||
| 20 | "text": [ | ||
| 21 | "Public key: p = 75521 and g = 58258 \n", | ||
| 22 | "\n", | ||
| 23 | "[[ Alice's secret key: a = 22794 ]]\n", | ||
| 24 | "[[ Bob's secret key: b = 69773 ]] \n", | ||
| 25 | "\n", | ||
| 26 | "Alice sends h1 = 31067 to Bob\n", | ||
| 27 | "Bob sends h2 = 54398 to Alice \n", | ||
| 28 | "\n", | ||
| 29 | "Alice computed 30031 using h2 and her secret a\n", | ||
| 30 | "Bob computed 30031 using h1 and his secret b\n" | ||
| 31 | ] | ||
| 32 | } | ||
| 33 | ], | ||
| 34 | "source": [ | ||
| 35 | "# Public information:\n", | ||
| 36 | "p = Primes()[10^3 + randint(1,10000)] # random prime\n", | ||
| 37 | "g = randint(2, p-1) # random integer\n", | ||
| 38 | "\n", | ||
| 39 | "print(\"Public key: p =\", p, \"and g =\", g, \"\\n\")\n", | ||
| 40 | "\n", | ||
| 41 | "a = randint(2, p-1) # Only Alice knows this\n", | ||
| 42 | "b = randint(2, p-1) # Only Bob knows this\n", | ||
| 43 | "\n", | ||
| 44 | "print(\"[[ Alice's secret key: a =\", a, \"]]\")\n", | ||
| 45 | "print(\"[[ Bob's secret key: b =\", b, \"]]\", \"\\n\")\n", | ||
| 46 | "\n", | ||
| 47 | "h1 = (g^a) % p # Alice sends this to Bob\n", | ||
| 48 | "h2 = (g^b) % p # Bob sends this to Alice\n", | ||
| 49 | "\n", | ||
| 50 | "print(\"Alice sends h1 =\", h1, \"to Bob\")\n", | ||
| 51 | "print(\"Bob sends h2 =\", h2, \"to Alice\", \"\\n\")\n", | ||
| 52 | "\n", | ||
| 53 | "secret_a = (h2^a) % p # Alice can compute this because she knows a\n", | ||
| 54 | "secret_b = (h1^b) % p # Bob can compute this because he knows b\n", | ||
| 55 | "\n", | ||
| 56 | "print(\"Alice computed\", secret_a, \"using h2 and her secret a\")\n", | ||
| 57 | "print(\"Bob computed\", secret_b, \"using h1 and his secret b\")" | ||
| 58 | ] | ||
| 59 | }, | ||
| 60 | { | ||
| 61 | "cell_type": "markdown", | ||
| 62 | "metadata": {}, | ||
| 63 | "source": [ | ||
| 64 | "## General Diffie-Hellman\n", | ||
| 65 | "\n", | ||
| 66 | "The following code is an implementation of a generic Diffie-Hellman key exchange protocol that uses a group $G$ instead of $(\\mathbb Z/p \\mathbb Z)^\\times$." | ||
| 67 | ] | ||
| 68 | }, | ||
| 69 | { | ||
| 70 | "cell_type": "code", | ||
| 71 | "execution_count": 2, | ||
| 72 | "metadata": {}, | ||
| 73 | "outputs": [ | ||
| 74 | { | ||
| 75 | "name": "stdout", | ||
| 76 | "output_type": "stream", | ||
| 77 | "text": [ | ||
| 78 | "Public key:\n", | ||
| 79 | "G = Additive abelian group isomorphic to Z/171 embedded in Abelian group of points on Elliptic Curve defined by y^2 = x^3 + x + 156 over Finite Field of size 157 \n", | ||
| 80 | "g = (53 : 90 : 1) \n", | ||
| 81 | "\n", | ||
| 82 | "[[ Alice's secret key: a = 145 ]]\n", | ||
| 83 | "[[ Bob's secret key: b = 65 ]] \n", | ||
| 84 | "\n", | ||
| 85 | "Alice sends h1 = (150 : 80 : 1) to Bob\n", | ||
| 86 | "Bob sends h2 = (4 : 58 : 1) to Alice \n", | ||
| 87 | "\n", | ||
| 88 | "Alice computed (28 : 28 : 1) using h2 and her secret a\n", | ||
| 89 | "Bob computed (28 : 28 : 1) using h1 and his secret b\n" | ||
| 90 | ] | ||
| 91 | } | ||
| 92 | ], | ||
| 93 | "source": [ | ||
| 94 | "def genericDH(G):\n", | ||
| 95 | " if G.cardinality() == 1:\n", | ||
| 96 | " print(\"Group is trivial, can't do anything\")\n", | ||
| 97 | " return\n", | ||
| 98 | " g = G.random_element()\n", | ||
| 99 | " while g == G.identity(): # Make sure g is not trivial\n", | ||
| 100 | " g = G.random_element()\n", | ||
| 101 | " \n", | ||
| 102 | " print(\"Public key:\\nG =\", G, \"\\ng =\", g, \"\\n\")\n", | ||
| 103 | " \n", | ||
| 104 | " a = randint(2, G.exponent()-1) # Only Alice knows this\n", | ||
| 105 | " b = randint(2, G.exponent()-1) # Only Bob knows this\n", | ||
| 106 | "\n", | ||
| 107 | " print(\"[[ Alice's secret key: a =\", a, \"]]\")\n", | ||
| 108 | " print(\"[[ Bob's secret key: b =\", b, \"]]\", \"\\n\")\n", | ||
| 109 | " \n", | ||
| 110 | " # \"Ternary operator\", I did not explain this\n", | ||
| 111 | " # https://docs.python.org/3/reference/expressions.html#conditional-expressions\n", | ||
| 112 | " h1 = g^a if G.is_multiplicative() else a*g # Alice sends this to Bob\n", | ||
| 113 | " h2 = g^b if G.is_multiplicative() else b*g # Bob sends this to Alice\n", | ||
| 114 | "\n", | ||
| 115 | " print(\"Alice sends h1 =\", h1, \"to Bob\")\n", | ||
| 116 | " print(\"Bob sends h2 =\", h2, \"to Alice\", \"\\n\")\n", | ||
| 117 | " \n", | ||
| 118 | " secret_a = h2^a if G.is_multiplicative() else a*h2 # Alice can compute this because she knows a\n", | ||
| 119 | " secret_b = h1^b if G.is_multiplicative() else b*h1 # Bob can compute this because he knows b\n", | ||
| 120 | "\n", | ||
| 121 | " print(\"Alice computed\", secret_a, \"using h2 and her secret a\")\n", | ||
| 122 | " print(\"Bob computed\", secret_b, \"using h1 and his secret b\")\n", | ||
| 123 | " \n", | ||
| 124 | "E = EllipticCurve(GF(157), [1,-1])\n", | ||
| 125 | "G = E.abelian_group()\n", | ||
| 126 | "genericDH(G)" | ||
| 127 | ] | ||
| 128 | }, | ||
| 129 | { | ||
| 130 | "cell_type": "markdown", | ||
| 131 | "metadata": {}, | ||
| 132 | "source": [ | ||
| 133 | "# Numerical methods for differential equations\n", | ||
| 134 | "\n", | ||
| 135 | "## Euler's method (ODE)\n", | ||
| 136 | "\n", | ||
| 137 | "In sage you can use [`ode_solver()`](https://doc.sagemath.org/html/en/reference/calculus/sage/calculus/ode.html) to solve any ordinary differential equation by hand, but Euler's method is very simple to implement by hand:" | ||
| 138 | ] | ||
| 139 | }, | ||
| 140 | { | ||
| 141 | "cell_type": "code", | ||
| 142 | "execution_count": 4, | ||
| 143 | "metadata": {}, | ||
| 144 | "outputs": [ | ||
| 145 | { | ||
| 146 | "data": { | ||
| 147 | "image/png": "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uuhxAvxEjxOASJWXJ3XrJq1dK61aJVWt6nZFoYutOgAAPG7UKGn2bOmLLwhNRWGrDgAAD1u4UHriCWnoUOmKK9yuJvSxVQf4ia06AJFm3z6pZUupdm1pzhzuovMHK04AAHiQ41gTeHq69M47hCZ/0eMEAIAH/fvf0pQp0uTJUt26blcTPlhxAgDAY1atskGXAwZIN9zgdjXhhR4nwE/0OAGIBFlZUps2UunS0rffSrGxblcUXtiqA4qQnJys5ORk+Xw+t0sBgLN2333S1q3S0qWEpjPBihPgJ1acAIS7t9+WeveW3nhDuvNOt6sJT/Q4AQDgAT/8IN1zjwWnfv3criZ8seIE+IkVJwDhKjNTattWKlHC+prOOcftisIXPU4AAEQwx5H697e+piVLCE1ni+AEAEAEGzfOepvefVdq0sTtasIfPU4AAESoZcvsLroBA6Rbb3W7mshAjxPgJ3qcAISTffuk1q2lypWlBQukmBi3K4oMbNUBABBhHMfGDezbJ331FaEpkNiqA4qQnJyspk2bKikpye1SAMAvL74oTZ8uvfWWlJjodjWRha06wE9s1QEIB3PnSl26SA8+KI0c6XY1kYfgBPiJ4AQg1G3fbn1NzZtLn38ulaQhJ+DYqgMAIAJkZ0s33mjnz733HqGpuPCyAgAQAe69V/r+e7uDrmpVt6uJXKw4wROGDRumqKioYx7x8fFulwUAATF+vD1efVVq08btaiIbK07wjGbNmunLL7888nZ0dLSL1QBAYHz7rTRokPSXv9gIAhQvghM8o2TJkqwyAYgoqanW19S6tTR6tNvVeANbdfCMjRs3qmbNmkpMTNStt96qn3766ZSfn52drfT09GMeABAqDh+WbrlF8vmkDz+USpd2uyJvIDjBEy666CK99dZb+vzzzzV+/HilpKTo4osv1p49e076NSNGjFBcXNyRR0JCQhArBoBTe+ghaeFC6YMPpJo13a7GO5jjBE/KyspS/fr19fDDD2vIkCGFfk52drays7OPvJ2enq6EhATmOAFw3ZtvSv36SWPHWn8TgoceJ3jSOeeco/PPP18bN2486efExMQohgOeAISYRYuke+6R/vhHaeBAt6vxHrbq4EnZ2dlat26datSo4XYpAOC37dul66+X2raVXnlFiopyuyLvITjBEx588EHNnTtXW7Zs0bfffqubbrpJ6enp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\n", | ||
| 148 | "text/plain": [ | ||
| 149 | "Graphics object consisting of 2 graphics primitives" | ||
| 150 | ] | ||
| 151 | }, | ||
| 152 | "execution_count": 4, | ||
| 153 | "metadata": {}, | ||
| 154 | "output_type": "execute_result" | ||
| 155 | } | ||
| 156 | ], | ||
| 157 | "source": [ | ||
| 158 | "var('y')\n", | ||
| 159 | "\n", | ||
| 160 | "def euler_desolve(f, x0, y0, x1):\n", | ||
| 161 | " n = 5\n", | ||
| 162 | " h = (x1-x0)/n\n", | ||
| 163 | " S = []\n", | ||
| 164 | " Y = [y0]\n", | ||
| 165 | " for i in range(n+1):\n", | ||
| 166 | " S.append(x0 + i*h)\n", | ||
| 167 | " Y.append(N( Y[i] + h*f(S[i], Y[i]) ))\n", | ||
| 168 | " return S, Y\n", | ||
| 169 | "\n", | ||
| 170 | "f(x,y) = y\n", | ||
| 171 | "x0 = -1\n", | ||
| 172 | "x1 = 2\n", | ||
| 173 | "y0 = e^(-1)\n", | ||
| 174 | "\n", | ||
| 175 | "S, Y = euler_desolve(f, x0, y0, x1)\n", | ||
| 176 | "plot(e^x, -1, 2) + line([(S[i], Y[i]) for i in range(len(S))], color='red', marker='o', markersize=2)" | ||
| 177 | ] | ||
| 178 | }, | ||
| 179 | { | ||
| 180 | "cell_type": "markdown", | ||
| 181 | "metadata": {}, | ||
| 182 | "source": [ | ||
| 183 | "Sage also has an `eulers_method()` function \"for pedagogical purposes only\":" | ||
| 184 | ] | ||
| 185 | }, | ||
| 186 | { | ||
| 187 | "cell_type": "code", | ||
| 188 | "execution_count": 5, | ||
| 189 | "metadata": {}, | ||
| 190 | "outputs": [ | ||
| 191 | { | ||
| 192 | "name": "stdout", | ||
| 193 | "output_type": "stream", | ||
| 194 | "text": [ | ||
| 195 | " x y h*f(x,y)\n", | ||
| 196 | " -1 0.367879441171442 0.0367879441171442\n", | ||
| 197 | "-0.900000000000000 0.404667385288587 0.0404667385288587\n", | ||
| 198 | "-0.800000000000000 0.445134123817445 0.0445134123817445\n", | ||
| 199 | "-0.700000000000000 0.489647536199190 0.0489647536199190\n", | ||
| 200 | "-0.600000000000000 0.538612289819109 0.0538612289819109\n", | ||
| 201 | "-0.500000000000000 0.592473518801020 0.0592473518801020\n", | ||
| 202 | "-0.400000000000000 0.651720870681122 0.0651720870681122\n", | ||
| 203 | "-0.300000000000000 0.716892957749234 0.0716892957749234\n", | ||
| 204 | "-0.200000000000000 0.788582253524157 0.0788582253524157\n", | ||
| 205 | "-0.100000000000000 0.867440478876573 0.0867440478876573\n", | ||
| 206 | "-1.38777878078145e-16 0.954184526764230 0.0954184526764230\n", | ||
| 207 | "0.0999999999999999 1.04960297944065 0.104960297944065\n", | ||
| 208 | "0.200000000000000 1.15456327738472 0.115456327738472\n", | ||
| 209 | "0.300000000000000 1.27001960512319 0.127001960512319\n", | ||
| 210 | "0.400000000000000 1.39702156563551 0.139702156563551\n", | ||
| 211 | "0.500000000000000 1.53672372219906 0.153672372219906\n", | ||
| 212 | "0.600000000000000 1.69039609441897 0.169039609441897\n", | ||
| 213 | "0.700000000000000 1.85943570386086 0.185943570386086\n", | ||
| 214 | "0.800000000000000 2.04537927424695 0.204537927424695\n", | ||
| 215 | "0.900000000000000 2.24991720167165 0.224991720167165\n", | ||
| 216 | "1.00000000000000 2.47490892183881 0.247490892183881\n", | ||
| 217 | "1.10000000000000 2.72239981402269 0.272239981402269\n", | ||
| 218 | "1.20000000000000 2.99463979542496 0.299463979542496\n", | ||
| 219 | "1.30000000000000 3.29410377496746 0.329410377496746\n", | ||
| 220 | "1.40000000000000 3.62351415246420 0.362351415246420\n", | ||
| 221 | "1.50000000000000 3.98586556771062 0.398586556771062\n", | ||
| 222 | "1.60000000000000 4.38445212448168 0.438445212448168\n", | ||
| 223 | "1.70000000000000 4.82289733692985 0.482289733692985\n", | ||
| 224 | "1.80000000000000 5.30518707062284 0.530518707062284\n", | ||
| 225 | "1.90000000000000 5.83570577768512 0.583570577768512\n", | ||
| 226 | "2.00000000000000 6.41927635545363 0.641927635545363\n" | ||
| 227 | ] | ||
| 228 | } | ||
| 229 | ], | ||
| 230 | "source": [ | ||
| 231 | "# Usage: eulers_method(f, x0, y0, h, x1)\n", | ||
| 232 | "eulers_method(f, -1, N(e^(-1)), 0.1, 2)" | ||
| 233 | ] | ||
| 234 | }, | ||
| 235 | { | ||
| 236 | "cell_type": "markdown", | ||
| 237 | "metadata": {}, | ||
| 238 | "source": [ | ||
| 239 | "## Solving the heat equation with a finite difference method" | ||
| 240 | ] | ||
| 241 | }, | ||
| 242 | { | ||
| 243 | "cell_type": "code", | ||
| 244 | "execution_count": null, | ||
| 245 | "metadata": {}, | ||
| 246 | "outputs": [], | ||
| 247 | "source": [ | ||
| 248 | "def heat_fdm(u0j, u1j, ui0):\n", | ||
| 249 | " m, n = len(u0j)-1, len(ui0)-1\n", | ||
| 250 | " k, h = 1/m, 1/n\n", | ||
| 251 | " \n", | ||
| 252 | " u = [[0] * (m+1) for i in range(n+1)]\n", | ||
| 253 | " for j in range(m+1):\n", | ||
| 254 | " u[0][j] = u0j[j]\n", | ||
| 255 | " for j in range(m+1):\n", | ||
| 256 | " u[n][j] = u1j[j]\n", | ||
| 257 | " for i in range(n+1):\n", | ||
| 258 | " u[i][0] = ui0[i]\n", | ||
| 259 | " \n", | ||
| 260 | " for j in range(0,m):\n", | ||
| 261 | " for i in range(1,n):\n", | ||
| 262 | " u[i][j+1] = (k/(h*h)) * (u[i+1][j] - 2*u[i][j] + u[i-1][j]) + u[i][j]\n", | ||
| 263 | " \n", | ||
| 264 | " return u\n", | ||
| 265 | "\n", | ||
| 266 | "n, m = 20, 20\n", | ||
| 267 | "u0j = [10 - (j/m)*10 for j in range(m+1)] # One extreme goes from hot to cold\n", | ||
| 268 | "u1j = [(j/m)*10 for j in range(m+1)] # The other does the opposite\n", | ||
| 269 | "ui0 = [10 - (i/m)*10 for i in range(0,n+1)]\n", | ||
| 270 | "\n", | ||
| 271 | "u = heat_fdm(u0j, u1j, ui0)\n", | ||
| 272 | "for t in range(m+1):\n", | ||
| 273 | " show(line([(i/n, u[i][t]) for i in range(n+1)], ymin=-1, ymax =12))" | ||
| 274 | ] | ||
| 275 | } | ||
| 276 | ], | ||
| 277 | "metadata": { | ||
| 278 | "kernelspec": { | ||
| 279 | "display_name": "SageMath 9.0", | ||
| 280 | "language": "sage", | ||
| 281 | "name": "sagemath" | ||
| 282 | }, | ||
| 283 | "language_info": { | ||
| 284 | "codemirror_mode": { | ||
| 285 | "name": "ipython", | ||
| 286 | "version": 3 | ||
| 287 | }, | ||
| 288 | "file_extension": ".py", | ||
| 289 | "mimetype": "text/x-python", | ||
| 290 | "name": "python", | ||
| 291 | "nbconvert_exporter": "python", | ||
| 292 | "pygments_lexer": "ipython3", | ||
| 293 | "version": "3.8.5" | ||
| 294 | } | ||
| 295 | }, | ||
| 296 | "nbformat": 4, | ||
| 297 | "nbformat_minor": 4 | ||
| 298 | } | ||
diff --git a/src/Lecture7/slides/X1-ComputationalComplexity.aux b/src/Lecture7/slides/X1-ComputationalComplexity.aux new file mode 100644 index 0000000..b0463b4 --- /dev/null +++ b/src/Lecture7/slides/X1-ComputationalComplexity.aux | |||
| @@ -0,0 +1,100 @@ | |||
| 1 | \relax | ||
| 2 | \providecommand\hyper@newdestlabel[2]{} | ||
| 3 | \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} | ||
| 4 | \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined | ||
| 5 | \global\let\oldcontentsline\contentsline | ||
| 6 | \gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} | ||
| 7 | \global\let\oldnewlabel\newlabel | ||
| 8 | \gdef\newlabel#1#2{\newlabelxx{#1}#2} | ||
| 9 | \gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} | ||
| 10 | \AtEndDocument{\ifx\hyper@anchor\@undefined | ||
| 11 | \let\contentsline\oldcontentsline | ||
| 12 | \let\newlabel\oldnewlabel | ||
| 13 | \fi} | ||
| 14 | \fi} | ||
| 15 | \global\let\hyper@last\relax | ||
| 16 | \gdef\HyperFirstAtBeginDocument#1{#1} | ||
| 17 | \providecommand\HyField@AuxAddToFields[1]{} | ||
| 18 | \providecommand\HyField@AuxAddToCoFields[2]{} | ||
| 19 | \providecommand \oddpage@label [2]{} | ||
| 20 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} | ||
| 21 | \@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} | ||
| 22 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}} | ||
| 23 | \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} | ||
| 24 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{3}{3/3}{}{0}}} | ||
| 25 | \@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} | ||
| 26 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{4}{4/4}{}{0}}} | ||
| 27 | \@writefile{nav}{\headcommand {\beamer@framepages {4}{4}}} | ||
| 28 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{5}{5/5}{}{0}}} | ||
| 29 | \@writefile{nav}{\headcommand {\beamer@framepages {5}{5}}} | ||
| 30 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{6}{6/6}{}{0}}} | ||
| 31 | \@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}} | ||
| 32 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{7}{7/7}{}{0}}} | ||
| 33 | \@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}} | ||
| 34 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{8}{8/8}{}{0}}} | ||
| 35 | \@writefile{nav}{\headcommand {\beamer@framepages {8}{8}}} | ||
| 36 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{9/9}{}{0}}} | ||
| 37 | \@writefile{nav}{\headcommand {\beamer@framepages {9}{9}}} | ||
| 38 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{10/10}{}{0}}} | ||
| 39 | \@writefile{nav}{\headcommand {\beamer@framepages {10}{10}}} | ||
| 40 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{11}{11/11}{}{0}}} | ||
| 41 | \@writefile{nav}{\headcommand {\beamer@framepages {11}{11}}} | ||
| 42 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{12}{12/12}{}{0}}} | ||
| 43 | \@writefile{nav}{\headcommand {\beamer@framepages {12}{12}}} | ||
| 44 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{13}{13/13}{}{0}}} | ||
| 45 | \@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} | ||
| 46 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{14}{14/14}{}{0}}} | ||
| 47 | \@writefile{nav}{\headcommand {\beamer@framepages {14}{14}}} | ||
| 48 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{15}{15/15}{}{0}}} | ||
| 49 | \@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} | ||
| 50 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{16}{16/16}{}{0}}} | ||
| 51 | \@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} | ||
| 52 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{17}{17/17}{}{0}}} | ||
| 53 | \@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} | ||
| 54 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{18}{18/18}{}{0}}} | ||
| 55 | \@writefile{nav}{\headcommand {\beamer@framepages {18}{18}}} | ||
| 56 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{19}{19/19}{}{0}}} | ||
| 57 | \@writefile{nav}{\headcommand {\beamer@framepages {19}{19}}} | ||
| 58 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{20}{20/20}{}{0}}} | ||
| 59 | \@writefile{nav}{\headcommand {\beamer@framepages {20}{20}}} | ||
| 60 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{21}{21/21}{}{0}}} | ||
| 61 | \@writefile{nav}{\headcommand {\beamer@framepages {21}{21}}} | ||
| 62 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{22}{22/22}{}{0}}} | ||
| 63 | \@writefile{nav}{\headcommand {\beamer@framepages {22}{22}}} | ||
| 64 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{23}{23/26}{}{0}}} | ||
| 65 | \@writefile{nav}{\headcommand {\beamer@framepages {23}{26}}} | ||
| 66 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{24}{27/30}{}{0}}} | ||
| 67 | \@writefile{nav}{\headcommand {\beamer@framepages {27}{30}}} | ||
| 68 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{25}{31/31}{}{0}}} | ||
| 69 | \@writefile{nav}{\headcommand {\beamer@framepages {31}{31}}} | ||
| 70 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{26}{32/32}{}{0}}} | ||
| 71 | \@writefile{nav}{\headcommand {\beamer@framepages {32}{32}}} | ||
| 72 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{27}{33/33}{}{0}}} | ||
| 73 | \@writefile{nav}{\headcommand {\beamer@framepages {33}{33}}} | ||
| 74 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{28}{34/34}{}{0}}} | ||
| 75 | \@writefile{nav}{\headcommand {\beamer@framepages {34}{34}}} | ||
| 76 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{29}{35/35}{}{0}}} | ||
| 77 | \@writefile{nav}{\headcommand {\beamer@framepages {35}{35}}} | ||
| 78 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{30}{36/36}{}{0}}} | ||
| 79 | \@writefile{nav}{\headcommand {\beamer@framepages {36}{36}}} | ||
| 80 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{31}{37/37}{}{0}}} | ||
| 81 | \@writefile{nav}{\headcommand {\beamer@framepages {37}{37}}} | ||
| 82 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{32}{38/38}{}{0}}} | ||
| 83 | \@writefile{nav}{\headcommand {\beamer@framepages {38}{38}}} | ||
| 84 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{33}{39/39}{}{0}}} | ||
| 85 | \@writefile{nav}{\headcommand {\beamer@framepages {39}{39}}} | ||
| 86 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{34}{40/40}{}{0}}} | ||
| 87 | \@writefile{nav}{\headcommand {\beamer@framepages {40}{40}}} | ||
| 88 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{35}{41/41}{}{0}}} | ||
| 89 | \@writefile{nav}{\headcommand {\beamer@framepages {41}{41}}} | ||
| 90 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{36}{42/42}{}{0}}} | ||
| 91 | \@writefile{nav}{\headcommand {\beamer@framepages {42}{42}}} | ||
| 92 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{37}{43/43}{}{0}}} | ||
| 93 | \@writefile{nav}{\headcommand {\beamer@framepages {43}{43}}} | ||
| 94 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{38}{44/44}{}{0}}} | ||
| 95 | \@writefile{nav}{\headcommand {\beamer@framepages {44}{44}}} | ||
| 96 | \@writefile{nav}{\headcommand {\beamer@partpages {1}{44}}} | ||
| 97 | \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{44}}} | ||
| 98 | \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{44}}} | ||
| 99 | \@writefile{nav}{\headcommand {\beamer@documentpages {44}}} | ||
| 100 | \@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {38}}} | ||
diff --git a/src/Lecture7/slides/X1-ComputationalComplexity.log b/src/Lecture7/slides/X1-ComputationalComplexity.log new file mode 100644 index 0000000..03238ae --- /dev/null +++ b/src/Lecture7/slides/X1-ComputationalComplexity.log | |||
| @@ -0,0 +1,1513 @@ | |||
| 1 | This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2021.5.20) 25 MAY 2021 16:23 | ||
| 2 | entering extended mode | ||
| 3 | \write18 enabled. | ||
| 4 | %&-line parsing enabled. | ||
| 5 | **X1-ComputationalComplexity.tex | ||
| 6 | (./X1-ComputationalComplexity.tex | ||
| 7 | LaTeX2e <2020-02-02> patch level 2 | ||
| 8 | L3 programming layer <2020-02-14> | ||
| 9 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamer.cls | ||
| 10 | Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations | ||
| 11 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasemodes.sty | ||
| 12 | (/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty | ||
| 13 | Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) | ||
| 14 | \etb@tempcnta=\count167 | ||
| 15 | ) | ||
| 16 | \beamer@tempbox=\box45 | ||
| 17 | \beamer@tempcount=\count168 | ||
| 18 | \c@beamerpauses=\count169 | ||
| 19 | |||
| 20 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasedecode.sty | ||
| 21 | \beamer@slideinframe=\count170 | ||
| 22 | \beamer@minimum=\count171 | ||
| 23 | \beamer@decode@box=\box46 | ||
| 24 | ) | ||
| 25 | \beamer@commentbox=\box47 | ||
| 26 | \beamer@modecount=\count172 | ||
| 27 | ) | ||
| 28 | (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifpdf.sty | ||
| 29 | Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. | ||
| 30 | |||
| 31 | (/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty | ||
| 32 | Package: iftex 2019/11/07 v1.0c TeX engine tests | ||
| 33 | )) | ||
| 34 | \headdp=\dimen134 | ||
| 35 | \footheight=\dimen135 | ||
| 36 | \sidebarheight=\dimen136 | ||
| 37 | \beamer@tempdim=\dimen137 | ||
| 38 | \beamer@finalheight=\dimen138 | ||
| 39 | \beamer@animht=\dimen139 | ||
| 40 | \beamer@animdp=\dimen140 | ||
| 41 | \beamer@animwd=\dimen141 | ||
| 42 | \beamer@leftmargin=\dimen142 | ||
| 43 | \beamer@rightmargin=\dimen143 | ||
| 44 | \beamer@leftsidebar=\dimen144 | ||
| 45 | \beamer@rightsidebar=\dimen145 | ||
| 46 | \beamer@boxsize=\dimen146 | ||
| 47 | \beamer@vboxoffset=\dimen147 | ||
| 48 | \beamer@descdefault=\dimen148 | ||
| 49 | \beamer@descriptionwidth=\dimen149 | ||
| 50 | \beamer@lastskip=\skip47 | ||
| 51 | \beamer@areabox=\box48 | ||
| 52 | \beamer@animcurrent=\box49 | ||
| 53 | \beamer@animshowbox=\box50 | ||
| 54 | \beamer@sectionbox=\box51 | ||
| 55 | \beamer@logobox=\box52 | ||
| 56 | \beamer@linebox=\box53 | ||
| 57 | \beamer@sectioncount=\count173 | ||
| 58 | \beamer@subsubsectionmax=\count174 | ||
| 59 | \beamer@subsectionmax=\count175 | ||
| 60 | \beamer@sectionmax=\count176 | ||
| 61 | \beamer@totalheads=\count177 | ||
| 62 | \beamer@headcounter=\count178 | ||
| 63 | \beamer@partstartpage=\count179 | ||
| 64 | \beamer@sectionstartpage=\count180 | ||
| 65 | \beamer@subsectionstartpage=\count181 | ||
| 66 | \beamer@animationtempa=\count182 | ||
| 67 | \beamer@animationtempb=\count183 | ||
| 68 | \beamer@xpos=\count184 | ||
| 69 | \beamer@ypos=\count185 | ||
| 70 | \beamer@ypos@offset=\count186 | ||
| 71 | \beamer@showpartnumber=\count187 | ||
| 72 | \beamer@currentsubsection=\count188 | ||
| 73 | \beamer@coveringdepth=\count189 | ||
| 74 | \beamer@sectionadjust=\count190 | ||
| 75 | \beamer@tocsectionnumber=\count191 | ||
| 76 | |||
| 77 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty | ||
| 78 | (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | ||
| 79 | Package: keyval 2014/10/28 v1.15 key=value parser (DPC) | ||
| 80 | \KV@toks@=\toks14 | ||
| 81 | )) | ||
| 82 | \beamer@paperwidth=\skip48 | ||
| 83 | \beamer@paperheight=\skip49 | ||
| 84 | |||
| 85 | (/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty | ||
| 86 | Package: geometry 2020/01/02 v5.9 Page Geometry | ||
| 87 | |||
| 88 | (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty | ||
| 89 | Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. | ||
| 90 | ) | ||
| 91 | \Gm@cnth=\count192 | ||
| 92 | \Gm@cntv=\count193 | ||
| 93 | \c@Gm@tempcnt=\count194 | ||
| 94 | \Gm@bindingoffset=\dimen150 | ||
| 95 | \Gm@wd@mp=\dimen151 | ||
| 96 | \Gm@odd@mp=\dimen152 | ||
| 97 | \Gm@even@mp=\dimen153 | ||
| 98 | \Gm@layoutwidth=\dimen154 | ||
| 99 | \Gm@layoutheight=\dimen155 | ||
| 100 | \Gm@layouthoffset=\dimen156 | ||
| 101 | \Gm@layoutvoffset=\dimen157 | ||
| 102 | \Gm@dimlist=\toks15 | ||
| 103 | ) | ||
| 104 | (/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | ||
| 105 | File: size11.clo 2019/12/20 v1.4l Standard LaTeX file (size option) | ||
| 106 | ) | ||
| 107 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty | ||
| 108 | (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | ||
| 109 | Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR) | ||
| 110 | |||
| 111 | (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | ||
| 112 | Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR) | ||
| 113 | |||
| 114 | (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | ||
| 115 | Package: trig 2016/01/03 v1.10 sin cos tan (DPC) | ||
| 116 | ) | ||
| 117 | (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg | ||
| 118 | File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration | ||
| 119 | ) | ||
| 120 | Package graphics Info: Driver file: pdftex.def on input line 105. | ||
| 121 | |||
| 122 | (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def | ||
| 123 | File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex | ||
| 124 | )) | ||
| 125 | \Gin@req@height=\dimen158 | ||
| 126 | \Gin@req@width=\dimen159 | ||
| 127 | ) | ||
| 128 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty | ||
| 129 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty | ||
| 130 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex | ||
| 131 | \pgfutil@everybye=\toks16 | ||
| 132 | \pgfutil@tempdima=\dimen160 | ||
| 133 | \pgfutil@tempdimb=\dimen161 | ||
| 134 | |||
| 135 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.t | ||
| 136 | ex)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def | ||
| 137 | \pgfutil@abb=\box54 | ||
| 138 | (/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty | ||
| 139 | Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) | ||
| 140 | )) | ||
| 141 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex | ||
| 142 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex) | ||
| 143 | Package: pgfrcs 2020/01/08 v3.1.5b (3.1.5b) | ||
| 144 | )) | ||
| 145 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex | ||
| 146 | Package: pgfsys 2020/01/08 v3.1.5b (3.1.5b) | ||
| 147 | |||
| 148 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex | ||
| 149 | \pgfkeys@pathtoks=\toks17 | ||
| 150 | \pgfkeys@temptoks=\toks18 | ||
| 151 | |||
| 152 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.t | ||
| 153 | ex | ||
| 154 | \pgfkeys@tmptoks=\toks19 | ||
| 155 | )) | ||
| 156 | \pgf@x=\dimen162 | ||
| 157 | \pgf@y=\dimen163 | ||
| 158 | \pgf@xa=\dimen164 | ||
| 159 | \pgf@ya=\dimen165 | ||
| 160 | \pgf@xb=\dimen166 | ||
| 161 | \pgf@yb=\dimen167 | ||
| 162 | \pgf@xc=\dimen168 | ||
| 163 | \pgf@yc=\dimen169 | ||
| 164 | \pgf@xd=\dimen170 | ||
| 165 | \pgf@yd=\dimen171 | ||
| 166 | \w@pgf@writea=\write3 | ||
| 167 | \r@pgf@reada=\read2 | ||
| 168 | \c@pgf@counta=\count195 | ||
| 169 | \c@pgf@countb=\count196 | ||
| 170 | \c@pgf@countc=\count197 | ||
| 171 | \c@pgf@countd=\count198 | ||
| 172 | \t@pgf@toka=\toks20 | ||
| 173 | \t@pgf@tokb=\toks21 | ||
| 174 | \t@pgf@tokc=\toks22 | ||
| 175 | \pgf@sys@id@count=\count199 | ||
| 176 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg | ||
| 177 | File: pgf.cfg 2020/01/08 v3.1.5b (3.1.5b) | ||
| 178 | ) | ||
| 179 | Driver file for pgf: pgfsys-pdftex.def | ||
| 180 | |||
| 181 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def | ||
| 182 | File: pgfsys-pdftex.def 2020/01/08 v3.1.5b (3.1.5b) | ||
| 183 | |||
| 184 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.de | ||
| 185 | f | ||
| 186 | File: pgfsys-common-pdf.def 2020/01/08 v3.1.5b (3.1.5b) | ||
| 187 | ))) | ||
| 188 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code. | ||
| 189 | tex | ||
| 190 | File: pgfsyssoftpath.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 191 | \pgfsyssoftpath@smallbuffer@items=\count266 | ||
| 192 | \pgfsyssoftpath@bigbuffer@items=\count267 | ||
| 193 | ) | ||
| 194 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code. | ||
| 195 | tex | ||
| 196 | File: pgfsysprotocol.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 197 | )) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty | ||
| 198 | Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) | ||
| 199 | |||
| 200 | (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg | ||
| 201 | File: color.cfg 2016/01/02 v1.6 sample color configuration | ||
| 202 | ) | ||
| 203 | Package xcolor Info: Driver file: pdftex.def on input line 225. | ||
| 204 | Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. | ||
| 205 | Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. | ||
| 206 | Package xcolor Info: Model `RGB' extended on input line 1364. | ||
| 207 | Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. | ||
| 208 | Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. | ||
| 209 | Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. | ||
| 210 | Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. | ||
| 211 | Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. | ||
| 212 | Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. | ||
| 213 | ) | ||
| 214 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex | ||
| 215 | Package: pgfcore 2020/01/08 v3.1.5b (3.1.5b) | ||
| 216 | |||
| 217 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex | ||
| 218 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex | ||
| 219 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) | ||
| 220 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex | ||
| 221 | \pgfmath@dimen=\dimen172 | ||
| 222 | \pgfmath@count=\count268 | ||
| 223 | \pgfmath@box=\box55 | ||
| 224 | \pgfmath@toks=\toks23 | ||
| 225 | \pgfmath@stack@operand=\toks24 | ||
| 226 | \pgfmath@stack@operation=\toks25 | ||
| 227 | ) | ||
| 228 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex | ||
| 229 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code | ||
| 230 | .tex) | ||
| 231 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonomet | ||
| 232 | ric.code.tex) | ||
| 233 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.cod | ||
| 234 | e.tex) | ||
| 235 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison | ||
| 236 | .code.tex) | ||
| 237 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code. | ||
| 238 | tex) | ||
| 239 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code | ||
| 240 | .tex) | ||
| 241 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code. | ||
| 242 | tex) | ||
| 243 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerari | ||
| 244 | thmetics.code.tex))) | ||
| 245 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex | ||
| 246 | \c@pgfmathroundto@lastzeros=\count269 | ||
| 247 | )) | ||
| 248 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) | ||
| 249 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.te | ||
| 250 | x | ||
| 251 | File: pgfcorepoints.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 252 | \pgf@picminx=\dimen173 | ||
| 253 | \pgf@picmaxx=\dimen174 | ||
| 254 | \pgf@picminy=\dimen175 | ||
| 255 | \pgf@picmaxy=\dimen176 | ||
| 256 | \pgf@pathminx=\dimen177 | ||
| 257 | \pgf@pathmaxx=\dimen178 | ||
| 258 | \pgf@pathminy=\dimen179 | ||
| 259 | \pgf@pathmaxy=\dimen180 | ||
| 260 | \pgf@xx=\dimen181 | ||
| 261 | \pgf@xy=\dimen182 | ||
| 262 | \pgf@yx=\dimen183 | ||
| 263 | \pgf@yy=\dimen184 | ||
| 264 | \pgf@zx=\dimen185 | ||
| 265 | \pgf@zy=\dimen186 | ||
| 266 | ) | ||
| 267 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct. | ||
| 268 | code.tex | ||
| 269 | File: pgfcorepathconstruct.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 270 | \pgf@path@lastx=\dimen187 | ||
| 271 | \pgf@path@lasty=\dimen188 | ||
| 272 | ) | ||
| 273 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code | ||
| 274 | .tex | ||
| 275 | File: pgfcorepathusage.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 276 | \pgf@shorten@end@additional=\dimen189 | ||
| 277 | \pgf@shorten@start@additional=\dimen190 | ||
| 278 | ) | ||
| 279 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.te | ||
| 280 | x | ||
| 281 | File: pgfcorescopes.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 282 | \pgfpic=\box56 | ||
| 283 | \pgf@hbox=\box57 | ||
| 284 | \pgf@layerbox@main=\box58 | ||
| 285 | \pgf@picture@serial@count=\count270 | ||
| 286 | ) | ||
| 287 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.c | ||
| 288 | ode.tex | ||
| 289 | File: pgfcoregraphicstate.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 290 | \pgflinewidth=\dimen191 | ||
| 291 | ) | ||
| 292 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformation | ||
| 293 | s.code.tex | ||
| 294 | File: pgfcoretransformations.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 295 | \pgf@pt@x=\dimen192 | ||
| 296 | \pgf@pt@y=\dimen193 | ||
| 297 | \pgf@pt@temp=\dimen194 | ||
| 298 | ) | ||
| 299 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex | ||
| 300 | File: pgfcorequick.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 301 | ) | ||
| 302 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.t | ||
| 303 | ex | ||
| 304 | File: pgfcoreobjects.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 305 | ) | ||
| 306 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing | ||
| 307 | .code.tex | ||
| 308 | File: pgfcorepathprocessing.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 309 | ) | ||
| 310 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.te | ||
| 311 | x | ||
| 312 | File: pgfcorearrows.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 313 | \pgfarrowsep=\dimen195 | ||
| 314 | ) | ||
| 315 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex | ||
| 316 | File: pgfcoreshade.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 317 | \pgf@max=\dimen196 | ||
| 318 | \pgf@sys@shading@range@num=\count271 | ||
| 319 | \pgf@shadingcount=\count272 | ||
| 320 | ) | ||
| 321 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex | ||
| 322 | File: pgfcoreimage.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 323 | |||
| 324 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code. | ||
| 325 | tex | ||
| 326 | File: pgfcoreexternal.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 327 | \pgfexternal@startupbox=\box59 | ||
| 328 | )) | ||
| 329 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.te | ||
| 330 | x | ||
| 331 | File: pgfcorelayers.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 332 | ) | ||
| 333 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.c | ||
| 334 | ode.tex | ||
| 335 | File: pgfcoretransparency.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 336 | ) | ||
| 337 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code. | ||
| 338 | tex | ||
| 339 | File: pgfcorepatterns.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 340 | ) | ||
| 341 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex | ||
| 342 | File: pgfcorerdf.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 343 | ))) (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty | ||
| 344 | Package: xxcolor 2003/10/24 ver 0.1 | ||
| 345 | \XC@nummixins=\count273 | ||
| 346 | \XC@countmixins=\count274 | ||
| 347 | ) | ||
| 348 | (/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty | ||
| 349 | Package: atbegshi 2019/12/05 v1.19 At begin shipout hook (HO) | ||
| 350 | |||
| 351 | (/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty | ||
| 352 | Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) | ||
| 353 | ) | ||
| 354 | (/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty | ||
| 355 | Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO) | ||
| 356 | )) | ||
| 357 | (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty | ||
| 358 | Package: hyperref 2020/01/14 v7.00d Hypertext links for LaTeX | ||
| 359 | |||
| 360 | (/usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty | ||
| 361 | Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO | ||
| 362 | ) | ||
| 363 | Package pdftexcmds Info: \pdf@primitive is available. | ||
| 364 | Package pdftexcmds Info: \pdf@ifprimitive is available. | ||
| 365 | Package pdftexcmds Info: \pdfdraftmode found. | ||
| 366 | ) | ||
| 367 | (/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty | ||
| 368 | Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) | ||
| 369 | ) | ||
| 370 | (/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty | ||
| 371 | Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) | ||
| 372 | ) | ||
| 373 | (/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty | ||
| 374 | Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) | ||
| 375 | ) | ||
| 376 | (/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty | ||
| 377 | Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) | ||
| 378 | ) | ||
| 379 | (/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty | ||
| 380 | Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) | ||
| 381 | ) | ||
| 382 | (/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty | ||
| 383 | Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) | ||
| 384 | ) | ||
| 385 | (/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty | ||
| 386 | Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO) | ||
| 387 | ) | ||
| 388 | \@linkdim=\dimen197 | ||
| 389 | \Hy@linkcounter=\count275 | ||
| 390 | \Hy@pagecounter=\count276 | ||
| 391 | |||
| 392 | (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def | ||
| 393 | File: pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO) | ||
| 394 | Now handling font encoding PD1 ... | ||
| 395 | ... no UTF-8 mapping file for font encoding PD1 | ||
| 396 | ) | ||
| 397 | (/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty | ||
| 398 | Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) | ||
| 399 | ) | ||
| 400 | (/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty | ||
| 401 | Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) | ||
| 402 | ) | ||
| 403 | \Hy@SavedSpaceFactor=\count277 | ||
| 404 | \pdfmajorversion=\count278 | ||
| 405 | Package hyperref Info: Option `bookmarks' set `true' on input line 4421. | ||
| 406 | Package hyperref Info: Option `bookmarksopen' set `true' on input line 4421. | ||
| 407 | Package hyperref Info: Option `implicit' set `false' on input line 4421. | ||
| 408 | Package hyperref Info: Hyper figures OFF on input line 4547. | ||
| 409 | Package hyperref Info: Link nesting OFF on input line 4552. | ||
| 410 | Package hyperref Info: Hyper index ON on input line 4555. | ||
| 411 | Package hyperref Info: Plain pages OFF on input line 4562. | ||
| 412 | Package hyperref Info: Backreferencing OFF on input line 4567. | ||
| 413 | Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. | ||
| 414 | Package hyperref Info: Bookmarks ON on input line 4800. | ||
| 415 | \c@Hy@tempcnt=\count279 | ||
| 416 | |||
| 417 | (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty | ||
| 418 | \Urlmuskip=\muskip16 | ||
| 419 | Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. | ||
| 420 | ) | ||
| 421 | LaTeX Info: Redefining \url on input line 5159. | ||
| 422 | \XeTeXLinkMargin=\dimen198 | ||
| 423 | |||
| 424 | (/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty | ||
| 425 | Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) | ||
| 426 | |||
| 427 | (/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty | ||
| 428 | Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO | ||
| 429 | ) | ||
| 430 | )) | ||
| 431 | \Fld@menulength=\count280 | ||
| 432 | \Field@Width=\dimen199 | ||
| 433 | \Fld@charsize=\dimen256 | ||
| 434 | Package hyperref Info: Hyper figures OFF on input line 6430. | ||
| 435 | Package hyperref Info: Link nesting OFF on input line 6435. | ||
| 436 | Package hyperref Info: Hyper index ON on input line 6438. | ||
| 437 | Package hyperref Info: backreferencing OFF on input line 6445. | ||
| 438 | Package hyperref Info: Link coloring OFF on input line 6450. | ||
| 439 | Package hyperref Info: Link coloring with OCG OFF on input line 6455. | ||
| 440 | Package hyperref Info: PDF/A mode OFF on input line 6460. | ||
| 441 | LaTeX Info: Redefining \ref on input line 6500. | ||
| 442 | LaTeX Info: Redefining \pageref on input line 6504. | ||
| 443 | \Hy@abspage=\count281 | ||
| 444 | |||
| 445 | |||
| 446 | Package hyperref Message: Stopped early. | ||
| 447 | |||
| 448 | ) | ||
| 449 | Package hyperref Info: Driver (autodetected): hpdftex. | ||
| 450 | (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def | ||
| 451 | File: hpdftex.def 2020/01/14 v7.00d Hyperref driver for pdfTeX | ||
| 452 | |||
| 453 | (/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty | ||
| 454 | Package: atveryend 2019-12-11 v1.11 Hooks at the very end of document (HO) | ||
| 455 | ) | ||
| 456 | \Fld@listcount=\count282 | ||
| 457 | \c@bookmark@seq@number=\count283 | ||
| 458 | |||
| 459 | (/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty | ||
| 460 | Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) | ||
| 461 | |||
| 462 | (/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty | ||
| 463 | Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) | ||
| 464 | ) | ||
| 465 | Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 | ||
| 466 | 86. | ||
| 467 | )) | ||
| 468 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaserequires.sty | ||
| 469 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) | ||
| 470 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasefont.sty | ||
| 471 | (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty | ||
| 472 | Package: amssymb 2013/01/14 v3.01 AMS font symbols | ||
| 473 | |||
| 474 | (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty | ||
| 475 | Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support | ||
| 476 | \@emptytoks=\toks26 | ||
| 477 | \symAMSa=\mathgroup4 | ||
| 478 | \symAMSb=\mathgroup5 | ||
| 479 | LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. | ||
| 480 | LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' | ||
| 481 | (Font) U/euf/m/n --> U/euf/b/n on input line 106. | ||
| 482 | )) | ||
| 483 | (/usr/share/texlive/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty | ||
| 484 | Package: sansmathaccent 2020/01/31 | ||
| 485 | |||
| 486 | (/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty | ||
| 487 | Package: scrlfile 2020/01/24 v3.29 KOMA-Script package (loading files) | ||
| 488 | ))) | ||
| 489 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty | ||
| 490 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty | ||
| 491 | Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX | ||
| 492 | )) | ||
| 493 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) | ||
| 494 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) | ||
| 495 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty | ||
| 496 | \beamer@argscount=\count284 | ||
| 497 | \beamer@lastskipcover=\skip50 | ||
| 498 | \beamer@trivlistdepth=\count285 | ||
| 499 | ) | ||
| 500 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) | ||
| 501 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasesection.sty | ||
| 502 | \c@lecture=\count286 | ||
| 503 | \c@part=\count287 | ||
| 504 | \c@section=\count288 | ||
| 505 | \c@subsection=\count289 | ||
| 506 | \c@subsubsection=\count290 | ||
| 507 | ) | ||
| 508 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseframe.sty | ||
| 509 | \beamer@framebox=\box60 | ||
| 510 | \beamer@frametitlebox=\box61 | ||
| 511 | \beamer@zoombox=\box62 | ||
| 512 | \beamer@zoomcount=\count291 | ||
| 513 | \beamer@zoomframecount=\count292 | ||
| 514 | \beamer@frametextheight=\dimen257 | ||
| 515 | \c@subsectionslide=\count293 | ||
| 516 | \beamer@frametopskip=\skip51 | ||
| 517 | \beamer@framebottomskip=\skip52 | ||
| 518 | \beamer@frametopskipautobreak=\skip53 | ||
| 519 | \beamer@framebottomskipautobreak=\skip54 | ||
| 520 | \beamer@envbody=\toks27 | ||
| 521 | \framewidth=\dimen258 | ||
| 522 | \c@framenumber=\count294 | ||
| 523 | ) | ||
| 524 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty | ||
| 525 | \beamer@verbatimfileout=\write4 | ||
| 526 | ) | ||
| 527 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty | ||
| 528 | \beamer@splitbox=\box63 | ||
| 529 | \beamer@autobreakcount=\count295 | ||
| 530 | \beamer@autobreaklastheight=\dimen259 | ||
| 531 | \beamer@frametitletoks=\toks28 | ||
| 532 | \beamer@framesubtitletoks=\toks29 | ||
| 533 | ) | ||
| 534 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty | ||
| 535 | \beamer@footins=\box64 | ||
| 536 | ) | ||
| 537 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) | ||
| 538 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasenotes.sty | ||
| 539 | \beamer@frameboxcopy=\box65 | ||
| 540 | ) | ||
| 541 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) | ||
| 542 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty | ||
| 543 | \beamer@sbttoks=\toks30 | ||
| 544 | |||
| 545 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty | ||
| 546 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty | ||
| 547 | \bmb@box=\box66 | ||
| 548 | \bmb@colorbox=\box67 | ||
| 549 | \bmb@boxshadow=\box68 | ||
| 550 | \bmb@boxshadowball=\box69 | ||
| 551 | \bmb@boxshadowballlarge=\box70 | ||
| 552 | \bmb@temp=\dimen260 | ||
| 553 | \bmb@dima=\dimen261 | ||
| 554 | \bmb@dimb=\dimen262 | ||
| 555 | \bmb@prevheight=\dimen263 | ||
| 556 | ) | ||
| 557 | \beamer@blockheadheight=\dimen264 | ||
| 558 | )) | ||
| 559 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty | ||
| 560 | (/usr/share/texlive/texmf-dist/tex/latex/tools/enumerate.sty | ||
| 561 | Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) | ||
| 562 | \@enLab=\toks31 | ||
| 563 | ) | ||
| 564 | \c@figure=\count296 | ||
| 565 | \c@table=\count297 | ||
| 566 | \abovecaptionskip=\skip55 | ||
| 567 | \belowcaptionskip=\skip56 | ||
| 568 | ) | ||
| 569 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty | ||
| 570 | \beamer@section@min@dim=\dimen265 | ||
| 571 | ) | ||
| 572 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty | ||
| 573 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty | ||
| 574 | Package: amsmath 2020/01/20 v2.17e AMS math features | ||
| 575 | \@mathmargin=\skip57 | ||
| 576 | |||
| 577 | For additional information on amsmath, use the `?' option. | ||
| 578 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty | ||
| 579 | Package: amstext 2000/06/29 v2.01 AMS text | ||
| 580 | |||
| 581 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty | ||
| 582 | File: amsgen.sty 1999/11/30 v2.0 generic functions | ||
| 583 | \@emptytoks=\toks32 | ||
| 584 | \ex@=\dimen266 | ||
| 585 | )) | ||
| 586 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty | ||
| 587 | Package: amsbsy 1999/11/29 v1.2d Bold Symbols | ||
| 588 | \pmbraise@=\dimen267 | ||
| 589 | ) | ||
| 590 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty | ||
| 591 | Package: amsopn 2016/03/08 v2.02 operator names | ||
| 592 | ) | ||
| 593 | \inf@bad=\count298 | ||
| 594 | LaTeX Info: Redefining \frac on input line 227. | ||
| 595 | \uproot@=\count299 | ||
| 596 | \leftroot@=\count300 | ||
| 597 | LaTeX Info: Redefining \overline on input line 389. | ||
| 598 | \classnum@=\count301 | ||
| 599 | \DOTSCASE@=\count302 | ||
| 600 | LaTeX Info: Redefining \ldots on input line 486. | ||
| 601 | LaTeX Info: Redefining \dots on input line 489. | ||
| 602 | LaTeX Info: Redefining \cdots on input line 610. | ||
| 603 | \Mathstrutbox@=\box71 | ||
| 604 | \strutbox@=\box72 | ||
| 605 | \big@size=\dimen268 | ||
| 606 | LaTeX Font Info: Redeclaring font encoding OML on input line 733. | ||
| 607 | LaTeX Font Info: Redeclaring font encoding OMS on input line 734. | ||
| 608 | \macc@depth=\count303 | ||
| 609 | \c@MaxMatrixCols=\count304 | ||
| 610 | \dotsspace@=\muskip17 | ||
| 611 | \c@parentequation=\count305 | ||
| 612 | \dspbrk@lvl=\count306 | ||
| 613 | \tag@help=\toks33 | ||
| 614 | \row@=\count307 | ||
| 615 | \column@=\count308 | ||
| 616 | \maxfields@=\count309 | ||
| 617 | \andhelp@=\toks34 | ||
| 618 | \eqnshift@=\dimen269 | ||
| 619 | \alignsep@=\dimen270 | ||
| 620 | \tagshift@=\dimen271 | ||
| 621 | \tagwidth@=\dimen272 | ||
| 622 | \totwidth@=\dimen273 | ||
| 623 | \lineht@=\dimen274 | ||
| 624 | \@envbody=\toks35 | ||
| 625 | \multlinegap=\skip58 | ||
| 626 | \multlinetaggap=\skip59 | ||
| 627 | \mathdisplay@stack=\toks36 | ||
| 628 | LaTeX Info: Redefining \[ on input line 2859. | ||
| 629 | LaTeX Info: Redefining \] on input line 2860. | ||
| 630 | ) | ||
| 631 | (/usr/share/texlive/texmf-dist/tex/latex/amscls/amsthm.sty | ||
| 632 | Package: amsthm 2017/10/31 v2.20.4 | ||
| 633 | \thm@style=\toks37 | ||
| 634 | \thm@bodyfont=\toks38 | ||
| 635 | \thm@headfont=\toks39 | ||
| 636 | \thm@notefont=\toks40 | ||
| 637 | \thm@headpunct=\toks41 | ||
| 638 | \thm@preskip=\skip60 | ||
| 639 | \thm@postskip=\skip61 | ||
| 640 | \thm@headsep=\skip62 | ||
| 641 | \dth@everypar=\toks42 | ||
| 642 | ) | ||
| 643 | \c@theorem=\count310 | ||
| 644 | ) | ||
| 645 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) | ||
| 646 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerthemedefault.sty | ||
| 647 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerfontthemedefault.sty) | ||
| 648 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamercolorthemedefault.sty) | ||
| 649 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerinnerthemedefault.sty | ||
| 650 | \beamer@dima=\dimen275 | ||
| 651 | \beamer@dimb=\dimen276 | ||
| 652 | ) | ||
| 653 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerouterthemedefault.sty))) | ||
| 654 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerthemeMadrid.sty | ||
| 655 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamercolorthemewhale.sty) | ||
| 656 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamercolorthemeorchid.sty) | ||
| 657 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerinnerthemerounded.sty) | ||
| 658 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerouterthemeinfolines.sty)) | ||
| 659 | (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty | ||
| 660 | Package: inputenc 2018/08/11 v1.3c Input encoding file | ||
| 661 | \inpenc@prehook=\toks43 | ||
| 662 | \inpenc@posthook=\toks44 | ||
| 663 | ) | ||
| 664 | (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty | ||
| 665 | \lst@mode=\count311 | ||
| 666 | \lst@gtempboxa=\box73 | ||
| 667 | \lst@token=\toks45 | ||
| 668 | \lst@length=\count312 | ||
| 669 | \lst@currlwidth=\dimen277 | ||
| 670 | \lst@column=\count313 | ||
| 671 | \lst@pos=\count314 | ||
| 672 | \lst@lostspace=\dimen278 | ||
| 673 | \lst@width=\dimen279 | ||
| 674 | \lst@newlines=\count315 | ||
| 675 | \lst@lineno=\count316 | ||
| 676 | \lst@maxwidth=\dimen280 | ||
| 677 | |||
| 678 | (/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty | ||
| 679 | File: lstmisc.sty 2019/09/10 1.8c (Carsten Heinz) | ||
| 680 | \c@lstnumber=\count317 | ||
| 681 | \lst@skipnumbers=\count318 | ||
| 682 | \lst@framebox=\box74 | ||
| 683 | ) | ||
| 684 | (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg | ||
| 685 | File: listings.cfg 2019/09/10 1.8c listings configuration | ||
| 686 | )) | ||
| 687 | Package: listings 2019/09/10 1.8c (Carsten Heinz) | ||
| 688 | |||
| 689 | (/usr/share/texlive/texmf-dist/tex/latex/mathtools/mathtools.sty | ||
| 690 | Package: mathtools 2020/01/17 v1.23 mathematical typesetting tools | ||
| 691 | |||
| 692 | (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty | ||
| 693 | Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ) | ||
| 694 | \calc@Acount=\count319 | ||
| 695 | \calc@Bcount=\count320 | ||
| 696 | \calc@Adimen=\dimen281 | ||
| 697 | \calc@Bdimen=\dimen282 | ||
| 698 | \calc@Askip=\skip63 | ||
| 699 | \calc@Bskip=\skip64 | ||
| 700 | LaTeX Info: Redefining \setlength on input line 80. | ||
| 701 | LaTeX Info: Redefining \addtolength on input line 81. | ||
| 702 | \calc@Ccount=\count321 | ||
| 703 | \calc@Cskip=\skip65 | ||
| 704 | ) | ||
| 705 | (/usr/share/texlive/texmf-dist/tex/latex/mathtools/mhsetup.sty | ||
| 706 | Package: mhsetup 2017/03/31 v1.3 programming setup (MH) | ||
| 707 | ) | ||
| 708 | LaTeX Info: Thecontrolsequence`\('isalreadyrobust on input line 129. | ||
| 709 | LaTeX Info: Thecontrolsequence`\)'isalreadyrobust on input line 129. | ||
| 710 | LaTeX Info: Thecontrolsequence`\['isalreadyrobust on input line 129. | ||
| 711 | LaTeX Info: Thecontrolsequence`\]'isalreadyrobust on input line 129. | ||
| 712 | \g_MT_multlinerow_int=\count322 | ||
| 713 | \l_MT_multwidth_dim=\dimen283 | ||
| 714 | \origjot=\skip66 | ||
| 715 | \l_MT_shortvdotswithinadjustabove_dim=\dimen284 | ||
| 716 | \l_MT_shortvdotswithinadjustbelow_dim=\dimen285 | ||
| 717 | \l_MT_above_intertext_sep=\dimen286 | ||
| 718 | \l_MT_below_intertext_sep=\dimen287 | ||
| 719 | \l_MT_above_shortintertext_sep=\dimen288 | ||
| 720 | \l_MT_below_shortintertext_sep=\dimen289 | ||
| 721 | ) | ||
| 722 | (/usr/share/texlive/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty | ||
| 723 | Package: tikz-cd 2018/11/19 v0.9f Commutative diagrams with TikZ | ||
| 724 | |||
| 725 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty | ||
| 726 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty | ||
| 727 | Package: pgf 2020/01/08 v3.1.5b (3.1.5b) | ||
| 728 | |||
| 729 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex | ||
| 730 | File: pgfmoduleshapes.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 731 | \pgfnodeparttextbox=\box75 | ||
| 732 | ) (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex | ||
| 733 | File: pgfmoduleplot.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 734 | ) | ||
| 735 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65 | ||
| 736 | .sty | ||
| 737 | Package: pgfcomp-version-0-65 2020/01/08 v3.1.5b (3.1.5b) | ||
| 738 | \pgf@nodesepstart=\dimen290 | ||
| 739 | \pgf@nodesepend=\dimen291 | ||
| 740 | ) | ||
| 741 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18 | ||
| 742 | .sty | ||
| 743 | Package: pgfcomp-version-1-18 2020/01/08 v3.1.5b (3.1.5b) | ||
| 744 | )) (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty | ||
| 745 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty | ||
| 746 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) | ||
| 747 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty | ||
| 748 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) | ||
| 749 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex | ||
| 750 | Package: pgffor 2020/01/08 v3.1.5b (3.1.5b) | ||
| 751 | |||
| 752 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) | ||
| 753 | \pgffor@iter=\dimen292 | ||
| 754 | \pgffor@skip=\dimen293 | ||
| 755 | \pgffor@stack=\toks46 | ||
| 756 | \pgffor@toks=\toks47 | ||
| 757 | )) | ||
| 758 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex | ||
| 759 | Package: tikz 2020/01/08 v3.1.5b (3.1.5b) | ||
| 760 | |||
| 761 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers | ||
| 762 | .code.tex | ||
| 763 | File: pgflibraryplothandlers.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 764 | \pgf@plot@mark@count=\count323 | ||
| 765 | \pgfplotmarksize=\dimen294 | ||
| 766 | ) | ||
| 767 | \tikz@lastx=\dimen295 | ||
| 768 | \tikz@lasty=\dimen296 | ||
| 769 | \tikz@lastxsaved=\dimen297 | ||
| 770 | \tikz@lastysaved=\dimen298 | ||
| 771 | \tikz@lastmovetox=\dimen299 | ||
| 772 | \tikz@lastmovetoy=\dimen300 | ||
| 773 | \tikzleveldistance=\dimen301 | ||
| 774 | \tikzsiblingdistance=\dimen302 | ||
| 775 | \tikz@figbox=\box76 | ||
| 776 | \tikz@figbox@bg=\box77 | ||
| 777 | \tikz@tempbox=\box78 | ||
| 778 | \tikz@tempbox@bg=\box79 | ||
| 779 | \tikztreelevel=\count324 | ||
| 780 | \tikznumberofchildren=\count325 | ||
| 781 | \tikznumberofcurrentchild=\count326 | ||
| 782 | \tikz@fig@count=\count327 | ||
| 783 | |||
| 784 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex | ||
| 785 | File: pgfmodulematrix.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 786 | \pgfmatrixcurrentrow=\count328 | ||
| 787 | \pgfmatrixcurrentcolumn=\count329 | ||
| 788 | \pgf@matrix@numberofcolumns=\count330 | ||
| 789 | ) | ||
| 790 | \tikz@expandcount=\count331 | ||
| 791 | |||
| 792 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik | ||
| 793 | zlibrarytopaths.code.tex | ||
| 794 | File: tikzlibrarytopaths.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 795 | ))) | ||
| 796 | (/usr/share/texlive/texmf-dist/tex/generic/tikz-cd/tikzlibrarycd.code.tex | ||
| 797 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik | ||
| 798 | zlibrarymatrix.code.tex | ||
| 799 | File: tikzlibrarymatrix.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 800 | ) | ||
| 801 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik | ||
| 802 | zlibraryquotes.code.tex | ||
| 803 | File: tikzlibraryquotes.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 804 | ) | ||
| 805 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta. | ||
| 806 | code.tex | ||
| 807 | File: pgflibraryarrows.meta.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 808 | \pgfarrowinset=\dimen303 | ||
| 809 | \pgfarrowlength=\dimen304 | ||
| 810 | \pgfarrowwidth=\dimen305 | ||
| 811 | \pgfarrowlinewidth=\dimen306 | ||
| 812 | ))) (/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjustbox.sty | ||
| 813 | Package: adjustbox 2019/01/04 v1.2 Adjusting TeX boxes (trim, clip, ...) | ||
| 814 | |||
| 815 | (/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty | ||
| 816 | Package: xkeyval 2014/12/03 v2.7a package option processing (HA) | ||
| 817 | |||
| 818 | (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex | ||
| 819 | (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex | ||
| 820 | \XKV@toks=\toks48 | ||
| 821 | \XKV@tempa@toks=\toks49 | ||
| 822 | ) | ||
| 823 | \XKV@depth=\count332 | ||
| 824 | File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) | ||
| 825 | )) | ||
| 826 | (/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjcalc.sty | ||
| 827 | Package: adjcalc 2012/05/16 v1.1 Provides advanced setlength with multiple back | ||
| 828 | -ends (calc, etex, pgfmath) | ||
| 829 | ) | ||
| 830 | (/usr/share/texlive/texmf-dist/tex/latex/adjustbox/trimclip.sty | ||
| 831 | Package: trimclip 2018/04/08 v1.1 Trim and clip general TeX material | ||
| 832 | |||
| 833 | (/usr/share/texlive/texmf-dist/tex/latex/collectbox/collectbox.sty | ||
| 834 | Package: collectbox 2012/05/17 v0.4b Collect macro arguments as boxes | ||
| 835 | \collectedbox=\box80 | ||
| 836 | ) | ||
| 837 | \tc@llx=\dimen307 | ||
| 838 | \tc@lly=\dimen308 | ||
| 839 | \tc@urx=\dimen309 | ||
| 840 | \tc@ury=\dimen310 | ||
| 841 | Package trimclip Info: Using driver 'tc-pdftex.def'. | ||
| 842 | |||
| 843 | (/usr/share/texlive/texmf-dist/tex/latex/adjustbox/tc-pdftex.def | ||
| 844 | File: tc-pdftex.def 2019/01/04 v2.2 Clipping driver for pdftex | ||
| 845 | )) | ||
| 846 | \adjbox@Width=\dimen311 | ||
| 847 | \adjbox@Height=\dimen312 | ||
| 848 | \adjbox@Depth=\dimen313 | ||
| 849 | \adjbox@Totalheight=\dimen314 | ||
| 850 | \adjbox@pwidth=\dimen315 | ||
| 851 | \adjbox@pheight=\dimen316 | ||
| 852 | \adjbox@pdepth=\dimen317 | ||
| 853 | \adjbox@ptotalheight=\dimen318 | ||
| 854 | |||
| 855 | (/usr/share/texlive/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty | ||
| 856 | Package: ifoddpage 2016/04/23 v1.1 Conditionals for odd/even page detection | ||
| 857 | \c@checkoddpage=\count333 | ||
| 858 | ) | ||
| 859 | (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty | ||
| 860 | Package: varwidth 2009/03/30 ver 0.92; Variable-width minipages | ||
| 861 | \@vwid@box=\box81 | ||
| 862 | \sift@deathcycles=\count334 | ||
| 863 | \@vwid@loff=\dimen319 | ||
| 864 | \@vwid@roff=\dimen320 | ||
| 865 | )) | ||
| 866 | (/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty | ||
| 867 | File: lstlang1.sty 2019/09/10 1.8c listings language file | ||
| 868 | ) | ||
| 869 | (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def | ||
| 870 | File: l3backend-pdfmode.def 2020-02-03 L3 backend support: PDF mode | ||
| 871 | \l__kernel_color_stack_int=\count335 | ||
| 872 | \l__pdf_internal_box=\box82 | ||
| 873 | ) | ||
| 874 | (./X1-ComputationalComplexity.aux) | ||
| 875 | \openout1 = `X1-ComputationalComplexity.aux'. | ||
| 876 | |||
| 877 | LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 32. | ||
| 878 | LaTeX Font Info: ... okay on input line 32. | ||
| 879 | LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 32. | ||
| 880 | LaTeX Font Info: ... okay on input line 32. | ||
| 881 | LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 32. | ||
| 882 | LaTeX Font Info: ... okay on input line 32. | ||
| 883 | LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 32. | ||
| 884 | LaTeX Font Info: ... okay on input line 32. | ||
| 885 | LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 32. | ||
| 886 | LaTeX Font Info: ... okay on input line 32. | ||
| 887 | LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 32. | ||
| 888 | LaTeX Font Info: ... okay on input line 32. | ||
| 889 | LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 32. | ||
| 890 | LaTeX Font Info: ... okay on input line 32. | ||
| 891 | LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 32. | ||
| 892 | LaTeX Font Info: ... okay on input line 32. | ||
| 893 | |||
| 894 | *geometry* driver: auto-detecting | ||
| 895 | *geometry* detected driver: pdftex | ||
| 896 | *geometry* verbose mode - [ preamble ] result: | ||
| 897 | * driver: pdftex | ||
| 898 | * paper: custom | ||
| 899 | * layout: <same size as paper> | ||
| 900 | * layoutoffset:(h,v)=(0.0pt,0.0pt) | ||
| 901 | * modes: includehead includefoot | ||
| 902 | * h-part:(L,W,R)=(10.95003pt, 342.2953pt, 10.95003pt) | ||
| 903 | * v-part:(T,H,B)=(0.0pt, 273.14662pt, 0.0pt) | ||
| 904 | * \paperwidth=364.19536pt | ||
| 905 | * \paperheight=273.14662pt | ||
| 906 | * \textwidth=342.2953pt | ||
| 907 | * \textheight=244.6939pt | ||
| 908 | * \oddsidemargin=-61.31996pt | ||
| 909 | * \evensidemargin=-61.31996pt | ||
| 910 | * \topmargin=-72.26999pt | ||
| 911 | * \headheight=14.22636pt | ||
| 912 | * \headsep=0.0pt | ||
| 913 | * \topskip=11.0pt | ||
| 914 | * \footskip=14.22636pt | ||
| 915 | * \marginparwidth=4.0pt | ||
| 916 | * \marginparsep=10.0pt | ||
| 917 | * \columnsep=10.0pt | ||
| 918 | * \skip\footins=10.0pt plus 4.0pt minus 2.0pt | ||
| 919 | * \hoffset=0.0pt | ||
| 920 | * \voffset=0.0pt | ||
| 921 | * \mag=1000 | ||
| 922 | * \@twocolumnfalse | ||
| 923 | * \@twosidefalse | ||
| 924 | * \@mparswitchfalse | ||
| 925 | * \@reversemarginfalse | ||
| 926 | * (1in=72.27pt=25.4mm, 1cm=28.453pt) | ||
| 927 | |||
| 928 | (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii | ||
| 929 | [Loading MPS to PDF converter (version 2006.09.02).] | ||
| 930 | \scratchcounter=\count336 | ||
| 931 | \scratchdimen=\dimen321 | ||
| 932 | \scratchbox=\box83 | ||
| 933 | \nofMPsegments=\count337 | ||
| 934 | \nofMParguments=\count338 | ||
| 935 | \everyMPshowfont=\toks50 | ||
| 936 | \MPscratchCnt=\count339 | ||
| 937 | \MPscratchDim=\dimen322 | ||
| 938 | \MPnumerator=\count340 | ||
| 939 | \makeMPintoPDFobject=\count341 | ||
| 940 | \everyMPtoPDFconversion=\toks51 | ||
| 941 | ) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty | ||
| 942 | Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf | ||
| 943 | Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 | ||
| 944 | 85. | ||
| 945 | |||
| 946 | (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | ||
| 947 | File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | ||
| 948 | e | ||
| 949 | )) | ||
| 950 | ABD: EveryShipout initializing macros | ||
| 951 | \AtBeginShipoutBox=\box84 | ||
| 952 | Package hyperref Info: Link coloring OFF on input line 32. | ||
| 953 | |||
| 954 | (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty | ||
| 955 | Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section | ||
| 956 | |||
| 957 | (/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty | ||
| 958 | Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) | ||
| 959 | ) | ||
| 960 | (/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty | ||
| 961 | Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) | ||
| 962 | ) | ||
| 963 | \c@section@level=\count342 | ||
| 964 | ) | ||
| 965 | LaTeX Info: Redefining \ref on input line 32. | ||
| 966 | LaTeX Info: Redefining \pageref on input line 32. | ||
| 967 | LaTeX Info: Redefining \nameref on input line 32. | ||
| 968 | |||
| 969 | (./X1-ComputationalComplexity.out) (./X1-ComputationalComplexity.out) | ||
| 970 | \@outlinefile=\write5 | ||
| 971 | \openout5 = `X1-ComputationalComplexity.out'. | ||
| 972 | |||
| 973 | LaTeX Font Info: Overwriting symbol font `operators' in version `normal' | ||
| 974 | (Font) OT1/cmr/m/n --> OT1/cmss/m/n on input line 32. | ||
| 975 | LaTeX Font Info: Overwriting symbol font `operators' in version `bold' | ||
| 976 | (Font) OT1/cmr/bx/n --> OT1/cmss/b/n on input line 32. | ||
| 977 | \symnumbers=\mathgroup6 | ||
| 978 | \sympureletters=\mathgroup7 | ||
| 979 | LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' | ||
| 980 | (Font) OT1/cmss/m/n --> OT1/cmr/m/n on input line 32. | ||
| 981 | LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 32. | ||
| 982 | LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' | ||
| 983 | (Font) OT1/cmr/bx/n --> OT1/cmss/b/n on input line 32. | ||
| 984 | LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' | ||
| 985 | (Font) OT1/cmr/bx/n --> OT1/cmss/b/n on input line 32. | ||
| 986 | LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 32. | ||
| 987 | LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' | ||
| 988 | (Font) OT1/cmss/m/n --> OT1/cmss/m/n on input line 32. | ||
| 989 | LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' | ||
| 990 | (Font) OT1/cmss/bx/n --> OT1/cmss/m/n on input line 32. | ||
| 991 | LaTeX Font Info: Redeclaring math alphabet \mathit on input line 32. | ||
| 992 | LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' | ||
| 993 | (Font) OT1/cmr/m/it --> OT1/cmss/m/it on input line 32. | ||
| 994 | LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' | ||
| 995 | (Font) OT1/cmr/bx/it --> OT1/cmss/m/it on input line 32. | ||
| 996 | LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 32. | ||
| 997 | LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' | ||
| 998 | (Font) OT1/cmtt/m/n --> OT1/cmtt/m/n on input line 32. | ||
| 999 | LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' | ||
| 1000 | (Font) OT1/cmtt/m/n --> OT1/cmtt/m/n on input line 32. | ||
| 1001 | LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' | ||
| 1002 | (Font) OT1/cmss/m/n --> OT1/cmss/b/n on input line 32. | ||
| 1003 | LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' | ||
| 1004 | (Font) OT1/cmss/m/it --> OT1/cmss/b/it on input line 32. | ||
| 1005 | LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' | ||
| 1006 | (Font) OT1/cmss/b/n --> OT1/cmr/b/n on input line 32. | ||
| 1007 | LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' | ||
| 1008 | (Font) OT1/cmss/b/n --> OT1/cmss/b/n on input line 32. | ||
| 1009 | LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' | ||
| 1010 | (Font) OT1/cmss/m/n --> OT1/cmss/b/n on input line 32. | ||
| 1011 | LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' | ||
| 1012 | (Font) OT1/cmss/m/it --> OT1/cmss/b/it on input line 32. | ||
| 1013 | LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' | ||
| 1014 | (Font) OT1/cmtt/m/n --> OT1/cmtt/b/n on input line 32. | ||
| 1015 | LaTeX Font Info: Redeclaring symbol font `pureletters' on input line 32. | ||
| 1016 | LaTeX Font Info: Overwriting symbol font `pureletters' in version `normal' | ||
| 1017 | (Font) OT1/cmss/m/it --> OT1/mathkerncmss/m/sl on input line 3 | ||
| 1018 | 2. | ||
| 1019 | LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' | ||
| 1020 | (Font) OT1/cmss/b/it --> OT1/mathkerncmss/m/sl on input line 3 | ||
| 1021 | 2. | ||
| 1022 | LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' | ||
| 1023 | (Font) OT1/mathkerncmss/m/sl --> OT1/mathkerncmss/bx/sl on inp | ||
| 1024 | ut line 32. | ||
| 1025 | |||
| 1026 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-basic-dictionary | ||
| 1027 | -English.dict | ||
| 1028 | Dictionary: translator-basic-dictionary, Language: English | ||
| 1029 | ) | ||
| 1030 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-bibliography-dic | ||
| 1031 | tionary-English.dict | ||
| 1032 | Dictionary: translator-bibliography-dictionary, Language: English | ||
| 1033 | ) | ||
| 1034 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-environment-dict | ||
| 1035 | ionary-English.dict | ||
| 1036 | Dictionary: translator-environment-dictionary, Language: English | ||
| 1037 | ) | ||
| 1038 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-months-dictionar | ||
| 1039 | y-English.dict | ||
| 1040 | Dictionary: translator-months-dictionary, Language: English | ||
| 1041 | ) | ||
| 1042 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-numbers-dictiona | ||
| 1043 | ry-English.dict | ||
| 1044 | Dictionary: translator-numbers-dictionary, Language: English | ||
| 1045 | ) | ||
| 1046 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-theorem-dictiona | ||
| 1047 | ry-English.dict | ||
| 1048 | Dictionary: translator-theorem-dictionary, Language: English | ||
| 1049 | ) | ||
| 1050 | \c@lstlisting=\count343 | ||
| 1051 | (./X1-ComputationalComplexity.nav) | ||
| 1052 | <img/unilu.jpg, id=20, 645.16031pt x 578.16pt> | ||
| 1053 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1054 | <use img/unilu.jpg> | ||
| 1055 | Package pdftex.def Info: img/unilu.jpg used on input line 36. | ||
| 1056 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1057 | [1 | ||
| 1058 | |||
| 1059 | {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} <./img/unilu.jpg>] | ||
| 1060 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1061 | <use img/unilu.jpg> | ||
| 1062 | Package pdftex.def Info: img/unilu.jpg used on input line 51. | ||
| 1063 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1064 | [2 | ||
| 1065 | |||
| 1066 | ] | ||
| 1067 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1068 | <use img/unilu.jpg> | ||
| 1069 | Package pdftex.def Info: img/unilu.jpg used on input line 64. | ||
| 1070 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1071 | [3 | ||
| 1072 | |||
| 1073 | ] | ||
| 1074 | LaTeX Font Info: Trying to load font information for U+msa on input line 80. | ||
| 1075 | |||
| 1076 | |||
| 1077 | (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd | ||
| 1078 | File: umsa.fd 2013/01/14 v3.01 AMS symbols A | ||
| 1079 | ) | ||
| 1080 | LaTeX Font Info: Trying to load font information for U+msb on input line 80. | ||
| 1081 | |||
| 1082 | |||
| 1083 | (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd | ||
| 1084 | File: umsb.fd 2013/01/14 v3.01 AMS symbols B | ||
| 1085 | ) | ||
| 1086 | LaTeX Font Info: Trying to load font information for OT1+mathkerncmss on inp | ||
| 1087 | ut line 80. | ||
| 1088 | |||
| 1089 | (/usr/share/texlive/texmf-dist/tex/latex/sansmathaccent/ot1mathkerncmss.fd | ||
| 1090 | File: ot1mathkerncmss.fd 2020/01/31 Fontinst v1.933 font definitions for OT1/ma | ||
| 1091 | thkerncmss. | ||
| 1092 | ) | ||
| 1093 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1094 | <use img/unilu.jpg> | ||
| 1095 | Package pdftex.def Info: img/unilu.jpg used on input line 80. | ||
| 1096 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1097 | |||
| 1098 | [4 | ||
| 1099 | |||
| 1100 | ] | ||
| 1101 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1102 | <use img/unilu.jpg> | ||
| 1103 | Package pdftex.def Info: img/unilu.jpg used on input line 89. | ||
| 1104 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1105 | [5 | ||
| 1106 | |||
| 1107 | ] | ||
| 1108 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1109 | <use img/unilu.jpg> | ||
| 1110 | Package pdftex.def Info: img/unilu.jpg used on input line 111. | ||
| 1111 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1112 | [6 | ||
| 1113 | |||
| 1114 | ] | ||
| 1115 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1116 | <use img/unilu.jpg> | ||
| 1117 | Package pdftex.def Info: img/unilu.jpg used on input line 131. | ||
| 1118 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1119 | [7 | ||
| 1120 | |||
| 1121 | ] | ||
| 1122 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1123 | <use img/unilu.jpg> | ||
| 1124 | Package pdftex.def Info: img/unilu.jpg used on input line 143. | ||
| 1125 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1126 | [8 | ||
| 1127 | |||
| 1128 | ] | ||
| 1129 | <img/plot1.png, id=252, 426.32072pt x 280.84122pt> | ||
| 1130 | File: img/plot1.png Graphic file (type png) | ||
| 1131 | <use img/plot1.png> | ||
| 1132 | Package pdftex.def Info: img/plot1.png used on input line 147. | ||
| 1133 | (pdftex.def) Requested size: 298.42245pt x 196.5875pt. | ||
| 1134 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1135 | <use img/unilu.jpg> | ||
| 1136 | Package pdftex.def Info: img/unilu.jpg used on input line 147. | ||
| 1137 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1138 | [9 | ||
| 1139 | |||
| 1140 | <./img/plot1.png>] | ||
| 1141 | <img/plot2.png, id=281, 424.73079pt x 280.84122pt> | ||
| 1142 | File: img/plot2.png Graphic file (type png) | ||
| 1143 | <use img/plot2.png> | ||
| 1144 | Package pdftex.def Info: img/plot2.png used on input line 151. | ||
| 1145 | (pdftex.def) Requested size: 297.30951pt x 196.5875pt. | ||
| 1146 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1147 | <use img/unilu.jpg> | ||
| 1148 | Package pdftex.def Info: img/unilu.jpg used on input line 151. | ||
| 1149 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1150 | [10 | ||
| 1151 | |||
| 1152 | <./img/plot2.png>] | ||
| 1153 | <img/plot3.png, id=309, 425.23668pt x 280.84122pt> | ||
| 1154 | File: img/plot3.png Graphic file (type png) | ||
| 1155 | <use img/plot3.png> | ||
| 1156 | Package pdftex.def Info: img/plot3.png used on input line 155. | ||
| 1157 | (pdftex.def) Requested size: 297.66365pt x 196.5875pt. | ||
| 1158 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1159 | <use img/unilu.jpg> | ||
| 1160 | Package pdftex.def Info: img/unilu.jpg used on input line 155. | ||
| 1161 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1162 | [11 | ||
| 1163 | |||
| 1164 | <./img/plot3.png>] | ||
| 1165 | <img/plot4.png, id=337, 424.87534pt x 280.84122pt> | ||
| 1166 | File: img/plot4.png Graphic file (type png) | ||
| 1167 | <use img/plot4.png> | ||
| 1168 | Package pdftex.def Info: img/plot4.png used on input line 159. | ||
| 1169 | (pdftex.def) Requested size: 297.4107pt x 196.5875pt. | ||
| 1170 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1171 | <use img/unilu.jpg> | ||
| 1172 | Package pdftex.def Info: img/unilu.jpg used on input line 159. | ||
| 1173 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1174 | [12 | ||
| 1175 | |||
| 1176 | <./img/plot4.png>] | ||
| 1177 | <img/plot5.png, id=366, 424.65852pt x 280.84122pt> | ||
| 1178 | File: img/plot5.png Graphic file (type png) | ||
| 1179 | <use img/plot5.png> | ||
| 1180 | Package pdftex.def Info: img/plot5.png used on input line 163. | ||
| 1181 | (pdftex.def) Requested size: 297.25893pt x 196.5875pt. | ||
| 1182 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1183 | <use img/unilu.jpg> | ||
| 1184 | Package pdftex.def Info: img/unilu.jpg used on input line 163. | ||
| 1185 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1186 | [13 | ||
| 1187 | |||
| 1188 | <./img/plot5.png>] | ||
| 1189 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1190 | <use img/unilu.jpg> | ||
| 1191 | Package pdftex.def Info: img/unilu.jpg used on input line 186. | ||
| 1192 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1193 | [14 | ||
| 1194 | |||
| 1195 | ] | ||
| 1196 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1197 | |||
| 1198 | |||
| 1199 | (./X1-ComputationalComplexity.vrb | ||
| 1200 | LaTeX Font Info: Trying to load font information for TS1+cmss on input line | ||
| 1201 | 5. | ||
| 1202 | |||
| 1203 | (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmss.fd | ||
| 1204 | File: ts1cmss.fd 2019/12/16 v2.5j Standard LaTeX font definitions | ||
| 1205 | )) [15 | ||
| 1206 | |||
| 1207 | ] | ||
| 1208 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1209 | <use img/unilu.jpg> | ||
| 1210 | Package pdftex.def Info: img/unilu.jpg used on input line 224. | ||
| 1211 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1212 | [16 | ||
| 1213 | |||
| 1214 | ] | ||
| 1215 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1216 | |||
| 1217 | |||
| 1218 | (./X1-ComputationalComplexity.vrb | ||
| 1219 | LaTeX Font Info: Trying to load font information for OML+cmss on input line | ||
| 1220 | 5. | ||
| 1221 | LaTeX Font Info: No file OMLcmss.fd. on input line 5. | ||
| 1222 | |||
| 1223 | |||
| 1224 | LaTeX Font Warning: Font shape `OML/cmss/m/n' undefined | ||
| 1225 | (Font) using `OML/cmm/m/it' instead | ||
| 1226 | (Font) for symbol `textgreater' on input line 5. | ||
| 1227 | |||
| 1228 | ) | ||
| 1229 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1230 | <use img/unilu.jpg> | ||
| 1231 | Package pdftex.def Info: img/unilu.jpg used on input line 241. | ||
| 1232 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1233 | [17 | ||
| 1234 | |||
| 1235 | ] | ||
| 1236 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1237 | <use img/unilu.jpg> | ||
| 1238 | Package pdftex.def Info: img/unilu.jpg used on input line 260. | ||
| 1239 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1240 | [18 | ||
| 1241 | |||
| 1242 | ] | ||
| 1243 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1244 | <use img/unilu.jpg> | ||
| 1245 | Package pdftex.def Info: img/unilu.jpg used on input line 269. | ||
| 1246 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1247 | [19 | ||
| 1248 | |||
| 1249 | ] | ||
| 1250 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1251 | <use img/unilu.jpg> | ||
| 1252 | Package pdftex.def Info: img/unilu.jpg used on input line 277. | ||
| 1253 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1254 | [20 | ||
| 1255 | |||
| 1256 | ] | ||
| 1257 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1258 | <use img/unilu.jpg> | ||
| 1259 | Package pdftex.def Info: img/unilu.jpg used on input line 291. | ||
| 1260 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1261 | [21 | ||
| 1262 | |||
| 1263 | ] | ||
| 1264 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1265 | |||
| 1266 | (./X1-ComputationalComplexity.vrb) | ||
| 1267 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1268 | <use img/unilu.jpg> | ||
| 1269 | Package pdftex.def Info: img/unilu.jpg used on input line 305. | ||
| 1270 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1271 | [22 | ||
| 1272 | |||
| 1273 | ] | ||
| 1274 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1275 | <use img/unilu.jpg> | ||
| 1276 | Package pdftex.def Info: img/unilu.jpg used on input line 363. | ||
| 1277 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1278 | [23 | ||
| 1279 | |||
| 1280 | ] | ||
| 1281 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1282 | <use img/unilu.jpg> | ||
| 1283 | Package pdftex.def Info: img/unilu.jpg used on input line 363. | ||
| 1284 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1285 | |||
| 1286 | [24 | ||
| 1287 | |||
| 1288 | ] | ||
| 1289 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1290 | <use img/unilu.jpg> | ||
| 1291 | Package pdftex.def Info: img/unilu.jpg used on input line 363. | ||
| 1292 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1293 | [25 | ||
| 1294 | |||
| 1295 | ] | ||
| 1296 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1297 | <use img/unilu.jpg> | ||
| 1298 | Package pdftex.def Info: img/unilu.jpg used on input line 363. | ||
| 1299 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1300 | [26 | ||
| 1301 | |||
| 1302 | ] | ||
| 1303 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1304 | <use img/unilu.jpg> | ||
| 1305 | Package pdftex.def Info: img/unilu.jpg used on input line 419. | ||
| 1306 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1307 | [27 | ||
| 1308 | |||
| 1309 | ] | ||
| 1310 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1311 | <use img/unilu.jpg> | ||
| 1312 | Package pdftex.def Info: img/unilu.jpg used on input line 419. | ||
| 1313 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1314 | [28 | ||
| 1315 | |||
| 1316 | ] | ||
| 1317 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1318 | <use img/unilu.jpg> | ||
| 1319 | Package pdftex.def Info: img/unilu.jpg used on input line 419. | ||
| 1320 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1321 | [29 | ||
| 1322 | |||
| 1323 | ] | ||
| 1324 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1325 | <use img/unilu.jpg> | ||
| 1326 | Package pdftex.def Info: img/unilu.jpg used on input line 419. | ||
| 1327 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1328 | [30 | ||
| 1329 | |||
| 1330 | ] | ||
| 1331 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1332 | <use img/unilu.jpg> | ||
| 1333 | Package pdftex.def Info: img/unilu.jpg used on input line 427. | ||
| 1334 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1335 | [31 | ||
| 1336 | |||
| 1337 | ] | ||
| 1338 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1339 | |||
| 1340 | (./X1-ComputationalComplexity.vrb) | ||
| 1341 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1342 | <use img/unilu.jpg> | ||
| 1343 | Package pdftex.def Info: img/unilu.jpg used on input line 443. | ||
| 1344 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1345 | |||
| 1346 | [32 | ||
| 1347 | |||
| 1348 | ] | ||
| 1349 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1350 | <use img/unilu.jpg> | ||
| 1351 | Package pdftex.def Info: img/unilu.jpg used on input line 456. | ||
| 1352 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1353 | [33 | ||
| 1354 | |||
| 1355 | ] | ||
| 1356 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1357 | |||
| 1358 | (./X1-ComputationalComplexity.vrb | ||
| 1359 | |||
| 1360 | LaTeX Font Warning: Font shape `OML/cmss/m/it' undefined | ||
| 1361 | (Font) using `OML/cmm/m/it' instead | ||
| 1362 | (Font) for symbol `textgreater' on input line 3. | ||
| 1363 | |||
| 1364 | ) | ||
| 1365 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1366 | <use img/unilu.jpg> | ||
| 1367 | Package pdftex.def Info: img/unilu.jpg used on input line 469. | ||
| 1368 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1369 | [34 | ||
| 1370 | |||
| 1371 | ] | ||
| 1372 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1373 | <use img/unilu.jpg> | ||
| 1374 | Package pdftex.def Info: img/unilu.jpg used on input line 478. | ||
| 1375 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1376 | [35 | ||
| 1377 | |||
| 1378 | ] | ||
| 1379 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1380 | |||
| 1381 | (./X1-ComputationalComplexity.vrb) | ||
| 1382 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1383 | <use img/unilu.jpg> | ||
| 1384 | Package pdftex.def Info: img/unilu.jpg used on input line 507. | ||
| 1385 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1386 | [36 | ||
| 1387 | |||
| 1388 | ] | ||
| 1389 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1390 | <use img/unilu.jpg> | ||
| 1391 | Package pdftex.def Info: img/unilu.jpg used on input line 516. | ||
| 1392 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1393 | [37 | ||
| 1394 | |||
| 1395 | ] | ||
| 1396 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1397 | |||
| 1398 | |||
| 1399 | (./X1-ComputationalComplexity.vrb) | ||
| 1400 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1401 | <use img/unilu.jpg> | ||
| 1402 | Package pdftex.def Info: img/unilu.jpg used on input line 538. | ||
| 1403 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1404 | [38 | ||
| 1405 | |||
| 1406 | ] | ||
| 1407 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1408 | |||
| 1409 | (./X1-ComputationalComplexity.vrb) | ||
| 1410 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1411 | <use img/unilu.jpg> | ||
| 1412 | Package pdftex.def Info: img/unilu.jpg used on input line 551. | ||
| 1413 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1414 | |||
| 1415 | [39 | ||
| 1416 | |||
| 1417 | ] | ||
| 1418 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1419 | <use img/unilu.jpg> | ||
| 1420 | Package pdftex.def Info: img/unilu.jpg used on input line 560. | ||
| 1421 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1422 | [40 | ||
| 1423 | |||
| 1424 | ] | ||
| 1425 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1426 | |||
| 1427 | (./X1-ComputationalComplexity.vrb) | ||
| 1428 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1429 | <use img/unilu.jpg> | ||
| 1430 | Package pdftex.def Info: img/unilu.jpg used on input line 577. | ||
| 1431 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1432 | [41 | ||
| 1433 | |||
| 1434 | ] | ||
| 1435 | \openout4 = `X1-ComputationalComplexity.vrb'. | ||
| 1436 | |||
| 1437 | |||
| 1438 | (./X1-ComputationalComplexity.vrb) | ||
| 1439 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1440 | <use img/unilu.jpg> | ||
| 1441 | Package pdftex.def Info: img/unilu.jpg used on input line 589. | ||
| 1442 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1443 | [42 | ||
| 1444 | |||
| 1445 | ] | ||
| 1446 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1447 | <use img/unilu.jpg> | ||
| 1448 | Package pdftex.def Info: img/unilu.jpg used on input line 597. | ||
| 1449 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1450 | [43 | ||
| 1451 | |||
| 1452 | ] | ||
| 1453 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1454 | <use img/unilu.jpg> | ||
| 1455 | Package pdftex.def Info: img/unilu.jpg used on input line 606. | ||
| 1456 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1457 | [44 | ||
| 1458 | |||
| 1459 | ] | ||
| 1460 | \tf@nav=\write6 | ||
| 1461 | \openout6 = `X1-ComputationalComplexity.nav'. | ||
| 1462 | |||
| 1463 | \tf@toc=\write7 | ||
| 1464 | \openout7 = `X1-ComputationalComplexity.toc'. | ||
| 1465 | |||
| 1466 | \tf@snm=\write8 | ||
| 1467 | \openout8 = `X1-ComputationalComplexity.snm'. | ||
| 1468 | |||
| 1469 | Package atveryend Info: Empty hook `BeforeClearDocument' on input line 608. | ||
| 1470 | Package atveryend Info: Empty hook `AfterLastShipout' on input line 608. | ||
| 1471 | |||
| 1472 | (./X1-ComputationalComplexity.aux) | ||
| 1473 | Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 608. | ||
| 1474 | Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 608. | ||
| 1475 | Package rerunfilecheck Info: File `X1-ComputationalComplexity.out' has not chan | ||
| 1476 | ged. | ||
| 1477 | (rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. | ||
| 1478 | |||
| 1479 | |||
| 1480 | LaTeX Font Warning: Some font shapes were not available, defaults substituted. | ||
| 1481 | |||
| 1482 | ) | ||
| 1483 | Here is how much of TeX's memory you used: | ||
| 1484 | 25931 strings out of 481239 | ||
| 1485 | 509927 string characters out of 5920377 | ||
| 1486 | 935890 words of memory out of 5000000 | ||
| 1487 | 40483 multiletter control sequences out of 15000+600000 | ||
| 1488 | 549107 words of font info for 85 fonts, out of 8000000 for 9000 | ||
| 1489 | 1141 hyphenation exceptions out of 8191 | ||
| 1490 | 58i,31n,89p,810b,1569s stack positions out of 5000i,500n,10000p,200000b,80000s | ||
| 1491 | </home/sebastiano/.texlive2019/texmf-var/fonts/pk/ljfour/jknappen/ec/tcss090 | ||
| 1492 | 0.600pk></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pf | ||
| 1493 | b></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></us | ||
| 1494 | r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi9.pfb></usr/share | ||
| 1495 | /texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmss10.pfb></usr/share/texli | ||
| 1496 | ve/texmf-dist/fonts/type1/public/amsfonts/cm/cmss12.pfb></usr/share/texlive/tex | ||
| 1497 | mf-dist/fonts/type1/public/amsfonts/cm/cmss8.pfb></usr/share/texlive/texmf-dist | ||
| 1498 | /fonts/type1/public/amsfonts/cm/cmss9.pfb></usr/share/texlive/texmf-dist/fonts/ | ||
| 1499 | type1/public/amsfonts/cm/cmssbx10.pfb></usr/share/texlive/texmf-dist/fonts/type | ||
| 1500 | 1/public/amsfonts/cm/cmssi10.pfb></usr/share/texlive/texmf-dist/fonts/type1/pub | ||
| 1501 | lic/amsfonts/cm/cmssi8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/am | ||
| 1502 | sfonts/cm/cmssi9.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts | ||
| 1503 | /cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cm | ||
| 1504 | sy8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy9.pfb | ||
| 1505 | ></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></usr | ||
| 1506 | /share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt8.pfb> | ||
| 1507 | Output written on X1-ComputationalComplexity.pdf (44 pages, 1769406 bytes). | ||
| 1508 | PDF statistics: | ||
| 1509 | 1306 PDF objects out of 1440 (max. 8388607) | ||
| 1510 | 1204 compressed objects within 13 object streams | ||
| 1511 | 89 named destinations out of 1000 (max. 500000) | ||
| 1512 | 121 words of extra memory for PDF output out of 10000 (max. 10000000) | ||
| 1513 | |||
diff --git a/src/Lecture7/slides/X1-ComputationalComplexity.nav b/src/Lecture7/slides/X1-ComputationalComplexity.nav new file mode 100644 index 0000000..d21fe16 --- /dev/null +++ b/src/Lecture7/slides/X1-ComputationalComplexity.nav | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | \headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} | ||
| 2 | \headcommand {\beamer@framepages {1}{1}} | ||
| 3 | \headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} | ||
| 4 | \headcommand {\beamer@framepages {2}{2}} | ||
| 5 | \headcommand {\slideentry {0}{0}{3}{3/3}{}{0}} | ||
| 6 | \headcommand {\beamer@framepages {3}{3}} | ||
| 7 | \headcommand {\slideentry {0}{0}{4}{4/4}{}{0}} | ||
| 8 | \headcommand {\beamer@framepages {4}{4}} | ||
| 9 | \headcommand {\slideentry {0}{0}{5}{5/5}{}{0}} | ||
| 10 | \headcommand {\beamer@framepages {5}{5}} | ||
| 11 | \headcommand {\slideentry {0}{0}{6}{6/6}{}{0}} | ||
| 12 | \headcommand {\beamer@framepages {6}{6}} | ||
| 13 | \headcommand {\slideentry {0}{0}{7}{7/7}{}{0}} | ||
| 14 | \headcommand {\beamer@framepages {7}{7}} | ||
| 15 | \headcommand {\slideentry {0}{0}{8}{8/8}{}{0}} | ||
| 16 | \headcommand {\beamer@framepages {8}{8}} | ||
| 17 | \headcommand {\slideentry {0}{0}{9}{9/9}{}{0}} | ||
| 18 | \headcommand {\beamer@framepages {9}{9}} | ||
| 19 | \headcommand {\slideentry {0}{0}{10}{10/10}{}{0}} | ||
| 20 | \headcommand {\beamer@framepages {10}{10}} | ||
| 21 | \headcommand {\slideentry {0}{0}{11}{11/11}{}{0}} | ||
| 22 | \headcommand {\beamer@framepages {11}{11}} | ||
| 23 | \headcommand {\slideentry {0}{0}{12}{12/12}{}{0}} | ||
| 24 | \headcommand {\beamer@framepages {12}{12}} | ||
| 25 | \headcommand {\slideentry {0}{0}{13}{13/13}{}{0}} | ||
| 26 | \headcommand {\beamer@framepages {13}{13}} | ||
| 27 | \headcommand {\slideentry {0}{0}{14}{14/14}{}{0}} | ||
| 28 | \headcommand {\beamer@framepages {14}{14}} | ||
| 29 | \headcommand {\slideentry {0}{0}{15}{15/15}{}{0}} | ||
| 30 | \headcommand {\beamer@framepages {15}{15}} | ||
| 31 | \headcommand {\slideentry {0}{0}{16}{16/16}{}{0}} | ||
| 32 | \headcommand {\beamer@framepages {16}{16}} | ||
| 33 | \headcommand {\slideentry {0}{0}{17}{17/17}{}{0}} | ||
| 34 | \headcommand {\beamer@framepages {17}{17}} | ||
| 35 | \headcommand {\slideentry {0}{0}{18}{18/18}{}{0}} | ||
| 36 | \headcommand {\beamer@framepages {18}{18}} | ||
| 37 | \headcommand {\slideentry {0}{0}{19}{19/19}{}{0}} | ||
| 38 | \headcommand {\beamer@framepages {19}{19}} | ||
| 39 | \headcommand {\slideentry {0}{0}{20}{20/20}{}{0}} | ||
| 40 | \headcommand {\beamer@framepages {20}{20}} | ||
| 41 | \headcommand {\slideentry {0}{0}{21}{21/21}{}{0}} | ||
| 42 | \headcommand {\beamer@framepages {21}{21}} | ||
| 43 | \headcommand {\slideentry {0}{0}{22}{22/22}{}{0}} | ||
| 44 | \headcommand {\beamer@framepages {22}{22}} | ||
| 45 | \headcommand {\slideentry {0}{0}{23}{23/26}{}{0}} | ||
| 46 | \headcommand {\beamer@framepages {23}{26}} | ||
| 47 | \headcommand {\slideentry {0}{0}{24}{27/30}{}{0}} | ||
| 48 | \headcommand {\beamer@framepages {27}{30}} | ||
| 49 | \headcommand {\slideentry {0}{0}{25}{31/31}{}{0}} | ||
| 50 | \headcommand {\beamer@framepages {31}{31}} | ||
| 51 | \headcommand {\slideentry {0}{0}{26}{32/32}{}{0}} | ||
| 52 | \headcommand {\beamer@framepages {32}{32}} | ||
| 53 | \headcommand {\slideentry {0}{0}{27}{33/33}{}{0}} | ||
| 54 | \headcommand {\beamer@framepages {33}{33}} | ||
| 55 | \headcommand {\slideentry {0}{0}{28}{34/34}{}{0}} | ||
| 56 | \headcommand {\beamer@framepages {34}{34}} | ||
| 57 | \headcommand {\slideentry {0}{0}{29}{35/35}{}{0}} | ||
| 58 | \headcommand {\beamer@framepages {35}{35}} | ||
| 59 | \headcommand {\slideentry {0}{0}{30}{36/36}{}{0}} | ||
| 60 | \headcommand {\beamer@framepages {36}{36}} | ||
| 61 | \headcommand {\slideentry {0}{0}{31}{37/37}{}{0}} | ||
| 62 | \headcommand {\beamer@framepages {37}{37}} | ||
| 63 | \headcommand {\slideentry {0}{0}{32}{38/38}{}{0}} | ||
| 64 | \headcommand {\beamer@framepages {38}{38}} | ||
| 65 | \headcommand {\slideentry {0}{0}{33}{39/39}{}{0}} | ||
| 66 | \headcommand {\beamer@framepages {39}{39}} | ||
| 67 | \headcommand {\slideentry {0}{0}{34}{40/40}{}{0}} | ||
| 68 | \headcommand {\beamer@framepages {40}{40}} | ||
| 69 | \headcommand {\slideentry {0}{0}{35}{41/41}{}{0}} | ||
| 70 | \headcommand {\beamer@framepages {41}{41}} | ||
| 71 | \headcommand {\slideentry {0}{0}{36}{42/42}{}{0}} | ||
| 72 | \headcommand {\beamer@framepages {42}{42}} | ||
| 73 | \headcommand {\slideentry {0}{0}{37}{43/43}{}{0}} | ||
| 74 | \headcommand {\beamer@framepages {43}{43}} | ||
| 75 | \headcommand {\slideentry {0}{0}{38}{44/44}{}{0}} | ||
| 76 | \headcommand {\beamer@framepages {44}{44}} | ||
| 77 | \headcommand {\beamer@partpages {1}{44}} | ||
| 78 | \headcommand {\beamer@subsectionpages {1}{44}} | ||
| 79 | \headcommand {\beamer@sectionpages {1}{44}} | ||
| 80 | \headcommand {\beamer@documentpages {44}} | ||
| 81 | \headcommand {\gdef \inserttotalframenumber {38}} | ||
diff --git a/src/Lecture7/slides/X1-ComputationalComplexity.out b/src/Lecture7/slides/X1-ComputationalComplexity.out new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Lecture7/slides/X1-ComputationalComplexity.out | |||
diff --git a/src/Lecture7/slides/X1-ComputationalComplexity.pdf b/src/Lecture7/slides/X1-ComputationalComplexity.pdf new file mode 100644 index 0000000..fe67ff6 --- /dev/null +++ b/src/Lecture7/slides/X1-ComputationalComplexity.pdf | |||
| Binary files differ | |||
diff --git a/src/Lecture7/slides/X1-ComputationalComplexity.snm b/src/Lecture7/slides/X1-ComputationalComplexity.snm new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Lecture7/slides/X1-ComputationalComplexity.snm | |||
diff --git a/src/Lecture7/slides/X1-ComputationalComplexity.tex b/src/Lecture7/slides/X1-ComputationalComplexity.tex new file mode 100644 index 0000000..c7e1602 --- /dev/null +++ b/src/Lecture7/slides/X1-ComputationalComplexity.tex | |||
| @@ -0,0 +1,608 @@ | |||
| 1 | \documentclass[11pt]{beamer} | ||
| 2 | \usetheme{Madrid} | ||
| 3 | \usepackage[utf8]{inputenc} | ||
| 4 | \usepackage{amsmath} | ||
| 5 | |||
| 6 | \usepackage{color} | ||
| 7 | \usepackage{listings} | ||
| 8 | \usepackage{mathtools} | ||
| 9 | \usepackage{tikz-cd} | ||
| 10 | \usepackage{adjustbox} | ||
| 11 | |||
| 12 | \definecolor{myblue}{rgb}{0,0,0.5} | ||
| 13 | \lstset{ | ||
| 14 | language=Python, | ||
| 15 | tabsize=4, | ||
| 16 | basicstyle=\footnotesize, | ||
| 17 | keywordstyle=\bf\color{myblue}, | ||
| 18 | commentstyle=\it\color{gray}, | ||
| 19 | numbers=left, | ||
| 20 | numbersep=3pt, | ||
| 21 | numberstyle=\tiny\color{gray}, | ||
| 22 | } | ||
| 23 | |||
| 24 | \author[\texttt{sebastiano.tronto@uni.lu}]{Sebastiano Tronto} | ||
| 25 | \title[Computational Complexity]% | ||
| 26 | {Why is my code slow?} | ||
| 27 | \logo{\includegraphics[scale=0.1]{img/unilu.jpg}} | ||
| 28 | %\institute{University of Luxembourg} | ||
| 29 | |||
| 30 | \date{2021-05-21} | ||
| 31 | |||
| 32 | \begin{document} | ||
| 33 | |||
| 34 | \begin{frame} | ||
| 35 | \titlepage | ||
| 36 | \end{frame} | ||
| 37 | |||
| 38 | \begin{frame}{Computational Complexity} | ||
| 39 | \begin{itemize} | ||
| 40 | \item \textbf{Goal:} | ||
| 41 | estimate the running {\color{blue}time} of a program | ||
| 42 | \item \textbf{How:} | ||
| 43 | count the {\color{blue}basic steps} that an | ||
| 44 | {\color{blue}algorithm} takes to complete | ||
| 45 | \item \textbf{Why}: | ||
| 46 | find the \emph{bottleneck} of your program, make it faster | ||
| 47 | \end{itemize} | ||
| 48 | |||
| 49 | \vspace{0.5cm} | ||
| 50 | Our analysis should not depend on the hardware | ||
| 51 | \end{frame} | ||
| 52 | |||
| 53 | \begin{frame}{Algorithm} | ||
| 54 | \begin{definition} | ||
| 55 | \emph{An algorithm is a sequence of {\color{blue}steps} needed to | ||
| 56 | solve a {\color{blue}class of problems}. } | ||
| 57 | \end{definition} | ||
| 58 | |||
| 59 | \begin{definition}[alternative] | ||
| 60 | \emph{An algorithm is a sequence of steps that takes | ||
| 61 | an input satisfying certain conditions and produces an output | ||
| 62 | satisfying other conditions.} | ||
| 63 | \end{definition} | ||
| 64 | \end{frame} | ||
| 65 | |||
| 66 | \begin{frame}{Sorting a list} | ||
| 67 | \begin{block}{Class of problems} | ||
| 68 | Sort a list $L$ of numbers in increasing order. | ||
| 69 | \end{block} | ||
| 70 | |||
| 71 | \begin{block}{Algorithm} | ||
| 72 | \begin{enumerate} | ||
| 73 | \item Let $S$ be an empty list. | ||
| 74 | \item Take an element from $L$ an insert it in $S$ in its correct | ||
| 75 | position. | ||
| 76 | \item Repeat step $2$ until $L$ is empty. | ||
| 77 | \item Return $S$. | ||
| 78 | \end{enumerate} | ||
| 79 | \end{block} | ||
| 80 | \end{frame} | ||
| 81 | |||
| 82 | \begin{frame}{Sorting a list} | ||
| 83 | \begin{itemize} | ||
| 84 | \item It solves a \emph{class} of problems: works for any list | ||
| 85 | \item The specific steps to sort the list $[3,7,1]$ are not an algorithm | ||
| 86 | \item Input conditions: must be a list of numbers | ||
| 87 | \item Output conditions: same numbers in increasing order | ||
| 88 | \end{itemize} | ||
| 89 | \end{frame} | ||
| 90 | |||
| 91 | \begin{frame}{How to write an algorithm} | ||
| 92 | \begin{itemize} | ||
| 93 | \item \textbf{Human language}: | ||
| 94 | \begin{itemize} | ||
| 95 | \item Easy to understand | ||
| 96 | \item Not precise | ||
| 97 | \end{itemize} | ||
| 98 | |||
| 99 | \vspace{0.3cm} | ||
| 100 | \item \textbf{Computer code}: | ||
| 101 | \begin{itemize} | ||
| 102 | \item Can be executed by computers | ||
| 103 | \item Precise | ||
| 104 | \item From very low level (machine code) to high level | ||
| 105 | (Python, \dots) | ||
| 106 | \end{itemize} | ||
| 107 | \end{itemize} | ||
| 108 | |||
| 109 | %\vspace{0.5cm} | ||
| 110 | %To what \emph{level of detail}? | ||
| 111 | \end{frame} | ||
| 112 | |||
| 113 | \begin{frame}{Basic steps} | ||
| 114 | \begin{itemize} | ||
| 115 | %\item Strictly speaking, only CPU instructions are \emph{basic} | ||
| 116 | %\item In practice:%, we consider basic: | ||
| 117 | % \begin{itemize} | ||
| 118 | \item Arithmetic operations $+,-,*,//,\%$ | ||
| 119 | \item Relational operations $==, !=, >, <,\dots$ | ||
| 120 | \item Memory access (read/write variable) | ||
| 121 | % \end{itemize} | ||
| 122 | \end{itemize} | ||
| 123 | |||
| 124 | \vspace{0.5cm} | ||
| 125 | \textbf{Warning:} | ||
| 126 | Depends on data type (integer, floating point, string,\dots) | ||
| 127 | %\begin{itemize} | ||
| 128 | % \item Depends on data type (integer, floating point, string,\dots) | ||
| 129 | % \item There are non-basic instructions such as \texttt{sort()} | ||
| 130 | %\end{itemize} | ||
| 131 | \end{frame} | ||
| 132 | |||
| 133 | \begin{frame}{Running time} | ||
| 134 | \begin{itemize} | ||
| 135 | \item Depends on computer power, programming language, compiler\dots | ||
| 136 | %\item Not all basic steps are equal | ||
| 137 | \item ``Big O'' notation: an algorithm runs in time $O(f(n))$ if, when | ||
| 138 | run with input of size $n$, it takes about $c\cdot f(n)$ steps | ||
| 139 | \item Algorithm A is \emph{asymptotically faster} than algorithm B if | ||
| 140 | it is faster \textbf{for $n$ large enough} | ||
| 141 | \item Rule of thumb: $10^7\sim10^9$ basic steps per second | ||
| 142 | \end{itemize} | ||
| 143 | \end{frame} | ||
| 144 | |||
| 145 | \begin{frame}{Asymptotical analysis vs constant factors} | ||
| 146 | \includegraphics[scale=0.7]{img/plot1.png} | ||
| 147 | \end{frame} | ||
| 148 | |||
| 149 | \begin{frame}{Asymptotical analysis vs constant factors} | ||
| 150 | \includegraphics[scale=0.7]{img/plot2.png} | ||
| 151 | \end{frame} | ||
| 152 | |||
| 153 | \begin{frame}{Asymptotical analysis vs constant factors} | ||
| 154 | \includegraphics[scale=0.7]{img/plot3.png} | ||
| 155 | \end{frame} | ||
| 156 | |||
| 157 | \begin{frame}{Asymptotical analysis vs constant factors} | ||
| 158 | \includegraphics[scale=0.7]{img/plot4.png} | ||
| 159 | \end{frame} | ||
| 160 | |||
| 161 | \begin{frame}{Asymptotical analysis vs constant factors} | ||
| 162 | \includegraphics[scale=0.7]{img/plot5.png} | ||
| 163 | \end{frame} | ||
| 164 | |||
| 165 | %\begin{frame}{title} | ||
| 166 | %graphs here, uncomment | ||
| 167 | %\end{frame} | ||
| 168 | |||
| 169 | \begin{frame}{Basic complexity analysis} | ||
| 170 | |||
| 171 | Easy things to do: | ||
| 172 | |||
| 173 | \vspace{0.3cm} | ||
| 174 | \begin{itemize} | ||
| 175 | \item Check documentation for ``non-basic steps'' | ||
| 176 | \begin{itemize} | ||
| 177 | \item Example: check Sage's \href{https://doc.sagemath.org/html/en/reference/rings\_standard/sage/rings/integer.html\#sage.rings.integer.Integer.is\_prime}{\texttt{is\_prime()}} (redirects to PARI \href{https://pari.math.u-bordeaux.fr/dochtml/html/Arithmetic\_functions.html\#se:isprime}{\texttt{isprime()}}) | ||
| 178 | \end{itemize} | ||
| 179 | |||
| 180 | \vspace{0.3cm} | ||
| 181 | \item Count nested loops | ||
| 182 | \begin{itemize} | ||
| 183 | \item How many times is a step repeated? | ||
| 184 | \end{itemize} | ||
| 185 | \end{itemize} | ||
| 186 | \end{frame} | ||
| 187 | |||
| 188 | {\setbeamertemplate{logo}{} | ||
| 189 | \begin{frame}[fragile]{Nested loops - matrix sum and product} | ||
| 190 | \begin{lstlisting} | ||
| 191 | def add(A, B): | ||
| 192 | n = len(A) | ||
| 193 | S = [[0] * n for i in range(n)] | ||
| 194 | for i in range(0, n): | ||
| 195 | for j in range(0, n): | ||
| 196 | S[i][j] = A[i][j] + B[i][j] | ||
| 197 | return S | ||
| 198 | \end{lstlisting} | ||
| 199 | |||
| 200 | \vspace{0.5cm} | ||
| 201 | \begin{lstlisting} | ||
| 202 | def prod(A, B): | ||
| 203 | n = len(A) | ||
| 204 | S = [[0] * n for i in range(n)] | ||
| 205 | for i in range(0, n): | ||
| 206 | for j in range(0, n): | ||
| 207 | for k in range(0, n): | ||
| 208 | S[i][j] = S[i][j] + A[i][k]*B[k][j] | ||
| 209 | return S | ||
| 210 | \end{lstlisting} | ||
| 211 | \end{frame} | ||
| 212 | } | ||
| 213 | |||
| 214 | \begin{frame}{Nested loops - matrix sum and product} | ||
| 215 | \begin{itemize} | ||
| 216 | \item \texttt{add} is $O(n^2)$ (two loops) | ||
| 217 | \item \texttt{prod} is $O(n^3)$ (three loops) | ||
| 218 | \end{itemize} | ||
| 219 | |||
| 220 | \vspace{0.3cm} | ||
| 221 | \textbf{Fun fact:} there are faster algorithms for matrix multiplication, | ||
| 222 | for example \href{https://en.wikipedia.org/wiki/Strassen_algorithm}% | ||
| 223 | {Strassen's algorithm}. | ||
| 224 | \end{frame} | ||
| 225 | |||
| 226 | \begin{frame}[fragile]{Sorting a list} | ||
| 227 | \begin{lstlisting} | ||
| 228 | def correct_position(e, S): | ||
| 229 | for i in range(0, len(S)): | ||
| 230 | if S[i] > e: | ||
| 231 | return i | ||
| 232 | return len(S) | ||
| 233 | |||
| 234 | def sort_list(L): | ||
| 235 | S = [] | ||
| 236 | for e in L: | ||
| 237 | cp = correct_position(e, S) | ||
| 238 | S.insert(cp, e) | ||
| 239 | return S | ||
| 240 | \end{lstlisting} | ||
| 241 | \end{frame} | ||
| 242 | |||
| 243 | \begin{frame}{Sorting a list} | ||
| 244 | \begin{itemize} | ||
| 245 | \item Complexity of \texttt{correct\_position()}: | ||
| 246 | \begin{itemize} | ||
| 247 | %\item best case $O(1)$ | ||
| 248 | \item worst case $O($\texttt{len(S)}$)$ | ||
| 249 | \item average $O($\texttt{len(S)}$)$ | ||
| 250 | \end{itemize} | ||
| 251 | |||
| 252 | \vspace{0.3cm} | ||
| 253 | \item Complexity of \texttt{sort\_list} (here $n=$\texttt{len(L)}): | ||
| 254 | \begin{align*} | ||
| 255 | %\sum_{i=0}^{n-1} O(1) = O(n) && \text{best case}\\ | ||
| 256 | \sum_{i=0}^{n-1} O(i) = O(n^2)% && \text{average/worst} | ||
| 257 | \end{align*} | ||
| 258 | (it calls \texttt{correct\_position()} $n$ times). | ||
| 259 | \end{itemize} | ||
| 260 | \end{frame} | ||
| 261 | |||
| 262 | \begin{frame}{Sorting a list} | ||
| 263 | \begin{itemize} | ||
| 264 | \item For which lists does the ``best case'' happen? | ||
| 265 | \item For which lists does the ``worst case'' happen? | ||
| 266 | \item How large can $n$ be for \texttt{sort\_list()} to run | ||
| 267 | in under a second? | ||
| 268 | \end{itemize} | ||
| 269 | \end{frame} | ||
| 270 | |||
| 271 | \begin{frame}{Sorting a list} | ||
| 272 | How to improve our code? | ||
| 273 | \begin{itemize} | ||
| 274 | \item Improve \texttt{correct\_position()} | ||
| 275 | \item Take advantage of the fact that $S$ is always sorted | ||
| 276 | \end{itemize} | ||
| 277 | \end{frame} | ||
| 278 | |||
| 279 | \begin{frame}{Binary search} | ||
| 280 | \begin{block}{Algorithm} | ||
| 281 | \textbf{Input:} a \emph{sorted} list $S$ and a value $e$. | ||
| 282 | \begin{enumerate} | ||
| 283 | \item If the list is empty, you have found the position of $e$ | ||
| 284 | \item Otherwise, compare $e$ to the middle element $m$ of $S$ | ||
| 285 | \begin{itemize} | ||
| 286 | \item If $e<m$, repeat from (1) on the first half of $S$ | ||
| 287 | \item Otherwise, repeat from (1) on the second half of $S$ | ||
| 288 | \end{itemize} | ||
| 289 | \end{enumerate} | ||
| 290 | \end{block} | ||
| 291 | \end{frame} | ||
| 292 | |||
| 293 | \begin{frame}[fragile]{Binary search} | ||
| 294 | \begin{lstlisting} | ||
| 295 | # Return position of e in L | ||
| 296 | def binary_search(e, S, start, end): | ||
| 297 | if start == end: | ||
| 298 | return start | ||
| 299 | midpoint = (end+start)//2 | ||
| 300 | if e < S[midpoint]: | ||
| 301 | return binary_search(e, S, start, midpoint) | ||
| 302 | else: | ||
| 303 | return binary_search(e, S, midpoint+1, end) | ||
| 304 | \end{lstlisting} | ||
| 305 | \end{frame} | ||
| 306 | |||
| 307 | \begin{frame}{Binary search - example 1} | ||
| 308 | Searching for \texttt{e}$=2$: | ||
| 309 | \begin{align*} | ||
| 310 | \only<1>{ | ||
| 311 | \underbrace{ | ||
| 312 | \overset{{\color{blue} | ||
| 313 | \substack{\mathclap{\texttt{start}=0}\\\downarrow}}}{-2} | ||
| 314 | \quad 0\quad 1\quad 3\quad | ||
| 315 | \overset{\substack{\mathclap{\texttt{midpoint}=4}\\\downarrow}}{5} | ||
| 316 | \quad 6\quad 7\quad 9\quad 12 | ||
| 317 | }\quad | ||
| 318 | \overset{{\color{red} | ||
| 319 | \substack{\mathclap{\texttt{end}=9}\\\downarrow}}}{\phantom{0}} | ||
| 320 | } | ||
| 321 | \only<2>{ | ||
| 322 | \underbrace{ | ||
| 323 | \overset{{\color{blue} | ||
| 324 | \substack{\mathclap{\texttt{start}=0}\\\downarrow}}}{-2} | ||
| 325 | \quad 0\quad | ||
| 326 | \overset{\substack{\mathclap{\texttt{midpoint}=2}\\\\\downarrow}}% | ||
| 327 | {1} | ||
| 328 | \quad 3 | ||
| 329 | }\quad | ||
| 330 | \overset{{\color{red} | ||
| 331 | \substack{\mathclap{\texttt{end}=4}\\\downarrow}}}{5} | ||
| 332 | \quad 6\quad 7\quad 9\quad 12\quad \phantom{0} | ||
| 333 | } | ||
| 334 | \only<3>{ | ||
| 335 | -2\quad 0\quad 1\quad | ||
| 336 | \underbrace{ | ||
| 337 | \overset{ | ||
| 338 | \substack{ | ||
| 339 | \mathclap{ | ||
| 340 | {\color{blue}\texttt{start}}=\texttt{midpoint}=3}\\\\ | ||
| 341 | {\color{blue}\downarrow} | ||
| 342 | } | ||
| 343 | }{3} | ||
| 344 | } \quad | ||
| 345 | \overset{{\color{red} | ||
| 346 | \substack{\mathclap{\texttt{end}=4}\\\downarrow}}}{5} | ||
| 347 | \quad 6\quad 7\quad 9\quad 12\quad \phantom{0} | ||
| 348 | } | ||
| 349 | \only<4>{ | ||
| 350 | -2\quad 0\quad 1\quad | ||
| 351 | \overset{ | ||
| 352 | \substack{ | ||
| 353 | \mathclap{ | ||
| 354 | {\color{blue}\texttt{start}}= | ||
| 355 | {\color{red}\texttt{end}}=3}\\\downarrow}}{3} | ||
| 356 | \quad 5 \quad 6\quad 7\quad 9\quad 12\quad \phantom{0} | ||
| 357 | } | ||
| 358 | \end{align*} | ||
| 359 | \only<1>{{\color{blue}$e<5$}$\implies$ check left half} | ||
| 360 | \only<2>{{\color{red}$e>1$}$\implies$ check right half} | ||
| 361 | \only<3>{{\color{blue}$e<3$}$\implies$ check left half} | ||
| 362 | \only<4>{\texttt{start}=\texttt{end}, done} | ||
| 363 | \end{frame} | ||
| 364 | |||
| 365 | \begin{frame}{Binary search - example 2} | ||
| 366 | Searching for \texttt{e}$=11$: | ||
| 367 | \begin{align*} | ||
| 368 | \only<1>{ | ||
| 369 | \underbrace{ | ||
| 370 | \overset{{\color{blue} | ||
| 371 | \substack{\mathclap{\texttt{start}=0}\\\downarrow}}}{-2} | ||
| 372 | \quad 0\quad 1\quad 3\quad | ||
| 373 | \overset{\substack{\mathclap{\texttt{midpoint}=4}\\\downarrow}}{5} | ||
| 374 | \quad 6\quad 7\quad 9\quad 12 | ||
| 375 | }\quad | ||
| 376 | \overset{{\color{red} | ||
| 377 | \substack{\mathclap{\texttt{end}=9}\\\downarrow}}}{\phantom{0}} | ||
| 378 | } | ||
| 379 | \only<2>{ | ||
| 380 | -2 \quad 0\quad 1 \quad 3 \quad 5 \quad | ||
| 381 | \underbrace{ | ||
| 382 | \overset{{\color{blue} | ||
| 383 | \substack{\mathclap{\texttt{start}=5}\\\downarrow}}}{6} | ||
| 384 | \quad 7 \quad | ||
| 385 | \overset{\substack{\mathclap{\texttt{midpoint}=7}\\\\\downarrow}}% | ||
| 386 | {9} | ||
| 387 | \quad 12 | ||
| 388 | }\quad | ||
| 389 | \overset{{\color{red} | ||
| 390 | \substack{\mathclap{\texttt{end}=9}\\\downarrow}}}{\phantom{0}} | ||
| 391 | } | ||
| 392 | \only<3>{ | ||
| 393 | -2\quad 0\quad 1\quad 3\quad 5\quad 6\quad 7\quad 9\quad | ||
| 394 | \underbrace{ | ||
| 395 | \overset{ | ||
| 396 | \substack{ | ||
| 397 | \mathclap{ | ||
| 398 | {\color{blue}\texttt{start}}=\texttt{midpoint}=8}\\\\ | ||
| 399 | {\color{blue}\downarrow} | ||
| 400 | } | ||
| 401 | }{12} | ||
| 402 | } \quad | ||
| 403 | \overset{{\color{red} | ||
| 404 | \substack{\mathclap{\texttt{end}=9}\\\downarrow}}}{\phantom{0}} | ||
| 405 | } | ||
| 406 | \only<4>{ | ||
| 407 | -2\quad 0\quad 1\quad 3\quad 5\quad 6\quad 7\quad 9\quad | ||
| 408 | \overset{ | ||
| 409 | \substack{ | ||
| 410 | \mathclap{ | ||
| 411 | {\color{blue}\texttt{start}}= | ||
| 412 | {\color{red}\texttt{end}}=8}\\\downarrow}}{12} | ||
| 413 | } | ||
| 414 | \end{align*} | ||
| 415 | \only<1>{{\color{red}$e>5$}$\implies$ check right half} | ||
| 416 | \only<2>{{\color{red}$e>9$}$\implies$ check right half} | ||
| 417 | \only<3>{{\color{blue}$e<11$}$\implies$ check left half} | ||
| 418 | \only<4>{\texttt{start}=\texttt{end}, done} | ||
| 419 | \end{frame} | ||
| 420 | |||
| 421 | \begin{frame}{Binary search} | ||
| 422 | \begin{itemize} | ||
| 423 | \item Works only if the list is sorted | ||
| 424 | \item Complexity $O(\log_2(n))$: at every step we cut the list in half | ||
| 425 | \item Recursive, \emph{divide et impera} | ||
| 426 | \end{itemize} | ||
| 427 | \end{frame} | ||
| 428 | |||
| 429 | \begin{frame}[fragile]{Sorting a list - binary search version} | ||
| 430 | \begin{lstlisting} | ||
| 431 | def sort_list(L): | ||
| 432 | S = [] | ||
| 433 | for e in L: | ||
| 434 | cp = binary_search(e, S, 0, len(S)) # This changed | ||
| 435 | S.insert(cp, e) | ||
| 436 | return S | ||
| 437 | \end{lstlisting} | ||
| 438 | \vspace{0.3cm} | ||
| 439 | \begin{itemize} | ||
| 440 | \item Complexity: \[\sum_{i=0}^{n-1} O(\log_2(i)) = O(n\log_2(n))\]\\ | ||
| 441 | (it calls \texttt{binary\_search} $n$ times). | ||
| 442 | \end{itemize} | ||
| 443 | \end{frame} | ||
| 444 | |||
| 445 | \begin{frame}{Fast exponentiation} | ||
| 446 | \begin{block}{Algorithm / formula} | ||
| 447 | \begin{align*} | ||
| 448 | a^n= | ||
| 449 | \begin{cases} | ||
| 450 | 1 & \text{if }n=0,\\ | ||
| 451 | (a\cdot a)^{\frac n2} & \text{if $n$ is even},\\ | ||
| 452 | a\cdot a^{n-1} & \text{if $n$ is odd.} | ||
| 453 | \end{cases} | ||
| 454 | \end{align*} | ||
| 455 | \end{block} | ||
| 456 | \end{frame} | ||
| 457 | |||
| 458 | \begin{frame}[fragile]{Fast exponentiation} | ||
| 459 | \begin{lstlisting} | ||
| 460 | # Compute a^n (n>=0 integer) | ||
| 461 | def power(a, n): | ||
| 462 | if n == 0: | ||
| 463 | return 1 | ||
| 464 | if n % 2 == 0: # n is even | ||
| 465 | return power(a*a, n//2) | ||
| 466 | else: # n is odd | ||
| 467 | return a*power(a, n-1) | ||
| 468 | \end{lstlisting} | ||
| 469 | \end{frame} | ||
| 470 | |||
| 471 | \begin{frame}{Fast exponentiation} | ||
| 472 | |||
| 473 | \begin{itemize} | ||
| 474 | \item Complexity: $O(\log_2(n))$ (after $2$ steps, $n$ is halved) | ||
| 475 | \item Python's operator $**$ does something similar | ||
| 476 | \item Naive algorithm (one loop): $O(n)$ | ||
| 477 | \end{itemize} | ||
| 478 | \end{frame} | ||
| 479 | |||
| 480 | |||
| 481 | \begin{frame}[fragile]{Fast $\gcd$} | ||
| 482 | \begin{block}{Algorithm / formula} | ||
| 483 | \begin{align*} | ||
| 484 | \gcd(a,b) = | ||
| 485 | \begin{cases} | ||
| 486 | a & \text{if }b=0,\\ | ||
| 487 | \gcd(b,a\bmod b) & \text{otherwise.} | ||
| 488 | \end{cases} | ||
| 489 | \end{align*} | ||
| 490 | \end{block} | ||
| 491 | |||
| 492 | \begin{columns} | ||
| 493 | \column{0.5\textwidth} | ||
| 494 | \begin{lstlisting} | ||
| 495 | def gcd(a, b): | ||
| 496 | if b == 0: | ||
| 497 | return a | ||
| 498 | else: | ||
| 499 | return gcd(b, a%b) | ||
| 500 | \end{lstlisting} | ||
| 501 | |||
| 502 | \column{0.5\textwidth} | ||
| 503 | \begin{itemize} | ||
| 504 | \item After $2$ steps, $a$ is halved $\implies$ complexity $O(\log_2(a))$ | ||
| 505 | \end{itemize} | ||
| 506 | \end{columns} | ||
| 507 | \end{frame} | ||
| 508 | |||
| 509 | \begin{frame}{Recursion} | ||
| 510 | \begin{itemize} | ||
| 511 | \item These examples use \emph{recursion} | ||
| 512 | (a function that calls itself) | ||
| 513 | \item If it calls itself more than once, it is slow | ||
| 514 | (\emph{exponential} complexity!) | ||
| 515 | \end{itemize} | ||
| 516 | \end{frame} | ||
| 517 | |||
| 518 | \begin{frame}[fragile]{Fibonacci numbers} | ||
| 519 | |||
| 520 | \begin{block}{Algorithm / formula} | ||
| 521 | \begin{align*} | ||
| 522 | F(n) = | ||
| 523 | \begin{cases} | ||
| 524 | n & \text{if }n\leq1,\\ | ||
| 525 | F(n-1)+F(n-2) & \text{otherwise.} | ||
| 526 | \end{cases} | ||
| 527 | \end{align*} | ||
| 528 | \end{block} | ||
| 529 | |||
| 530 | \vspace{0.5cm} | ||
| 531 | \begin{lstlisting} | ||
| 532 | def F(n): | ||
| 533 | if n <= 1: | ||
| 534 | return n | ||
| 535 | else: | ||
| 536 | return F(n-1) + F(n-2) | ||
| 537 | \end{lstlisting} | ||
| 538 | \end{frame} | ||
| 539 | |||
| 540 | \begin{frame}[fragile]{Fibonacci} | ||
| 541 | \begin{adjustbox}{scale={0.85}{0.9},center} | ||
| 542 | \begin{tikzcd}[column sep=1mm] | ||
| 543 | & & & & & & & & F(5) \ar[drrr] \ar[dlll]\\ | ||
| 544 | & & & & & F(4)\ar[dll]\ar[dr] & & & & & & F(3) \ar[dl] \ar[dr]\\ | ||
| 545 | & & & F(3) \ar[dl]\ar[dr] & & & F(2) \ar[dr]\ar[dl] | ||
| 546 | & & & & F(2) \ar[dl]\ar[dr] & & F(1) \\ | ||
| 547 | & & F(2) \ar[dl]\ar[dr] & & F(1) & F(1) & & F(0) & & F(1) & & F(0)\\ | ||
| 548 | & F(1) & & F(0) | ||
| 549 | \end{tikzcd} | ||
| 550 | \end{adjustbox} | ||
| 551 | \end{frame} | ||
| 552 | |||
| 553 | \begin{frame}{Fibonacci} | ||
| 554 | \begin{itemize} | ||
| 555 | \item Complexity: almost $O(2^n)$ (actually $O(\varphi^n)$ | ||
| 556 | with $\varphi=\frac{1+\sqrt 5}{2}\sim 1.6$) | ||
| 557 | \item But some values are computed many times! | ||
| 558 | \item Optimization: memorize previously computed values | ||
| 559 | \end{itemize} | ||
| 560 | \end{frame} | ||
| 561 | |||
| 562 | \begin{frame}[fragile]{Fibonacci with memorization} | ||
| 563 | \begin{lstlisting} | ||
| 564 | # List with memorized values, N is the largest possible | ||
| 565 | N = 10**6 | ||
| 566 | F_memorized = [-1] * N | ||
| 567 | |||
| 568 | def F(n): | ||
| 569 | if F_memorized[n] == -1: | ||
| 570 | if n <= 1: | ||
| 571 | F_memorized[n] = n | ||
| 572 | else: | ||
| 573 | F_memorized[n] = F(n-1) + F(n-2) | ||
| 574 | |||
| 575 | return F_memorized[n] | ||
| 576 | \end{lstlisting} | ||
| 577 | \end{frame} | ||
| 578 | |||
| 579 | \begin{frame}[fragile]{Fibonacci with memorization} | ||
| 580 | \begin{adjustbox}{scale={0.85}{0.9},center} | ||
| 581 | \begin{tikzcd}[column sep=1mm] | ||
| 582 | & & & & & & & & F(5) \ar[drrr] \ar[dlll]\\ | ||
| 583 | & & & & & F(4)\ar[dll]\ar[dr] & & & & & & {\color{blue}F(3)}\\ | ||
| 584 | & & & F(3) \ar[dl]\ar[dr] & & & {\color{blue}F(2)}\\ | ||
| 585 | & & F(2) \ar[dl]\ar[dr] & & {\color{blue}F(1)} \\ | ||
| 586 | & F(1) & & F(0) | ||
| 587 | \end{tikzcd} | ||
| 588 | \end{adjustbox} | ||
| 589 | \end{frame} | ||
| 590 | |||
| 591 | \begin{frame}{Fibonacci with memorization} | ||
| 592 | \begin{itemize} | ||
| 593 | \item Complexity: $O(n)$, huge improvement! | ||
| 594 | \item Further improvement (but still $O(n)$): dynamic programming | ||
| 595 | \item Pay attention to memory usage | ||
| 596 | \end{itemize} | ||
| 597 | \end{frame} | ||
| 598 | |||
| 599 | \begin{frame}{References} | ||
| 600 | \begin{itemize} | ||
| 601 | \item Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and | ||
| 602 | Clifford Stein - | ||
| 603 | \href{https://en.wikipedia.org/wiki/Introduction\_to\_Algorithms}% | ||
| 604 | {\emph{Introductions to Algorithms}} | ||
| 605 | \end{itemize} | ||
| 606 | \end{frame} | ||
| 607 | |||
| 608 | \end{document} | ||
diff --git a/src/Lecture7/slides/X1-ComputationalComplexity.toc b/src/Lecture7/slides/X1-ComputationalComplexity.toc new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Lecture7/slides/X1-ComputationalComplexity.toc | |||
diff --git a/src/Lecture7/slides/X1-ComputationalComplexity.vrb b/src/Lecture7/slides/X1-ComputationalComplexity.vrb new file mode 100644 index 0000000..57dfae6 --- /dev/null +++ b/src/Lecture7/slides/X1-ComputationalComplexity.vrb | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | \frametitle{Fibonacci with memorization} | ||
| 2 | \begin{adjustbox}{scale={0.85}{0.9},center} | ||
| 3 | \begin{tikzcd}[column sep=1mm] | ||
| 4 | & & & & & & & & F(5) \ar[drrr] \ar[dlll]\\ | ||
| 5 | & & & & & F(4)\ar[dll]\ar[dr] & & & & & & {\color{blue}F(3)}\\ | ||
| 6 | & & & F(3) \ar[dl]\ar[dr] & & & {\color{blue}F(2)}\\ | ||
| 7 | & & F(2) \ar[dl]\ar[dr] & & {\color{blue}F(1)} \\ | ||
| 8 | & F(1) & & F(0) | ||
| 9 | \end{tikzcd} | ||
| 10 | \end{adjustbox} | ||
diff --git a/src/Lecture7/slides/X2-StudentsRequests.aux b/src/Lecture7/slides/X2-StudentsRequests.aux new file mode 100644 index 0000000..65a5da5 --- /dev/null +++ b/src/Lecture7/slides/X2-StudentsRequests.aux | |||
| @@ -0,0 +1,67 @@ | |||
| 1 | \relax | ||
| 2 | \providecommand\hyper@newdestlabel[2]{} | ||
| 3 | \providecommand{\transparent@use}[1]{} | ||
| 4 | \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} | ||
| 5 | \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined | ||
| 6 | \global\let\oldcontentsline\contentsline | ||
| 7 | \gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} | ||
| 8 | \global\let\oldnewlabel\newlabel | ||
| 9 | \gdef\newlabel#1#2{\newlabelxx{#1}#2} | ||
| 10 | \gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} | ||
| 11 | \AtEndDocument{\ifx\hyper@anchor\@undefined | ||
| 12 | \let\contentsline\oldcontentsline | ||
| 13 | \let\newlabel\oldnewlabel | ||
| 14 | \fi} | ||
| 15 | \fi} | ||
| 16 | \global\let\hyper@last\relax | ||
| 17 | \gdef\HyperFirstAtBeginDocument#1{#1} | ||
| 18 | \providecommand\HyField@AuxAddToFields[1]{} | ||
| 19 | \providecommand\HyField@AuxAddToCoFields[2]{} | ||
| 20 | \providecommand \oddpage@label [2]{} | ||
| 21 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} | ||
| 22 | \@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} | ||
| 23 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}} | ||
| 24 | \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} | ||
| 25 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{3}{3/3}{}{0}}} | ||
| 26 | \@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} | ||
| 27 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{4}{4/4}{}{0}}} | ||
| 28 | \@writefile{nav}{\headcommand {\beamer@framepages {4}{4}}} | ||
| 29 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{5}{5/5}{}{0}}} | ||
| 30 | \@writefile{nav}{\headcommand {\beamer@framepages {5}{5}}} | ||
| 31 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{6}{6/6}{}{0}}} | ||
| 32 | \@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}} | ||
| 33 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{7}{7/7}{}{0}}} | ||
| 34 | \@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}} | ||
| 35 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{8}{8/8}{}{0}}} | ||
| 36 | \@writefile{nav}{\headcommand {\beamer@framepages {8}{8}}} | ||
| 37 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{9/9}{}{0}}} | ||
| 38 | \@writefile{nav}{\headcommand {\beamer@framepages {9}{9}}} | ||
| 39 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{10/10}{}{0}}} | ||
| 40 | \@writefile{nav}{\headcommand {\beamer@framepages {10}{10}}} | ||
| 41 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{11}{11/11}{}{0}}} | ||
| 42 | \@writefile{nav}{\headcommand {\beamer@framepages {11}{11}}} | ||
| 43 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{12}{12/12}{}{0}}} | ||
| 44 | \@writefile{nav}{\headcommand {\beamer@framepages {12}{12}}} | ||
| 45 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{13}{13/13}{}{0}}} | ||
| 46 | \@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} | ||
| 47 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{14}{14/14}{}{0}}} | ||
| 48 | \@writefile{nav}{\headcommand {\beamer@framepages {14}{14}}} | ||
| 49 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{15}{15/15}{}{0}}} | ||
| 50 | \@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} | ||
| 51 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{16}{16/16}{}{0}}} | ||
| 52 | \@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} | ||
| 53 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{17}{17/17}{}{0}}} | ||
| 54 | \@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} | ||
| 55 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{18}{18/18}{}{0}}} | ||
| 56 | \@writefile{nav}{\headcommand {\beamer@framepages {18}{18}}} | ||
| 57 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{19}{19/19}{}{0}}} | ||
| 58 | \@writefile{nav}{\headcommand {\beamer@framepages {19}{19}}} | ||
| 59 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{20}{20/20}{}{0}}} | ||
| 60 | \@writefile{nav}{\headcommand {\beamer@framepages {20}{20}}} | ||
| 61 | \@writefile{nav}{\headcommand {\slideentry {0}{0}{21}{21/21}{}{0}}} | ||
| 62 | \@writefile{nav}{\headcommand {\beamer@framepages {21}{21}}} | ||
| 63 | \@writefile{nav}{\headcommand {\beamer@partpages {1}{21}}} | ||
| 64 | \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{21}}} | ||
| 65 | \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{21}}} | ||
| 66 | \@writefile{nav}{\headcommand {\beamer@documentpages {21}}} | ||
| 67 | \@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {21}}} | ||
diff --git a/src/Lecture7/slides/X2-StudentsRequests.log b/src/Lecture7/slides/X2-StudentsRequests.log new file mode 100644 index 0000000..3af479e --- /dev/null +++ b/src/Lecture7/slides/X2-StudentsRequests.log | |||
| @@ -0,0 +1,1307 @@ | |||
| 1 | This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2021.5.20) 25 MAY 2021 16:22 | ||
| 2 | entering extended mode | ||
| 3 | \write18 enabled. | ||
| 4 | %&-line parsing enabled. | ||
| 5 | **X2-StudentsRequests.tex | ||
| 6 | (./X2-StudentsRequests.tex | ||
| 7 | LaTeX2e <2020-02-02> patch level 2 | ||
| 8 | L3 programming layer <2020-02-14> | ||
| 9 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamer.cls | ||
| 10 | Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations | ||
| 11 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasemodes.sty | ||
| 12 | (/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty | ||
| 13 | Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) | ||
| 14 | \etb@tempcnta=\count167 | ||
| 15 | ) | ||
| 16 | \beamer@tempbox=\box45 | ||
| 17 | \beamer@tempcount=\count168 | ||
| 18 | \c@beamerpauses=\count169 | ||
| 19 | |||
| 20 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasedecode.sty | ||
| 21 | \beamer@slideinframe=\count170 | ||
| 22 | \beamer@minimum=\count171 | ||
| 23 | \beamer@decode@box=\box46 | ||
| 24 | ) | ||
| 25 | \beamer@commentbox=\box47 | ||
| 26 | \beamer@modecount=\count172 | ||
| 27 | ) | ||
| 28 | (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifpdf.sty | ||
| 29 | Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. | ||
| 30 | |||
| 31 | (/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty | ||
| 32 | Package: iftex 2019/11/07 v1.0c TeX engine tests | ||
| 33 | )) | ||
| 34 | \headdp=\dimen134 | ||
| 35 | \footheight=\dimen135 | ||
| 36 | \sidebarheight=\dimen136 | ||
| 37 | \beamer@tempdim=\dimen137 | ||
| 38 | \beamer@finalheight=\dimen138 | ||
| 39 | \beamer@animht=\dimen139 | ||
| 40 | \beamer@animdp=\dimen140 | ||
| 41 | \beamer@animwd=\dimen141 | ||
| 42 | \beamer@leftmargin=\dimen142 | ||
| 43 | \beamer@rightmargin=\dimen143 | ||
| 44 | \beamer@leftsidebar=\dimen144 | ||
| 45 | \beamer@rightsidebar=\dimen145 | ||
| 46 | \beamer@boxsize=\dimen146 | ||
| 47 | \beamer@vboxoffset=\dimen147 | ||
| 48 | \beamer@descdefault=\dimen148 | ||
| 49 | \beamer@descriptionwidth=\dimen149 | ||
| 50 | \beamer@lastskip=\skip47 | ||
| 51 | \beamer@areabox=\box48 | ||
| 52 | \beamer@animcurrent=\box49 | ||
| 53 | \beamer@animshowbox=\box50 | ||
| 54 | \beamer@sectionbox=\box51 | ||
| 55 | \beamer@logobox=\box52 | ||
| 56 | \beamer@linebox=\box53 | ||
| 57 | \beamer@sectioncount=\count173 | ||
| 58 | \beamer@subsubsectionmax=\count174 | ||
| 59 | \beamer@subsectionmax=\count175 | ||
| 60 | \beamer@sectionmax=\count176 | ||
| 61 | \beamer@totalheads=\count177 | ||
| 62 | \beamer@headcounter=\count178 | ||
| 63 | \beamer@partstartpage=\count179 | ||
| 64 | \beamer@sectionstartpage=\count180 | ||
| 65 | \beamer@subsectionstartpage=\count181 | ||
| 66 | \beamer@animationtempa=\count182 | ||
| 67 | \beamer@animationtempb=\count183 | ||
| 68 | \beamer@xpos=\count184 | ||
| 69 | \beamer@ypos=\count185 | ||
| 70 | \beamer@ypos@offset=\count186 | ||
| 71 | \beamer@showpartnumber=\count187 | ||
| 72 | \beamer@currentsubsection=\count188 | ||
| 73 | \beamer@coveringdepth=\count189 | ||
| 74 | \beamer@sectionadjust=\count190 | ||
| 75 | \beamer@tocsectionnumber=\count191 | ||
| 76 | |||
| 77 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty | ||
| 78 | (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | ||
| 79 | Package: keyval 2014/10/28 v1.15 key=value parser (DPC) | ||
| 80 | \KV@toks@=\toks14 | ||
| 81 | )) | ||
| 82 | \beamer@paperwidth=\skip48 | ||
| 83 | \beamer@paperheight=\skip49 | ||
| 84 | |||
| 85 | (/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty | ||
| 86 | Package: geometry 2020/01/02 v5.9 Page Geometry | ||
| 87 | |||
| 88 | (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty | ||
| 89 | Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. | ||
| 90 | ) | ||
| 91 | \Gm@cnth=\count192 | ||
| 92 | \Gm@cntv=\count193 | ||
| 93 | \c@Gm@tempcnt=\count194 | ||
| 94 | \Gm@bindingoffset=\dimen150 | ||
| 95 | \Gm@wd@mp=\dimen151 | ||
| 96 | \Gm@odd@mp=\dimen152 | ||
| 97 | \Gm@even@mp=\dimen153 | ||
| 98 | \Gm@layoutwidth=\dimen154 | ||
| 99 | \Gm@layoutheight=\dimen155 | ||
| 100 | \Gm@layouthoffset=\dimen156 | ||
| 101 | \Gm@layoutvoffset=\dimen157 | ||
| 102 | \Gm@dimlist=\toks15 | ||
| 103 | ) | ||
| 104 | (/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | ||
| 105 | File: size11.clo 2019/12/20 v1.4l Standard LaTeX file (size option) | ||
| 106 | ) | ||
| 107 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty | ||
| 108 | (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | ||
| 109 | Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR) | ||
| 110 | |||
| 111 | (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | ||
| 112 | Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR) | ||
| 113 | |||
| 114 | (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | ||
| 115 | Package: trig 2016/01/03 v1.10 sin cos tan (DPC) | ||
| 116 | ) | ||
| 117 | (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg | ||
| 118 | File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration | ||
| 119 | ) | ||
| 120 | Package graphics Info: Driver file: pdftex.def on input line 105. | ||
| 121 | |||
| 122 | (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def | ||
| 123 | File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex | ||
| 124 | )) | ||
| 125 | \Gin@req@height=\dimen158 | ||
| 126 | \Gin@req@width=\dimen159 | ||
| 127 | ) | ||
| 128 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty | ||
| 129 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty | ||
| 130 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex | ||
| 131 | \pgfutil@everybye=\toks16 | ||
| 132 | \pgfutil@tempdima=\dimen160 | ||
| 133 | \pgfutil@tempdimb=\dimen161 | ||
| 134 | |||
| 135 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.t | ||
| 136 | ex)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def | ||
| 137 | \pgfutil@abb=\box54 | ||
| 138 | (/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty | ||
| 139 | Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) | ||
| 140 | )) | ||
| 141 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex | ||
| 142 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex) | ||
| 143 | Package: pgfrcs 2020/01/08 v3.1.5b (3.1.5b) | ||
| 144 | )) | ||
| 145 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex | ||
| 146 | Package: pgfsys 2020/01/08 v3.1.5b (3.1.5b) | ||
| 147 | |||
| 148 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex | ||
| 149 | \pgfkeys@pathtoks=\toks17 | ||
| 150 | \pgfkeys@temptoks=\toks18 | ||
| 151 | |||
| 152 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.t | ||
| 153 | ex | ||
| 154 | \pgfkeys@tmptoks=\toks19 | ||
| 155 | )) | ||
| 156 | \pgf@x=\dimen162 | ||
| 157 | \pgf@y=\dimen163 | ||
| 158 | \pgf@xa=\dimen164 | ||
| 159 | \pgf@ya=\dimen165 | ||
| 160 | \pgf@xb=\dimen166 | ||
| 161 | \pgf@yb=\dimen167 | ||
| 162 | \pgf@xc=\dimen168 | ||
| 163 | \pgf@yc=\dimen169 | ||
| 164 | \pgf@xd=\dimen170 | ||
| 165 | \pgf@yd=\dimen171 | ||
| 166 | \w@pgf@writea=\write3 | ||
| 167 | \r@pgf@reada=\read2 | ||
| 168 | \c@pgf@counta=\count195 | ||
| 169 | \c@pgf@countb=\count196 | ||
| 170 | \c@pgf@countc=\count197 | ||
| 171 | \c@pgf@countd=\count198 | ||
| 172 | \t@pgf@toka=\toks20 | ||
| 173 | \t@pgf@tokb=\toks21 | ||
| 174 | \t@pgf@tokc=\toks22 | ||
| 175 | \pgf@sys@id@count=\count199 | ||
| 176 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg | ||
| 177 | File: pgf.cfg 2020/01/08 v3.1.5b (3.1.5b) | ||
| 178 | ) | ||
| 179 | Driver file for pgf: pgfsys-pdftex.def | ||
| 180 | |||
| 181 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def | ||
| 182 | File: pgfsys-pdftex.def 2020/01/08 v3.1.5b (3.1.5b) | ||
| 183 | |||
| 184 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.de | ||
| 185 | f | ||
| 186 | File: pgfsys-common-pdf.def 2020/01/08 v3.1.5b (3.1.5b) | ||
| 187 | ))) | ||
| 188 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code. | ||
| 189 | tex | ||
| 190 | File: pgfsyssoftpath.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 191 | \pgfsyssoftpath@smallbuffer@items=\count266 | ||
| 192 | \pgfsyssoftpath@bigbuffer@items=\count267 | ||
| 193 | ) | ||
| 194 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code. | ||
| 195 | tex | ||
| 196 | File: pgfsysprotocol.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 197 | )) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty | ||
| 198 | Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) | ||
| 199 | |||
| 200 | (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg | ||
| 201 | File: color.cfg 2016/01/02 v1.6 sample color configuration | ||
| 202 | ) | ||
| 203 | Package xcolor Info: Driver file: pdftex.def on input line 225. | ||
| 204 | Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. | ||
| 205 | Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. | ||
| 206 | Package xcolor Info: Model `RGB' extended on input line 1364. | ||
| 207 | Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. | ||
| 208 | Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. | ||
| 209 | Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. | ||
| 210 | Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. | ||
| 211 | Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. | ||
| 212 | Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. | ||
| 213 | ) | ||
| 214 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex | ||
| 215 | Package: pgfcore 2020/01/08 v3.1.5b (3.1.5b) | ||
| 216 | |||
| 217 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex | ||
| 218 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex | ||
| 219 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) | ||
| 220 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex | ||
| 221 | \pgfmath@dimen=\dimen172 | ||
| 222 | \pgfmath@count=\count268 | ||
| 223 | \pgfmath@box=\box55 | ||
| 224 | \pgfmath@toks=\toks23 | ||
| 225 | \pgfmath@stack@operand=\toks24 | ||
| 226 | \pgfmath@stack@operation=\toks25 | ||
| 227 | ) | ||
| 228 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex | ||
| 229 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code | ||
| 230 | .tex) | ||
| 231 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonomet | ||
| 232 | ric.code.tex) | ||
| 233 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.cod | ||
| 234 | e.tex) | ||
| 235 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison | ||
| 236 | .code.tex) | ||
| 237 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code. | ||
| 238 | tex) | ||
| 239 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code | ||
| 240 | .tex) | ||
| 241 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code. | ||
| 242 | tex) | ||
| 243 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerari | ||
| 244 | thmetics.code.tex))) | ||
| 245 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex | ||
| 246 | \c@pgfmathroundto@lastzeros=\count269 | ||
| 247 | )) | ||
| 248 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) | ||
| 249 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.te | ||
| 250 | x | ||
| 251 | File: pgfcorepoints.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 252 | \pgf@picminx=\dimen173 | ||
| 253 | \pgf@picmaxx=\dimen174 | ||
| 254 | \pgf@picminy=\dimen175 | ||
| 255 | \pgf@picmaxy=\dimen176 | ||
| 256 | \pgf@pathminx=\dimen177 | ||
| 257 | \pgf@pathmaxx=\dimen178 | ||
| 258 | \pgf@pathminy=\dimen179 | ||
| 259 | \pgf@pathmaxy=\dimen180 | ||
| 260 | \pgf@xx=\dimen181 | ||
| 261 | \pgf@xy=\dimen182 | ||
| 262 | \pgf@yx=\dimen183 | ||
| 263 | \pgf@yy=\dimen184 | ||
| 264 | \pgf@zx=\dimen185 | ||
| 265 | \pgf@zy=\dimen186 | ||
| 266 | ) | ||
| 267 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct. | ||
| 268 | code.tex | ||
| 269 | File: pgfcorepathconstruct.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 270 | \pgf@path@lastx=\dimen187 | ||
| 271 | \pgf@path@lasty=\dimen188 | ||
| 272 | ) | ||
| 273 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code | ||
| 274 | .tex | ||
| 275 | File: pgfcorepathusage.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 276 | \pgf@shorten@end@additional=\dimen189 | ||
| 277 | \pgf@shorten@start@additional=\dimen190 | ||
| 278 | ) | ||
| 279 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.te | ||
| 280 | x | ||
| 281 | File: pgfcorescopes.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 282 | \pgfpic=\box56 | ||
| 283 | \pgf@hbox=\box57 | ||
| 284 | \pgf@layerbox@main=\box58 | ||
| 285 | \pgf@picture@serial@count=\count270 | ||
| 286 | ) | ||
| 287 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.c | ||
| 288 | ode.tex | ||
| 289 | File: pgfcoregraphicstate.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 290 | \pgflinewidth=\dimen191 | ||
| 291 | ) | ||
| 292 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformation | ||
| 293 | s.code.tex | ||
| 294 | File: pgfcoretransformations.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 295 | \pgf@pt@x=\dimen192 | ||
| 296 | \pgf@pt@y=\dimen193 | ||
| 297 | \pgf@pt@temp=\dimen194 | ||
| 298 | ) | ||
| 299 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex | ||
| 300 | File: pgfcorequick.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 301 | ) | ||
| 302 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.t | ||
| 303 | ex | ||
| 304 | File: pgfcoreobjects.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 305 | ) | ||
| 306 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing | ||
| 307 | .code.tex | ||
| 308 | File: pgfcorepathprocessing.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 309 | ) | ||
| 310 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.te | ||
| 311 | x | ||
| 312 | File: pgfcorearrows.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 313 | \pgfarrowsep=\dimen195 | ||
| 314 | ) | ||
| 315 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex | ||
| 316 | File: pgfcoreshade.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 317 | \pgf@max=\dimen196 | ||
| 318 | \pgf@sys@shading@range@num=\count271 | ||
| 319 | \pgf@shadingcount=\count272 | ||
| 320 | ) | ||
| 321 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex | ||
| 322 | File: pgfcoreimage.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 323 | |||
| 324 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code. | ||
| 325 | tex | ||
| 326 | File: pgfcoreexternal.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 327 | \pgfexternal@startupbox=\box59 | ||
| 328 | )) | ||
| 329 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.te | ||
| 330 | x | ||
| 331 | File: pgfcorelayers.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 332 | ) | ||
| 333 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.c | ||
| 334 | ode.tex | ||
| 335 | File: pgfcoretransparency.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 336 | ) | ||
| 337 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code. | ||
| 338 | tex | ||
| 339 | File: pgfcorepatterns.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 340 | ) | ||
| 341 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex | ||
| 342 | File: pgfcorerdf.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 343 | ))) (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty | ||
| 344 | Package: xxcolor 2003/10/24 ver 0.1 | ||
| 345 | \XC@nummixins=\count273 | ||
| 346 | \XC@countmixins=\count274 | ||
| 347 | ) | ||
| 348 | (/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty | ||
| 349 | Package: atbegshi 2019/12/05 v1.19 At begin shipout hook (HO) | ||
| 350 | |||
| 351 | (/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty | ||
| 352 | Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) | ||
| 353 | ) | ||
| 354 | (/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty | ||
| 355 | Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO) | ||
| 356 | )) | ||
| 357 | (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty | ||
| 358 | Package: hyperref 2020/01/14 v7.00d Hypertext links for LaTeX | ||
| 359 | |||
| 360 | (/usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty | ||
| 361 | Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO | ||
| 362 | ) | ||
| 363 | Package pdftexcmds Info: \pdf@primitive is available. | ||
| 364 | Package pdftexcmds Info: \pdf@ifprimitive is available. | ||
| 365 | Package pdftexcmds Info: \pdfdraftmode found. | ||
| 366 | ) | ||
| 367 | (/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty | ||
| 368 | Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) | ||
| 369 | ) | ||
| 370 | (/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty | ||
| 371 | Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) | ||
| 372 | ) | ||
| 373 | (/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty | ||
| 374 | Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) | ||
| 375 | ) | ||
| 376 | (/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty | ||
| 377 | Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) | ||
| 378 | ) | ||
| 379 | (/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty | ||
| 380 | Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) | ||
| 381 | ) | ||
| 382 | (/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty | ||
| 383 | Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) | ||
| 384 | ) | ||
| 385 | (/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty | ||
| 386 | Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO) | ||
| 387 | ) | ||
| 388 | \@linkdim=\dimen197 | ||
| 389 | \Hy@linkcounter=\count275 | ||
| 390 | \Hy@pagecounter=\count276 | ||
| 391 | |||
| 392 | (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def | ||
| 393 | File: pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO) | ||
| 394 | Now handling font encoding PD1 ... | ||
| 395 | ... no UTF-8 mapping file for font encoding PD1 | ||
| 396 | ) | ||
| 397 | (/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty | ||
| 398 | Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) | ||
| 399 | ) | ||
| 400 | (/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty | ||
| 401 | Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) | ||
| 402 | ) | ||
| 403 | \Hy@SavedSpaceFactor=\count277 | ||
| 404 | \pdfmajorversion=\count278 | ||
| 405 | Package hyperref Info: Option `bookmarks' set `true' on input line 4421. | ||
| 406 | Package hyperref Info: Option `bookmarksopen' set `true' on input line 4421. | ||
| 407 | Package hyperref Info: Option `implicit' set `false' on input line 4421. | ||
| 408 | Package hyperref Info: Hyper figures OFF on input line 4547. | ||
| 409 | Package hyperref Info: Link nesting OFF on input line 4552. | ||
| 410 | Package hyperref Info: Hyper index ON on input line 4555. | ||
| 411 | Package hyperref Info: Plain pages OFF on input line 4562. | ||
| 412 | Package hyperref Info: Backreferencing OFF on input line 4567. | ||
| 413 | Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. | ||
| 414 | Package hyperref Info: Bookmarks ON on input line 4800. | ||
| 415 | \c@Hy@tempcnt=\count279 | ||
| 416 | |||
| 417 | (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty | ||
| 418 | \Urlmuskip=\muskip16 | ||
| 419 | Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. | ||
| 420 | ) | ||
| 421 | LaTeX Info: Redefining \url on input line 5159. | ||
| 422 | \XeTeXLinkMargin=\dimen198 | ||
| 423 | |||
| 424 | (/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty | ||
| 425 | Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) | ||
| 426 | |||
| 427 | (/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty | ||
| 428 | Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO | ||
| 429 | ) | ||
| 430 | )) | ||
| 431 | \Fld@menulength=\count280 | ||
| 432 | \Field@Width=\dimen199 | ||
| 433 | \Fld@charsize=\dimen256 | ||
| 434 | Package hyperref Info: Hyper figures OFF on input line 6430. | ||
| 435 | Package hyperref Info: Link nesting OFF on input line 6435. | ||
| 436 | Package hyperref Info: Hyper index ON on input line 6438. | ||
| 437 | Package hyperref Info: backreferencing OFF on input line 6445. | ||
| 438 | Package hyperref Info: Link coloring OFF on input line 6450. | ||
| 439 | Package hyperref Info: Link coloring with OCG OFF on input line 6455. | ||
| 440 | Package hyperref Info: PDF/A mode OFF on input line 6460. | ||
| 441 | LaTeX Info: Redefining \ref on input line 6500. | ||
| 442 | LaTeX Info: Redefining \pageref on input line 6504. | ||
| 443 | \Hy@abspage=\count281 | ||
| 444 | |||
| 445 | |||
| 446 | Package hyperref Message: Stopped early. | ||
| 447 | |||
| 448 | ) | ||
| 449 | Package hyperref Info: Driver (autodetected): hpdftex. | ||
| 450 | (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def | ||
| 451 | File: hpdftex.def 2020/01/14 v7.00d Hyperref driver for pdfTeX | ||
| 452 | |||
| 453 | (/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty | ||
| 454 | Package: atveryend 2019-12-11 v1.11 Hooks at the very end of document (HO) | ||
| 455 | ) | ||
| 456 | \Fld@listcount=\count282 | ||
| 457 | \c@bookmark@seq@number=\count283 | ||
| 458 | |||
| 459 | (/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty | ||
| 460 | Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) | ||
| 461 | |||
| 462 | (/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty | ||
| 463 | Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) | ||
| 464 | ) | ||
| 465 | Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 | ||
| 466 | 86. | ||
| 467 | )) | ||
| 468 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaserequires.sty | ||
| 469 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) | ||
| 470 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasefont.sty | ||
| 471 | (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty | ||
| 472 | Package: amssymb 2013/01/14 v3.01 AMS font symbols | ||
| 473 | |||
| 474 | (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty | ||
| 475 | Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support | ||
| 476 | \@emptytoks=\toks26 | ||
| 477 | \symAMSa=\mathgroup4 | ||
| 478 | \symAMSb=\mathgroup5 | ||
| 479 | LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. | ||
| 480 | LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' | ||
| 481 | (Font) U/euf/m/n --> U/euf/b/n on input line 106. | ||
| 482 | )) | ||
| 483 | (/usr/share/texlive/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty | ||
| 484 | Package: sansmathaccent 2020/01/31 | ||
| 485 | |||
| 486 | (/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty | ||
| 487 | Package: scrlfile 2020/01/24 v3.29 KOMA-Script package (loading files) | ||
| 488 | ))) | ||
| 489 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty | ||
| 490 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty | ||
| 491 | Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX | ||
| 492 | )) | ||
| 493 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) | ||
| 494 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) | ||
| 495 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty | ||
| 496 | \beamer@argscount=\count284 | ||
| 497 | \beamer@lastskipcover=\skip50 | ||
| 498 | \beamer@trivlistdepth=\count285 | ||
| 499 | ) | ||
| 500 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) | ||
| 501 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasesection.sty | ||
| 502 | \c@lecture=\count286 | ||
| 503 | \c@part=\count287 | ||
| 504 | \c@section=\count288 | ||
| 505 | \c@subsection=\count289 | ||
| 506 | \c@subsubsection=\count290 | ||
| 507 | ) | ||
| 508 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseframe.sty | ||
| 509 | \beamer@framebox=\box60 | ||
| 510 | \beamer@frametitlebox=\box61 | ||
| 511 | \beamer@zoombox=\box62 | ||
| 512 | \beamer@zoomcount=\count291 | ||
| 513 | \beamer@zoomframecount=\count292 | ||
| 514 | \beamer@frametextheight=\dimen257 | ||
| 515 | \c@subsectionslide=\count293 | ||
| 516 | \beamer@frametopskip=\skip51 | ||
| 517 | \beamer@framebottomskip=\skip52 | ||
| 518 | \beamer@frametopskipautobreak=\skip53 | ||
| 519 | \beamer@framebottomskipautobreak=\skip54 | ||
| 520 | \beamer@envbody=\toks27 | ||
| 521 | \framewidth=\dimen258 | ||
| 522 | \c@framenumber=\count294 | ||
| 523 | ) | ||
| 524 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty | ||
| 525 | \beamer@verbatimfileout=\write4 | ||
| 526 | ) | ||
| 527 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty | ||
| 528 | \beamer@splitbox=\box63 | ||
| 529 | \beamer@autobreakcount=\count295 | ||
| 530 | \beamer@autobreaklastheight=\dimen259 | ||
| 531 | \beamer@frametitletoks=\toks28 | ||
| 532 | \beamer@framesubtitletoks=\toks29 | ||
| 533 | ) | ||
| 534 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty | ||
| 535 | \beamer@footins=\box64 | ||
| 536 | ) | ||
| 537 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) | ||
| 538 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasenotes.sty | ||
| 539 | \beamer@frameboxcopy=\box65 | ||
| 540 | ) | ||
| 541 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) | ||
| 542 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty | ||
| 543 | \beamer@sbttoks=\toks30 | ||
| 544 | |||
| 545 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty | ||
| 546 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty | ||
| 547 | \bmb@box=\box66 | ||
| 548 | \bmb@colorbox=\box67 | ||
| 549 | \bmb@boxshadow=\box68 | ||
| 550 | \bmb@boxshadowball=\box69 | ||
| 551 | \bmb@boxshadowballlarge=\box70 | ||
| 552 | \bmb@temp=\dimen260 | ||
| 553 | \bmb@dima=\dimen261 | ||
| 554 | \bmb@dimb=\dimen262 | ||
| 555 | \bmb@prevheight=\dimen263 | ||
| 556 | ) | ||
| 557 | \beamer@blockheadheight=\dimen264 | ||
| 558 | )) | ||
| 559 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty | ||
| 560 | (/usr/share/texlive/texmf-dist/tex/latex/tools/enumerate.sty | ||
| 561 | Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) | ||
| 562 | \@enLab=\toks31 | ||
| 563 | ) | ||
| 564 | \c@figure=\count296 | ||
| 565 | \c@table=\count297 | ||
| 566 | \abovecaptionskip=\skip55 | ||
| 567 | \belowcaptionskip=\skip56 | ||
| 568 | ) | ||
| 569 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty | ||
| 570 | \beamer@section@min@dim=\dimen265 | ||
| 571 | ) | ||
| 572 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty | ||
| 573 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty | ||
| 574 | Package: amsmath 2020/01/20 v2.17e AMS math features | ||
| 575 | \@mathmargin=\skip57 | ||
| 576 | |||
| 577 | For additional information on amsmath, use the `?' option. | ||
| 578 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty | ||
| 579 | Package: amstext 2000/06/29 v2.01 AMS text | ||
| 580 | |||
| 581 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty | ||
| 582 | File: amsgen.sty 1999/11/30 v2.0 generic functions | ||
| 583 | \@emptytoks=\toks32 | ||
| 584 | \ex@=\dimen266 | ||
| 585 | )) | ||
| 586 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty | ||
| 587 | Package: amsbsy 1999/11/29 v1.2d Bold Symbols | ||
| 588 | \pmbraise@=\dimen267 | ||
| 589 | ) | ||
| 590 | (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty | ||
| 591 | Package: amsopn 2016/03/08 v2.02 operator names | ||
| 592 | ) | ||
| 593 | \inf@bad=\count298 | ||
| 594 | LaTeX Info: Redefining \frac on input line 227. | ||
| 595 | \uproot@=\count299 | ||
| 596 | \leftroot@=\count300 | ||
| 597 | LaTeX Info: Redefining \overline on input line 389. | ||
| 598 | \classnum@=\count301 | ||
| 599 | \DOTSCASE@=\count302 | ||
| 600 | LaTeX Info: Redefining \ldots on input line 486. | ||
| 601 | LaTeX Info: Redefining \dots on input line 489. | ||
| 602 | LaTeX Info: Redefining \cdots on input line 610. | ||
| 603 | \Mathstrutbox@=\box71 | ||
| 604 | \strutbox@=\box72 | ||
| 605 | \big@size=\dimen268 | ||
| 606 | LaTeX Font Info: Redeclaring font encoding OML on input line 733. | ||
| 607 | LaTeX Font Info: Redeclaring font encoding OMS on input line 734. | ||
| 608 | \macc@depth=\count303 | ||
| 609 | \c@MaxMatrixCols=\count304 | ||
| 610 | \dotsspace@=\muskip17 | ||
| 611 | \c@parentequation=\count305 | ||
| 612 | \dspbrk@lvl=\count306 | ||
| 613 | \tag@help=\toks33 | ||
| 614 | \row@=\count307 | ||
| 615 | \column@=\count308 | ||
| 616 | \maxfields@=\count309 | ||
| 617 | \andhelp@=\toks34 | ||
| 618 | \eqnshift@=\dimen269 | ||
| 619 | \alignsep@=\dimen270 | ||
| 620 | \tagshift@=\dimen271 | ||
| 621 | \tagwidth@=\dimen272 | ||
| 622 | \totwidth@=\dimen273 | ||
| 623 | \lineht@=\dimen274 | ||
| 624 | \@envbody=\toks35 | ||
| 625 | \multlinegap=\skip58 | ||
| 626 | \multlinetaggap=\skip59 | ||
| 627 | \mathdisplay@stack=\toks36 | ||
| 628 | LaTeX Info: Redefining \[ on input line 2859. | ||
| 629 | LaTeX Info: Redefining \] on input line 2860. | ||
| 630 | ) | ||
| 631 | (/usr/share/texlive/texmf-dist/tex/latex/amscls/amsthm.sty | ||
| 632 | Package: amsthm 2017/10/31 v2.20.4 | ||
| 633 | \thm@style=\toks37 | ||
| 634 | \thm@bodyfont=\toks38 | ||
| 635 | \thm@headfont=\toks39 | ||
| 636 | \thm@notefont=\toks40 | ||
| 637 | \thm@headpunct=\toks41 | ||
| 638 | \thm@preskip=\skip60 | ||
| 639 | \thm@postskip=\skip61 | ||
| 640 | \thm@headsep=\skip62 | ||
| 641 | \dth@everypar=\toks42 | ||
| 642 | ) | ||
| 643 | \c@theorem=\count310 | ||
| 644 | ) | ||
| 645 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) | ||
| 646 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerthemedefault.sty | ||
| 647 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerfontthemedefault.sty) | ||
| 648 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamercolorthemedefault.sty) | ||
| 649 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerinnerthemedefault.sty | ||
| 650 | \beamer@dima=\dimen275 | ||
| 651 | \beamer@dimb=\dimen276 | ||
| 652 | ) | ||
| 653 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerouterthemedefault.sty))) | ||
| 654 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerthemeMadrid.sty | ||
| 655 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamercolorthemewhale.sty) | ||
| 656 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamercolorthemeorchid.sty) | ||
| 657 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerinnerthemerounded.sty) | ||
| 658 | (/usr/share/texlive/texmf-dist/tex/latex/beamer/beamerouterthemeinfolines.sty)) | ||
| 659 | (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty | ||
| 660 | Package: inputenc 2018/08/11 v1.3c Input encoding file | ||
| 661 | \inpenc@prehook=\toks43 | ||
| 662 | \inpenc@posthook=\toks44 | ||
| 663 | ) | ||
| 664 | (/usr/share/texlive/texmf-dist/tex/latex/svg/svg.sty | ||
| 665 | Package: svg 2020/01/13 v2.02e (include SVG pictures) | ||
| 666 | |||
| 667 | (/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrbase.sty | ||
| 668 | Package: scrbase 2020/01/24 v3.29 KOMA-Script package (KOMA-Script-independent | ||
| 669 | basics and keyval usage) | ||
| 670 | ) | ||
| 671 | (/usr/share/texlive/texmf-dist/tex/latex/tools/shellesc.sty | ||
| 672 | Package: shellesc 2019/11/08 v1.0c unified shell escape interface for LaTeX | ||
| 673 | Package shellesc Info: Unrestricted shell escape enabled on input line 75. | ||
| 674 | ) | ||
| 675 | (/usr/share/texlive/texmf-dist/tex/latex/trimspaces/trimspaces.sty | ||
| 676 | Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list | ||
| 677 | ) | ||
| 678 | \svg@box=\box73 | ||
| 679 | \c@svg@param@lastpage=\count311 | ||
| 680 | \c@svg@param@currpage=\count312 | ||
| 681 | |||
| 682 | (/usr/share/texlive/texmf-dist/tex/latex/ifplatform/ifplatform.sty | ||
| 683 | Package: ifplatform 2017/10/13 v0.4a Testing for the operating system | ||
| 684 | |||
| 685 | (/usr/share/texlive/texmf-dist/tex/generic/catchfile/catchfile.sty | ||
| 686 | Package: catchfile 2019/12/09 v1.8 Catch the contents of a file (HO) | ||
| 687 | ) | ||
| 688 | (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty | ||
| 689 | Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. | ||
| 690 | ) | ||
| 691 | runsystem(uname -s > "X2-StudentsRequests.w18")...executed. | ||
| 692 | |||
| 693 | |||
| 694 | (./X2-StudentsRequests.w18) | ||
| 695 | runsystem(rm -- "X2-StudentsRequests.w18")...executed. | ||
| 696 | |||
| 697 | )) | ||
| 698 | (/usr/share/texlive/texmf-dist/tex/latex/transparent/transparent.sty | ||
| 699 | Package: transparent 2019/11/29 v1.4 Transparency via pdfTeX's color stack (HO) | ||
| 700 | |||
| 701 | ) | ||
| 702 | (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty | ||
| 703 | \lst@mode=\count313 | ||
| 704 | \lst@gtempboxa=\box74 | ||
| 705 | \lst@token=\toks45 | ||
| 706 | \lst@length=\count314 | ||
| 707 | \lst@currlwidth=\dimen277 | ||
| 708 | \lst@column=\count315 | ||
| 709 | \lst@pos=\count316 | ||
| 710 | \lst@lostspace=\dimen278 | ||
| 711 | \lst@width=\dimen279 | ||
| 712 | \lst@newlines=\count317 | ||
| 713 | \lst@lineno=\count318 | ||
| 714 | \lst@maxwidth=\dimen280 | ||
| 715 | |||
| 716 | (/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty | ||
| 717 | File: lstmisc.sty 2019/09/10 1.8c (Carsten Heinz) | ||
| 718 | \c@lstnumber=\count319 | ||
| 719 | \lst@skipnumbers=\count320 | ||
| 720 | \lst@framebox=\box75 | ||
| 721 | ) | ||
| 722 | (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg | ||
| 723 | File: listings.cfg 2019/09/10 1.8c listings configuration | ||
| 724 | )) | ||
| 725 | Package: listings 2019/09/10 1.8c (Carsten Heinz) | ||
| 726 | |||
| 727 | (/usr/share/texlive/texmf-dist/tex/latex/mathtools/mathtools.sty | ||
| 728 | Package: mathtools 2020/01/17 v1.23 mathematical typesetting tools | ||
| 729 | |||
| 730 | (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty | ||
| 731 | Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ) | ||
| 732 | \calc@Acount=\count321 | ||
| 733 | \calc@Bcount=\count322 | ||
| 734 | \calc@Adimen=\dimen281 | ||
| 735 | \calc@Bdimen=\dimen282 | ||
| 736 | \calc@Askip=\skip63 | ||
| 737 | \calc@Bskip=\skip64 | ||
| 738 | LaTeX Info: Redefining \setlength on input line 80. | ||
| 739 | LaTeX Info: Redefining \addtolength on input line 81. | ||
| 740 | \calc@Ccount=\count323 | ||
| 741 | \calc@Cskip=\skip65 | ||
| 742 | ) | ||
| 743 | (/usr/share/texlive/texmf-dist/tex/latex/mathtools/mhsetup.sty | ||
| 744 | Package: mhsetup 2017/03/31 v1.3 programming setup (MH) | ||
| 745 | ) | ||
| 746 | LaTeX Info: Thecontrolsequence`\('isalreadyrobust on input line 129. | ||
| 747 | LaTeX Info: Thecontrolsequence`\)'isalreadyrobust on input line 129. | ||
| 748 | LaTeX Info: Thecontrolsequence`\['isalreadyrobust on input line 129. | ||
| 749 | LaTeX Info: Thecontrolsequence`\]'isalreadyrobust on input line 129. | ||
| 750 | \g_MT_multlinerow_int=\count324 | ||
| 751 | \l_MT_multwidth_dim=\dimen283 | ||
| 752 | \origjot=\skip66 | ||
| 753 | \l_MT_shortvdotswithinadjustabove_dim=\dimen284 | ||
| 754 | \l_MT_shortvdotswithinadjustbelow_dim=\dimen285 | ||
| 755 | \l_MT_above_intertext_sep=\dimen286 | ||
| 756 | \l_MT_below_intertext_sep=\dimen287 | ||
| 757 | \l_MT_above_shortintertext_sep=\dimen288 | ||
| 758 | \l_MT_below_shortintertext_sep=\dimen289 | ||
| 759 | ) | ||
| 760 | (/usr/share/texlive/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty | ||
| 761 | Package: tikz-cd 2018/11/19 v0.9f Commutative diagrams with TikZ | ||
| 762 | |||
| 763 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty | ||
| 764 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty | ||
| 765 | Package: pgf 2020/01/08 v3.1.5b (3.1.5b) | ||
| 766 | |||
| 767 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex | ||
| 768 | File: pgfmoduleshapes.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 769 | \pgfnodeparttextbox=\box76 | ||
| 770 | ) (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex | ||
| 771 | File: pgfmoduleplot.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 772 | ) | ||
| 773 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65 | ||
| 774 | .sty | ||
| 775 | Package: pgfcomp-version-0-65 2020/01/08 v3.1.5b (3.1.5b) | ||
| 776 | \pgf@nodesepstart=\dimen290 | ||
| 777 | \pgf@nodesepend=\dimen291 | ||
| 778 | ) | ||
| 779 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18 | ||
| 780 | .sty | ||
| 781 | Package: pgfcomp-version-1-18 2020/01/08 v3.1.5b (3.1.5b) | ||
| 782 | )) (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty | ||
| 783 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty | ||
| 784 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) | ||
| 785 | (/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty | ||
| 786 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) | ||
| 787 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex | ||
| 788 | Package: pgffor 2020/01/08 v3.1.5b (3.1.5b) | ||
| 789 | |||
| 790 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) | ||
| 791 | \pgffor@iter=\dimen292 | ||
| 792 | \pgffor@skip=\dimen293 | ||
| 793 | \pgffor@stack=\toks46 | ||
| 794 | \pgffor@toks=\toks47 | ||
| 795 | )) | ||
| 796 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex | ||
| 797 | Package: tikz 2020/01/08 v3.1.5b (3.1.5b) | ||
| 798 | |||
| 799 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers | ||
| 800 | .code.tex | ||
| 801 | File: pgflibraryplothandlers.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 802 | \pgf@plot@mark@count=\count325 | ||
| 803 | \pgfplotmarksize=\dimen294 | ||
| 804 | ) | ||
| 805 | \tikz@lastx=\dimen295 | ||
| 806 | \tikz@lasty=\dimen296 | ||
| 807 | \tikz@lastxsaved=\dimen297 | ||
| 808 | \tikz@lastysaved=\dimen298 | ||
| 809 | \tikz@lastmovetox=\dimen299 | ||
| 810 | \tikz@lastmovetoy=\dimen300 | ||
| 811 | \tikzleveldistance=\dimen301 | ||
| 812 | \tikzsiblingdistance=\dimen302 | ||
| 813 | \tikz@figbox=\box77 | ||
| 814 | \tikz@figbox@bg=\box78 | ||
| 815 | \tikz@tempbox=\box79 | ||
| 816 | \tikz@tempbox@bg=\box80 | ||
| 817 | \tikztreelevel=\count326 | ||
| 818 | \tikznumberofchildren=\count327 | ||
| 819 | \tikznumberofcurrentchild=\count328 | ||
| 820 | \tikz@fig@count=\count329 | ||
| 821 | |||
| 822 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex | ||
| 823 | File: pgfmodulematrix.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 824 | \pgfmatrixcurrentrow=\count330 | ||
| 825 | \pgfmatrixcurrentcolumn=\count331 | ||
| 826 | \pgf@matrix@numberofcolumns=\count332 | ||
| 827 | ) | ||
| 828 | \tikz@expandcount=\count333 | ||
| 829 | |||
| 830 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik | ||
| 831 | zlibrarytopaths.code.tex | ||
| 832 | File: tikzlibrarytopaths.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 833 | ))) | ||
| 834 | (/usr/share/texlive/texmf-dist/tex/generic/tikz-cd/tikzlibrarycd.code.tex | ||
| 835 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik | ||
| 836 | zlibrarymatrix.code.tex | ||
| 837 | File: tikzlibrarymatrix.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 838 | ) | ||
| 839 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik | ||
| 840 | zlibraryquotes.code.tex | ||
| 841 | File: tikzlibraryquotes.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 842 | ) | ||
| 843 | (/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta. | ||
| 844 | code.tex | ||
| 845 | File: pgflibraryarrows.meta.code.tex 2020/01/08 v3.1.5b (3.1.5b) | ||
| 846 | \pgfarrowinset=\dimen303 | ||
| 847 | \pgfarrowlength=\dimen304 | ||
| 848 | \pgfarrowwidth=\dimen305 | ||
| 849 | \pgfarrowlinewidth=\dimen306 | ||
| 850 | ))) (/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjustbox.sty | ||
| 851 | Package: adjustbox 2019/01/04 v1.2 Adjusting TeX boxes (trim, clip, ...) | ||
| 852 | |||
| 853 | (/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty | ||
| 854 | Package: xkeyval 2014/12/03 v2.7a package option processing (HA) | ||
| 855 | |||
| 856 | (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex | ||
| 857 | (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex | ||
| 858 | \XKV@toks=\toks48 | ||
| 859 | \XKV@tempa@toks=\toks49 | ||
| 860 | ) | ||
| 861 | \XKV@depth=\count334 | ||
| 862 | File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) | ||
| 863 | )) | ||
| 864 | (/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjcalc.sty | ||
| 865 | Package: adjcalc 2012/05/16 v1.1 Provides advanced setlength with multiple back | ||
| 866 | -ends (calc, etex, pgfmath) | ||
| 867 | ) | ||
| 868 | (/usr/share/texlive/texmf-dist/tex/latex/adjustbox/trimclip.sty | ||
| 869 | Package: trimclip 2018/04/08 v1.1 Trim and clip general TeX material | ||
| 870 | |||
| 871 | (/usr/share/texlive/texmf-dist/tex/latex/collectbox/collectbox.sty | ||
| 872 | Package: collectbox 2012/05/17 v0.4b Collect macro arguments as boxes | ||
| 873 | \collectedbox=\box81 | ||
| 874 | ) | ||
| 875 | \tc@llx=\dimen307 | ||
| 876 | \tc@lly=\dimen308 | ||
| 877 | \tc@urx=\dimen309 | ||
| 878 | \tc@ury=\dimen310 | ||
| 879 | Package trimclip Info: Using driver 'tc-pdftex.def'. | ||
| 880 | |||
| 881 | (/usr/share/texlive/texmf-dist/tex/latex/adjustbox/tc-pdftex.def | ||
| 882 | File: tc-pdftex.def 2019/01/04 v2.2 Clipping driver for pdftex | ||
| 883 | )) | ||
| 884 | \adjbox@Width=\dimen311 | ||
| 885 | \adjbox@Height=\dimen312 | ||
| 886 | \adjbox@Depth=\dimen313 | ||
| 887 | \adjbox@Totalheight=\dimen314 | ||
| 888 | \adjbox@pwidth=\dimen315 | ||
| 889 | \adjbox@pheight=\dimen316 | ||
| 890 | \adjbox@pdepth=\dimen317 | ||
| 891 | \adjbox@ptotalheight=\dimen318 | ||
| 892 | |||
| 893 | (/usr/share/texlive/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty | ||
| 894 | Package: ifoddpage 2016/04/23 v1.1 Conditionals for odd/even page detection | ||
| 895 | \c@checkoddpage=\count335 | ||
| 896 | ) | ||
| 897 | (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty | ||
| 898 | Package: varwidth 2009/03/30 ver 0.92; Variable-width minipages | ||
| 899 | \@vwid@box=\box82 | ||
| 900 | \sift@deathcycles=\count336 | ||
| 901 | \@vwid@loff=\dimen319 | ||
| 902 | \@vwid@roff=\dimen320 | ||
| 903 | )) | ||
| 904 | (/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty | ||
| 905 | File: lstlang1.sty 2019/09/10 1.8c listings language file | ||
| 906 | ) | ||
| 907 | (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def | ||
| 908 | File: l3backend-pdfmode.def 2020-02-03 L3 backend support: PDF mode | ||
| 909 | \l__kernel_color_stack_int=\count337 | ||
| 910 | \l__pdf_internal_box=\box83 | ||
| 911 | ) | ||
| 912 | (./X2-StudentsRequests.aux) | ||
| 913 | \openout1 = `X2-StudentsRequests.aux'. | ||
| 914 | |||
| 915 | LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 33. | ||
| 916 | LaTeX Font Info: ... okay on input line 33. | ||
| 917 | LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 33. | ||
| 918 | LaTeX Font Info: ... okay on input line 33. | ||
| 919 | LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 33. | ||
| 920 | LaTeX Font Info: ... okay on input line 33. | ||
| 921 | LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 33. | ||
| 922 | LaTeX Font Info: ... okay on input line 33. | ||
| 923 | LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 33. | ||
| 924 | LaTeX Font Info: ... okay on input line 33. | ||
| 925 | LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 33. | ||
| 926 | LaTeX Font Info: ... okay on input line 33. | ||
| 927 | LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 33. | ||
| 928 | LaTeX Font Info: ... okay on input line 33. | ||
| 929 | LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 33. | ||
| 930 | LaTeX Font Info: ... okay on input line 33. | ||
| 931 | |||
| 932 | *geometry* driver: auto-detecting | ||
| 933 | *geometry* detected driver: pdftex | ||
| 934 | *geometry* verbose mode - [ preamble ] result: | ||
| 935 | * driver: pdftex | ||
| 936 | * paper: custom | ||
| 937 | * layout: <same size as paper> | ||
| 938 | * layoutoffset:(h,v)=(0.0pt,0.0pt) | ||
| 939 | * modes: includehead includefoot | ||
| 940 | * h-part:(L,W,R)=(10.95003pt, 342.2953pt, 10.95003pt) | ||
| 941 | * v-part:(T,H,B)=(0.0pt, 273.14662pt, 0.0pt) | ||
| 942 | * \paperwidth=364.19536pt | ||
| 943 | * \paperheight=273.14662pt | ||
| 944 | * \textwidth=342.2953pt | ||
| 945 | * \textheight=244.6939pt | ||
| 946 | * \oddsidemargin=-61.31996pt | ||
| 947 | * \evensidemargin=-61.31996pt | ||
| 948 | * \topmargin=-72.26999pt | ||
| 949 | * \headheight=14.22636pt | ||
| 950 | * \headsep=0.0pt | ||
| 951 | * \topskip=11.0pt | ||
| 952 | * \footskip=14.22636pt | ||
| 953 | * \marginparwidth=4.0pt | ||
| 954 | * \marginparsep=10.0pt | ||
| 955 | * \columnsep=10.0pt | ||
| 956 | * \skip\footins=10.0pt plus 4.0pt minus 2.0pt | ||
| 957 | * \hoffset=0.0pt | ||
| 958 | * \voffset=0.0pt | ||
| 959 | * \mag=1000 | ||
| 960 | * \@twocolumnfalse | ||
| 961 | * \@twosidefalse | ||
| 962 | * \@mparswitchfalse | ||
| 963 | * \@reversemarginfalse | ||
| 964 | * (1in=72.27pt=25.4mm, 1cm=28.453pt) | ||
| 965 | |||
| 966 | (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii | ||
| 967 | [Loading MPS to PDF converter (version 2006.09.02).] | ||
| 968 | \scratchcounter=\count338 | ||
| 969 | \scratchdimen=\dimen321 | ||
| 970 | \scratchbox=\box84 | ||
| 971 | \nofMPsegments=\count339 | ||
| 972 | \nofMParguments=\count340 | ||
| 973 | \everyMPshowfont=\toks50 | ||
| 974 | \MPscratchCnt=\count341 | ||
| 975 | \MPscratchDim=\dimen322 | ||
| 976 | \MPnumerator=\count342 | ||
| 977 | \makeMPintoPDFobject=\count343 | ||
| 978 | \everyMPtoPDFconversion=\toks51 | ||
| 979 | ) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty | ||
| 980 | Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf | ||
| 981 | Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 | ||
| 982 | 85. | ||
| 983 | |||
| 984 | (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | ||
| 985 | File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | ||
| 986 | e | ||
| 987 | )) | ||
| 988 | ABD: EveryShipout initializing macros | ||
| 989 | \AtBeginShipoutBox=\box85 | ||
| 990 | Package hyperref Info: Link coloring OFF on input line 33. | ||
| 991 | |||
| 992 | (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty | ||
| 993 | Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section | ||
| 994 | |||
| 995 | (/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty | ||
| 996 | Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) | ||
| 997 | ) | ||
| 998 | (/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty | ||
| 999 | Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) | ||
| 1000 | ) | ||
| 1001 | \c@section@level=\count344 | ||
| 1002 | ) | ||
| 1003 | LaTeX Info: Redefining \ref on input line 33. | ||
| 1004 | LaTeX Info: Redefining \pageref on input line 33. | ||
| 1005 | LaTeX Info: Redefining \nameref on input line 33. | ||
| 1006 | |||
| 1007 | (./X2-StudentsRequests.out) (./X2-StudentsRequests.out) | ||
| 1008 | \@outlinefile=\write5 | ||
| 1009 | \openout5 = `X2-StudentsRequests.out'. | ||
| 1010 | |||
| 1011 | LaTeX Font Info: Overwriting symbol font `operators' in version `normal' | ||
| 1012 | (Font) OT1/cmr/m/n --> OT1/cmss/m/n on input line 33. | ||
| 1013 | LaTeX Font Info: Overwriting symbol font `operators' in version `bold' | ||
| 1014 | (Font) OT1/cmr/bx/n --> OT1/cmss/b/n on input line 33. | ||
| 1015 | \symnumbers=\mathgroup6 | ||
| 1016 | \sympureletters=\mathgroup7 | ||
| 1017 | LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' | ||
| 1018 | (Font) OT1/cmss/m/n --> OT1/cmr/m/n on input line 33. | ||
| 1019 | LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 33. | ||
| 1020 | LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' | ||
| 1021 | (Font) OT1/cmr/bx/n --> OT1/cmss/b/n on input line 33. | ||
| 1022 | LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' | ||
| 1023 | (Font) OT1/cmr/bx/n --> OT1/cmss/b/n on input line 33. | ||
| 1024 | LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 33. | ||
| 1025 | LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' | ||
| 1026 | (Font) OT1/cmss/m/n --> OT1/cmss/m/n on input line 33. | ||
| 1027 | LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' | ||
| 1028 | (Font) OT1/cmss/bx/n --> OT1/cmss/m/n on input line 33. | ||
| 1029 | LaTeX Font Info: Redeclaring math alphabet \mathit on input line 33. | ||
| 1030 | LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' | ||
| 1031 | (Font) OT1/cmr/m/it --> OT1/cmss/m/it on input line 33. | ||
| 1032 | LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' | ||
| 1033 | (Font) OT1/cmr/bx/it --> OT1/cmss/m/it on input line 33. | ||
| 1034 | LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 33. | ||
| 1035 | LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' | ||
| 1036 | (Font) OT1/cmtt/m/n --> OT1/cmtt/m/n on input line 33. | ||
| 1037 | LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' | ||
| 1038 | (Font) OT1/cmtt/m/n --> OT1/cmtt/m/n on input line 33. | ||
| 1039 | LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' | ||
| 1040 | (Font) OT1/cmss/m/n --> OT1/cmss/b/n on input line 33. | ||
| 1041 | LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' | ||
| 1042 | (Font) OT1/cmss/m/it --> OT1/cmss/b/it on input line 33. | ||
| 1043 | LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' | ||
| 1044 | (Font) OT1/cmss/b/n --> OT1/cmr/b/n on input line 33. | ||
| 1045 | LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' | ||
| 1046 | (Font) OT1/cmss/b/n --> OT1/cmss/b/n on input line 33. | ||
| 1047 | LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' | ||
| 1048 | (Font) OT1/cmss/m/n --> OT1/cmss/b/n on input line 33. | ||
| 1049 | LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' | ||
| 1050 | (Font) OT1/cmss/m/it --> OT1/cmss/b/it on input line 33. | ||
| 1051 | LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' | ||
| 1052 | (Font) OT1/cmtt/m/n --> OT1/cmtt/b/n on input line 33. | ||
| 1053 | LaTeX Font Info: Redeclaring symbol font `pureletters' on input line 33. | ||
| 1054 | LaTeX Font Info: Overwriting symbol font `pureletters' in version `normal' | ||
| 1055 | (Font) OT1/cmss/m/it --> OT1/mathkerncmss/m/sl on input line 3 | ||
| 1056 | 3. | ||
| 1057 | LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' | ||
| 1058 | (Font) OT1/cmss/b/it --> OT1/mathkerncmss/m/sl on input line 3 | ||
| 1059 | 3. | ||
| 1060 | LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' | ||
| 1061 | (Font) OT1/mathkerncmss/m/sl --> OT1/mathkerncmss/bx/sl on inp | ||
| 1062 | ut line 33. | ||
| 1063 | |||
| 1064 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-basic-dictionary | ||
| 1065 | -English.dict | ||
| 1066 | Dictionary: translator-basic-dictionary, Language: English | ||
| 1067 | ) | ||
| 1068 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-bibliography-dic | ||
| 1069 | tionary-English.dict | ||
| 1070 | Dictionary: translator-bibliography-dictionary, Language: English | ||
| 1071 | ) | ||
| 1072 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-environment-dict | ||
| 1073 | ionary-English.dict | ||
| 1074 | Dictionary: translator-environment-dictionary, Language: English | ||
| 1075 | ) | ||
| 1076 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-months-dictionar | ||
| 1077 | y-English.dict | ||
| 1078 | Dictionary: translator-months-dictionary, Language: English | ||
| 1079 | ) | ||
| 1080 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-numbers-dictiona | ||
| 1081 | ry-English.dict | ||
| 1082 | Dictionary: translator-numbers-dictionary, Language: English | ||
| 1083 | ) | ||
| 1084 | (/usr/share/texlive/texmf-dist/tex/latex/translator/translator-theorem-dictiona | ||
| 1085 | ry-English.dict | ||
| 1086 | Dictionary: translator-theorem-dictionary, Language: English | ||
| 1087 | ) | ||
| 1088 | \c@lstlisting=\count345 | ||
| 1089 | (./X2-StudentsRequests.nav) | ||
| 1090 | <img/unilu.jpg, id=20, 645.16031pt x 578.16pt> | ||
| 1091 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1092 | <use img/unilu.jpg> | ||
| 1093 | Package pdftex.def Info: img/unilu.jpg used on input line 37. | ||
| 1094 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1095 | [1 | ||
| 1096 | |||
| 1097 | {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} <./img/unilu.jpg>] [2 | ||
| 1098 | |||
| 1099 | ] | ||
| 1100 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1101 | <use img/unilu.jpg> | ||
| 1102 | Package pdftex.def Info: img/unilu.jpg used on input line 53. | ||
| 1103 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1104 | [3 | ||
| 1105 | |||
| 1106 | ] | ||
| 1107 | LaTeX Font Info: Trying to load font information for U+msa on input line 76. | ||
| 1108 | |||
| 1109 | |||
| 1110 | (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd | ||
| 1111 | File: umsa.fd 2013/01/14 v3.01 AMS symbols A | ||
| 1112 | ) | ||
| 1113 | LaTeX Font Info: Trying to load font information for U+msb on input line 76. | ||
| 1114 | |||
| 1115 | |||
| 1116 | (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd | ||
| 1117 | File: umsb.fd 2013/01/14 v3.01 AMS symbols B | ||
| 1118 | ) | ||
| 1119 | LaTeX Font Info: Trying to load font information for OT1+mathkerncmss on inp | ||
| 1120 | ut line 76. | ||
| 1121 | |||
| 1122 | (/usr/share/texlive/texmf-dist/tex/latex/sansmathaccent/ot1mathkerncmss.fd | ||
| 1123 | File: ot1mathkerncmss.fd 2020/01/31 Fontinst v1.933 font definitions for OT1/ma | ||
| 1124 | thkerncmss. | ||
| 1125 | ) | ||
| 1126 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1127 | <use img/unilu.jpg> | ||
| 1128 | Package pdftex.def Info: img/unilu.jpg used on input line 76. | ||
| 1129 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1130 | |||
| 1131 | [4 | ||
| 1132 | |||
| 1133 | ] | ||
| 1134 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1135 | <use img/unilu.jpg> | ||
| 1136 | Package pdftex.def Info: img/unilu.jpg used on input line 85. | ||
| 1137 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1138 | [5 | ||
| 1139 | |||
| 1140 | ] | ||
| 1141 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1142 | <use img/unilu.jpg> | ||
| 1143 | Package pdftex.def Info: img/unilu.jpg used on input line 95. | ||
| 1144 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1145 | [6 | ||
| 1146 | |||
| 1147 | ] | ||
| 1148 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1149 | <use img/unilu.jpg> | ||
| 1150 | Package pdftex.def Info: img/unilu.jpg used on input line 105. | ||
| 1151 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1152 | [7 | ||
| 1153 | |||
| 1154 | ] | ||
| 1155 | Package svg Info: Last page of `./svg-inkscape/DH_svg-tex.pdf' is 1 on input li | ||
| 1156 | ne 109. | ||
| 1157 | (./svg-inkscape/DH_svg-tex.pdf_tex | ||
| 1158 | <./svg-inkscape/DH_svg-tex.pdf, id=228, page=1, 321.11218pt x 481.97127pt> | ||
| 1159 | File: ./svg-inkscape/DH_svg-tex.pdf Graphic file (type pdf) | ||
| 1160 | <use ./svg-inkscape/DH_svg-tex.pdf, page 1> | ||
| 1161 | Package pdftex.def Info: ./svg-inkscape/DH_svg-tex.pdf , page1 used on input li | ||
| 1162 | ne 56. | ||
| 1163 | (pdftex.def) Requested size: 144.49948pt x 216.88507pt. | ||
| 1164 | ) | ||
| 1165 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1166 | <use img/unilu.jpg> | ||
| 1167 | Package pdftex.def Info: img/unilu.jpg used on input line 109. | ||
| 1168 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1169 | [8 | ||
| 1170 | |||
| 1171 | <./svg-inkscape/DH_svg-tex.pdf>] | ||
| 1172 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1173 | <use img/unilu.jpg> | ||
| 1174 | Package pdftex.def Info: img/unilu.jpg used on input line 120. | ||
| 1175 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1176 | [9 | ||
| 1177 | |||
| 1178 | ] [10 | ||
| 1179 | |||
| 1180 | ] | ||
| 1181 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1182 | <use img/unilu.jpg> | ||
| 1183 | Package pdftex.def Info: img/unilu.jpg used on input line 133. | ||
| 1184 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1185 | [11 | ||
| 1186 | |||
| 1187 | ] | ||
| 1188 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1189 | <use img/unilu.jpg> | ||
| 1190 | Package pdftex.def Info: img/unilu.jpg used on input line 152. | ||
| 1191 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1192 | [12 | ||
| 1193 | |||
| 1194 | ] | ||
| 1195 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1196 | <use img/unilu.jpg> | ||
| 1197 | Package pdftex.def Info: img/unilu.jpg used on input line 165. | ||
| 1198 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1199 | [13 | ||
| 1200 | |||
| 1201 | ] | ||
| 1202 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1203 | <use img/unilu.jpg> | ||
| 1204 | Package pdftex.def Info: img/unilu.jpg used on input line 185. | ||
| 1205 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1206 | [14 | ||
| 1207 | |||
| 1208 | ] | ||
| 1209 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1210 | <use img/unilu.jpg> | ||
| 1211 | Package pdftex.def Info: img/unilu.jpg used on input line 193. | ||
| 1212 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1213 | [15 | ||
| 1214 | |||
| 1215 | ] | ||
| 1216 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1217 | <use img/unilu.jpg> | ||
| 1218 | Package pdftex.def Info: img/unilu.jpg used on input line 211. | ||
| 1219 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1220 | [16 | ||
| 1221 | |||
| 1222 | ] | ||
| 1223 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1224 | <use img/unilu.jpg> | ||
| 1225 | Package pdftex.def Info: img/unilu.jpg used on input line 232. | ||
| 1226 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1227 | [17 | ||
| 1228 | |||
| 1229 | ] | ||
| 1230 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1231 | <use img/unilu.jpg> | ||
| 1232 | Package pdftex.def Info: img/unilu.jpg used on input line 254. | ||
| 1233 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1234 | [18 | ||
| 1235 | |||
| 1236 | ] | ||
| 1237 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1238 | <use img/unilu.jpg> | ||
| 1239 | Package pdftex.def Info: img/unilu.jpg used on input line 266. | ||
| 1240 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1241 | [19 | ||
| 1242 | |||
| 1243 | ] | ||
| 1244 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1245 | <use img/unilu.jpg> | ||
| 1246 | Package pdftex.def Info: img/unilu.jpg used on input line 297. | ||
| 1247 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1248 | [20 | ||
| 1249 | |||
| 1250 | ] | ||
| 1251 | File: img/unilu.jpg Graphic file (type jpg) | ||
| 1252 | <use img/unilu.jpg> | ||
| 1253 | Package pdftex.def Info: img/unilu.jpg used on input line 307. | ||
| 1254 | (pdftex.def) Requested size: 64.5198pt x 57.81938pt. | ||
| 1255 | [21 | ||
| 1256 | |||
| 1257 | ] | ||
| 1258 | \tf@nav=\write6 | ||
| 1259 | \openout6 = `X2-StudentsRequests.nav'. | ||
| 1260 | |||
| 1261 | \tf@toc=\write7 | ||
| 1262 | \openout7 = `X2-StudentsRequests.toc'. | ||
| 1263 | |||
| 1264 | \tf@snm=\write8 | ||
| 1265 | \openout8 = `X2-StudentsRequests.snm'. | ||
| 1266 | |||
| 1267 | Package atveryend Info: Empty hook `BeforeClearDocument' on input line 309. | ||
| 1268 | Package atveryend Info: Empty hook `AfterLastShipout' on input line 309. | ||
| 1269 | |||
| 1270 | (./X2-StudentsRequests.aux) | ||
| 1271 | Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 309. | ||
| 1272 | Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 309. | ||
| 1273 | Package rerunfilecheck Info: File `X2-StudentsRequests.out' has not changed. | ||
| 1274 | (rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. | ||
| 1275 | ) | ||
| 1276 | Here is how much of TeX's memory you used: | ||
| 1277 | 25732 strings out of 481239 | ||
| 1278 | 509817 string characters out of 5920377 | ||
| 1279 | 960739 words of memory out of 5000000 | ||
| 1280 | 40331 multiletter control sequences out of 15000+600000 | ||
| 1281 | 545963 words of font info for 73 fonts, out of 8000000 for 9000 | ||
| 1282 | 1141 hyphenation exceptions out of 8191 | ||
| 1283 | 58i,21n,89p,803b,926s stack positions out of 5000i,500n,10000p,200000b,80000s | ||
| 1284 | </usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></us | ||
| 1285 | r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cmextra/cmex8.pfb></usr/ | ||
| 1286 | share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/ | ||
| 1287 | texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb></usr/share/texliv | ||
| 1288 | e/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.pfb></usr/share/texlive/texmf | ||
| 1289 | -dist/fonts/type1/public/amsfonts/cm/cmss10.pfb></usr/share/texlive/texmf-dist/ | ||
| 1290 | fonts/type1/public/amsfonts/cm/cmss12.pfb></usr/share/texlive/texmf-dist/fonts/ | ||
| 1291 | type1/public/amsfonts/cm/cmss17.pfb></usr/share/texlive/texmf-dist/fonts/type1/ | ||
| 1292 | public/amsfonts/cm/cmss8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/ | ||
| 1293 | amsfonts/cm/cmssbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsf | ||
| 1294 | onts/cm/cmssi10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/ | ||
| 1295 | cm/cmssi12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cm | ||
| 1296 | ssi8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.p | ||
| 1297 | fb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></us | ||
| 1298 | r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb></usr/share | ||
| 1299 | /texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt8.pfb></usr/share/texliv | ||
| 1300 | e/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb> | ||
| 1301 | Output written on X2-StudentsRequests.pdf (21 pages, 271722 bytes). | ||
| 1302 | PDF statistics: | ||
| 1303 | 687 PDF objects out of 1000 (max. 8388607) | ||
| 1304 | 621 compressed objects within 7 object streams | ||
| 1305 | 43 named destinations out of 1000 (max. 500000) | ||
| 1306 | 106 words of extra memory for PDF output out of 10000 (max. 10000000) | ||
| 1307 | |||
diff --git a/src/Lecture7/slides/X2-StudentsRequests.nav b/src/Lecture7/slides/X2-StudentsRequests.nav new file mode 100644 index 0000000..b90e3f7 --- /dev/null +++ b/src/Lecture7/slides/X2-StudentsRequests.nav | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | \headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} | ||
| 2 | \headcommand {\beamer@framepages {1}{1}} | ||
| 3 | \headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} | ||
| 4 | \headcommand {\beamer@framepages {2}{2}} | ||
| 5 | \headcommand {\slideentry {0}{0}{3}{3/3}{}{0}} | ||
| 6 | \headcommand {\beamer@framepages {3}{3}} | ||
| 7 | \headcommand {\slideentry {0}{0}{4}{4/4}{}{0}} | ||
| 8 | \headcommand {\beamer@framepages {4}{4}} | ||
| 9 | \headcommand {\slideentry {0}{0}{5}{5/5}{}{0}} | ||
| 10 | \headcommand {\beamer@framepages {5}{5}} | ||
| 11 | \headcommand {\slideentry {0}{0}{6}{6/6}{}{0}} | ||
| 12 | \headcommand {\beamer@framepages {6}{6}} | ||
| 13 | \headcommand {\slideentry {0}{0}{7}{7/7}{}{0}} | ||
| 14 | \headcommand {\beamer@framepages {7}{7}} | ||
| 15 | \headcommand {\slideentry {0}{0}{8}{8/8}{}{0}} | ||
| 16 | \headcommand {\beamer@framepages {8}{8}} | ||
| 17 | \headcommand {\slideentry {0}{0}{9}{9/9}{}{0}} | ||
| 18 | \headcommand {\beamer@framepages {9}{9}} | ||
| 19 | \headcommand {\slideentry {0}{0}{10}{10/10}{}{0}} | ||
| 20 | \headcommand {\beamer@framepages {10}{10}} | ||
| 21 | \headcommand {\slideentry {0}{0}{11}{11/11}{}{0}} | ||
| 22 | \headcommand {\beamer@framepages {11}{11}} | ||
| 23 | \headcommand {\slideentry {0}{0}{12}{12/12}{}{0}} | ||
| 24 | \headcommand {\beamer@framepages {12}{12}} | ||
| 25 | \headcommand {\slideentry {0}{0}{13}{13/13}{}{0}} | ||
| 26 | \headcommand {\beamer@framepages {13}{13}} | ||
| 27 | \headcommand {\slideentry {0}{0}{14}{14/14}{}{0}} | ||
| 28 | \headcommand {\beamer@framepages {14}{14}} | ||
| 29 | \headcommand {\slideentry {0}{0}{15}{15/15}{}{0}} | ||
| 30 | \headcommand {\beamer@framepages {15}{15}} | ||
| 31 | \headcommand {\slideentry {0}{0}{16}{16/16}{}{0}} | ||
| 32 | \headcommand {\beamer@framepages {16}{16}} | ||
| 33 | \headcommand {\slideentry {0}{0}{17}{17/17}{}{0}} | ||
| 34 | \headcommand {\beamer@framepages {17}{17}} | ||
| 35 | \headcommand {\slideentry {0}{0}{18}{18/18}{}{0}} | ||
| 36 | \headcommand {\beamer@framepages {18}{18}} | ||
| 37 | \headcommand {\slideentry {0}{0}{19}{19/19}{}{0}} | ||
| 38 | \headcommand {\beamer@framepages {19}{19}} | ||
| 39 | \headcommand {\slideentry {0}{0}{20}{20/20}{}{0}} | ||
| 40 | \headcommand {\beamer@framepages {20}{20}} | ||
| 41 | \headcommand {\slideentry {0}{0}{21}{21/21}{}{0}} | ||
| 42 | \headcommand {\beamer@framepages {21}{21}} | ||
| 43 | \headcommand {\beamer@partpages {1}{21}} | ||
| 44 | \headcommand {\beamer@subsectionpages {1}{21}} | ||
| 45 | \headcommand {\beamer@sectionpages {1}{21}} | ||
| 46 | \headcommand {\beamer@documentpages {21}} | ||
| 47 | \headcommand {\gdef \inserttotalframenumber {21}} | ||
diff --git a/src/Lecture7/slides/X2-StudentsRequests.out b/src/Lecture7/slides/X2-StudentsRequests.out new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Lecture7/slides/X2-StudentsRequests.out | |||
diff --git a/src/Lecture7/slides/X2-StudentsRequests.pdf b/src/Lecture7/slides/X2-StudentsRequests.pdf new file mode 100644 index 0000000..8b5793e --- /dev/null +++ b/src/Lecture7/slides/X2-StudentsRequests.pdf | |||
| Binary files differ | |||
diff --git a/src/Lecture7/slides/X2-StudentsRequests.snm b/src/Lecture7/slides/X2-StudentsRequests.snm new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Lecture7/slides/X2-StudentsRequests.snm | |||
diff --git a/src/Lecture7/slides/X2-StudentsRequests.tex b/src/Lecture7/slides/X2-StudentsRequests.tex new file mode 100644 index 0000000..787e7fb --- /dev/null +++ b/src/Lecture7/slides/X2-StudentsRequests.tex | |||
| @@ -0,0 +1,309 @@ | |||
| 1 | \documentclass[11pt]{beamer} | ||
| 2 | \usetheme{Madrid} | ||
| 3 | \usepackage[utf8]{inputenc} | ||
| 4 | \usepackage{amsmath} | ||
| 5 | |||
| 6 | \usepackage{svg} | ||
| 7 | \usepackage{color} | ||
| 8 | \usepackage{listings} | ||
| 9 | \usepackage{mathtools} | ||
| 10 | \usepackage{tikz-cd} | ||
| 11 | \usepackage{adjustbox} | ||
| 12 | |||
| 13 | \definecolor{myblue}{rgb}{0,0,0.5} | ||
| 14 | \lstset{ | ||
| 15 | language=Python, | ||
| 16 | tabsize=4, | ||
| 17 | basicstyle=\footnotesize, | ||
| 18 | keywordstyle=\bf\color{myblue}, | ||
| 19 | commentstyle=\it\color{gray}, | ||
| 20 | numbers=left, | ||
| 21 | numbersep=3pt, | ||
| 22 | numberstyle=\tiny\color{gray}, | ||
| 23 | } | ||
| 24 | |||
| 25 | \author[\texttt{sebastiano.tronto@uni.lu}]{Sebastiano Tronto} | ||
| 26 | \title[Students requests]% | ||
| 27 | {Students requests} | ||
| 28 | \logo{\includegraphics[scale=0.1]{img/unilu.jpg}} | ||
| 29 | %\institute{University of Luxembourg} | ||
| 30 | |||
| 31 | \date{2021-05-21} | ||
| 32 | |||
| 33 | \begin{document} | ||
| 34 | |||
| 35 | \begin{frame} | ||
| 36 | \titlepage | ||
| 37 | \end{frame} | ||
| 38 | |||
| 39 | \begin{frame}[plain] | ||
| 40 | \begin{center} {\Huge More cryptography} \end{center} | ||
| 41 | \end{frame} | ||
| 42 | |||
| 43 | \begin{frame}{Cryptography} | ||
| 44 | What we have seen: | ||
| 45 | |||
| 46 | \vspace{0.3cm} | ||
| 47 | \begin{itemize} | ||
| 48 | \item \textbf{RSA:} | ||
| 49 | sending messages using a private key / public key pair | ||
| 50 | \item \textbf{Flip-a-coin:} | ||
| 51 | cryptographic ``proof'' that the opponent is not cheating | ||
| 52 | \end{itemize} | ||
| 53 | \end{frame} | ||
| 54 | |||
| 55 | \begin{frame}{Cryptography} | ||
| 56 | \begin{itemize} | ||
| 57 | \item Rely on integer factorization being hard | ||
| 58 | |||
| 59 | \vspace{0.3cm} | ||
| 60 | \textbf{Example:} the best-known factorization algorithm | ||
| 61 | (\href{https://en.wikipedia.org/wiki/General\_number\_field\_sieve}% | ||
| 62 | {\emph{General number field sieve}}) has complexity | ||
| 63 | \begin{align*} | ||
| 64 | \sim O\left( | ||
| 65 | e^{\sqrt[3]{\frac{64}{9}\log_2n\cdot(\log_2\log_2n)^2}} | ||
| 66 | \right) | ||
| 67 | \end{align*} | ||
| 68 | |||
| 69 | Factoring a number with $300$ digits: | ||
| 70 | \begin{itemize} | ||
| 71 | \item Your laptop: $10^{13}$ billion years | ||
| 72 | \item Best supercomputer: $13$ billion years | ||
| 73 | (age of the universe) | ||
| 74 | \end{itemize} | ||
| 75 | \end{itemize} | ||
| 76 | \end{frame} | ||
| 77 | |||
| 78 | \begin{frame}{Symmetric and asymmetric cryptography} | ||
| 79 | \begin{itemize} | ||
| 80 | \item Our examples are \emph{asymmetric}: different public/private keys | ||
| 81 | \item Safe against eavesdroppers | ||
| 82 | \item Symmetric protocols can be faster and simpler, but you need | ||
| 83 | a secure way to exchange a key | ||
| 84 | \end{itemize} | ||
| 85 | \end{frame} | ||
| 86 | |||
| 87 | \begin{frame}{Diffie-Hellman key exchange} | ||
| 88 | \begin{itemize} | ||
| 89 | \item Generate a ``password'' without communicating it directly | ||
| 90 | \item It can then be used for symmetric cryptography | ||
| 91 | \item Based on a different hard problem: | ||
| 92 | \href{https://en.wikipedia.org/wiki/Discrete\_logarithm}% | ||
| 93 | {\emph{discrete logarithm}} | ||
| 94 | \end{itemize} | ||
| 95 | \end{frame} | ||
| 96 | |||
| 97 | \begin{frame}{Diffie-Hellman key exchange} | ||
| 98 | \begin{itemize} | ||
| 99 | \item Alice and Bob agree on a prime number $p$ and an integer $g$ | ||
| 100 | \item Alice picks an integer $a$ and sends $(g^a\bmod p)$ to Bob | ||
| 101 | \item Bob picks an integer $b$ and sends $(g^b\bmod p)$ to Alice | ||
| 102 | \item Alice can compute $(g^b)^a\bmod p$ and Bob can compute | ||
| 103 | $(g^a)^b\bmod p$. This is their shared secret (key). | ||
| 104 | \end{itemize} | ||
| 105 | \end{frame} | ||
| 106 | |||
| 107 | \begin{frame}{Diffie-Hellman with colors (from Wikipedia)} | ||
| 108 | \begin{center}\includesvg[scale=0.45]{img/DH}\end{center} | ||
| 109 | \end{frame} | ||
| 110 | |||
| 111 | \begin{frame}{Diffie-Hellman key exchange} | ||
| 112 | \begin{itemize} | ||
| 113 | \item Knowing $h$ and $a$, it is hard to find $g$ such that | ||
| 114 | $g^a \bmod p =h$ (discrete logarithm problem) | ||
| 115 | \item Very simple, many variants | ||
| 116 | \item Any group can be used, e.g. Elliptic Curves (see | ||
| 117 | \href{https://en.wikipedia.org/wiki/Elliptic-curve_Diffie\%E2\%80\%93Hellman}% | ||
| 118 | {Wikipedia: elliptic-curve Diffie-Hellman}) | ||
| 119 | \end{itemize} | ||
| 120 | \end{frame} | ||
| 121 | |||
| 122 | |||
| 123 | \begin{frame}[plain] | ||
| 124 | \begin{center} {\Huge Numerical methods for PDEs} \end{center} | ||
| 125 | \end{frame} | ||
| 126 | |||
| 127 | \begin{frame}{Solving partial differential equations} | ||
| 128 | \begin{itemize} | ||
| 129 | \item Very, very hard | ||
| 130 | \item Very important in practical applications (physics and such) | ||
| 131 | \item Approximations are necessary, might as well use numerical methods | ||
| 132 | \end{itemize} | ||
| 133 | \end{frame} | ||
| 134 | |||
| 135 | \begin{frame}{Numerical methods for ODEs} | ||
| 136 | \begin{block}{Problem} | ||
| 137 | Given $f(x,y)$, $x_0$ and $y_0$, find an approximation | ||
| 138 | for $y(x)$ such that | ||
| 139 | \begin{align*} | ||
| 140 | \begin{cases} | ||
| 141 | y'(x) = f(x, y(x))\\ | ||
| 142 | y(x_0) =y_0 | ||
| 143 | \end{cases} | ||
| 144 | \end{align*} | ||
| 145 | \end{block} | ||
| 146 | |||
| 147 | \begin{block}{Approximation} | ||
| 148 | We can describe $y(x)$ in an interval $[x_0,x_1]$ by giving the | ||
| 149 | (approximate) values $y(s_0)$, \dots, $y(s_n)$ for many | ||
| 150 | values of $s_i\in [x_0, x_1]$. | ||
| 151 | \end{block} | ||
| 152 | \end{frame} | ||
| 153 | |||
| 154 | \begin{frame}{Euler's method} | ||
| 155 | \begin{block}{Idea} | ||
| 156 | For $h$ small | ||
| 157 | \begin{align*} | ||
| 158 | y'(x)\approx\frac{y(x+h)-y(x)}{h} | ||
| 159 | \end{align*} | ||
| 160 | which implies | ||
| 161 | \begin{align*} | ||
| 162 | y(x+h) \approx y(x) + h\cdot f(x, y(x)) | ||
| 163 | \end{align*} | ||
| 164 | \end{block} | ||
| 165 | \end{frame} | ||
| 166 | |||
| 167 | \begin{frame}{Euler's method} | ||
| 168 | \begin{block}{Algorithm} | ||
| 169 | \textbf{Input:} the data $f(x,y)$, $x_0$, $y_0$ and $x_1$ describing | ||
| 170 | the problem and the desired range for the solution. | ||
| 171 | |||
| 172 | \vspace{0.3cm} | ||
| 173 | \textbf{Output:} $x_0=s_0 < s_1 < \dots < s_n=x_1$ and | ||
| 174 | $y_0, \dots, y_n$ such that $y_i\approx y(s_i)$. | ||
| 175 | |||
| 176 | \vspace{0.3cm} | ||
| 177 | \begin{enumerate} | ||
| 178 | \item Choose a value $n$ and let | ||
| 179 | $h=\frac{x_1-x_0}{n}$ and $s_i=x_0+ih$ | ||
| 180 | \item For $i=0,\dots, n-1$ compute | ||
| 181 | $y_{i+1}=y_i+h\cdot f(s_i, y_i)$ | ||
| 182 | \item Return $s_0, \dots, s_n$ and $y_0, \dots, y_n$ | ||
| 183 | \end{enumerate} | ||
| 184 | \end{block} | ||
| 185 | \end{frame} | ||
| 186 | |||
| 187 | \begin{frame}{Euler's method} | ||
| 188 | \begin{itemize} | ||
| 189 | \item Very simple and fast | ||
| 190 | \item Generalization for higher-order equations: Runge-Kutta methods | ||
| 191 | \item A similar idea works for some PDEs | ||
| 192 | \end{itemize} | ||
| 193 | \end{frame} | ||
| 194 | |||
| 195 | \begin{frame}{The heat equation (PDE)} | ||
| 196 | \begin{align*} | ||
| 197 | \frac{\partial u}{\partial t} = \frac{\partial^2 u}{\partial x_1^2} + | ||
| 198 | \frac{\partial^2 u}{\partial x_2^2} + \cdots + | ||
| 199 | \frac{\partial^2 u}{\partial x_n^2} | ||
| 200 | \end{align*} | ||
| 201 | |||
| 202 | Where | ||
| 203 | \[u(x_1,x_2,\dots,x_n,t): \mathbb R^n\times \mathbb R_+\to \mathbb R\] | ||
| 204 | describes the quantity of heat at the point $(x_1,\dots x_n)$ at time $t$. | ||
| 205 | |||
| 206 | \vspace{0.3cm} It appears also outside thermodynamics: mathematical finance | ||
| 207 | (\href{https://en.wikipedia.org/wiki/Black\%E2\%80\%93Scholes\_equation}% | ||
| 208 | {Black-Scholes equation}), quantum mechanics | ||
| 209 | (\href{https://en.wikipedia.org/wiki/Schr\%C3\%B6dinger\_equation}% | ||
| 210 | {Schrödinger equation}), image analysis\dots | ||
| 211 | \end{frame} | ||
| 212 | |||
| 213 | \begin{frame}{A simple case ($n=1$, in $[0,1]^2$)} | ||
| 214 | \begin{block}{Problem} | ||
| 215 | Given $u_0(t)$, $u_1(t)$ and $u^0(x)$, find an approximation | ||
| 216 | for $u(x,t)$ such that | ||
| 217 | \begin{align*} | ||
| 218 | \begin{cases} | ||
| 219 | \frac{\partial u}{\partial t} = | ||
| 220 | \frac{\partial^2 u}{\partial x^2} \\ | ||
| 221 | u(0,t) = u_{(0)}(t) \quad \text{(boundary condition)}\\ | ||
| 222 | u(1,t) = u_{(1)}(t) \quad \text{(boundary condition)}\\ | ||
| 223 | u(x,0) = u^0(x) \quad \text{(initial condition)} | ||
| 224 | \end{cases} | ||
| 225 | \end{align*} | ||
| 226 | \end{block} | ||
| 227 | |||
| 228 | \begin{block}{Approximation} | ||
| 229 | Values $u_i^j\approx u(s_i, r^j)$ for | ||
| 230 | $(s_i,r^j)\in [0,1]\times [0,1]$ | ||
| 231 | \end{block} | ||
| 232 | \end{frame} | ||
| 233 | |||
| 234 | \begin{frame}{Idea} | ||
| 235 | For $k$ small: | ||
| 236 | \begin{align*} | ||
| 237 | \frac{\partial u(x,t)}{\partial t} \approx \frac{u(x,t+k)-u(x,t)}{k}\\ | ||
| 238 | \end{align*} | ||
| 239 | For $h$ small (left limit + right limit): | ||
| 240 | \begin{align*} | ||
| 241 | \frac{\partial^2 u(x,t)}{\partial x^2} &\approx | ||
| 242 | \frac{\partial}{\partial x}\left( | ||
| 243 | \frac{u(x,t) - u(x-h,t)}{h} | ||
| 244 | \right)\\ | ||
| 245 | &\approx \frac1h\left( | ||
| 246 | \frac{\partial u(x,t)}{\partial x} - | ||
| 247 | \frac{\partial u(x-h,t)}{\partial x} | ||
| 248 | \right)\\ | ||
| 249 | &\approx \frac1h\left( | ||
| 250 | \frac{u(x+h,t) - u(x,t)}{h} - \frac{u(x,t)-u(x-h,t)}{h} | ||
| 251 | \right)\\ | ||
| 252 | &\approx \frac{u(x+h,t)-2u(x,t)+u(x-h,t)}{h^2} | ||
| 253 | \end{align*} | ||
| 254 | \end{frame} | ||
| 255 | |||
| 256 | \begin{frame}{Idea} | ||
| 257 | From the equation | ||
| 258 | \begin{align*} | ||
| 259 | \frac{u_i^{j+1}-u_i^j}{k}= \frac{u_{i+1}^j-2u_{i}^j+u_{i-1}^j}{h^2} | ||
| 260 | \end{align*} | ||
| 261 | we find the formula | ||
| 262 | \begin{align*} | ||
| 263 | u_i^{j+1} = \frac{k}{h^2}\left(u_{i+1}^j - 2u_i^j + u_{i-1}^j\right) | ||
| 264 | + u_i^j | ||
| 265 | \end{align*} | ||
| 266 | \end{frame} | ||
| 267 | |||
| 268 | \begin{frame}{Finite difference method for the heat equation} | ||
| 269 | \begin{block}{Algorithm} | ||
| 270 | \textbf{Input:} $u_{(0)}^j$, $u_{(1)}^j$ (boundary) | ||
| 271 | and $u_i^0$ (initial). | ||
| 272 | |||
| 273 | \vspace{0.3cm} | ||
| 274 | \textbf{Output:} values $u_i^j$ approximating a solution. | ||
| 275 | |||
| 276 | \vspace{0.3cm} | ||
| 277 | \begin{enumerate} | ||
| 278 | \item Let $m=\operatorname{len}(u_0)-1$, | ||
| 279 | $n=\operatorname{len}(u^0)-1$ and $k=1/m$, $h=1/n$ | ||
| 280 | %\begin{align*} | ||
| 281 | % \begin{array}{cccc} | ||
| 282 | % k=\frac{t_1-t_0}{m}, & h=\frac{x_1-x_0}{n}, & | ||
| 283 | % r^j = t_0 +jk, & s_i = x_0+ih | ||
| 284 | % \end{array} | ||
| 285 | %\end{align*} | ||
| 286 | \item For $j=0,\dots, m-1$ do the following: | ||
| 287 | \begin{itemize} | ||
| 288 | \item For $i=1,\dots, n-1$ compute | ||
| 289 | \begin{align*} | ||
| 290 | u_i^{j+1} = \frac{k}{h^2}\left(u_{i+1}^j - | ||
| 291 | 2u_i^j + u_{i-1}^j\right) + u_i^j | ||
| 292 | \end{align*} | ||
| 293 | \end{itemize} | ||
| 294 | \item Return the $u_i^j$ | ||
| 295 | \end{enumerate} | ||
| 296 | \end{block} | ||
| 297 | \end{frame} | ||
| 298 | |||
| 299 | \begin{frame}{Other PDEs} | ||
| 300 | \begin{itemize} | ||
| 301 | \item In general, there is no generic method | ||
| 302 | \item You might need to write specific code for your equation | ||
| 303 | \item Some packages exists | ||
| 304 | (e.g. \href{https://wiki.octave.org/Fem-fenics}{fem-fenics} for | ||
| 305 | \href{https://www.gnu.org/software/octave/index}{Gnu Octave}) | ||
| 306 | \end{itemize} | ||
| 307 | \end{frame} | ||
| 308 | |||
| 309 | \end{document} | ||
diff --git a/src/Lecture7/slides/X2-StudentsRequests.toc b/src/Lecture7/slides/X2-StudentsRequests.toc new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Lecture7/slides/X2-StudentsRequests.toc | |||
diff --git a/src/Lecture7/slides/X2-StudentsRequests.vrb b/src/Lecture7/slides/X2-StudentsRequests.vrb new file mode 100644 index 0000000..57dfae6 --- /dev/null +++ b/src/Lecture7/slides/X2-StudentsRequests.vrb | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | \frametitle{Fibonacci with memorization} | ||
| 2 | \begin{adjustbox}{scale={0.85}{0.9},center} | ||
| 3 | \begin{tikzcd}[column sep=1mm] | ||
| 4 | & & & & & & & & F(5) \ar[drrr] \ar[dlll]\\ | ||
| 5 | & & & & & F(4)\ar[dll]\ar[dr] & & & & & & {\color{blue}F(3)}\\ | ||
| 6 | & & & F(3) \ar[dl]\ar[dr] & & & {\color{blue}F(2)}\\ | ||
| 7 | & & F(2) \ar[dl]\ar[dr] & & {\color{blue}F(1)} \\ | ||
| 8 | & F(1) & & F(0) | ||
| 9 | \end{tikzcd} | ||
| 10 | \end{adjustbox} | ||
diff --git a/src/Lecture7/slides/img/DH.svg b/src/Lecture7/slides/img/DH.svg new file mode 100644 index 0000000..1ea0408 --- /dev/null +++ b/src/Lecture7/slides/img/DH.svg | |||
| @@ -0,0 +1,181 @@ | |||
| 1 | <svg width="426.5" height="641" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
| 2 | <g id="k" style=""> | ||
| 3 | <ellipse id="o" cx="45.75" cy="630.2" rx="45" ry="10" fill="#796300" stroke="#000" stroke-width="1.5"/> | ||
| 4 | <path fill="#796300" stroke="#000" stroke-width="1.5" d="m0.75 630.2v-60h90v60"/> | ||
| 5 | <use transform="translate(0,-60)" style="" xlink:href="#o"/> | ||
| 6 | </g> | ||
| 7 | <use transform="translate(335)" style="" xlink:href="#k"/> | ||
| 8 | <g id="j" style=""> | ||
| 9 | <ellipse id="n" cx="45.75" cy="520.2" rx="45" ry="10" fill="#ff5a00" stroke="#000" stroke-width="1.5"/> | ||
| 10 | <path fill="#ff5a00" stroke="#000" stroke-width="1.5" d="m0.75 520.2v-20h90v20"/> | ||
| 11 | <use transform="translate(0,-20)" style="" xlink:href="#n"/> | ||
| 12 | </g> | ||
| 13 | <g id="i" style=""> | ||
| 14 | <ellipse id="m" cx="380.8" cy="520.2" rx="45" ry="10" fill="#5dcac5" stroke="#000" stroke-width="1.5"/> | ||
| 15 | <path fill="#5dcac5" stroke="#000" stroke-width="1.5" d="m335.8 520.2v-20h90v20"/> | ||
| 16 | <use transform="translate(0,-20)" style="" xlink:href="#m"/> | ||
| 17 | </g> | ||
| 18 | <g id="h" style=""> | ||
| 19 | <g id="c" style=""> | ||
| 20 | <path fill="#fff" stroke="#000" stroke-width="1.5" d="m0.75 450.2v-60h90v60"/> | ||
| 21 | <ellipse cx="45.75" cy="390.2" rx="45" ry="10" fill="#fff" stroke="#000" stroke-width="1.5"/> | ||
| 22 | </g> | ||
| 23 | <g style=""> | ||
| 24 | <ellipse id="l" cx="45.75" cy="450.2" rx="45" ry="10" fill="#93bbff" stroke="#000" stroke-width="1.5"/> | ||
| 25 | <path fill="#93bbff" stroke="#000" stroke-width="1.5" d="m0.75 450.2v-40h90v40"/> | ||
| 26 | <use transform="translate(0,-40)" style="" xlink:href="#l"/> | ||
| 27 | </g> | ||
| 28 | </g> | ||
| 29 | <g id="g" style=""> | ||
| 30 | <use transform="translate(335)" style="" xlink:href="#c"/> | ||
| 31 | <g style=""> | ||
| 32 | <ellipse id="p" cx="380.8" cy="450.2" rx="45" ry="10" fill="#ffbf61" stroke="#000" stroke-width="1.5"/> | ||
| 33 | <path fill="#ffbe60" stroke="#000" stroke-width="1.5" d="m335.8 450.2v-40h90v40"/> | ||
| 34 | <use transform="translate(0,-40)" style="" xlink:href="#p"/> | ||
| 35 | </g> | ||
| 36 | </g> | ||
| 37 | <use transform="translate(-335,-160)" style="" xlink:href="#g"/> | ||
| 38 | <use transform="translate(335,-160)" style="" xlink:href="#h"/> | ||
| 39 | <use transform="translate(0,-340)" style="" xlink:href="#j"/> | ||
| 40 | <use transform="translate(0,-340)" style="" xlink:href="#i"/> | ||
| 41 | <g id="f" style=""> | ||
| 42 | <use transform="translate(0,-340)" style="" xlink:href="#c"/> | ||
| 43 | <g style=""> | ||
| 44 | <use transform="translate(0,20)" style="" xlink:href="#q"/> | ||
| 45 | <path fill="#ff0" stroke="#000" stroke-width="1.5" d="m0.75 110.2v-20h90v20"/> | ||
| 46 | <ellipse id="q" cx="45.75" cy="90.25" rx="45" ry="10" fill="#ff0" stroke="#000" stroke-width="1.5"/> | ||
| 47 | </g> | ||
| 48 | </g> | ||
| 49 | <use transform="translate(335)" style="" xlink:href="#f"/> | ||
| 50 | <g id="e" style=""> | ||
| 51 | <path stroke="#000" stroke-width="1.5" d="m91.5 301 243.5 78.5"/> | ||
| 52 | <path d="m326.4 372.8 2.406 4.719-4.719 2.406 13.66 0.4687" style=""/> | ||
| 53 | </g> | ||
| 54 | <use transform="matrix(-1,0,0,1,427.5,0)" style="" xlink:href="#e"/> | ||
| 55 | <g aria-label="Common secret"> | ||
| 56 | <path d="m146.9 606.7q-2.484 0-3.726-1.674-1.224-1.674-1.224-4.824t1.224-4.824q1.242-1.674 3.726-1.674 3.618 0 4.446 3.618l-2.52 0.612q-0.234-1.008-0.666-1.53t-1.314-0.522q-1.062 0-1.548 0.828-0.468 0.828-0.468 2.394v2.196q0 1.566 0.468 2.394 0.486 0.828 1.548 0.828 0.882 0 1.314-0.522t0.666-1.53l2.52 0.612q-0.828 3.618-4.446 3.618z"/> | ||
| 57 | <path d="m157.4 606.7q-2.178 0-3.42-1.296-1.242-1.314-1.242-3.564t1.242-3.546q1.242-1.314 3.42-1.314t3.42 1.314q1.242 1.296 1.242 3.546t-1.242 3.564q-1.242 1.296-3.42 1.296zm0-1.98q0.9 0 1.404-0.558t0.504-1.584v-1.476q0-1.026-0.504-1.584t-1.404-0.558-1.404 0.558-0.504 1.584v1.476q0 1.026 0.504 1.584t1.404 0.558z"/> | ||
| 58 | <path d="m164.1 597.1h2.664v1.602h0.108q0.27-0.828 0.9-1.314 0.648-0.504 1.638-0.504 0.972 0 1.656 0.486t0.99 1.422h0.054q0.27-0.828 1.044-1.368 0.792-0.54 1.836-0.54 1.368 0 2.088 0.99 0.738 0.972 0.738 2.754v5.922h-2.664v-5.706q0-0.918-0.324-1.35-0.306-0.45-0.972-0.45-0.648 0-1.116 0.36-0.45 0.36-0.45 1.026v6.12h-2.664v-5.706q0-1.8-1.296-1.8-0.63 0-1.098 0.36t-0.468 1.026v6.12h-2.664z"/> | ||
| 59 | <path d="m180.3 597.1h2.664v1.602h0.108q0.27-0.828 0.9-1.314 0.648-0.504 1.638-0.504 0.972 0 1.656 0.486t0.99 1.422h0.054q0.27-0.828 1.044-1.368 0.792-0.54 1.836-0.54 1.368 0 2.088 0.99 0.738 0.972 0.738 2.754v5.922h-2.664v-5.706q0-0.918-0.324-1.35-0.306-0.45-0.972-0.45-0.648 0-1.116 0.36-0.45 0.36-0.45 1.026v6.12h-2.664v-5.706q0-1.8-1.296-1.8-0.63 0-1.098 0.36t-0.468 1.026v6.12h-2.664z"/> | ||
| 60 | <path d="m200.6 606.7q-2.178 0-3.42-1.296-1.242-1.314-1.242-3.564t1.242-3.546q1.242-1.314 3.42-1.314t3.42 1.314q1.242 1.296 1.242 3.546t-1.242 3.564q-1.242 1.296-3.42 1.296zm0-1.98q0.9 0 1.404-0.558t0.504-1.584v-1.476q0-1.026-0.504-1.584t-1.404-0.558-1.404 0.558-0.504 1.584v1.476q0 1.026 0.504 1.584t1.404 0.558z"/> | ||
| 61 | <path d="m207.2 606.5v-9.288h2.664v1.692h0.108q0.342-0.864 1.008-1.386 0.684-0.522 1.728-0.522 1.368 0 2.196 0.918t0.828 2.574v6.012h-2.664v-5.652q0-0.882-0.396-1.332-0.396-0.468-1.17-0.468-0.666 0-1.152 0.36t-0.486 0.99v6.102z"/> | ||
| 62 | <path d="m230.2 606.7q-1.53 0-2.682-0.468t-1.728-1.278l1.494-1.386q1.152 1.26 2.934 1.26 0.792 0 1.242-0.252t0.45-0.738q0-0.36-0.288-0.522-0.27-0.18-0.864-0.27l-1.494-0.234q-1.368-0.216-2.178-0.846-0.792-0.63-0.792-1.872 0-1.458 1.116-2.286 1.134-0.828 3.132-0.828 2.646 0 3.87 1.422l-1.332 1.512q-0.432-0.486-1.098-0.774t-1.53-0.288q-0.756 0-1.152 0.252-0.396 0.234-0.396 0.684 0 0.378 0.27 0.558 0.288 0.162 0.882 0.252l1.476 0.234q1.386 0.216 2.178 0.846 0.81 0.63 0.81 1.872 0 1.458-1.134 2.304t-3.186 0.846z"/> | ||
| 63 | <path d="m241.4 606.7q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 64 | <path d="m252.3 606.7q-2.196 0-3.456-1.296-1.242-1.296-1.242-3.564 0-2.25 1.242-3.546 1.26-1.314 3.438-1.314 2.79 0 3.87 2.268l-2.052 1.116q-0.27-0.594-0.702-0.918-0.414-0.342-1.116-0.342-0.9 0-1.404 0.54-0.504 0.522-0.504 1.44v1.512q0 0.936 0.504 1.458t1.44 0.522q0.72 0 1.17-0.324 0.468-0.342 0.792-0.972l2.016 1.152q-0.522 1.062-1.512 1.674-0.99 0.594-2.484 0.594z"/> | ||
| 65 | <path d="m258.6 597.2h2.664v2.628h0.126q0.666-2.628 2.97-2.628h0.342v2.448h-1.44q-0.954 0-1.476 0.576-0.522 0.558-0.522 1.44v4.824h-2.664z"/> | ||
| 66 | <path d="m271 606.7q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 67 | <path d="m281.4 603.8q0 0.252 0.18 0.432t0.432 0.18h1.566v2.07h-1.998q-1.404 0-2.124-0.72-0.72-0.738-0.72-1.962v-4.536h-1.8v-2.07h1.8v-3.276h2.664v3.276h2.178v2.07h-2.178z"/> | ||
| 68 | </g> | ||
| 69 | <use transform="translate(0 340)" style="" xlink:href="#a"/> | ||
| 70 | <use transform="translate(335 340)" style="" xlink:href="#a"/> | ||
| 71 | <use width="100%" height="100%" transform="translate(0,340)" xlink:href="#d"/> | ||
| 72 | <use transform="translate(0,340)" style="" xlink:href="#b"/> | ||
| 73 | <use transform="translate(335,340)" style="" xlink:href="#b"/> | ||
| 74 | <g aria-label="Public transport"> | ||
| 75 | <path d="m139.9 311.4v-12.56h4.86q1.836 0 2.844 1.08 1.008 1.062 1.008 2.916t-1.008 2.934q-1.008 1.062-2.844 1.062h-2.142v4.572zm2.718-6.75h1.458q0.936 0 1.314-0.36t0.378-1.188v-0.54q0-0.828-0.378-1.188t-1.314-0.36h-1.458z"/> | ||
| 76 | <path d="m156.3 309.7h-0.108q-0.342 0.864-1.026 1.386-0.666 0.522-1.71 0.522-1.368 0-2.196-0.918t-0.828-2.574v-6.012h2.664v5.652q0 0.882 0.396 1.35 0.396 0.45 1.17 0.45 0.666 0 1.152-0.36t0.486-0.99v-6.102h2.664v9.288h-2.664z"/> | ||
| 77 | <path d="m161.2 298.1h2.664v5.724h0.126q0.378-0.9 1.026-1.404 0.666-0.504 1.728-0.504 1.602 0 2.538 1.224 0.954 1.206 0.954 3.636t-0.954 3.654q-0.936 1.206-2.538 1.206-1.062 0-1.728-0.504-0.648-0.504-1.026-1.404h-0.126v1.692h-2.664zm4.392 11.47q0.882 0 1.368-0.54 0.504-0.558 0.504-1.53v-1.44q0-0.972-0.504-1.512-0.486-0.558-1.368-0.558-0.756 0-1.242 0.36t-0.486 1.062v2.736q0 0.702 0.486 1.062t1.242 0.36z"/> | ||
| 78 | <path d="m174.7 311.4q-2.646 0-2.646-2.592v-10.73h2.664v10.66q0 0.288 0.144 0.45 0.162 0.144 0.45 0.144h0.594v2.07z"/> | ||
| 79 | <path d="m180.5 298v2.844h-2.862v-2.844zm-2.772 4.122h2.664v9.288h-2.664z"/> | ||
| 80 | <path d="m187.5 311.6q-2.196 0-3.456-1.296-1.242-1.296-1.242-3.564 0-2.25 1.242-3.546 1.26-1.314 3.438-1.314 2.79 0 3.87 2.268l-2.052 1.116q-0.27-0.594-0.702-0.918-0.414-0.342-1.116-0.342-0.9 0-1.404 0.54-0.504 0.522-0.504 1.44v1.512q0 0.936 0.504 1.458t1.44 0.522q0.72 0 1.17-0.324 0.468-0.342 0.792-0.972l2.016 1.152q-0.522 1.062-1.512 1.674-0.99 0.594-2.484 0.594z"/> | ||
| 81 | <path d="m205.9 308.7q0 0.252 0.18 0.432t0.432 0.18h1.566v2.07h-1.998q-1.404 0-2.124-0.72-0.72-0.738-0.72-1.962v-4.536h-1.8v-2.07h1.8v-3.276h2.664v3.276h2.178v2.07h-2.178z"/> | ||
| 82 | <path d="m210 302.1h2.664v2.628h0.126q0.666-2.628 2.97-2.628h0.342v2.448h-1.44q-0.954 0-1.476 0.576-0.522 0.558-0.522 1.44v4.824h-2.664z"/> | ||
| 83 | <path d="m225.6 311.4q-0.828 0-1.35-0.432-0.504-0.432-0.576-1.206h-0.09q-0.234 0.9-0.99 1.386-0.756 0.468-1.836 0.468-1.368 0-2.178-0.738t-0.81-2.034q0-2.862 4.176-2.862h1.494v-0.468q0-0.846-0.396-1.26t-1.296-0.414q-0.792 0-1.332 0.306-0.522 0.306-0.936 0.864l-1.458-1.296q0.486-0.828 1.512-1.314 1.026-0.504 2.52-0.504 1.926 0 2.988 0.9 1.062 0.882 1.062 2.61v3.456q0 0.252 0.18 0.432t0.432 0.18h0.414v1.926zm-3.834-1.53q0.738 0 1.206-0.342 0.468-0.36 0.468-0.99v-1.116h-1.422q-0.792 0-1.224 0.288-0.414 0.27-0.414 0.81v0.36q0 0.486 0.36 0.738 0.378 0.252 1.026 0.252z"/> | ||
| 84 | <path d="m228.8 311.4v-9.288h2.664v1.692h0.108q0.342-0.864 1.008-1.386 0.684-0.522 1.728-0.522 1.368 0 2.196 0.918t0.828 2.574v6.012h-2.664v-5.652q0-0.882-0.396-1.332-0.396-0.468-1.17-0.468-0.666 0-1.152 0.36t-0.486 0.99v6.102z"/> | ||
| 85 | <path d="m243.7 311.6q-1.53 0-2.682-0.468t-1.728-1.278l1.494-1.386q1.152 1.26 2.934 1.26 0.792 0 1.242-0.252t0.45-0.738q0-0.36-0.288-0.522-0.27-0.18-0.864-0.27l-1.494-0.234q-1.368-0.216-2.178-0.846-0.792-0.63-0.792-1.872 0-1.458 1.116-2.286 1.134-0.828 3.132-0.828 2.646 0 3.87 1.422l-1.332 1.512q-0.432-0.486-1.098-0.774t-1.53-0.288q-0.756 0-1.152 0.252-0.396 0.234-0.396 0.684 0 0.378 0.27 0.558 0.288 0.162 0.882 0.252l1.476 0.234q1.386 0.216 2.178 0.846 0.81 0.63 0.81 1.872 0 1.458-1.134 2.304t-3.186 0.846z"/> | ||
| 86 | <path d="m250.2 302.1h2.664v1.692h0.126q0.378-0.9 1.026-1.404 0.666-0.504 1.728-0.504 1.602 0 2.538 1.224 0.954 1.206 0.954 3.636t-0.954 3.654q-0.936 1.206-2.538 1.206-1.062 0-1.728-0.504-0.648-0.504-1.026-1.404h-0.126v5.292h-2.664zm4.392 7.434q0.882 0 1.368-0.54 0.504-0.558 0.504-1.53v-1.44q0-0.972-0.504-1.512-0.486-0.558-1.368-0.558-0.756 0-1.242 0.36t-0.486 1.062v2.736q0 0.702 0.486 1.062t1.242 0.36z"/> | ||
| 87 | <path d="m265.4 311.6q-2.178 0-3.42-1.296-1.242-1.314-1.242-3.564t1.242-3.546q1.242-1.314 3.42-1.314t3.42 1.314q1.242 1.296 1.242 3.546t-1.242 3.564q-1.242 1.296-3.42 1.296zm0-1.98q0.9 0 1.404-0.558t0.504-1.584v-1.476q0-1.026-0.504-1.584t-1.404-0.558-1.404 0.558-0.504 1.584v1.476q0 1.026 0.504 1.584t1.404 0.558z"/> | ||
| 88 | <path d="m272 302.1h2.664v2.628h0.126q0.666-2.628 2.97-2.628h0.342v2.448h-1.44q-0.954 0-1.476 0.576-0.522 0.558-0.522 1.44v4.824h-2.664z"/> | ||
| 89 | <path d="m284.1 308.7q0 0.252 0.18 0.432t0.432 0.18h1.566v2.07h-1.998q-1.404 0-2.124-0.72-0.72-0.738-0.72-1.962v-4.536h-1.8v-2.07h1.8v-3.276h2.664v3.276h2.178v2.07h-2.178z"/> | ||
| 90 | </g> | ||
| 91 | <g id="a" aria-label="="> | ||
| 92 | <path d="m41.47 204.4v-2.124h8.568v2.124zm0 4.14v-2.124h8.568v2.124z"/> | ||
| 93 | </g> | ||
| 94 | <use transform="translate(335)" style="" xlink:href="#a"/> | ||
| 95 | <g id="d" aria-label="Secret colours"> | ||
| 96 | <path d="m150.5 177q-1.53 0-2.718-0.504-1.188-0.522-1.926-1.44l1.566-1.728q0.666 0.738 1.476 1.116 0.828 0.36 1.692 0.36 0.954 0 1.458-0.432 0.522-0.432 0.522-1.242 0-0.666-0.396-1.008-0.378-0.342-1.296-0.486l-1.314-0.216q-1.62-0.27-2.412-1.206-0.792-0.954-0.792-2.394 0-1.8 1.188-2.808t3.33-1.008q1.404 0 2.502 0.45 1.098 0.432 1.782 1.224l-1.53 1.71q-0.504-0.576-1.206-0.882t-1.53-0.306q-1.818 0-1.818 1.494 0 0.63 0.396 0.972 0.396 0.324 1.332 0.486l1.314 0.234q1.53 0.27 2.358 1.17t0.828 2.358q0 1.188-0.558 2.124-0.54 0.918-1.638 1.44-1.08 0.522-2.61 0.522z"/> | ||
| 97 | <path d="m161.7 177q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 98 | <path d="m172.7 177q-2.196 0-3.456-1.296-1.242-1.296-1.242-3.564 0-2.25 1.242-3.546 1.26-1.314 3.438-1.314 2.79 0 3.87 2.268l-2.052 1.116q-0.27-0.594-0.702-0.918-0.414-0.342-1.116-0.342-0.9 0-1.404 0.54-0.504 0.522-0.504 1.44v1.512q0 0.936 0.504 1.458t1.44 0.522q0.72 0 1.17-0.324 0.468-0.342 0.792-0.972l2.016 1.152q-0.522 1.062-1.512 1.674-0.99 0.594-2.484 0.594z"/> | ||
| 99 | <path d="m179 167.5h2.664v2.628h0.126q0.666-2.628 2.97-2.628h0.342v2.448h-1.44q-0.954 0-1.476 0.576-0.522 0.558-0.522 1.44v4.824h-2.664z"/> | ||
| 100 | <path d="m191.4 177q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 101 | <path d="m201.8 174.1q0 0.252 0.18 0.432t0.432 0.18h1.566v2.07h-1.998q-1.404 0-2.124-0.72-0.72-0.738-0.72-1.962v-4.536h-1.8v-2.07h1.8v-3.276h2.664v3.276h2.178v2.07h-2.178z"/> | ||
| 102 | <path d="m218.5 177q-2.196 0-3.456-1.296-1.242-1.296-1.242-3.564 0-2.25 1.242-3.546 1.26-1.314 3.438-1.314 2.79 0 3.87 2.268l-2.052 1.116q-0.27-0.594-0.702-0.918-0.414-0.342-1.116-0.342-0.9 0-1.404 0.54-0.504 0.522-0.504 1.44v1.512q0 0.936 0.504 1.458t1.44 0.522q0.72 0 1.17-0.324 0.468-0.342 0.792-0.972l2.016 1.152q-0.522 1.062-1.512 1.674-0.99 0.594-2.484 0.594z"/> | ||
| 103 | <path d="m228.9 177q-2.178 0-3.42-1.296-1.242-1.314-1.242-3.564t1.242-3.546q1.242-1.314 3.42-1.314t3.42 1.314q1.242 1.296 1.242 3.546t-1.242 3.564q-1.242 1.296-3.42 1.296zm0-1.98q0.9 0 1.404-0.558t0.504-1.584v-1.476q0-1.026-0.504-1.584t-1.404-0.558-1.404 0.558-0.504 1.584v1.476q0 1.026 0.504 1.584t1.404 0.558z"/> | ||
| 104 | <path d="m238.1 176.8q-2.646 0-2.646-2.592v-10.73h2.664v10.66q0 0.288 0.144 0.45 0.162 0.144 0.45 0.144h0.594v2.07z"/> | ||
| 105 | <path d="m245.1 177q-2.178 0-3.42-1.296-1.242-1.314-1.242-3.564t1.242-3.546q1.242-1.314 3.42-1.314t3.42 1.314q1.242 1.296 1.242 3.546t-1.242 3.564q-1.242 1.296-3.42 1.296zm0-1.98q0.9 0 1.404-0.558t0.504-1.584v-1.476q0-1.026-0.504-1.584t-1.404-0.558-1.404 0.558-0.504 1.584v1.476q0 1.026 0.504 1.584t1.404 0.558z"/> | ||
| 106 | <path d="m257.5 175.1h-0.108q-0.342 0.864-1.026 1.386-0.666 0.522-1.71 0.522-1.368 0-2.196-0.918t-0.828-2.574v-6.012h2.664v5.652q0 0.882 0.396 1.35 0.396 0.45 1.17 0.45 0.666 0 1.152-0.36t0.486-0.99v-6.102h2.664v9.288h-2.664z"/> | ||
| 107 | <path d="m262.6 167.5h2.664v2.628h0.126q0.666-2.628 2.97-2.628h0.342v2.448h-1.44q-0.954 0-1.476 0.576-0.522 0.558-0.522 1.44v4.824h-2.664z"/> | ||
| 108 | <path d="m274.7 177q-1.53 0-2.682-0.468t-1.728-1.278l1.494-1.386q1.152 1.26 2.934 1.26 0.792 0 1.242-0.252t0.45-0.738q0-0.36-0.288-0.522-0.27-0.18-0.864-0.27l-1.494-0.234q-1.368-0.216-2.178-0.846-0.792-0.63-0.792-1.872 0-1.458 1.116-2.286 1.134-0.828 3.132-0.828 2.646 0 3.87 1.422l-1.332 1.512q-0.432-0.486-1.098-0.774t-1.53-0.288q-0.756 0-1.152 0.252-0.396 0.234-0.396 0.684 0 0.378 0.27 0.558 0.288 0.162 0.882 0.252l1.476 0.234q1.386 0.216 2.178 0.846 0.81 0.63 0.81 1.872 0 1.458-1.134 2.304t-3.186 0.846z"/> | ||
| 109 | </g> | ||
| 110 | <g id="b" aria-label="+"> | ||
| 111 | <path d="m44.6 139.8v-3.312h-3.132v-2.124h3.132v-3.312h2.304v3.312h3.132v2.124h-3.132v3.312z"/> | ||
| 112 | </g> | ||
| 113 | <use transform="translate(335)" style="" xlink:href="#b"/> | ||
| 114 | <g aria-label="Common paint"> | ||
| 115 | <path d="m153.7 85.37q-2.484 0-3.726-1.674-1.224-1.674-1.224-4.824t1.224-4.824q1.242-1.674 3.726-1.674 3.618 0 4.446 3.618l-2.52 0.612q-0.234-1.008-0.666-1.53t-1.314-0.522q-1.062 0-1.548 0.828-0.468 0.828-0.468 2.394v2.196q0 1.566 0.468 2.394 0.486 0.828 1.548 0.828 0.882 0 1.314-0.522t0.666-1.53l2.52 0.612q-0.828 3.618-4.446 3.618z"/> | ||
| 116 | <path d="m164.2 85.37q-2.178 0-3.42-1.296-1.242-1.314-1.242-3.564t1.242-3.546q1.242-1.314 3.42-1.314t3.42 1.314q1.242 1.296 1.242 3.546t-1.242 3.564q-1.242 1.296-3.42 1.296zm0-1.98q0.9 0 1.404-0.558t0.504-1.584v-1.476q0-1.026-0.504-1.584t-1.404-0.558-1.404 0.558-0.504 1.584v1.476q0 1.026 0.504 1.584t1.404 0.558z"/> | ||
| 117 | <path d="m170.8 75.7h2.664v1.602h0.108q0.27-0.828 0.9-1.314 0.648-0.504 1.638-0.504 0.972 0 1.656 0.486t0.99 1.422h0.054q0.27-0.828 1.044-1.368 0.792-0.54 1.836-0.54 1.368 0 2.088 0.99 0.738 0.972 0.738 2.754v5.922h-2.664v-5.706q0-0.918-0.324-1.35-0.306-0.45-0.972-0.45-0.648 0-1.116 0.36-0.45 0.36-0.45 1.026v6.12h-2.664v-5.706q0-1.8-1.296-1.8-0.63 0-1.098 0.36t-0.468 1.026v6.12h-2.664z"/> | ||
| 118 | <path d="m187 75.7h2.664v1.602h0.108q0.27-0.828 0.9-1.314 0.648-0.504 1.638-0.504 0.972 0 1.656 0.486t0.99 1.422h0.054q0.27-0.828 1.044-1.368 0.792-0.54 1.836-0.54 1.368 0 2.088 0.99 0.738 0.972 0.738 2.754v5.922h-2.664v-5.706q0-0.918-0.324-1.35-0.306-0.45-0.972-0.45-0.648 0-1.116 0.36-0.45 0.36-0.45 1.026v6.12h-2.664v-5.706q0-1.8-1.296-1.8-0.63 0-1.098 0.36t-0.468 1.026v6.12h-2.664z"/> | ||
| 119 | <path d="m207.4 85.37q-2.178 0-3.42-1.296-1.242-1.314-1.242-3.564t1.242-3.546q1.242-1.314 3.42-1.314t3.42 1.314q1.242 1.296 1.242 3.546t-1.242 3.564q-1.242 1.296-3.42 1.296zm0-1.98q0.9 0 1.404-0.558t0.504-1.584v-1.476q0-1.026-0.504-1.584t-1.404-0.558-1.404 0.558-0.504 1.584v1.476q0 1.026 0.504 1.584t1.404 0.558z"/> | ||
| 120 | <path d="m213.9 85.15v-9.288h2.664v1.692h0.108q0.342-0.864 1.008-1.386 0.684-0.522 1.728-0.522 1.368 0 2.196 0.918t0.828 2.574v6.012h-2.664v-5.652q0-0.882-0.396-1.332-0.396-0.468-1.17-0.468-0.666 0-1.152 0.36t-0.486 0.99v6.102z"/> | ||
| 121 | <path d="m232.7 75.87h2.664v1.692h0.126q0.378-0.9 1.026-1.404 0.666-0.504 1.728-0.504 1.602 0 2.538 1.224 0.954 1.206 0.954 3.636t-0.954 3.654q-0.936 1.206-2.538 1.206-1.062 0-1.728-0.504-0.648-0.504-1.026-1.404h-0.126v5.292h-2.664zm4.392 7.434q0.882 0 1.368-0.54 0.504-0.558 0.504-1.53v-1.44q0-0.972-0.504-1.512-0.486-0.558-1.368-0.558-0.756 0-1.242 0.36t-0.486 1.062v2.736q0 0.702 0.486 1.062t1.242 0.36z"/> | ||
| 122 | <path d="m251.2 85.15q-0.828 0-1.35-0.432-0.504-0.432-0.576-1.206h-0.09q-0.234 0.9-0.99 1.386-0.756 0.468-1.836 0.468-1.368 0-2.178-0.738t-0.81-2.034q0-2.862 4.176-2.862h1.494v-0.468q0-0.846-0.396-1.26t-1.296-0.414q-0.792 0-1.332 0.306-0.522 0.306-0.936 0.864l-1.458-1.296q0.486-0.828 1.512-1.314 1.026-0.504 2.52-0.504 1.926 0 2.988 0.9 1.062 0.882 1.062 2.61v3.456q0 0.252 0.18 0.432t0.432 0.18h0.414v1.926zm-3.834-1.53q0.738 0 1.206-0.342 0.468-0.36 0.468-0.99v-1.116h-1.422q-0.792 0-1.224 0.288-0.414 0.27-0.414 0.81v0.36q0 0.486 0.36 0.738 0.378 0.252 1.026 0.252z"/> | ||
| 123 | <path d="m257.4 71.74v2.844h-2.862v-2.844zm-2.772 4.122h2.664v9.288h-2.664z"/> | ||
| 124 | <path d="m259.8 85.15v-9.288h2.664v1.692h0.108q0.342-0.864 1.008-1.386 0.684-0.522 1.728-0.522 1.368 0 2.196 0.918t0.828 2.574v6.012h-2.664v-5.652q0-0.882-0.396-1.332-0.396-0.468-1.17-0.468-0.666 0-1.152 0.36t-0.486 0.99v6.102z"/> | ||
| 125 | <path d="m274.7 82.47q0 0.252 0.18 0.432t0.432 0.18h1.566v2.07h-1.998q-1.404 0-2.124-0.72-0.72-0.738-0.72-1.962v-4.536h-1.8v-2.07h1.8v-3.276h2.664v3.276h2.178v2.07h-2.178z"/> | ||
| 126 | </g> | ||
| 127 | <g aria-label="Alice"> | ||
| 128 | <path d="m21.98 24.56-1.408-5.376h-6.112l-1.376 5.376h-4.864l6.048-22.34h6.784l6.048 22.34zm-4.32-17.7h-0.256l-2.176 8.448h4.608z"/> | ||
| 129 | <path d="m34.03 24.56q-4.704 0-4.704-4.608v-19.07h4.736v18.94q0 0.512 0.256 0.8 0.288 0.256 0.8 0.256h1.056v3.68z"/> | ||
| 130 | <path d="m44.23 0.7225v5.056h-5.088v-5.056zm-4.928 7.328h4.736v16.51h-4.736z"/> | ||
| 131 | <path d="m56.77 24.95q-3.904 0-6.144-2.304-2.208-2.304-2.208-6.336 0-4 2.208-6.304 2.24-2.336 6.112-2.336 4.96 0 6.88 4.032l-3.648 1.984q-0.48-1.056-1.248-1.632-0.736-0.608-1.984-0.608-1.6 0-2.496 0.96-0.896 0.928-0.896 2.56v2.688q0 1.664 0.896 2.592t2.56 0.928q1.28 0 2.08-0.576 0.832-0.608 1.408-1.728l3.584 2.048q-0.928 1.888-2.688 2.976-1.76 1.056-4.416 1.056z"/> | ||
| 132 | <path d="m75.73 24.95q-4.096 0-6.272-2.272t-2.176-6.304q0-4.064 2.144-6.368 2.176-2.336 5.888-2.336 3.68 0 5.824 2.272 2.144 2.24 2.144 6.112v1.408h-11.3v0.288q0 1.632 1.024 2.592t2.88 0.96q2.624 0 4.352-2.048l2.56 2.784q-1.056 1.312-2.816 2.112t-4.256 0.8zm-0.384-13.89q-1.536 0-2.464 0.96-0.896 0.928-0.896 2.528v0.256h6.656v-0.256q0-1.6-0.896-2.528-0.864-0.96-2.4-0.96z"/> | ||
| 133 | </g> | ||
| 134 | <g aria-label="Bob"> | ||
| 135 | <path d="m353.8 2.226h7.84q3.232 0 4.992 1.6 1.792 1.6 1.792 4.352 0 3.648-3.648 4.704v0.192q4.352 1.056 4.352 5.344 0 2.816-1.824 4.48-1.792 1.664-4.928 1.664h-8.576zm6.496 9.472q1.728 0 2.464-0.576 0.768-0.576 0.768-2.016v-0.96q0-1.44-0.768-1.984-0.736-0.576-2.464-0.576h-1.824v6.112zm0.608 9.504q1.76 0 2.528-0.576 0.8-0.608 0.8-2.112v-0.928q0-1.472-0.8-2.08-0.768-0.608-2.528-0.608h-2.432v6.304z"/> | ||
| 136 | <path d="m380.1 24.95q-3.872 0-6.08-2.304-2.208-2.336-2.208-6.336t2.208-6.304q2.208-2.336 6.08-2.336t6.08 2.336q2.208 2.304 2.208 6.304t-2.208 6.336q-2.208 2.304-6.08 2.304zm0-3.52q1.6 0 2.496-0.992t0.896-2.816v-2.624q0-1.824-0.896-2.816t-2.496-0.992-2.496 0.992-0.896 2.816v2.624q0 1.824 0.896 2.816t2.496 0.992z"/> | ||
| 137 | <path d="m391.6 0.8825h4.736v10.18h0.224q0.672-1.6 1.824-2.496 1.184-0.896 3.072-0.896 2.848 0 4.512 2.176 1.696 2.144 1.696 6.464t-1.696 6.496q-1.664 2.144-4.512 2.144-1.888 0-3.072-0.896-1.152-0.896-1.824-2.496h-0.224v3.008h-4.736zm7.808 20.38q1.568 0 2.432-0.96 0.896-0.992 0.896-2.72v-2.56q0-1.728-0.896-2.688-0.864-0.992-2.432-0.992-1.344 0-2.208 0.64t-0.864 1.888v4.864q0 1.248 0.864 1.888t2.208 0.64z"/> | ||
| 138 | </g> | ||
| 139 | <g aria-label="(assume that mixture separation is expensive)"> | ||
| 140 | <path d="m152.4 375.8q0-1.692 0.504-3.258t1.35-2.808 1.89-2.016h2.664q-1.8 1.242-2.988 3.132t-1.188 4.032v1.836q0 2.142 1.188 4.032t2.988 3.132h-2.664q-1.044-0.774-1.89-2.016t-1.35-2.808-0.504-3.258z"/> | ||
| 141 | <path d="m168.8 381.4q-0.828 0-1.35-0.432-0.504-0.432-0.576-1.206h-0.09q-0.234 0.9-0.99 1.386-0.756 0.468-1.836 0.468-1.368 0-2.178-0.738t-0.81-2.034q0-2.862 4.176-2.862h1.494v-0.468q0-0.846-0.396-1.26t-1.296-0.414q-0.792 0-1.332 0.306-0.522 0.306-0.936 0.864l-1.458-1.296q0.486-0.828 1.512-1.314 1.026-0.504 2.52-0.504 1.926 0 2.988 0.9 1.062 0.882 1.062 2.61v3.456q0 0.252 0.18 0.432t0.432 0.18h0.414v1.926zm-3.834-1.53q0.738 0 1.206-0.342 0.468-0.36 0.468-0.99v-1.116h-1.422q-0.792 0-1.224 0.288-0.414 0.27-0.414 0.81v0.36q0 0.486 0.36 0.738 0.378 0.252 1.026 0.252z"/> | ||
| 142 | <path d="m176.1 381.6q-1.53 0-2.682-0.468t-1.728-1.278l1.494-1.386q1.152 1.26 2.934 1.26 0.792 0 1.242-0.252t0.45-0.738q0-0.36-0.288-0.522-0.27-0.18-0.864-0.27l-1.494-0.234q-1.368-0.216-2.178-0.846-0.792-0.63-0.792-1.872 0-1.458 1.116-2.286 1.134-0.828 3.132-0.828 2.646 0 3.87 1.422l-1.332 1.512q-0.432-0.486-1.098-0.774t-1.53-0.288q-0.756 0-1.152 0.252-0.396 0.234-0.396 0.684 0 0.378 0.27 0.558 0.288 0.162 0.882 0.252l1.476 0.234q1.386 0.216 2.178 0.846 0.81 0.63 0.81 1.872 0 1.458-1.134 2.304t-3.186 0.846z"/> | ||
| 143 | <path d="m186.9 381.6q-1.53 0-2.682-0.468t-1.728-1.278l1.494-1.386q1.152 1.26 2.934 1.26 0.792 0 1.242-0.252t0.45-0.738q0-0.36-0.288-0.522-0.27-0.18-0.864-0.27l-1.494-0.234q-1.368-0.216-2.178-0.846-0.792-0.63-0.792-1.872 0-1.458 1.116-2.286 1.134-0.828 3.132-0.828 2.646 0 3.87 1.422l-1.332 1.512q-0.432-0.486-1.098-0.774t-1.53-0.288q-0.756 0-1.152 0.252-0.396 0.234-0.396 0.684 0 0.378 0.27 0.558 0.288 0.162 0.882 0.252l1.476 0.234q1.386 0.216 2.178 0.846 0.81 0.63 0.81 1.872 0 1.458-1.134 2.304t-3.186 0.846z"/> | ||
| 144 | <path d="m199.4 379.7h-0.108q-0.342 0.864-1.026 1.386-0.666 0.522-1.71 0.522-1.368 0-2.196-0.918t-0.828-2.574v-6.012h2.664v5.652q0 0.882 0.396 1.35 0.396 0.45 1.17 0.45 0.666 0 1.152-0.36t0.486-0.99v-6.102h2.664v9.288h-2.664z"/> | ||
| 145 | <path d="m204.4 371.9h2.664v1.602h0.108q0.27-0.828 0.9-1.314 0.648-0.504 1.638-0.504 0.972 0 1.656 0.486t0.99 1.422h0.054q0.27-0.828 1.044-1.368 0.792-0.54 1.836-0.54 1.368 0 2.088 0.99 0.738 0.972 0.738 2.754v5.922h-2.664v-5.706q0-0.918-0.324-1.35-0.306-0.45-0.972-0.45-0.648 0-1.116 0.36-0.45 0.36-0.45 1.026v6.12h-2.664v-5.706q0-1.8-1.296-1.8-0.63 0-1.098 0.36t-0.468 1.026v6.12h-2.664z"/> | ||
| 146 | <path d="m225 381.6q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 147 | <path d="m243.5 378.7q0 0.252 0.18 0.432t0.432 0.18h1.566v2.07h-1.998q-1.404 0-2.124-0.72-0.72-0.738-0.72-1.962v-4.536h-1.8v-2.07h1.8v-3.276h2.664v3.276h2.178v2.07h-2.178z"/> | ||
| 148 | <path d="m247.5 368.1h2.664v5.724h0.108q0.342-0.864 1.008-1.386 0.684-0.522 1.728-0.522 1.368 0 2.196 0.918t0.828 2.574v6.012h-2.664v-5.652q0-0.882-0.396-1.332-0.396-0.468-1.17-0.468-0.666 0-1.152 0.36t-0.486 0.99v6.102h-2.664z"/> | ||
| 149 | <path d="m265.9 381.4q-0.828 0-1.35-0.432-0.504-0.432-0.576-1.206h-0.09q-0.234 0.9-0.99 1.386-0.756 0.468-1.836 0.468-1.368 0-2.178-0.738t-0.81-2.034q0-2.862 4.176-2.862h1.494v-0.468q0-0.846-0.396-1.26t-1.296-0.414q-0.792 0-1.332 0.306-0.522 0.306-0.936 0.864l-1.458-1.296q0.486-0.828 1.512-1.314 1.026-0.504 2.52-0.504 1.926 0 2.988 0.9 1.062 0.882 1.062 2.61v3.456q0 0.252 0.18 0.432t0.432 0.18h0.414v1.926zm-3.834-1.53q0.738 0 1.206-0.342 0.468-0.36 0.468-0.99v-1.116h-1.422q-0.792 0-1.224 0.288-0.414 0.27-0.414 0.81v0.36q0 0.486 0.36 0.738 0.378 0.252 1.026 0.252z"/> | ||
| 150 | <path d="m273.2 378.7q0 0.252 0.18 0.432t0.432 0.18h1.566v2.07h-1.998q-1.404 0-2.124-0.72-0.72-0.738-0.72-1.962v-4.536h-1.8v-2.07h1.8v-3.276h2.664v3.276h2.178v2.07h-2.178z"/> | ||
| 151 | <path d="m126.2 394.4h2.664v1.602h0.108q0.27-0.828 0.9-1.314 0.648-0.504 1.638-0.504 0.972 0 1.656 0.486t0.99 1.422h0.054q0.27-0.828 1.044-1.368 0.792-0.54 1.836-0.54 1.368 0 2.088 0.99 0.738 0.972 0.738 2.754v5.922h-2.664v-5.706q0-0.918-0.324-1.35-0.306-0.45-0.972-0.45-0.648 0-1.116 0.36-0.45 0.36-0.45 1.026v6.12h-2.664v-5.706q0-1.8-1.296-1.8-0.63 0-1.098 0.36t-0.468 1.026v6.12h-2.664z"/> | ||
| 152 | <path d="m145.3 390.5v2.844h-2.862v-2.844zm-2.772 4.122h2.664v9.288h-2.664z"/> | ||
| 153 | <path d="m147 403.9 3.474-4.716-3.24-4.572h3.042l0.99 1.494 0.756 1.206h0.144l0.774-1.206 1.008-1.494h2.79l-3.24 4.428 3.474 4.86h-3.06l-1.17-1.746-0.81-1.242h-0.144l-0.792 1.242-1.188 1.746z"/> | ||
| 154 | <path d="m162.6 401.2q0 0.252 0.18 0.432t0.432 0.18h1.566v2.07h-1.998q-1.404 0-2.124-0.72-0.72-0.738-0.72-1.962v-4.536h-1.8v-2.07h1.8v-3.276h2.664v3.276h2.178v2.07h-2.178z"/> | ||
| 155 | <path d="m172.4 402.2h-0.108q-0.342 0.864-1.026 1.386-0.666 0.522-1.71 0.522-1.368 0-2.196-0.918t-0.828-2.574v-6.012h2.664v5.652q0 0.882 0.396 1.35 0.396 0.45 1.17 0.45 0.666 0 1.152-0.36t0.486-0.99v-6.102h2.664v9.288h-2.664z"/> | ||
| 156 | <path d="m177.5 394.6h2.664v2.628h0.126q0.666-2.628 2.97-2.628h0.342v2.448h-1.44q-0.954 0-1.476 0.576-0.522 0.558-0.522 1.44v4.824h-2.664z"/> | ||
| 157 | <path d="m190 404.1q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 158 | <path d="m208.5 404.1q-1.53 0-2.682-0.468t-1.728-1.278l1.494-1.386q1.152 1.26 2.934 1.26 0.792 0 1.242-0.252t0.45-0.738q0-0.36-0.288-0.522-0.27-0.18-0.864-0.27l-1.494-0.234q-1.368-0.216-2.178-0.846-0.792-0.63-0.792-1.872 0-1.458 1.116-2.286 1.134-0.828 3.132-0.828 2.646 0 3.87 1.422l-1.332 1.512q-0.432-0.486-1.098-0.774t-1.53-0.288q-0.756 0-1.152 0.252-0.396 0.234-0.396 0.684 0 0.378 0.27 0.558 0.288 0.162 0.882 0.252l1.476 0.234q1.386 0.216 2.178 0.846 0.81 0.63 0.81 1.872 0 1.458-1.134 2.304t-3.186 0.846z"/> | ||
| 159 | <path d="m219.6 404.1q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 160 | <path d="m225.8 394.6h2.664v1.692h0.126q0.378-0.9 1.026-1.404 0.666-0.504 1.728-0.504 1.602 0 2.538 1.224 0.954 1.206 0.954 3.636t-0.954 3.654q-0.936 1.206-2.538 1.206-1.062 0-1.728-0.504-0.648-0.504-1.026-1.404h-0.126v5.292h-2.664zm4.392 7.434q0.882 0 1.368-0.54 0.504-0.558 0.504-1.53v-1.44q0-0.972-0.504-1.512-0.486-0.558-1.368-0.558-0.756 0-1.242 0.36t-0.486 1.062v2.736q0 0.702 0.486 1.062t1.242 0.36z"/> | ||
| 161 | <path d="m244.3 403.9q-0.828 0-1.35-0.432-0.504-0.432-0.576-1.206h-0.09q-0.234 0.9-0.99 1.386-0.756 0.468-1.836 0.468-1.368 0-2.178-0.738t-0.81-2.034q0-2.862 4.176-2.862h1.494v-0.468q0-0.846-0.396-1.26t-1.296-0.414q-0.792 0-1.332 0.306-0.522 0.306-0.936 0.864l-1.458-1.296q0.486-0.828 1.512-1.314 1.026-0.504 2.52-0.504 1.926 0 2.988 0.9 1.062 0.882 1.062 2.61v3.456q0 0.252 0.18 0.432t0.432 0.18h0.414v1.926zm-3.834-1.53q0.738 0 1.206-0.342 0.468-0.36 0.468-0.99v-1.116h-1.422q-0.792 0-1.224 0.288-0.414 0.27-0.414 0.81v0.36q0 0.486 0.36 0.738 0.378 0.252 1.026 0.252z"/> | ||
| 162 | <path d="m247.6 394.6h2.664v2.628h0.126q0.666-2.628 2.97-2.628h0.342v2.448h-1.44q-0.954 0-1.476 0.576-0.522 0.558-0.522 1.44v4.824h-2.664z"/> | ||
| 163 | <path d="m263.2 403.9q-0.828 0-1.35-0.432-0.504-0.432-0.576-1.206h-0.09q-0.234 0.9-0.99 1.386-0.756 0.468-1.836 0.468-1.368 0-2.178-0.738t-0.81-2.034q0-2.862 4.176-2.862h1.494v-0.468q0-0.846-0.396-1.26t-1.296-0.414q-0.792 0-1.332 0.306-0.522 0.306-0.936 0.864l-1.458-1.296q0.486-0.828 1.512-1.314 1.026-0.504 2.52-0.504 1.926 0 2.988 0.9 1.062 0.882 1.062 2.61v3.456q0 0.252 0.18 0.432t0.432 0.18h0.414v1.926zm-3.834-1.53q0.738 0 1.206-0.342 0.468-0.36 0.468-0.99v-1.116h-1.422q-0.792 0-1.224 0.288-0.414 0.27-0.414 0.81v0.36q0 0.486 0.36 0.738 0.378 0.252 1.026 0.252z"/> | ||
| 164 | <path d="m270.5 401.2q0 0.252 0.18 0.432t0.432 0.18h1.566v2.07h-1.998q-1.404 0-2.124-0.72-0.72-0.738-0.72-1.962v-4.536h-1.8v-2.07h1.8v-3.276h2.664v3.276h2.178v2.07h-2.178z"/> | ||
| 165 | <path d="m277.5 390.5v2.844h-2.862v-2.844zm-2.772 4.122h2.664v9.288h-2.664z"/> | ||
| 166 | <path d="m284.1 404.1q-2.178 0-3.42-1.296-1.242-1.314-1.242-3.564t1.242-3.546q1.242-1.314 3.42-1.314t3.42 1.314q1.242 1.296 1.242 3.546t-1.242 3.564q-1.242 1.296-3.42 1.296zm0-1.98q0.9 0 1.404-0.558t0.504-1.584v-1.476q0-1.026-0.504-1.584t-1.404-0.558-1.404 0.558-0.504 1.584v1.476q0 1.026 0.504 1.584t1.404 0.558z"/> | ||
| 167 | <path d="m290.7 403.9v-9.288h2.664v1.692h0.108q0.342-0.864 1.008-1.386 0.684-0.522 1.728-0.522 1.368 0 2.196 0.918t0.828 2.574v6.012h-2.664v-5.652q0-0.882-0.396-1.332-0.396-0.468-1.17-0.468-0.666 0-1.152 0.36t-0.486 0.99v6.102z"/> | ||
| 168 | <path d="m153.3 413v2.844h-2.862v-2.844zm-2.772 4.122h2.664v9.288h-2.664z"/> | ||
| 169 | <path d="m159.9 426.6q-1.53 0-2.682-0.468t-1.728-1.278l1.494-1.386q1.152 1.26 2.934 1.26 0.792 0 1.242-0.252t0.45-0.738q0-0.36-0.288-0.522-0.27-0.18-0.864-0.27l-1.494-0.234q-1.368-0.216-2.178-0.846-0.792-0.63-0.792-1.872 0-1.458 1.116-2.286 1.134-0.828 3.132-0.828 2.646 0 3.87 1.422l-1.332 1.512q-0.432-0.486-1.098-0.774t-1.53-0.288q-0.756 0-1.152 0.252-0.396 0.234-0.396 0.684 0 0.378 0.27 0.558 0.288 0.162 0.882 0.252l1.476 0.234q1.386 0.216 2.178 0.846 0.81 0.63 0.81 1.872 0 1.458-1.134 2.304t-3.186 0.846z"/> | ||
| 170 | <path d="m179.2 426.6q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 171 | <path d="m184.7 426.4 3.474-4.716-3.24-4.572h3.042l0.99 1.494 0.756 1.206h0.144l0.774-1.206 1.008-1.494h2.79l-3.24 4.428 3.474 4.86h-3.06l-1.17-1.746-0.81-1.242h-0.144l-0.792 1.242-1.188 1.746z"/> | ||
| 172 | <path d="m196.1 417.1h2.664v1.692h0.126q0.378-0.9 1.026-1.404 0.666-0.504 1.728-0.504 1.602 0 2.538 1.224 0.954 1.206 0.954 3.636t-0.954 3.654q-0.936 1.206-2.538 1.206-1.062 0-1.728-0.504-0.648-0.504-1.026-1.404h-0.126v5.292h-2.664zm4.392 7.434q0.882 0 1.368-0.54 0.504-0.558 0.504-1.53v-1.44q0-0.972-0.504-1.512-0.486-0.558-1.368-0.558-0.756 0-1.242 0.36t-0.486 1.062v2.736q0 0.702 0.486 1.062t1.242 0.36z"/> | ||
| 173 | <path d="m211.5 426.6q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 174 | <path d="m217.8 426.4v-9.288h2.664v1.692h0.108q0.342-0.864 1.008-1.386 0.684-0.522 1.728-0.522 1.368 0 2.196 0.918t0.828 2.574v6.012h-2.664v-5.652q0-0.882-0.396-1.332-0.396-0.468-1.17-0.468-0.666 0-1.152 0.36t-0.486 0.99v6.102z"/> | ||
| 175 | <path d="m232.8 426.6q-1.53 0-2.682-0.468t-1.728-1.278l1.494-1.386q1.152 1.26 2.934 1.26 0.792 0 1.242-0.252t0.45-0.738q0-0.36-0.288-0.522-0.27-0.18-0.864-0.27l-1.494-0.234q-1.368-0.216-2.178-0.846-0.792-0.63-0.792-1.872 0-1.458 1.116-2.286 1.134-0.828 3.132-0.828 2.646 0 3.87 1.422l-1.332 1.512q-0.432-0.486-1.098-0.774t-1.53-0.288q-0.756 0-1.152 0.252-0.396 0.234-0.396 0.684 0 0.378 0.27 0.558 0.288 0.162 0.882 0.252l1.476 0.234q1.386 0.216 2.178 0.846 0.81 0.63 0.81 1.872 0 1.458-1.134 2.304t-3.186 0.846z"/> | ||
| 176 | <path d="m242.4 413v2.844h-2.862v-2.844zm-2.772 4.122h2.664v9.288h-2.664z"/> | ||
| 177 | <path d="m247.5 426.4-3.33-9.288h2.808l1.206 3.978 0.882 3.096h0.144l0.882-3.096 1.206-3.978h2.7l-3.33 9.288z"/> | ||
| 178 | <path d="m260.1 426.6q-2.304 0-3.528-1.278t-1.224-3.546q0-2.286 1.206-3.582 1.224-1.314 3.312-1.314 2.07 0 3.276 1.278 1.206 1.26 1.206 3.438v0.792h-6.354v0.162q0 0.918 0.576 1.458t1.62 0.54q1.476 0 2.448-1.152l1.44 1.566q-0.594 0.738-1.584 1.188t-2.394 0.45zm-0.216-7.812q-0.864 0-1.386 0.54-0.504 0.522-0.504 1.422v0.144h3.744v-0.144q0-0.9-0.504-1.422-0.486-0.54-1.35-0.54z"/> | ||
| 179 | <path d="m272.9 420.8q0 1.692-0.504 3.258t-1.35 2.808-1.89 2.016h-2.664q1.8-1.242 2.988-3.132t1.188-4.032v-1.836q0-2.142-1.188-4.032t-2.988-3.132h2.664q1.044 0.774 1.89 2.016t1.35 2.808 0.504 3.258z"/> | ||
| 180 | </g> | ||
| 181 | </svg> \ No newline at end of file | ||
diff --git a/src/Lecture7/slides/img/plot1.png b/src/Lecture7/slides/img/plot1.png new file mode 100644 index 0000000..15798bb --- /dev/null +++ b/src/Lecture7/slides/img/plot1.png | |||
| Binary files differ | |||
diff --git a/src/Lecture7/slides/img/plot2.png b/src/Lecture7/slides/img/plot2.png new file mode 100644 index 0000000..9ca9bae --- /dev/null +++ b/src/Lecture7/slides/img/plot2.png | |||
| Binary files differ | |||
diff --git a/src/Lecture7/slides/img/plot3.png b/src/Lecture7/slides/img/plot3.png new file mode 100644 index 0000000..0c27f8a --- /dev/null +++ b/src/Lecture7/slides/img/plot3.png | |||
| Binary files differ | |||
diff --git a/src/Lecture7/slides/img/plot4.png b/src/Lecture7/slides/img/plot4.png new file mode 100644 index 0000000..48bad2e --- /dev/null +++ b/src/Lecture7/slides/img/plot4.png | |||
| Binary files differ | |||
diff --git a/src/Lecture7/slides/img/plot5.png b/src/Lecture7/slides/img/plot5.png new file mode 100644 index 0000000..e8cfacd --- /dev/null +++ b/src/Lecture7/slides/img/plot5.png | |||
| Binary files differ | |||
diff --git a/src/Lecture7/slides/img/unilu.jpg b/src/Lecture7/slides/img/unilu.jpg new file mode 100644 index 0000000..5265563 --- /dev/null +++ b/src/Lecture7/slides/img/unilu.jpg | |||
| Binary files differ | |||
diff --git a/src/Lecture7/slides/svg-inkscape/DH_svg-tex.pdf b/src/Lecture7/slides/svg-inkscape/DH_svg-tex.pdf new file mode 100644 index 0000000..c5c0f10 --- /dev/null +++ b/src/Lecture7/slides/svg-inkscape/DH_svg-tex.pdf | |||
| Binary files differ | |||
diff --git a/src/Lecture7/slides/svg-inkscape/DH_svg-tex.pdf_tex b/src/Lecture7/slides/svg-inkscape/DH_svg-tex.pdf_tex new file mode 100644 index 0000000..3964967 --- /dev/null +++ b/src/Lecture7/slides/svg-inkscape/DH_svg-tex.pdf_tex | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | %% Creator: Inkscape inkscape 0.92.5, www.inkscape.org | ||
| 2 | %% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 | ||
| 3 | %% Accompanies image file 'DH_svg-tex.pdf' (pdf, eps, ps) | ||
| 4 | %% | ||
| 5 | %% To include the image in your LaTeX document, write | ||
| 6 | %% \input{<filename>.pdf_tex} | ||
| 7 | %% instead of | ||
| 8 | %% \includegraphics{<filename>.pdf} | ||
| 9 | %% To scale the image, write | ||
| 10 | %% \def\svgwidth{<desired width>} | ||
| 11 | %% \input{<filename>.pdf_tex} | ||
| 12 | %% instead of | ||
| 13 | %% \includegraphics[width=<desired width>]{<filename>.pdf} | ||
| 14 | %% | ||
| 15 | %% Images with a different path to the parent latex file can | ||
| 16 | %% be accessed with the `import' package (which may need to be | ||
| 17 | %% installed) using | ||
| 18 | %% \usepackage{import} | ||
| 19 | %% in the preamble, and then including the image with | ||
| 20 | %% \import{<path to file>}{<filename>.pdf_tex} | ||
| 21 | %% Alternatively, one can specify | ||
| 22 | %% \graphicspath{{<path to file>/}} | ||
| 23 | %% | ||
| 24 | %% For more information, please see info/svg-inkscape on CTAN: | ||
| 25 | %% http://tug.ctan.org/tex-archive/info/svg-inkscape | ||
| 26 | %% | ||
| 27 | \begingroup% | ||
| 28 | \makeatletter% | ||
| 29 | \providecommand\color[2][]{% | ||
| 30 | \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% | ||
| 31 | \renewcommand\color[2][]{}% | ||
| 32 | }% | ||
| 33 | \providecommand\transparent[1]{% | ||
| 34 | \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% | ||
| 35 | \renewcommand\transparent[1]{}% | ||
| 36 | }% | ||
| 37 | \providecommand\rotatebox[2]{#2}% | ||
| 38 | \newcommand*\fsize{\dimexpr\f@size pt\relax}% | ||
| 39 | \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% | ||
| 40 | \ifx\svgwidth\undefined% | ||
| 41 | \setlength{\unitlength}{319.9125bp}% | ||
| 42 | \ifx\svgscale\undefined% | ||
| 43 | \relax% | ||
| 44 | \else% | ||
| 45 | \setlength{\unitlength}{\unitlength * \real{\svgscale}}% | ||
| 46 | \fi% | ||
| 47 | \else% | ||
| 48 | \setlength{\unitlength}{\svgwidth}% | ||
| 49 | \fi% | ||
| 50 | \global\let\svgwidth\undefined% | ||
| 51 | \global\let\svgscale\undefined% | ||
| 52 | \makeatother% | ||
| 53 | \begin{picture}(1,1.50094365)% | ||
| 54 | \lineheight{1}% | ||
| 55 | \setlength\tabcolsep{0pt}% | ||
| 56 | \put(0,0){\includegraphics[width=\unitlength,page=1]{DH_svg-tex.pdf}}% | ||
| 57 | \end{picture}% | ||
| 58 | \endgroup% | ||
