{ "cells": [ { "cell_type": "code", "execution_count": 2, "id": "8b35161b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "## for the RK2 image in the ODE lesson\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "x = np.arange(0,100)\n", "y = ((x-2)**2)-0.01*x**3\n", "dy_30 = 29*x-(870-514)\n", "dy_55 = 15.25*x-(1145.25-1455)\n", "plt.plot(x,y)\n", "plt.plot(x,dy_30,label=r'Slope at $t$')\n", "plt.plot(x,dy_55,label=r'Slope at $t+\\frac{h}{2}$')\n", "plt.scatter(30,514,marker='o',color='black')\n", "plt.scatter(80,964,marker='o',color='black')\n", "#plt.scatter(80,1964,marker='x',color='black')\n", "#plt.scatter(80, 1529.65,marker='x',color='black')\n", "plt.xticks([30,80],[r'$t$',r'$t+h$'])\n", "plt.yticks([])\n", "plt.legend()" ] }, { "cell_type": "markdown", "id": "a19f5296", "metadata": {}, "source": [ "### Logistics\n", "- snacks\n", "- TA\n", "- projector for online presentations from visitors\n", "- whiteboard pen / A-board for sketches\n", "- in Induction: ask students to bring laptop and follow setup instructions\n", "- Hacker stickers\n", "- Have a binder setup as backup\n", "- Sticky notes in green and pink\n", "- HDMI cable\n", "- iPad as an additional screen?\n", "\n", "### From discussion with Giulia - \n", "\n", "- highlight .txt = .csv for reading in DONE\n", "- cross reference with experiment in two places DONE\n", "- include error bars \n", "- need to include more on least squares curve fitting\n", "- discuss how averaging can reduce the error\n", "- send giulia 3blue1brown resources DONE\n", "- program the error propoagation example in the lab script DONE\n", "\n", "### From earlier notes\n", "\n", "- Remember to include printing out version numbers after import\n", "- Emphasise the style: live-coding\n", "- Motivation: why is this important? This is the age of computing. Talk about supercomputers. Talk about how it sits in our every day life. Talk about the creative arts, talk about technology. Talk about quantum computing. Computational science is THE BEST.\n", "- every little bit is important! one extra full stop means disaster.\n", "- How the experimental and computational parts fit together\n", "- Why would you do this to me? meme.\n", "- explain somethign to grandparent who doesnt know anything about programming\n", "- include anonymous polling for each lesson (mentimetre)\n", "- padlet for anonymous feedback?\n", "- stickies and pair working\n", "- raise issues using Github: show that it is all in the open.\n", "- Git origin story. 65 million repositories!\n", "- Questions for earlier sections:\n", " - For the if and for loop section can practice by making piecewise / heaviside functions\n", " - 2D plots\n", " - binomial distribution - when do theory and numerical results converge? The problem of factorial numbers being very large and using built in functions instead\n", " - Taylor expanding / polynomial expansion of an exponential function\n", "- Add a pre-requisites for the course (mostly mathematical elements)\n", "\n", "### resources\n", "\n", "- https://jabberwocky.weecology.org/2016/11/14/fork-our-course-a-semester-long-data-carpentry-course-for-biologists/\n", "- https://emilyriederer.netlify.app/post/causal-design-patterns/\n", "- http://www.fizika.unios.hr/rf/wp-content/uploads/sites/67/2011/02/CPwP.pdf\n", "- https://reproducible-science-curriculum.github.io/sharing-RR-Jupyter/01-sharing-github/\n", "- https://github.com/mxgmn/WaveFunctionCollapse\n", "- https://www.youtube.com/channel/UC9IuUwwE2xdjQUT_LMLONoA\n", "- what happened to women in computer science?\n", "- https://third-bit.com/\n", "- git cheatsheet for drawing along: https://github.com/omsai/git-swc-worksheet/releases/tag/v2018.05.10\n", "- performance, productivity and generality\n", "- https://github.com/afeiguin/comp-phys\n", "- https://github.com/afeiguin/numerical-mooc\n", "- what we do adn basic rules: https://librarycarpentry.org/lc-git/\n", "- https://librarycarpentry.org/lc-git/05-github-pages/index.html\n", "- connect4 tournament" ] }, { "cell_type": "markdown", "id": "96c0b4e4", "metadata": {}, "source": [ "### Questions for the ODE lesson\n", "\n", "part 1 - describing 5 different equations using technical language\n", "\n", "part 2 - generic vs physical notation for another equation: see Quora \"what precisely is a differential equation?\" for more examples.\n", "\n", "part 3 - Apply Euler's method to one of the problems in part 2 questions. Explore accuracy as the timestep is changed.\n", "\n", "part 4 - why is the Lorenz equation not a partial differential equation? Turn another equation into two simultaneous equations.\n", "\n", "part 5 - Use timeit function to compare this to the built-in function for Runge Kutta.\n", "\n", "Task: Implement Euler and Runge Kutta for two body and three body problem (see previous lab notes). Or should it be the pendulum problem with increasing complexity, then the state space?\n", "\n", "Extension: Leapfrog integration scheme" ] }, { "cell_type": "markdown", "id": "97306068", "metadata": {}, "source": [ "### Resources\n", "\n", "See the 3blue1red (or whatever it is) channel of DE's - looks like some great videos.\n", "\n", "- link to useful resources on each page (e.g. 3blue1brown)\n", "\n", "\n", "### Prereq\n", "\n", "- what integrals and differentials are (limits in smaller and smaller time/space steps)\n", "- geometry: resolving forces e.g. -g\\*sin theta \n", "- Taylor expansion\n", "\n", "### PDEs\n", "\n", "- PDEs have multiple inputs\n", "- a temperature at every point\n", "- velocity at every point in space\n", "- doesn;t need to be like this but most commonly space and time.\n", "\n", "\n", "### ODEs\n", "\n", "- problem with the 2-body problem. Are coupled together. Not so simple as just dependent on g.\n", "- Should include something on simple harmonic motion? Think about the different levels of approximation: non-linear, then when theta is large. a = -gsin(theta). Then include air resistance: -mu theta.\n", "\n", "- Differential solutions are really difficult to solve analytically- even something simple like the simple harmonic motion. For damped, there is no way to write a full analytic solution. Indepentent are initial angle and velocity. This can be described fully with these two (acceleration depends on them). See state space (an abstract thing) which is different from physical space the pendulum is in. Plot the spiral inwards and you can see the vector field. Everything moves into -is attracted by - a single value. think about what happens if the pendulum is really fast to begin with - it spins around a few times. What happens when mu is changed? Think also about stability.\n", "\n", "- Think about state space vs phase space.\n", "\n", "- Any system can be described by a vector field so it's a vey general approach. 3 body problem - 18 degrees of freedom (3*6)\n", "\n", "- The romance equations by stiglitz, new york times. The tactics for one case transfer across to other ones.\n", "\n", "- Simulate what the universe would do but using finite timesteps. there is always a trade off between accuracy and efficiency.\n", "\n", "- Chaos theory tells us there are limits to how well numerical models can work: small changes to initial conditions has massive changes in results.\n", "\n", "### PDEs\n", "\n", "- heat equation. piece of metal. know the temperature at every point on the plate. But how does it change over time?\n", "- the paper that we published using this.\n", "- black-sholes, brownian motion are also example of heat equation type equation.\n", "- PDEs are even harder than ODE to solve analytically.\n", "- discrete version of the setup - a pixelated universe.\n", "- heat equation is where each point tends towards the average of its neighbours\n", "- laplacian is 3d equivalent to derivative. How different is this point from it's neighbours?\n", "- heatt equation can be solved using fourier series?\n", "- heat equation has three constraints: the equation, the boundary condition and the initial condition.\n", "- show importance of boundary conditions - can get many results for the heat equation (like linear solution) that doesn't make physical sense.\n", "- no heat flows into or out of, then the slope at either end is zero. Finding a function is not enough, needs to also satisfy boundary conditions (dT/dx = 0 for all t>0).\n", "\n", "\n", "### exp\n", "\n", "- growth of investment\n", "- there is also a 3blue1brown video" ] }, { "cell_type": "code", "execution_count": null, "id": "ddc202b3", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 5 }