Blog, by date: 2008_may
from the desk of travis johnson.
Differential Equations (from 2008/05/12)
I’ve realized that a lot of people are nervous about differential equations. Which is understandable, but in general there’s some pretty straightforward ways to solve a fair number of the ones you come across. I’d really like to write some of it up.
My basic idea is going to be, show a bit about integrating factors, a bit about separation of variables, the characteristic equation, and the method of undetermined coefficients. That covers a lot of physical territory. Then some about reducing order with transformations from n-th order equations to n 1-st order equations, and basic Laplace for a sortof general method. And finally, maybe a tiny bit about numeric methods.
I can almost justify doing this before Monday, since it’d be useful on the dynamical systems final. I might give that a shot this weekend to see what I can crank out.
Cython (from 2008/05/09)
After I had finally convinced myself to get out of bed this morning to go to my ACMS seminar, I quickly checked my email and my heart sank a little. Today’s talk was on SAGE. Don’t have anything against SAGE, but I thought it was just a big pile of open source packages in a big, heavy install. Sorta cool, but worthless, in other words.
Turns out, I was pretty wrong about that. It is that, but it’s also 70k new lines of code that does a whole bunch of exciting stuff. Near the end of his talk, William Stein mentioned that they had created a new tool called Cython. (Well, extended Pyrex, but… whatever.)
Cython is pretty neat. It’s a compiler that takes Python code and outputs C code. This C code is in turn compiled by GCC into a shared library… which in turn can be accessed from standard python code. Which sounds like a lot of trouble for not much gain. Au contrair, amigo. Trivial changes from Python -> Cython give 10x improvements. Converting some Python lingos into slightly more C-like syntax gives 100x improvements. Even 1000x improvements are not unheard of. This is incredible stuff. It’s also really important to SAGE… it’s how they write in mostly python but maintain that speed.
Anyways, back to me. I’m pretty much a compiler dork, so this stuff gets me pretty excited. I went up and talked to him afterwards, and he told me that there’s money to be made with this stuff. Very, very exciting. I’m gonna start diving into it very soon, and I’m sure I’ll have more to say about it soon.