This post is inspired by the "Wikipedia list of algorithms" submission at http://news.ycombinator.com/item?id=457579 . Props to soundsop.
On several different occasions I've brought up the Wikipedia page on discrete cosine transforms and hoped to understand it. This selection was made because DCTs are apparently fundamental algorithms for lossy data compression like that found in JPEGs or MP3s or whatever. I want to be able to write decoders for these things -- I've poked around in mplayer's source and want to change stuff, want to create a JPEG decoder as proof-of-concept to myself, etc.
But, here's the hitch: I have no mentionable background in mathematics. I got up to geometry in high school (i.e., I know cosines in triangles but have no idea what a cosine wave is, how it works, and/or how they're related if at all). Where can I learn all of the things I need to learn for these things to make sense to me, and to become blessed with the skills and understanding necessary to create and/or decode such algorithms? I need something somewhat simple and plain, something I don't have to chain through five hundred articles to understand -- that's the problem with WP; I don't understand one thing, so middle-click it, do that about ten times per math article, including on the articles I opened to understand the first article, and there's a never-ending lot of WP articles for me to read, and that's not really tenable. I need something focused on teaching, not necessarily technical precision and exhaustiveness.
I know what a logarithm is, I looked it up. I've also tried #math on Freenode but those dudes just don't know how to talk to someone without any mathematical training. Ask for a simple explanation there, it's usually kind of funny.
Please help me. Thanks. : )
I think the key is realizing that math is about manipulating a mental model of an idea. The wrong model can make certain tasks impossible -- for example, thinking that numbers must be 1-dimensional makes complex numbers a paradox. But when you see that they could represent items in 2 dimensions, you see how complex numbers represent a rotation. And from that, numbers can have arbitrary dimensions (vectors), and so on.
Whenever I study a new concept, I try to find the mental model behind it. For a book recommendation, I'm going through Visual Complex Analysis (http://www.usfca.edu/vca/) and find it extremely well written, with an intuitive approach.