Previously we have verified a solution to a simple differential equation for the concentration of methane in the atmosphere under a constant emissions scenario. In the document “Differential Equations for the Concentration of Methane in the Atmosphere” (https://drive.google.com/file/d/1Yl5Cm-iHVRenuq6R1lHI4Y5cyQR-1l6j/view?usp=sharing), we go through this case, and explore more general scenarios such as a linearly increasing emissions rate.

In this article, we further explore the constant emissions scenario. We change up our notation a bit to follow Gilbert Strang in his book “Differential Equations and Linear Algebra”. Let a(t) be the rate of decay of methane in the atmosphere and q(t) be the…

Often one hears that methane (CH4) is many times worse than carbon dioxide (CO2) as a greenhouse gas. For example the Wikipedia article on atmospheric methane (https://en.wikipedia.org/wiki/Atmospheric_methane) states that over 20 year period, CH4 is 84 times more potent than CO2 as a greenhouse gas. However, over 100 years, this potency drops to 28 times stronger.

What is really going on here mathematically? That is the subject of this article.

There is a chemical reaction that converts CH4 to CO2 and H2O in the atmosphere at some rate k1. Let y be the concentration of methane in the atmosphere. …

I recently submitted to the publisher, Mathematics of Computation, “The Nonuniform Frequency Dependent Fast Fourier Transform”. The algorithm is close to my heart for personal reasons.

Fast Fourier transforms are algorithms that rapidly transform data between the time and frequency domains. Normally such an algorithm requires N² operations, where N is the number of data points to be transformed. However, fast Fourier transforms manage the operation in order N*log(N) operations, which as N gets large, is much less than N².

The Nonuniform Frequency Dependent Out of Order Fast Fourier Transform (NUFDOOFFT) is an algorithm that generalizes the plain vanilla Fast…

UNIX has for many decades had the fork() function call, which allows parent processes to spawn independent child processes. These days many people use multithreading within a singe process, for example using OpenMP. This has the advantage that all threads share the same memory (address space). Fork differs from multithreading in a major way. A child process forked from a parent process inherits the same variables in memory, but thereafter the child process proceeds independently and its writes to memory cannot affect the parent process or other child processes.

Why would you want to do this? Well, before the advent…

Just a former physicist turned applied mathemetician