top | item 16562173

Ask HN: How to self-learn math?

618 points| sidyapa | 8 years ago | reply

I have a new found appreciation and fascination for maths and would love to study maths from the bottoms ups. I'd love to know the paths I should take and books I should read.

EDIT1: If the question is very broad, it'd be much helpful to know how did you learn math? What courses you took, books you read.

EDIT2: My current proficiency level is pre-high school mathematics as I didn't pay much attention in high school, learning effectively nothing.

208 comments

order
[+] mikevm|8 years ago|reply
Ok, I'll take a crack at this:

Up to high-school level:

1. Precalculus: Precalculus: A Prelude to Calculus - Axler

2. Calculus: The Calculus Tutoring Book - Ash.

College:

3. Preparation for Collegel-level maths:

3a. General prep for high level maths: How to Study as a Mathematics Major - Alcock

3b. Proof writing: How to Prove It - A Structured Approach - Velleman OR Book of Proof (2nd ed) - Hammack (it's free!)

4. Mathematical Analysis:

4a. Good prep for Analysis: How to Think About Analysis - Alcock

4b. Understanding Analysis (2nd ed) - Abbott OR Yet Another Introduction to Analysis - Bryant (has full solutions) OR The How and Why of One Variable Calculus - Sasane OR Mathematical Analysis - A Straightforward Approach (2nd ed) - Binmore (has full solutions)

5. Discrete Mathematics (a combination of set theory, combinatorics, a bit of discrete probability and graph theory): Discrete Mathematics - Chetwynd, Diggle

6. Linear Algebra: Linear Algebra - A Modern Introduction (4th ed) - Poole

7. Probability: Introduction to Probability - Blitzstein, Hwang + online course https://projects.iq.harvard.edu/stat110

8. Statistics: (for Bayesian) Statistical Rethinking - A Bayesian Course with Examples in R and Stan - McElreath + online course https://www.youtube.com/playlist?list=PLDcUM9US4XdM9_N6XUUFr...

Usually you'll be doing courses on #4, #5, and #6 simultaneously.

[+] dvddgld|8 years ago|reply
Two quick things I can recommend without hesitation, which focus on an intuitive understanding of concepts:

1. Essence of Linear Algebra mini-series - https://m.youtube.com/watch?v=kjBOesZCoqc

2. Better Explained website - https://betterexplained.com

YouTube has a lot of high quality math content, it definitely helped through university. It's also worth mentioning the Stanford U courses.

The main takeaway I have for you is learn the concepts intuitively first, then spend the time to play around with them on paper until they sink in. Some things will be easy, some will be frustrating, much like programming you will walk away from a frustrating problem and have an epiphany while doing something completely different.

All the best and have fun!

[+] RossBencina|8 years ago|reply
To the above I would add:

How to Think Like a Mathematician - Kevin Houston (an excellent book to read before starting)

How to Read and Do Proofs - Solow

The Keys to Advanced Mathematics: Recurrent Themes in Abstract Reasoning - Solow

Calculus - Spivak (Actually a Real Analysis book, not a Calculus book, see e.g. https://math.stackexchange.com/questions/1811325/spivaks-cal... )

Linear Algebra Done Right - Axler (Intended for a second course in Linear Algebra, but I found it helpful during my first course.)

And for something from left-field:

Visual Group Theory - Carter http://web.bentley.edu/empl/c/ncarter/vgt/

There are many many many books on every mathematics topic under the sun. Finding books that speak to you is important. I have had mixed success buying books upon other people's recommendation. You would be best to get access to a library.

[+] hudibras|8 years ago|reply
> Statistics: (for Bayesian) Statistical Rethinking - A Bayesian Course with Examples in R and Stan - McElreath + online course

Because it's a relative newcomer to the statistics scene, McElreath's book isn't as well known as the classic textbooks that many of us used back in the day. But it's steadily becoming one of the mainstays of graduate level statistics programs. A must-read.

[+] sidyapa|8 years ago|reply
Hi, OP here, thank you so much for the list and effort.
[+] kingkongjaffa|8 years ago|reply
6,7,8 can be done alongside 2 there's no reason to leave those 4 foundation topics to late IMHO.
[+] chris_wot|8 years ago|reply
I find there are things I’m missing. Does the precalculus stuff cover geometry and polynomials?
[+] aphextron|8 years ago|reply
>My current proficiency level is pre-high school mathematics as I didn't pay much attention in high school, learning effectively nothing.

Advice from someone who was in the same position: Take a class. Multiple classes. Go sign up for a Mathematics AS at your nearest community college right now. You will never know enough of what you don't know to learn this stuff on your own. A lot of it is just doing the painful repetition work of practicing problems over and over again, which is hard to force yourself into without a "coach" pushing you. Having a cohort of students to work through problems with is also priceless. And the drive of having accountable grading will keep you at it regularly.

It can be a bit awkward at first feeling stupid not knowing what a logarithm is in a room full of 18 year olds. But it's the only way to really get there. I went from high school dropout who didn't know how to add fractions to passing calculus in 18 months.

[+] Ultimatt|8 years ago|reply
Depends what your goal is. I cant imagine anything worse than High School style teaching of mathematics. Its awful. That repetitive calculation, entirely unnecessary for almost any real world situation. Almost every time you are doing repetitive calculation what you should have been taught was a second or third conceptualisation of whatever maths you are looking at. So linear algebra I was only ever taught numerically in computer science. WHICH IS CRIMINAL. It has such an obvious and more easily understood geometric interpretation. The same is true of calculus, learn it in physics. Seriously. Do high school physics /and/ maths if you wish to understand calculus. Otherwise you've got someone who probably did a pure maths degree teaching you something that was created by physicists for a reason, that reason has a physical and real world interpretation not to mention a geometric one. Another good example is in chemistry you might learn statistical mechanics, in computer science or electronic engineering you might learn information theory. If those two classes were taught back to back for both groups of people they would actually deeply understand the mathematics behind it. Personally I've always found learning maths in a pure way incredibly challenging. As an adult I think its a lot easier to learn maths through something that has physical or meaningful interpretation. You can then draw on your actual life experience to understand the maths.
[+] tdaniels|8 years ago|reply
I second this. Having studied to the postgrad level, I've come to appreciate just how broad the subject is. Looking back, I feel it would have been near impossible for me (personally) to get here without the help of lecturers and tutors - often prerequisite knowledge creeps in unexpectedly, and you come to rely on them to guide you through this.

I agree also that regular grading and a lesson schedule help to both push you to learn, and for you to assess your progress in an unbiassed fashion.

Personally, though, I am biassed - and am thrilled when people say they want to learn more maths. I love maths, and find it very rewarding. The best of luck with your journey!

[+] EnderMB|8 years ago|reply
As someone that has loosely tried to learn Mathematics over the past decade, I second this.

Self-learning mathematics is really difficult, especially when you don't really know where you stand any more in terms of pre-requisite education.

It's easy to say you're going to dedicate x of hours of time to study Mathematics, but it's easy to drop off, ditch it in favour of the next thing to learn, and essentially forget what you tried to learn. Taking a class will at least physically allocate that time to maths.

[+] noobhacker|8 years ago|reply
Do you also think that one can only learn Computer Science effectively by taking classes?
[+] minhaz23|8 years ago|reply
Can I ask where you are now in life? Im a high school drop out as well and have found it very tough to get back into things, crippling anxiety only driven further by lack of participation :/
[+] jostylr|8 years ago|reply
Recommend Guesstimation by Weinstein and Adams as the first topic to master. Getting comfortable with numbers and their sizes will make everything else easier. Also, getting in the habit of doing rough explorations is an essential skill in exploring all later material.

Technical Mathematics with Calculus by Calter is a single volume that covers stuff up through calculus in a, well, technical manner.

For a more understanding way, try Elements of Mathematics by Stillwell.

If you get past Calculus, I recommend Vector Calculus, Linear Algebra, and Differential Forms by Hubbard. It gives an amazingly clear viewpoint on the higher level analysis and algebra topics, both numerically and abstractly.

For statistics, you might try something like Think Stats by Downey which emphasizes explorations with Python, real data, and Bayesian statistics.

As a faithful companion in your journey, use something like GeoGebra or Desmos to really explore the visual side of all the topics. Computers can do the tedious computations. Your task is to learn why we are doing this and how it is being done. When you get to calculus, learn what Newton's method is doing and appreciate how amazing it is.

[+] ivansavz|8 years ago|reply
I have just the book for you: the essentials of high school math for adults: http://www.lulu.com/shop/ivan-savov/no-bullshit-guide-to-mat...

If you like this one, you can followup with the MATH&PHYS book which covers mechanics (PHYS101) and calculus. And if you like that one, you can follow up with the liner algebra book.

All along the way, I recommend you try solving exercises and problems using pen and paper. Ideally you can also create custom "test questions" for yourself using SymPy https://minireference.com/static/tutorials/sympy_tutorial.pd... 1. start with a simple math question or equation related to what you're studying right now, 2. solve it by hand, 3. compare your answer with the answer obtained by SymPy.

Good luck on your journey. Math is very deep so don't be in a rush. Enjoy the views along the way!

[+] mathgenius|8 years ago|reply
Nothing beats having a (good) teacher. Self-learning, no matter how smart you are, is pitifully slow without a teacher. Half an hour with a good teacher can save you weeks of table head-butting. (But obviously you can't rely only on the teacher.)

As for books, it's not a spectator sport: you gotta do it yourself. Read a sentence, then work it out yourself with pen & paper. You can't get it just from reading alone.

Finally: in mathematics there's many many roads to Rome! If something isn't working for you, try another way.

[+] iliketosleep|8 years ago|reply
I disagree with the general statement that leaning maths is "pitifully slow without a teacher". So long as one has structure (e.g. some kind of syllabus) and has access to google, then learning can proceed very efficiently indeed. In addition, by being able to work through difficulties independently you can "be your own master" so to speak, earning the confidence to solve new and difficult problems without assistance.

Having said that, I have come across people who have absolutely no apitutude for maths and definitely need a teacher. In a matsh class, there's usually one one set of people who kind of just "get it" straight away, and another set who struggle despite studying hard.

As you said, there are many roads to Rome, and the best road may or may not involve a teacher depending on the individual.

[+] munin|8 years ago|reply
> Half an hour with a good teacher can save you weeks of table head-butting.

I spent a year and change trying to teach myself calculus from a textbook. Eventually I signed up for a class at a community college and learned more in a month than I had all year. I think this says more about my learning style than anything else, though, but my experience was shared (on other topics) with lots of other people.

I think you benefit a lot from having other people working on the same thing, and you benefit a lot from having a teacher/mentor who can interactively explain to you where you are going wrong. You can definitely find some hard-ass who taught themselves measure theory in a cave, but...

[+] realharo|8 years ago|reply
>Half an hour with a good teacher can save you weeks of table head-butting.

That says more about the poor quality (or bad fit) of the book/video/material than it says about the skill of the teacher.

I guess online courses where students can post comments and talk to each other partially address this. These comments may help point out the parts that the material failed to convey properly (and in an ideal world, such feedback would then be incorporated into the next revision of the material).

[+] phugoid|8 years ago|reply
If OP lives in a city, it shouldn't be hard to find a sharp college kid who will tutor.
[+] bjourne|8 years ago|reply
I'm curious about the need for a teacher. Because I'm learning math by myself and I don't have a teacher. Except for math.stackexchange.com, essentially. How many hours of tutoring/hour of self-study do you recommend? What can tutors help you with that is hard or impossible to learn on your own?
[+] nicoburns|8 years ago|reply
> Nothing beats having a (good) teacher.

True. But good teachers can be hard to find, and a lot of things (for example, a good textbook / notes) beat a bad teacher...

[+] synthmeat|8 years ago|reply
I’m going to go with a few assumptions here:

a) You don’t do this full time.

b) By “bottoms up” you just mean “with firm grasp on fundamentals”, not logic/set/category/type theory approach.

c) You are skilled with programming/software in general.

