From 388a8d9f5ac99937cf535394943f0263b8427a3f Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Fri, 5 Sep 2025 15:12:46 +0200 Subject: [PATCH] Rephrase exercise 3 in notebook julia_basics --- docs/src/solutions_for_all_notebooks.md | 11 +++++-- notebooks/julia_basics.ipynb | 38 +++++++++++++++++++------ 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/docs/src/solutions_for_all_notebooks.md b/docs/src/solutions_for_all_notebooks.md index 5249aa0..b7355a3 100644 --- a/docs/src/solutions_for_all_notebooks.md +++ b/docs/src/solutions_for_all_notebooks.md @@ -27,12 +27,17 @@ ex2(f,g) = x -> f(x) + g(x) ### Exercise 3 ```julia -using GLMakie -max_iters = 100 n = 1000 x = LinRange(-1.7,0.7,n) y = LinRange(-1.2,1.2,n) -heatmap(x,y,(i,j)->mandel(i,j,max_iters)) +values = zeros(n,n) +for j in 1:n + for i in 1:n + values[i,j] = surprise(x[i],y[j]) + end +end +using GLMakie +heatmap(x,y,values) ``` ## Asynchronous programming in Julia diff --git a/notebooks/julia_basics.ipynb b/notebooks/julia_basics.ipynb index 36a974b..09a8168 100644 --- a/notebooks/julia_basics.ipynb +++ b/notebooks/julia_basics.ipynb @@ -1680,7 +1680,7 @@ "source": [ "### Exercise 3 (hard)\n", "\n", - "Function `mandel` estimates if a given point `(x,y)` in the complex plane belongs to the [Mandelbrot set](https://en.wikipedia.org/wiki/Mandelbrot_set)." + "Function `surprise(x,y)` takes the `x` and `y` coordinates of a point and returns a scalar value. Visualize the result of function `surprise(x,y)` for all points in a Cartesian grid of the box with range $(-1.7,0.7)$ in the horizontal direction and range $(-1.2,1.2)$ in vertical direction. Use at least `n=1000` points in each direction (1000$^2$ points in total). What do you see? Surprise!\n" ] }, { @@ -1690,7 +1690,11 @@ "metadata": {}, "outputs": [], "source": [ - "function mandel(x,y,max_iters)\n", + "function surprise(x,y)\n", + " # You don't need to understand\n", + " # the body of this function.\n", + " # Treat it as a black box.\n", + " max_iters = 100\n", " z = Complex(x,y)\n", " c = z\n", " threshold=2\n", @@ -1700,22 +1704,38 @@ " end\n", " z = z^2 +c\n", " end\n", - " max_iters\n", + " return max_iters\n", "end" ] }, { + "attachments": { + "Screenshot%20from%202025-09-05%2014-41-15.png": { + "image/png": "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iSee0IULF7IdDwkJ0SuvvOLQVAAAAACcRIkGfiUrK0uHDh3SvHnzFBcXpxUrVvg8plu3brrnnnscmA4AAACA0zyWZVlODwE4qV27dvrqq69sPTYiIkK7du1S9erVDU8FAAAAwI34SzRgk8fj0bhx4yjQAAAAQDFGiQZsCAkJ0TvvvKOePXs6PQoAAAAAB1GigTx4PB49/PDDWrt2rZ577jmnxwEAAADgMN4TjWJv1qxZSktLy3asbNmyqlatmpo0aaIqVao4NBkAAAAAt6FEAwAAAABgEy/nBgAAAADAJko0AAAAAAA2UaIBAAAAALCJEg0AAAAAgE2UaAAAAAAAbKJEAwAAAABgEyUaAAAAAACbKNEAAAAAANhEiQYAAAAAwCZKNAAAAAAANlGiAQAAAACwiRINAAAAAIBNlGgAAAAAAGyiRAMAAAAAYBMlGgAAAAAAmyjRAAAAAADYRIkGAAAAAMAmSjQAAAAAADZRogEAAAAAsIkSDQAAAACATZRoAAAAAABsokQDAAAAAGATJRoAAAAAAJso0YCfnT9/3ukRAAAAABhCiQb85NixY2ratKnKlSunZs2a6dChQ06PBAAAAMDPPJZlWU4PAQS7n376SQ8//LB2796tEiVK6PLly4qKitK6detUo0YNp8cDAAAA4Cf8JRoopIMHDyouLk67d+9WTEyMUlNT1bp1ax09elSPPPKITp065fSIAAAAAPyEEg0UwrFjx/Twww9r//79atasmVauXKnq1atr9uzZatSokfbt26f27dvr7NmzTo8KAAAAwA8o0UABZWZmql27dkpNTVVcXJyWLVum8uXLS5LKlCmjBQsWqFatWtqwYYMaN26sGTNmKCsry+GpAQAAABQGJRoooDFjxmjbtm26++67tXDhQrVv314ej0cej0ctWrRQ5cqVtXbtWtWvX1/79u1T9+7d1bRpU50+fdrp0QEAAAAUECUaKIB//vOf+stf/iJJeuqppxQREZHj426++WZt3rxZn376qWrVqqXNmzerUaNGGj9+vC5duhTIkQEAAAD4ASUaKIAFCxbo4sWLuvHGG9WpU6c8HxsSEqKePXtq06ZNatSokfbv36+hQ4cqLi6O90oDAAAAQYYSDeTT2bNnNWHCBEnSa6+9pujoaFtfFxkZqY0bN2rBggW6++67tW3bNrVv316XL182OS4AAAAA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XXWV7r//fjL2g9xOO77mmmvUq1cv3X777TR4BUS+ZhUvXtxn22233cb6AGNoogEEnTNnzqh///6S/rxjZzAqWbKk+vfvr5SUFKdLuaA9e/ZowYIFyszMdLqUfPn444+1fft2p8sAAACXGZpoAEHnrbfeUkpKip555hmnS8m3QYMGKTw8XC+//LLTpeTKsix1795dH3zwQdA+/mP58uVq3769zp4963QpAADgMkITDSCoZGVlacqUKWrRooViYmKcLiffIiMjFR8fr5kzZ+rEiRNOl+MjMTFR69ev1wsvvOB0Kfn27LPPav/+/Zo0aZLTpQAAgMsITTSAoLJ8+XLt3btXnTt39tq+fft2xcfH+9xYRJIWLVqk+Ph4LV26NN/zbtq0SfHx8fr0009z3f/BBx8oPj5eu3fvtj1mly5dlJaWprlz5+a7LlNef/111a9fXzfffLPTpeRbpUqV1Lp1a02cODFor50HAADuQxMNIKh88cUXkqQmTZp4ba9Vq5YiIiI0fPhwLVmyJPpKLAMAACAASURBVGf7rl271KtXL/3000+666678j1vrVq1tHLlSo0bN85nX3Z2tkaPHq3NmzerSpUqtsds2LChChUqpBUrVuS7LhM2b96s7777Tg888IDX9u3bt2v8+PH68ssvfd5zsX12nR/jv+9wfd6//vUvjR8/Xnv37rU95gMPPKDk5GQtW7Ys33UBAAD8FU00gKCyfv16RUdH65prrvHZ9/e//13XXXed+vTpo7179+rMmTPq1KmTJGnhwoUqUqRIvuctUqSIHnroIX399df64YcfvPYtX75cv/32m/r376+QEPvLauHChVWjRg2tW7cu33WZ8M9//lPSn49k+avrr79eiYmJ6tChg/7zn//kbD958qQ6deqkV199Vddff32+5y1btqyee+45vfTSS7nuf+KJJ/TKK6+obNmytseMi4uTx+PRJ598ku+6AAAA/oomGkBQSUpKUvny5XPdV7x4cc2fP1+nT59W165d9dhjj2nbtm2aPHlygZq78wYMGCCPx6OpU6d6bU9ISFChQoXUs2fPPI9ZoUIFHTp0yFU3v1q7dq0iIyNVs2ZNr+0RERGaP3++QkND1blzZ50+fVqS1Lt3b+3atUuzZs3S1Vdfne95K1SooA4dOmjJkiU6dOiQ175t27Zp48aN6tGjh4oWLWp7zNKlS+u6667TmjVr8l0XAADAX9FEAwgqqampKlmy5AX316lTRxMmTNCGDRs0bdo09e7d2+e05Py68cYb1bRpU82YMSOngTxw4IA++eQTdejQIdfnBF9KqVKlJEl//PGHX2r0h127dqlSpUq5Prf02muvVUJCgnbs2KHHH39cf//737Vw4UINGzZMrVu3LvDcAwcOVHp6umbMmOG1/R//+IckqW/fvnke8+qrr9avv/4atI/qAgAA7kITDSCoFC9eXKdOnbroa2rWrCmPxyNJatOmjc/+U6dOadasWXr88ccVHx+fpwZ24MCBOnbsmD766CNJ0rRp05SRkZHz3GpJSktL04QJE3TPPfeoUaNGGjBgwAWv4z158qQkXfQPA4F29OjRnOY+N/Hx8erfv7+mTp2qIUOGqGHDhhozZoxf5m7atKlq1qypf/zjH8rOzpb053PB58yZoyZNmvh8Om5H6dKllZ2draNHj/qlRgAAcGWjiQYQVCpUqKAjR45ccP+RI0fUrVs3xcTEqEqVKhowYID279/v9ZqUlBTNnTtXYWFhWrBgQZ5Ope7QoYNiY2P13nvvybIsvf/++6pWrZqaNm2a85qkpCR988036tmzp15//XWdO3dOd955p86cOeMz3tGjR1W8ePE8naJsWnh4+CXvZv3EE0/I4/EoIyNDY8aMUXh4uNf+06dPa/HixXr++ec1duxYbd261fb8ffv21Z49e7R69WpJ0ty5c3Xs2DH169fP63WbN2/W66+/rueee07z5s274CfN6enpkv48HR0AAKCgaKIBBJUGDRooOTnZ55pZSbIsS3369FFKSopmzpyp+fPn6/jx4+rWrZuysrJyXnfttdfq008/1YgRI/I8f1hYmHr37q1169Zp4sSJ2r17d8610ufdeOONSkxM1H333afbbrtNCQkJSklJ0fbt273GysrK0o4dO3TrrbfmuQ6TypYtq9TU1Avuz8zMVO/evVWoUCFFRkbqqaee8vlDxKhRo/TWW28pKytLqampuuOOOzRr1ixb8/fo0UORkZFKSEiQ9Oc159HR0Tk3iZOkHTt2qH379vr9999VuHBhjRs3Tq1atcr59PqvUlNTVahQIVd92g8AAIIXTTSAoHL+E99Nmzb57HvjjTe0dOlSjR49Ws2aNdMtt9yicePGae3atXrxxRfzNM/DDz+satWqed2F+rx+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Ep2SkmIVKlTIevnlly/6flwan0QDCCqbNm1STEyMypQp47Nv2LBhat26tV544QWtWbNG+/btU/fu3VWtWjUlJCQUaF6Px6OHH35Ye/bs8XlO5Ny5c3Xs2LFcr0+6mJCQENWsWVMbN24sUG0FcX7uWrVq+eyLiorS7NmzdfToUfXo0UPZ2dl69tlntX79ek2cODHnmZj5FR8fr+joaJ/vTXZ2tqZNm6aqVasqLi4uT2PWrl1b0p//Ttwmv1lPmDCBrAHAYU888YTKly+v8ePH52wrWbKkoqKi5PF4fF4fEhKiqKgon2dTv//++2rSpImuvfZar+1r1qxRsWLFNGzYsFzn37lzpz7++GN17dpV5cqVy9cxjB8/XmXLlnXs6SCXE5poAEHl4MGDio6OznWfx+PRzJkzVbFiRT3wwAOKj49XWlqa5s+f7/NDLD/69OmjwoUL67333vPa/t5776lUqVK677778jxmmTJllJaWprS0tALXlx8HDhyQpAtm2qhRI7300ktasWKF7rvvPr3++uvq1KmTX25IUqRIEfXs2VPr1q3zem78F198od9++039+/fP8+lq5/+4cv643CS/WT/yyCMFnvtKyxoA/K1IkSKaNm2aSpYs6XPZmF2WZWnGjBnq3bu3z75GjRpp8+bNPj8jPvvsM73wwgtq27atChUqdNHnQm/btk1ffvml/vjjD/3888/68ssvc9bo7OxslSxZUjNmzFBkZGS+6sf/oYkGEFTS0tIuuviXKVNGs2fPVkpKir755hu99tpruvnmm/0yd3R0tDp16qQlS5bo0KFDkv78gbVx40b17NkzX3dbPn8sJ0+e9EuNeXW+eb9Y7U8//bTuuusuLVmyRFWqVNHUqVMv+Nq8Xh87cOBAhYSEeI353nvvqVChQjl3Gc2L83meOHEiz+81LT9ZX+wMityub76YKylrADChefPmGj16dL6vR961a5euu+463XvvvT77KlSo4PPptPRnE/3uu+8qOjpaixYt0g033HDB8RcvXpzzafOPP/6o8ePH68cff5T05yfjzz//vJo3b56v2uGNJhpAUImKitLx48cv+prt27fLsixJ0unTp332Hzp0SH369NHf/vY3lS5dWgcPHrQ9/8CBA5Wenq4ZM2ZIUs6n0v99U6Y333zz/7V359FR1Xcfxz+TyUJI2AwRJGBMCAICRaC4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6aeffpJ0YV3tBg0aSJJmzpypm266ye24RYsW6ccff9Rf/vIX9e3bV7fffrvH93C5XDp8+LDS09NlGIYOHTokp9OpyMhISRfW637ggQf03HPPlfM3r3mVOde5ublatWqVevfurXr16iklJUVLly7VnDlzSvbhXAMAUL0chnHZ2hkAKqRPnz5av369JKl37976/PPPbe4IpTEMQ127dnWrb926tcylpp5++mnNnj1bkZGRmjZtmh5++OFS933ppZe0atUqU+25557T0KFDK964lzp58qT69+/vVp86dari4uJKPe7cuXNq0KCB6tevrx49eujdd99V06ZNPe577NgxDRgwwFS75pprtG7duso172NycnI0ZMgQff3118rOzlZMTIwmTZqkRx99tMzjONcAAFQdQjRQRQjRAAAAQO3HM9EAAAAAAFhEiAYAAAAAwCJCNAAAAAAAFhGiAQAAAACwiBANAAAAAIBFhGgAAAAAACwiRAMAAAAAYBEhGgAAAAAAiwjRAAAAAABYRIgGAAAAAMAiQjQAAAAAABYRogEAAAAAsIgQDQAAAACARYRoAAAAAAAsIkQDAAAAAGARIRoAAAAAAIsI0QAAAAAAWESIBgAAAADAIkI0AAAAAAAWEaIBAAAAALCIEA0AAAAAgEWEaABeaenSpRo/fryys7PtbgUAAPiY/Px8zZw5U88//7zdraAWIkQD8ErvvPOOFi1apI0bN9rdCgAA8DGpqal66aWXvOJzRLdu3TRixAjNmTNHO3fu1Pnz5+1uqVxeeeUVORwOt5/bbrtNRUVFFR63oKBAXbp08Tj2nDlzqvA3qHqEaABe6e6775YkrV+/3uZOAACAr8nPz5ckhYaG2tpHWlqaUlJStHz5cv3mN79R586d1ahRIz388MO29lUe06ZNU9++fd3q27Zt04wZMyo87lNPPaVvvvnGrX7//fdr8uTJFR63JhCiAXilHj16SJK2bNlicycAAMDXfP/995KkVq1a2dpHZGSkDh48qISEBHXr1k2SlJWVpc8//1wul0vnzp2ztT8r/Pz8lJiYqOuuu85t2x/+8Ad9+umn5R7zww8/1Lx589zqLVq00KJFi+RwOCrUa00hRAPwSl27dpWfn5++/fZbu1sBAAA+5mI4bdasmc2dSNHR0XrwwQf1j3/8Q/fee6+kC1eoQ0JC1KBBA8XGxiov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" + } + }, "cell_type": "markdown", - "id": "86ea2591", + "id": "de548741", "metadata": {}, "source": [ - "If the value of `mandel` is less than `max_iters`, the point is provably outside the Mandelbrot set. If `mandel` is equal to `max_iters`, then the point is provably inside the set. The larger `max_iters`, the better the quality of the estimate (the nicer will be your plot).\n", + "The gid of points is shown in the next figure for `n=7` (but you should use at least `n=1000`).\n", "\n", - "Plot the value of function `mandel` for each pixel in a 2D grid of the box.\n", + "
\n", + "\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "id": "95e81488", + "metadata": {}, + "source": [ + "### Hints\n", "\n", - "$$(-1.7,0.7)\\times(-1.2,1.2).$$\n", - "\n", - "Use a grid resolution of at least 1000 points in each direction and `max_iters` at least 10. You can increase these values to get nicer plots. To plot the values use function `heatmap` from the Julia package `GLMakie`. Use `LinRange` to divide the horizontal and vertical axes into pixels. See the documentation of these functions for help. `GLMakie` is a GPU-accelerated plotting back-end for Julia. It is a large package and it can take some time to install and to generate the first plot. Be patient." + "* Create a matrix `values` of the right size and fill it in so that `values[i,j]=surprise(x[i],y[j])` is the value for point `i` in the horizontal direction and `j` in the vertical direction (see the figure above).\n", + "* The vectors `x` and `y` can be created with function `LinRange`.\n", + "* Visualize the values in `values` with function `heatmap` from the Julia package `GLMakie`. `GLMakie` is a GPU-accelerated plotting back-end for Julia. It is a large package and it can take some time to install and to generate the first plot. Be patient.\n", + "* See the documentation of these functions for help." ] }, {