Announcements

Please also check Canvas for class announcements.

Week 6 & 7 Announcement

Feb 17 · 0 min read

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.

Week 5 Announcement

Feb 10 · 0 min read

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

Week 4 Announcement

Feb 3 · 1 min read

In Week 4 we will learn about two fundamental Python packages for scientific computing:

  • NumPy, which makes available N-dimensional arrays and functions to work with these arrays.
  • matplotlib, a comprehensive library for creating static, animated, and interactive visualizations in Python.

NumPy

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

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.

Week 3 Announcement

Jan 27 · 0 min read

python logo

In Week 3 we further add to our computational tool belt with a focus on Python itself. After the review of the fundamentals 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.

Week 2 Announcement

Jan 21 · 1 min read

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, namely bash.

git logo

In Week 2 we will learn to use the git 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

We will also review the Python 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.

Week 1 Announcement

Jan 14 · 0 min read

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)

Week 0 Announcement

Jan 13 · 0 min read

Hello world!

Welcome to PHY432. We start on 1/14/2025. Bring your laptop to class.

Please check the Canvas (ASU PHY432 Spring 2025) site for additional details.