In a way, you’re ahead of math peers in that you don’t need to do a lot of problems by hand, and can develop intuition much faster through many software tools available. Even charting simple tables goes a long way.

Another thing you have going for yourself is - you can basically skip high school math and jump right in for the good stuff.

I’d recommend getting great and cheap russian recap of mathematics up to 60s [1] and a modern coverage of the field in relatively light essay form [2].

Just skimming these will broaden your mathematical horizons to the point where you’re going to start recognizing more and more real-life math problems in your daily life which will, in return, incite you to dig further into aspects and resources of what is absolutely huge and beautiful landscape of mathematics.

[1] https://www.amazon.com/Mathematics-Content-Methods-Meaning-V...

[2] https://www.amazon.com/Princeton-Companion-Mathematics-Timot...

[+] gradschool|8 years ago|reply
The Princeton Companion to Mathematics is a good resource consisting of a huge collection of detailed articles on many mathematical subjects by knowledgeable contributors. It requires no specialized background and is curated by Fields Medalist Tim Gowers. Whoever reads it from cover to cover is my hero, but failing that there's always an interesting article to jump to.

Don't just be a consumer but write something as soon as you're inspired. I wish there were more emphasis on writing mathematics in school prior to the graduate level. Leslie Lamport says if you're thinking but not writing you're not really thinking; you only think you're thinking. For Feynman the act of discovery wasn't complete until he had explained it to someone. There's also the rule of thumb that if you can't explain a mathematical concept to a ten year old, you don't understand it yourself.

