Learning Math
I am in my early thirties and honestly, I cant claim to have a good background in math.
But, I now have a burning desire to learn it from the ground-up.
What are the 'canonical' sources for math, both online and offline? I am lost as to where I should start. I want to have a fundamental, intuitive understanding of it.
To clarify, I would not consider it shameful to start at whatever level necessary (even the lowest, if required).
74 comments
[ 3.2 ms ] story [ 152 ms ] threadIf you are going for the roots of it, after Arithmetic then basic Algebra in a prerequisite for all further math learning - manipulating and solving equations using variables. Be very comfy with that before proceeding.
Then try geometry, basic stats, and understand the ideas behind calculus. Linear algebra.
If you are still interested, look at dicrete math at least to know what it is. Learn about frequency domain and Fourier analysis, and numerical methods, at least to know what they are about. All these areas go much deeper than I care to venture. I think a breadth-first search will arm you with the best perspective. But as you get further in you see how these different types of math overlap and combine in various ways.
And that's as far as I ever got =) Like you I still want to learn lots more math, and I believe that's a life long process.
www.betterexplained.com has some good tidbits for math.
I've found MIT's opencourseware to be a pretty good help: http://ocw.mit.edu/OcwWeb/web/courses/courses/index.htm#Math...
Only the undergraduate courses tend to have video lectures though. The ones on linear algebra and diff eq are quite good. When I first learned matricies in high school, the teachers just went through the mechanics of how to manipulate them and how to calculate a determinant. It wasn't until years later, and when I started wtching these lectures that it crystallized for me what it actually meant.
These are monthly lectures on math topics, which have been enlightening. http://www.ams.org/featurecolumn/index.html
If you like exploring, there's this: http://www.jimloy.com/math/math.htm
some free online texts http://www.math.gatech.edu/~cain/textbooks/onlinebooks.html
If you haven't had a course before, you can just follow the usual sequence of courses that high school students and college students take. calculus, multi-var calc, diff-eq, linear algebra, probabilty. And get a textbook and work through the problems. If you code, discrete math will probably help somewhere along the way. Probability/stat for machine learning.
If you've already had the stuff before, It might help just to pick one small topic in a math field, like gradients in multi-var calc, and just focus on that for a bit, and inevitably, it'll mention some other math tool that you don't know about, and just follow your nose and interests.
What I didn't learn until after I finished undergrad is that if you want to really understand conceptually what things mean in math, and not just how to manipulate symbols, there's no getting around working on problems paper (or matlab/mathematica) and just playing with it.
Hope that helps.
I think Martin Gardner did the same for Mathematics that Jon Bentley did for computer programming (or vice versa :o)). His books are fun to read. Some of the puzzles will be difficult for you, at first, but once you get the ball rolling you will be hooked. There are couple of usenet groups that you will find helpful while finding for hints for the solutions(notice that I didn't say ask for solutions on those usenets). Please also read the following
- "How to solve it" by George Polya.
- "How to prove it" --hmmm, cannot recall the author name.
As others suggested, learn Algebra, Trigonometry, Calculus, Discrete Mathematics and etc. After that, try to settle on a sub-field and focus on that for at least 10 years. Another thing that you can do is to try to talk to some professors at a university nearby and tell them you can do some research as a volunteer (10-15 hours/week). I think you will find at least one professor interested in this idea out of 100. Don't give up, this can work. There was this Nobel Laureate at University of Utrecht and he has a very good collection of pointers on background information that a theoretical physicist should possess. I'm sorry I cannot recall his name. So good luck. I know if you will persist you will have a lot of fun doing it.
If you lack fundamentals, skip the sources and look for the people. Find a good teacher and take their class. This will probably entail an intense week of course shopping at a local school. Friendly fellow students can be a huge boon, at least for me, since I solidify concepts best in conversations with peers.
If you, for some reason, absolutely cannot take a class in person, I would encourage you to find a study partner and watch online lectures together. I really like MIT's Linear Algebra and Differential Equations videos (http://ocw.mit.edu/OcwWeb/web/courses/av/index.htm#Mathemati...), but but I don't know if those are at your level.
Sometimes a wikipedia article (along with sources at the bottom) is enough, sometimes I'd need to buy a book, like in case with statistics. Amazon book reviews are usually very helpful and good math books are quite expensive (easily in $100+ range) but can be had for a fraction of original price when bought used.
Search for a topic you are interested in, like Calculus. Start there. Spend a few hours reading and clicking through links, finding books that are cited, etc. If you don't understand something, usually some link will have the background information you need.
Do this every week or so.
In the same way that SICP transforms you from a high-schooler into a wise adult when it comes to programming, so too does Calculus when it comes to maths. If you find the book to be heavy going, then read whatever preliminary material you need, and go back to it.
Edit: I should also stress that maths requires a fair amount of discipline (a lot more than programming), so it's really hard to study maths while also having a day job.
Do you think this would lead to a more solid foundation (from less frustration), for self studying, than reading from a thorough but dense text? I don't know Spivak's Calculus, but some reviewers on Amazon compare it to Apostol, which I found so abstract, and so unpractical, that I promptly forgot everything. It is now on my to-read list, but like you said, I won't be starting until I can dedicate myself to studying it, and now that I have seen the REA book, I wonder if it would be better to work on that book, as a refresher and foundation builder.
Oh yeah, dwaters, if you happen to be interested in Apostol, and want a study buddy, I nominate me.
In the guidelines: "Resist complaining about being downmodded. It never does any good, and it makes boring reading. "
If your comments don't add any information to the topic at hand, it usually gets downmodded. Exceptions seem to be if they're wise-ass or snarky comments.
As far as getting downmodded for my additional comments, I expected that and don't mind. I have read the rules. BTW, I do think people here are far too inclined to downmod stuff they dislike without refuting it.
<3 downmodders.
http://steve-yegge.blogspot.com/2006/03/math-for-programmers...
To give you an idea of the flavour of it, here's the opening sentence:
"Pure Mathematics is the class of all propositions of the form p implies q, where p and q are propositions containing one or more variables, the same in the two propositions, and neither p nor q contains any constants except logical constants."
It's way out of copyright, so there's an online version:
http://fair-use.org/bertrand-russell/the-principles-of-mathe...
Personally, I like to do contest problems. You can find tons and tons of them on John Scholes's website: http://www.kalva.demon.co.uk/ but they tend to be on the hard side. The AIME is possibly the easiest on there, and those are the sort of problems where the average high school only has one student every decade or so that can solve any.
There are contests for junior high students and less advanced high school students, too, but I can't find the problems online. There are books, though. You might want to look at the AMC 8, 10, and 12.
Or, you know, make some up. Think of a problem you've always been curious about, and try to solve it. There are forums online that can offer guidance. For example, I work on http://math2.org/mmb/ .
http://www.amazon.com/Mathematics-Elementary-Approach-Ideas-...
There's also the Princeton Companion for Mathematics, which isn't out yet but is available online. It's a wonderful book.
http://pcm.tandtproductions.com/
User: Guest Pass: PCM
The problem with math education is that "the basics" (things that I recommend you start with) are neither easy to understand nor obviously useful in "the real world". Or at least the latter was true before computer science came along. But most educational programs were established before CS, so basic math is regarded as something you don't really need to know. But you do, if your goal is to understand math, and not to be able to design bridges as soon as possible.
Now universities are gradually fixing the situation. They still start you off with calculus and such, but before you go on to more rigorous classes like Analysis or abstact algebra, they give you a "transition course", which is essentially a survey of the basics.
When I first started learning set theory, I wondered why this wasn't taught first since it was so fundamental. It took me a while to realise that I wouldn't have understood any of it, because you need some measure of number sense and a moderately well-formed abstract reasoning to appreciate this stuff.
Throughout my experiences in learning, I've always found that it is a zig-zag path - learning the superficial or applications, before drilling down to the fundamentals, and then going back to applications with a new sense of appreciation and so on. Going from the bottom up sounds to me like a recipe for losing interest in the subject very quickly.
http://www.amazon.com/Vector-Calculus-Linear-Algebra-Differe...
It'd be easy to spend multiple lifetimes studying math, so you'll have to set some priorities. Applied vs. pretty, pragmatic vs. rigorous, discrete vs. continuous, and various subfields within "applied," e.g. So presently, when you have a better idea what your priorities are, you'll probably want to pose a variant of the question again.
(E.g., not "what are the 'canonical' sources for math" but something as specific as "what are the 'canonical' sources for math leading up to what I'd need to understand X" where X is something like "the cryptanalysis of the Data Encryption Standard" or "the proof of Fermat's last theorem [good luck:-]" or "why people think Y's work was important" where Y is Galois or Hilbert or Ramanujan or Noether or Erdos or Matiyasevic or whoever.)
Meanwhile, if you just want to see what the fuss is about before trying to formulate a more specific question, I can recommend any of four kinds of samplers.
1. For about 80-90% of ways of analyzing the physical world, one really wants to know calculus. Get _A Concept of Limits_ (cheap from Dover), the three most promising calculus books from your local library (and/or webbed tutorials), and a basic dealing-with-the-physical-world book which assumes you know calculus (e.g., just about any serious physics text, or _The Art of Electronics_, or something acoustics or signal processing or whatever). Keep fiddling with them, and doing exercises as necessary, 'til the pieces fit together.:-| Expect it to be quite a lot of work --- by my estimate, freshmen and sophomores at Caltech in the 1980s generally spent at least 250 hours on it, sometimes more like 1000. And it will probably be much easier if, like them, you can arrange to get at least 1 hour of feedback every 20 hours of study from someone who already understands the stuff.
2. For anything in computers, getting familiar with the basic math of reasonably serious algorithms is really useful. I, like many people, like _Introduction to Algorithms_. Get it and study it; understand at least a representative number of chapters. My estimate is that this is a lot easier than option #1, maybe five times easier. It isn't anywhere near as big a hammer for dealing with the physical world, but it can be extremely handy for dealing with the software world.
3. If you want to see what all the fuss is about in some representative areas of less-physical, less-computer-y math, I know of two Dover books which try to drag you from advanced high school math to a famous math result. _Abstract Algebra and Solution by Radicals_ drags you through (the modern, cleaned up and rigorous version of) Galois' proof that there is no closed-form formula for solving polynomials of fifth order. _Computability and Unsolvability_ drags you up to Matiyasevic's proof that Hilbert's tenth problem is insoluble. Working through either of them in detail would be a lot of work, almost certainly more than you want to do if your interest turns out to lie in something else like graph theory or algorithms or topology or statistics. But you could probably learn a lot about roughly how things are done merely by skimming either of them a few times. (And if just seeing broadly how things are done is your priority, you might prefer _AAaSbR_, since showing broadly how things are done seems to be one of its priorities too.)
4. Peter Winkler's newish (2004) _Mathematical Puzzles_ book is also very good and very math-y and well worth looking at as a sort of inspiration. However, if you ever get tempted to think that the extreme elegance of puzzle solutions is representative of how math gets done, look back at section 3 before jumping to conclusions.
"I am lost as to where I should start. I want to have a fundamental, intuitive understanding of it."
My closest thing to a literal answer to that would be: read _AAaSbR_. Like it very, very much.:-) Like it so much, in fact, that you are motivated to really stu...
Also "Alice and Numberland", Baylis and Haggarty; and "The Foundations of Mathematics", Stewart and Tall. These are both pitched somewhere between high school and university level and bridge the gap well.
http://www.youtube.com/profile_play_list?user=nptelhrd
a couple are math-specific, but they keep adding videos so there may be more later on
I do not know Spivak's Calculus but his advanced books (by Publish or Perish) are excellent, So I assume his calculus book is also. Especially Calculus on Manifolds and A Comprehensive Introduction to Differential Geometry. Anyone who wants to understand calculus on higher dimensions should read Calculus on Manifolds.
If you want to learn from the masters and you have the confidence, audacity and intelligence. I would suggest Fundamentals of Abstract Analysis by Andrew Gleason and Geometry and the Imagination by David Hilbert.
Just a warning. These books are for people adept at mathematics and are willing to spend hours on a page or two. If you are not, then avoid these books.
Much more important than which text you use is your attitude, and a willingness to really walk through and understand the proof of a theorem, and a willingness to work through problems. Having said that, here's what I did:
Go through the chapter in Feynman Lectures on Physics, Volume I, where he starts with integers and goes through trigonometry until he winds up at Euler's Theorem. Do this, and you'll really understand numbers (as well as algebra and trig).
Then I went through the appendices of my college calculus textbook to pick up some algebra tricks I had never really learned. (This is a recurring theme, BTW: you learn a fundamental idea, and then there a bunch of tricks around the fundamental idea that enable you to actually solve problems. So, to really "get" math, you need to truly understand the most important fundamental ideas, and you need to learn some of the problem-solving tricks.)
From here, the school route is to press on to calculus. What's more practical is to actually learn and understand some probability and statistics. Especially Bayesian reasoning (http://yudkowsky.net/bayes/bayes.html). Understanding statistics and probability will actually improve your everyday life. But assuming you still want to press on to calculus...
You need to learn about limits. Actually work through some limit problems. And then you need to read through the definition of a derivative, and compute some derivatives by hand, computing the limits. And then you'll really understand derivatives.
(By the way, when you understand derivatives, you also understand differential equations. When people take differential equations classes, they're just learning the bag of tricks used to solve different patterns of differential equations.)
Now read through the proof of the mean-value theorem until you get it. This will enable you to understand the fundamental theorem of calculus. And so now you understand integrals. There's a bag of tricks around solving integrals which you can learn. At this point you could also start toying around with Mathematica; you now know just enough to begin appreciating how cool it is.
Once here, most math courses take a little detour and teach some numerical methods. I wouldn't sweat it too much, although it's a good trick to know that you can express a lot of different functions (e.g., y = the sine of x) as algebraic series, because it lets you approximate solutions to problems).
Now learn about vectors and simple vector algebra, which is just enabling you to generalize your understanding to multiple variables (e.g., z = x^2 + y^2). This will introduce different flavors of derivatives, as well as some different flavors of integrals. Just go get the book "Div, Grad, Curl and All That". You'll need to read a different book to read and understand the theory, but reading Div, Grad, Curl will give you an intuitive feel, which can be a big hurdle to getting multivariable calculus.
Before, during, or after your study of "Div, Grad, Curl...", you might want to learn about matrices, which is a short hand for writing systems of equations that transform one vector space into another vector space. This is worth knowing if you really want to understand 3D graphics programming.
And now you know as much math as your average physics or engineering student, although you should learn about Fourier analysis, because it's fun, and then you'll understand how your CD player works.
You could quit at this point, and you'd be in pretty good shape, but everything you've done up to now falls under the heading of "applied math". If you want to get a taste of what most mathematicians do, you'll need to look at what's called "abstract algebra". This is actually a ton of fun - just think of i...
It will also answer 90% of the "hard" problems on the GRE, if anybody cares.
Also, I second not jumping into calculus too quick. It can be frustrating and isn't terribly useful for problems outside of Physics.
network and graph theory are definitely interesting topics. but what you've covered is most definitely a lot of interesting math. im an engineering (just a freshman), so all i get to see is integral calc. but theres definitely a lot of interesting math out there. combinatorics is also pretty nifty.
a very nice structured list. i might have to go pick up some books...
Good luck.
I'd recomment calculus up to integration. Don't worry about integration tricks, except for integration by parts (the most important formula in mathematics) and u-substitution. All the other integration tricks are pointless crap used to fill up time in calc classes.
Vector math is useful if you like either computer graphics or physics, but is not crucial.
On the other hand, everyone should know probability, even the purest mathematicians. Just don't try to learn it out of an "Introduction to Probability and Statistics for Engineers" book, all such books should be burned. Real/functional analysis would also be useful to better understand probability.
I'd also suggest combinatorics/graph theory, and perhaps the theory of automata. That's edging towards computer science, but it is a fundamentally mathematical topic.
Also, it will be very slow going. It's not like picking up another computer language/framework; it's even harder than Haskell. I've have a Ph.D. in mathphys/num analysis, but it still takes me a long time to push through an introductory textbook in a field too far removed from my own. For instance, I sat through 4 semesters of abstract algebra (3 at the grad level), and I still don't understand it. Don't get discouraged.
It is an almost totally overlooked area in any curriculum (math, CS, physics). And it is just as fundamental as algebra.
Algebraic topology isn't that incomprehensible as some think X the basic ideas are very simple and intuitive. Take a look at this short introduction http://www.inperc.com/wiki/index.php?title=Topological_Featu.... You need to know at least as much.