From 461ddee3acc69b2b1d2978a1605f006c99f98791 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Thu, 4 Jan 2024 16:16:39 -0700 Subject: [PATCH] reset announcements to week 0 --- _announcements/week-0.md | 4 ++-- _announcements/week-1.md | 11 ----------- _announcements/week-10.md | 25 ------------------------ _announcements/week-11.md | 21 -------------------- _announcements/week-14.md | 13 ------------- _announcements/week-2.md | 26 ------------------------- _announcements/week-3.md | 14 ------------- _announcements/week-4.md | 41 --------------------------------------- _announcements/week-5.md | 20 ------------------- _announcements/week-6.md | 16 --------------- _announcements/week-8.md | 23 ---------------------- _announcements/week-9.md | 15 -------------- 12 files changed, 2 insertions(+), 227 deletions(-) delete mode 100644 _announcements/week-1.md delete mode 100644 _announcements/week-10.md delete mode 100644 _announcements/week-11.md delete mode 100644 _announcements/week-14.md delete mode 100644 _announcements/week-2.md delete mode 100644 _announcements/week-3.md delete mode 100644 _announcements/week-4.md delete mode 100644 _announcements/week-5.md delete mode 100644 _announcements/week-6.md delete mode 100644 _announcements/week-8.md delete mode 100644 _announcements/week-9.md diff --git a/_announcements/week-0.md b/_announcements/week-0.md index 154a395..b325257 100644 --- a/_announcements/week-0.md +++ b/_announcements/week-0.md @@ -1,13 +1,13 @@ --- title: Week 0 Announcement week: 0 -date: 2023-01-09 +date: 2024-01-08 --- Hello world! {: .fs-5 } -Welcome to PHY432. We start on 1/10/2023. Bring your laptop to class. +Welcome to PHY432. We start on 1/9/2024. *Bring your laptop to class.* Please check the [{{ site.canvas.name }}]({{ site.canvas.url }}) site for additional details. diff --git a/_announcements/week-1.md b/_announcements/week-1.md deleted file mode 100644 index 0c01d54..0000000 --- a/_announcements/week-1.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Week 1 Announcement -week: 1 -date: 2023-01-10 ---- - -The plan for this week is to - -1. install a working environment with *Python*, ``git``, ``bash``, and - a good coding editor (Atom) on your laptop -2. learn to use the Unix shell (namely, ``bash``) diff --git a/_announcements/week-10.md b/_announcements/week-10.md deleted file mode 100644 index 34758e9..0000000 --- a/_announcements/week-10.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Week 10 Announcement -week: 10 -date: 2023-03-21 ---- - -A lot of physics can be formulated in the language of **linear -algebra** with vectors and matrices. Examples are problems in solid -body mechanics and quantum mechanics. Three commonly encountered -requirements are to find solutions to a matrix equation $$\mathsf{A} -\mathbf{x} = \mathbf{b}$$, finding the inverse of a matrix -$$\mathsf{A}^{-1}$$, and solving the eigenproblem $$\mathsf{A} -\mathbf{v}_i = \lambda_i \mathbf{v}_i$$. Instead of writing our own -solvers, we will learn how to use the routines in -[numpy.linalg](https://numpy.org/doc/stable/reference/routines.linalg.html), -NumPy's linear algebra module, which provides efficient and -well-tested algorithm. - -A matrix solver is also needed for generalizing the *Newton-Raphson* -[root finding algorithm from the last module]({{ site.baseurl }}{% -link modules/root_finding/Root_finding.md %}) to arbitrary -dimensions. We will develop a general Newton-Raphson solver (and also -learn how to calculate the Jacobian using partial derivatives, based -on the central difference algorithm from the [lesson on -differentiation](modules/ODEs/differentiation.md)). diff --git a/_announcements/week-11.md b/_announcements/week-11.md deleted file mode 100644 index 7104566..0000000 --- a/_announcements/week-11.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Week 11-13 Announcement" -week: 11 -date: 2023-03-27 ---- - -For the next three weeks we will learn how to solve **partial -differential equations** (PDEs). PDEs underpin all manner of physical -phenomena, as soon as a quantity depends on more than one independent -variable. Commonly the independent variables are the three dimensions -of space and time. Unlike [ordinary differential -equations]({{ site.beasurl }}{% link modules/ODEs/ODEs.md%}), there's -no "one size fits all" approach. For different types of equations we -will need different algorithms. We start with problems in -electrostatic (Poisson's equation), move to diffusion and heat -conduction problems (diffusion equation), and close with wave problems -(wave equation). - -Your **Final Project** is also about to start, so we will have -discussions about the project and your *project pitches* where you -will form your project teams around your project proposals. diff --git a/_announcements/week-14.md b/_announcements/week-14.md deleted file mode 100644 index 0c4a732..0000000 --- a/_announcements/week-14.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Week 14 Announcement" -week: 11 -date: 2023-04-24 ---- - -In the last week we will explore **Monte Carlo methods** --- a -powerful numerical approach to evaluate high dimensional integrals -that relies on random numbers. Monte Carlo approaches can be used to -sample from any kind of distributions and are therefore suitable to -directly simulate physical systems according to the Boltzmann -distribution, which underpins statistical mechanics of, for example, -simple models of magnetism. diff --git a/_announcements/week-2.md b/_announcements/week-2.md deleted file mode 100644 index 503c21d..0000000 --- a/_announcements/week-2.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Week 2 Announcement -week: 2 -date: 2023-01-17 ---- - -As a computational scientist you want to have a number of tools in -your (virtual) tool belt to get your work done. In Week 1 we already -learned to [use the command line]({{ site.baseurl }}/{% link -modules/setup_unix/Unix_Shell.md %}), namely `bash`. - -![git logo](https://git-scm.com/images/logo@2x.png) -{: .float-right } -In Week 2 we will learn to use the [git](https://git-scm.com/) source -code management tool, a distributed version control system (VCS), that -is widely used in the open source communities and in industry. A VCS -keeps track of multiple files in a project and allows multiple people -to work on the same project without overwriting each other's changes. - -![python logo](https://www.python.org/static/img/python-logo.png) -{: .float-right } -We will also review the [Python](https://www.python.org/) programming -language. Python is widely used in the sciences (and in industry) and -provides everything one needs to solve problems in virtually all areas -you can think of. - diff --git a/_announcements/week-3.md b/_announcements/week-3.md deleted file mode 100644 index c9a651c..0000000 --- a/_announcements/week-3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Week 3 Announcement -week: 3 -date: 2023-01-23 ---- - -![python logo](https://www.python.org/static/img/python-logo.png) -{: .float-right } -In Week 3 we further add to our *computational tool belt* with a focus on -Python itself. After the [review of the fundamentals]({{ site.baseurl -}}{% link modules/python/python.md %}) we are now in a position to -learn about the power of modularization and code re-use. You'll also -learn some vital tips and tricks for debugging. - diff --git a/_announcements/week-4.md b/_announcements/week-4.md deleted file mode 100644 index 192482b..0000000 --- a/_announcements/week-4.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Week 4 Announcement -week: 4 -date: 2023-01-30 ---- - -In Week 4 we will learn about two fundamental Python packages for -**scientific computing**: - -* [NumPy](https://numpy.org/), which makes available N-dimensional - arrays and functions to work with these arrays. -* [matplotlib](https://matplotlib.org/), a comprehensive library for - creating static, animated, and interactive visualizations in Python. - -![NumPy](https://raw.githubusercontent.com/numpy/numpy/main/branding/logo/primary/numpylogo.svg) - -We will use **NumPy** arrays as the basic data structure for most of our -algorithms and applications, simply because most of Physics can be -described as scalar series (e.g., time series), vectors, or -tensors. NumPy will enable us to write concise and fast code that -operates on these data structures. - -Furthermore, all scientific Python packages have adopted the NumPy -array as the common data structure so using it makes it easy to work -with other packages, too. - - -![matplotlib](https://matplotlib.org/stable/_images/sphx_glr_logos2_003_2_0x.png) - -**matplotlib** works seamlessly with NumPy arrays and makes it easy to -create 2D plots. It is essential for analyzing the output from our -programs. It also has 3D plotting capabilities that we will -explore. With some practice, matplotlib can produce publication-ready -plots --- no more manual graph making in a spread sheet -program... Furthermore, because you create graphs by writing Python -code, you can fully automate graph creation, which ultimately leads to -enhanced productivity and more consistent plots with fewer -errors. - -Knowing NumPy and matplotlib is absolutely essential when doing -scientific programming in Python. diff --git a/_announcements/week-5.md b/_announcements/week-5.md deleted file mode 100644 index 81d4c8b..0000000 --- a/_announcements/week-5.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Week 5 Announcement -week: 5 -date: 2023-02-06 ---- - -In Week 5 we will use NumPy and matplotlib to analyze an ensemble of -Brownian dynamics (random walk) trajectories, which concludes our -example on using numpy and matplotlib. - -We will then learn about fundamentals of numerical computations, -namely how numbers are represented in the computer and what errors one -expects in numerical calculations. These two topics are tightly -linked and surprisingly, the random walk will show up again in a -completely different context. - -![Trajectories of a diffusing particle]({{ site.baseurl }}/{{ site.figs - }}/diffusion_trajectories.png) - - diff --git a/_announcements/week-6.md b/_announcements/week-6.md deleted file mode 100644 index 9989a4d..0000000 --- a/_announcements/week-6.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Week 6 & 7 Announcement -week: 6 -date: 2023-02-13 ---- - -In Week 6 we will start a long module on **solving ordinary -differential equations** (ODEs). ODEs underpin many problems in -Physics and even though we can sometimes solve them analytically, this -is often not possible. Starting from numerical differentiation, we -will develop discretization algorithms that allow us to solve *any* -system of coupled ODEs (linear or non-linear) numerically. - -We will then discuss different *integrator* algorithms and see the -trade-offs in accuracy and stability and how they are related to -deeper symmetries present in the physical problem. diff --git a/_announcements/week-8.md b/_announcements/week-8.md deleted file mode 100644 index cbf7eb7..0000000 --- a/_announcements/week-8.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Week 8 Announcement -week: 8 -date: 2023-03-02 ---- - -With the *RK4* and the *velocity Verlet* integrator we now know two -good integration algorithms for different situations. Verlet will be -useful for solving the common problem of integrating Newton's (or rather -Hamilton's) equations of motion due to its good energy -conservation. RK4 is an all-round integrator that we can use for -general coupled ODEs. - -We will study a few **applications**. You will use the Verlet -integrator to discover Neptune by **simulating the anomaly in Uranus' -orbit due to Neptune** (homework). In class we will **simulate a baseball -throw**. We will first look at the simple case of only including air -resistance (i.e., a drag force) and then add spin, which, through the -*Magnus force*, will allow us to generate curve ball trajectories. - -Optionally, you can also learn more about **molecular dynamics** -simulations, a standard method to model large numbers of interacting -particles. diff --git a/_announcements/week-9.md b/_announcements/week-9.md deleted file mode 100644 index 4ae38bd..0000000 --- a/_announcements/week-9.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Week 9 Announcement -week: 9 -date: 2023-03-14 ---- - -A common problem is to find the roots of an equation. We will develop -two algorithms to find roots numerically. The *bisection* algorithm is -a simple and robust approach that exemplifies how to go from imagining -a solution ("how would I solve this problem?") to an actual -implementation. We then will develop a much faster but less robust -algorithm known as *Newton-Raphson*. In both cases we will initially -restrict ourselves to 1D problems but we will later extend -Newton-Raphson to arbitrary dimensions (once we learned how to solve -matrix problems).