Edit: typo

[+] aphextron|8 years ago|reply
>Another thing you have going for yourself is - you can basically skip high school math and jump right in for the good stuff.

I'd strongly disagree with this. To the mathematically literate, concepts like "imaginary numbers", "prime numbers" and "logarithms" are just simply understood things which are familiar and have always been a part of your lexicon. These are actually wildly complex, abstract ideas which take years to fully grasp as an adult being first exposed to the material. Developing a mathematical intuition to the level of an advanced high schooler is no small feat for an adult with zero mathematical training. I'd strongly suggest anyone actually starting from zero mathematical knowledge to go back and spend time doing basic remedial math courses from the point of simple algebra and arithmetic with a good teacher to truly understand numbers first.

[+] sidcool|8 years ago|reply
What's your opinion of Mathematics for computer science?
[+] KodiakLabs|8 years ago|reply
The simplest approach I think would be to start with Khan Academy. Well spoken clear and concise. You can go from a Highschool level towards subjects from first year university. Once there, it should be easier to self teach from books.
[+] hultner|8 years ago|reply
I can recommend this path, studied almost all my pre-engineering math this way 2011 and were better equipped for initial engineering courses then most of my peers. However it kinda capped out at high-school level (or atleast Swedish equivalents).
[+] ravenstine|8 years ago|reply
OpenStax textbooks(free and open source) are also good supplemental material.
[+] elbear|8 years ago|reply
I agree, because I'm on this path myself and have been for 200 days. I started by brushing up on my algebra and now I've reached integrals in AP Calculus AB.
[+] rizn|8 years ago|reply
I was in your position as well and my recommendation is to buy a good book.

