Earlier this year, I started working on a programming project. I recently added a little more to it, and worked out a handful of kinks. It’s been fun, but I think I’m winding down on it. I’m sure in some spurts of passion I’ll work on it some more, but I’ve moved on to another Python-related project, that also gets to the core of my interests: mathematics.
I’ve known since graduating that I would never stop learning more mathematics. I have a lot of math textbooks I intend to read throughout my life, even though most of it is not particularly connected to my work. In addition, I knew that to stay connected with programming, I needed to use it in an interesting way. So, I spent a short time looking for math textbooks that also used some programming.
There are many areas of applied mathematics that use programming to help accomplish their tasks. One that I am more familiar with, having taken a couple of courses which used it, is dynamical systems. This is a broad umbrella that consists of differential equations, discrete recurrence relations, and chaos theory. The book I’m reading is very new, Dynamical Systems with Applications using Python, by Stephen Lynch. The book is new, but I believe a lot of the content is quite similar to his other books which have the same title, except substituting Python for MATLAB and Mathematica.
The book has been a pleasure so far. My plan is to use a Jupyter Notebook for each chapter, for taking notes, working out examples, and doing the exercises. These are perfectly designed for this type of situation, where you want to combine verbal descriptions (with LaTeX support!) with your code. Here is a Dropbox link to the Chapter 1 notebook, for anybody interested. Note that you’ll need, at least, numpy, sympy, and matplotlib installed with your Python distribution; I personally use Anaconda for everything, as does the author. So, if you have that, it should all run without a problem. Although, I suppose you may need a LaTeX distribution as well for all of the math typesetting to work. I’m not sure how that is implemented.
It’s been a fun project, and it’s very enjoyable learning things at my own pace, a little bit at a time. It keeps me engaged, and I look forward to getting deeper into the book, where the author starts talking about much higher level techniques that I haven’t seen.