Purpose This post is designed as a supplement to my Python programming course. For new programmers it is not obvious how to go from writing a program to running it, and in this post we discuss a s...

Try the code yourself! Click the following button to launch an ipython notebook on Google Colab which implements the code developed in this post: What is Brownian Motion? Brownian motion named...

Update 26-Oct-2020: This post uses Matplotlib v3.1.0. Using v3.3.0 produces errors with the discrete color map as they have changed the functionality. Try the code yourself! Click the following b...

Try the code yourself! Click the following button to launch an ipython notebook on Google Colab which implements the code developed in this post: Langton’s Ant The inspiration for this post ca...

Plotting data is a key part of any science and there are a lot of software solutions designed for this purpose, e.g. Excel, Veusz, gnuplot etc… These are all fine but something which I often need i...

Try the code yourself! Click the following button to launch an ipython notebook on Google Colab which implements the code developed in this post: In a previous post we looked at the hydrogen at...

Try the code yourself! Click the following button to launch an ipython notebook on Google Colab which implements the code developed in this post: The Problem: We want to solve the Schrödinger ...

Try the code yourself! Click the following button to launch an ipython notebook on Google Colab which implements the code developed in this post: The Problem: We want to solve the following st...

The Problem: We want to programmatically find the minimum value of the following simple function \[ f(x,y) = x^2 + y^2 + 3 \tag{1} \] We already know the answer to this, \(\text{min}(f(x,y)) = ...

The Problem: We have a simple nested sum problem (aka cumulative sum): \[ \sum\limits_{a_i=0}^{a}\sum\limits_{b_i=0}^{b}\sum\limits_{c_i=0}^{c}\sum\limits_{d_i=0}^{d}\sum\limits_{e_i=0}^{e}\sum\lim...