I personally chose Precalculus by James Stewart and it works for me. It's a thick 1000 pages book with excercises and tests.

It quite well explains all topics, which you would have in high school (from basic arithmetics to everything you need to start calculus).

I do maths in my spare time (a few hours a week) and I completed 700 pages over past 3 years.

This year I should complete the book and be ready to do more advanced mathematics.

95% is self explanatory (if you focus and re-read) and explains well proofs. When I didn't understand something I found answer on google or asked a few questions on math stack exchange.

My point. You can absolutely do maths on your own. You don't need classes with a teacher, but it only depends what kind person you are and what works for you.

EDIT: Do all exercices and never skip to the next bit if you don't understand something from the previous part.

[+] RossBencina|8 years ago|reply
I agree with other comments that "learn maths" is too broad. You can take a university degree in maths and still be just at the beginning of "learning maths." I recommend refining your goal somehow: perhaps to learn math related to certain applications that you're interested in, or learn math in a certain area (e.g. high-school algebra, geometry, probability, discrete math, graph theory, calculus, pure math, abstract algebra, topology, etc).

If you have not mastered high-school algebra and other pre-calculus subjects, you should start there; most other maths subjects will assume that you know these things. Calculus takes up a lot of space in upper high-school and early university courses -- but if you're a developer there may be other subjects that are more immediately useful to you (e.g. discrete math, linear algebra).

