A complex story with a simple ending

Being terrible at mathematics is rarely a problem for software developers these days; algorithms for most problems are widely available and software libraries implementing those algorithms are equally accessible now that people understand the joy of free software.
A-level Mathematics was extraordinarily difficult for me and even though many of the concepts were beautifully simple to grasp, the nuts and bolts of making them work eluded me. Seeing any formula involving ‘e’, ‘i’, an integral, or a capital Sigma would send my brain into meltdown and force me to look away.
Thankfully we don’t need to understand this stuff in “the real world”, I comforted myself by saying twenty years ago. Twenty years later I was dealing with complex numbers in my day job and regretted not learning about them properly when I was younger; when my brain was less fried. Obviously I understood the basics: ‘i’ is the square-root of -1 and a complex number is simply a combination of i with a real number e.g. “3i+4”. I also understood how to do the operations on them so that performing something like an FFT was pretty straightforward. But why it worked, and what it was all about had eluded me completely. Most people don’t care about that – as long as they can perform the necessary operations they’re happy, and rightfully so. But I’m stubborn and not very good at this stuff so it has always concerned me that I don’t understand why it works, and consequently I never understood why the complex-plane was ever relevant to real-life.
Very recently I stumbled upon this amazing website:
This guy is brilliant! It was as if he understood my mental block and picked it apart leaving me with the glorious feeling of actually understanding complex numbers and how they relate to real-life. Quite a wonderful experience to have on the bus home from work.

Leave a Reply