I set out to "learn maths" (that's verbatim what it says on my personal Kanban board). In the end I took some university classes. For me they provided the structure and teachers to help me learn. Also, there is a difference between having an idea about what some math-thing is, and being able to pass an 3 hour closed-book exam in that topic.

I agree that Khan Academy is a good learning resource that will provide structure to your learning:

https://www.khanacademy.org/

Purplemath is another good resource:

http://www.purplemath.com/

YouTube is full of videos of people running through problems on any conceivable topic. Definitely search there for help.

Once you've worked your way through the high school prerequisites, I'd recommend Linear Algebra as a good next course. It has many practical applications, and is also an entry point towards pure math subjects like Abstract Algebra. Also, you don't need to know any calculus to study linear algebra. I like Gilbert Strang's OCW course:

https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra...

Finally, mathematics is HUGE. The following will give you a bit of an idea:

The Map of Mathematics https://www.youtube.com/watch?v=OmJ-4B-mS-Y

[+] nhaehnle|8 years ago|reply
I'll make an unconventional suggestion that, in addition to just brushing up on high-school mathematics, you should read Gödel, Escher, Bach by Hofstadter. It's a very meandering book, but it contains a lot of interesting ideas related to math and probably one of the best ways of teaching you about formal systems, which is really crucial to the axiomatic approach of "real" math.
[+] chx|8 years ago|reply
A lot of books listed here can be used to scare anyone away from maths. Too dry for starters.

I would say you must start with Rozsa Peter's Playing with Infinity http://a.co/6MMCE5g to quote an Amazon review

> This book is a gem. I read it as a highschool student, and it played an important role in enticing me to become a mathematician. Its emphasis is not on practical applications or on solving funny problems: instead, it is an inspiring introduction to some of the great intellectual challenges in the history of mathematics.

Another in a similar vein https://en.wikipedia.org/wiki/One_Two_Three..._Infinity

You can go and study the textbooks after.

[+] ska|8 years ago|reply
The simplest thing I can offer is that you cannot learn mathematics by reading, watching, or hearing about it - you have to do it yourself.

The way most people run into trouble is by skipping over new concepts quickly thinking “I get that”, and then ending up in a real muddle with a later concept that builds on it.

There are better books and lectures and weaker ones, but none are a replacement for working problems.

[+] kraitis|8 years ago|reply
You want to acquire and shoot for the so-called mathematical maturity. More precisely: to become an autonomous problem-solver and have the know-how to solve (non-)trivial proofs. Typically this means bridging the gap between computationally based maths which one is exposed to in pre-school to high-school years and sometimes in the first year of college/uni, and proof-based maths which involves and demands a good command of sets and operations on sets, quantifiers (universal, existential), logical operators (not, and, or, material conditional, biconditional), and proof methods (direct, indirect a.k.a reductio ad absurdum, induction, pigeonhole principle, etc.)

A good series of books aimed for pre-school and high-school students to accomplish just that is The Art of Problem Solving. Google it.

[+] elcapitan|8 years ago|reply
Method-wise it could be helpful to get a (lightweight) computer algebra software and learn how to use it and how to explore knowledge using it. One thing you won't have when you're out on your own is a method to just try out stuff and verify that it is correct, or to get better visualizations quickly. Often you will get stuck with something and need a different angle (which teachers or other students could normally provide). Then you can just open the software and play with it.

One place to do that for free on a basic level would be Wolfram Alpha: https://www.wolframalpha.com/examples/math/

Edit: (I mean this in addition to the learning resources like books and videos)

[+] mkl|8 years ago|reply
Personally, I wouldn't recommend Wolfram Alpha, or anything proprietary. If you have some programming knowledge (as OP is likely to), Sympy and Matplotlib are much more capable and controllable (and free!).

I think if you're building up skills and knowledge, it should be towards something you have control over and can use in any situation without worrying about licences, cost, etc. At my university, we teach undergrad engineers Matlab, and it just seems like an expensive clunky dead end to me (though their numerical methods knowledge should be transferable).

[+] dvddgld|8 years ago|reply
This is good advice, and Wolfram Alpha is magical!
[+] lalala1995|8 years ago|reply
I am not a maths major, however as I currently self-studying Mathematics, so I hope this would come as a good reference points for you.

I think we both should prepare for a long journey, cause it is the nature of maths.

I prefer formal and classic textbooks/notes as I think they are the best resources. Mathematics has been around for a long long time, keeping things up to date isn't really what should most concerns you.

[0] : https://www.quantstart.com/articles/How-to-Learn-Advanced-Ma... This article aims at kick-starting a career in quant, but the bullet points are really similar to any undergraduate program.

[1] : Schaum's series Really good textbooks on basic maths, helped me a lot on those maths modules during my study.

[2] : Any Massive Open Online Course of your choices. I am currently using MIT OCW. They are basically an Undergrad Course minus interaction with lecturer. You should ask some of your maths friends to help you out. Good, intuitively explanation in person helps a lot.

[3] : And last but not least, have fun while doing it. You can participate in maths competition, watch Youtube videos( 3Blue1brown / Numberphile) Read Magazines and Journals too, admires the Apollonian aesthetic of Mathematics.

Maths is one of the few subjects where nature > nurture, I think ( and observed). But take heart.

[+] mkl|8 years ago|reply
What do you know already? What kind of stuff do you want to learn about? What do you want to do with it? Maths is big, and cumulative.

Edit: Re your experience edit, I second the recommendation of Khan Academy. I'd also recommend the book Measurement by Paul Lockhart.

[+] richardjdare|8 years ago|reply
I guess I'm similar in that I left high school with very little mathematical knowledge. I've struggled with many many maths books over the years which usually assume you have a certain background, or don't explain things very well, or only explain things using notation which they don't explain.

The books that helped me the most are "Mastering Mathematics", and "Mastering Advanced Pure Mathematics" both by Geoff Buckwell. They will take you through UK GCSE and A-Level maths, from nothing to calculus. They have plenty of examples and exercises to work through. Just start at the beginning and work through them.

They are based on a UK curriculum though, so that may or may not be what you want.

[+] castle-bravo|8 years ago|reply
I suggest you take a look at Project Euler [0]. It's a bunch of math puzzles that usually require programming to solve. In order to solve most problems in a reasonable amount of time, you'll need to use results from number theory and other areas. Once you've used a result, you can try to prove it or to understand the proof.

Project Euler emphasizes number theory, which is the most approachable field of mathematics for total beginners because the background you need is just addition and multiplication. You should be able to make progress in number theory much faster than by taking the traditional route through calculus.

Another advantage of the Project Euler approach is that you'll learn how to put math into code, which is fun and tremendously valuable.

Another thing I recommend is learning geometry [1]. The way to do this is to use a ruler and compass to draw various shapes and then prove that those shapes have certain properties (e.g. prove that an angle really is a right angle). I think this approach also has more merit than the traditional approach, because you learn how to write proofs without driving yourself to exhaustion and frustration with calculus exercises. Geometry is really fun if you have a visual bent.

I also suggest learning linear algebra before calculus, because it's more useful to programmers and more accessible. The way to learn linear algebra is to study OpenGL and OpenCV with an emphasis on graphics and machine vision theory. Making things work in OpenGL is more rewarding than just doing exercises out of a textbook.

At a certain point, you'll find that you can't progress any further in number theory or geometry without calculus and complex analysis, at which point calculus should be a fun challenge for you instead of a tough slog. You'll need multi-variable differential calculus and linear algebra to understand neural networks.

In summary: Have fun! Math is fun! Learn to write proofs early on! Watch Numberphile [2]!

[0]: https://projecteuler.net/

[1]: https://en.m.wikipedia.org/wiki/Euclidean_geometry

[2]: http://www.numberphile.com/

[+] IvanK_net|8 years ago|reply
Whenever I tried to self-learn anything, it was a very bad idea. Some parts of the subject I enjoyed and other parts I hated. I tend to make my own conclusions, which parts are useful and wich are a waste of time (so I tend to skip them). I tend to filter out the material this way, in order to make learning less painful and more fun.

My conclusions (what is useful and what isn't) were always wrong and I ended up not learning anything properly, not getting a proper understanding of anything.

Please, if there is still any such option for you in your country, always choose a proper school education instead of self-learning. It is really great, when there is some leader with a proper understanding of the subject (a teacher) and others, who are having "the pain" with you (classmates), so you can see you are not "suffering" alone, and you don't start making your own conclusions (since you would see, that others are taking seriously what you wanted to call a waste of time). Classmates also help each other during the learning process.

So personally, I think a person gives up self-learning as soon as it becomes too painful / boring. The best way to overcome it is to see other people around you going through the same process, or to see somebody who you admire, who has already gone through the same process (it could be your teacher, your parent, your role model etc.). You could call that "the motivation".