Ask HN: How to self-learn math?
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.
214 comments
[ 2.9 ms ] story [ 254 ms ] threadEdit: Re your experience edit, I second the recommendation of Khan Academy. I'd also recommend the book Measurement by Paul Lockhart.
The cumulative part needs to be emphasised. Almost every topic in math, from grade-school on up, has pre-requisite knowledge. If you miss key knowledge you will easily get lost, so it's important to take things step by step.
And definitely follow through his "pause and ponder" sections. If you want to build up your maths skills, it is crucial to learn how to think in the maths way. Like becoming a good programmer involves writing lots of code yourself, or to become a good dancer you need to practice your steps. For maths it's abstract thinking. Appreciation of maths is one thing, having the discipline to self-study a whole other.
Edit. Regarding your 2nd Edit: His videos are made for the broadest audience possible. I'd recommend picking any video whose topic interests you the most at the moment. You will see what knowledge you lack (take notes of these!) and can expand from there. Be it to watch his maths fundamental ((1)) series [0],[1] or just rewatch.
((1)): As in any other things, knowing your fundamentals is significant to the understanding of a topic. It won't help you at all if you can apply (copy paste) some machine learning techniques if you don't know about linear algebra at all.
[0]: https://www.youtube.com/watch?v=kjBOesZCoqc&list=PLZHQObOWTQ...
[1]: https://www.youtube.com/watch?v=WUvTyaaNkzM&list=PLZHQObOWTQ...
The calculus and linear algebra playlists are particularly excellent.
personal perspective
* Foundations of proofwriting and mathematical thinking: Velleman
* Going further into logic: Hindley and Seldin, Lambda-Calculus and Combinators
* Apply what you learned just learned: Sussman and Abelson, SICP
* Getting serious: Awodey, Category theory
* You're there: Haskell
I've watched some lectures with really slow speakers at 3x and was still able to understand, and really wondered what the people watching the lecture live at 1x must have felt...
[1] https://chrome.google.com/webstore/detail/video-speed-contro...
That is for lectures that I miss due to a clash, not re-watching.
Unfortunately a lot of the good "starting out" maths textbooks I know of are basically university level (though it should be noted that first-year of university mathematics is basically re-learning all of your previous mathematics knowledge but with new insights). While I wouldn't stop you from trying to read a university-level textbook, most of them are structured in a way that requires some familiarity with the topic before reading.
[1] Mathematics: From the Birth of Numbers by Jan Gullberg [2] https://mathblog.com/mathematics-books/
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!
Do you have a pdf/ebook I can purchase?
You can see a preview here: https://minireference.com/static/excerpts/noBSguide_v5_previ...
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.
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!
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.
I had read it many years ago. It may be influential beyond what people know. There is a version inspired by it, for programming, called How to Solve it by Computer [3], by R. G. Dromey, who, IIRC, was/is a professor at an Australian university (Wollongong?).
I had the Dromey book. It is not exactly parallel to the Polya book, because it shows the details of how to come up with a solution, either in pseudocode or in a Pascal-like language, while the Polya book, IIRC, is more about principles and techniques for general problem-solving.
[1] https://press.princeton.edu/titles/669.html
[2] https://en.wikipedia.org/wiki/How_to_Solve_It
[3] https://en.wikipedia.org/wiki/How_to_Solve_it_by_Computer
I'm pasting below the first few paragraphs from the URL [1] above:
[ A perennial bestseller by eminent mathematician G. Polya, How to Solve It will show anyone in any field how to think straight. In lucid and appealing prose, Polya reveals how the mathematical method of demonstrating a proof or finding an unknown can be of help in attacking any problem that can be "reasoned" out—from building a bridge to winning a game of anagrams. Generations of readers have relished Polya's deft—indeed, brilliant—instructions on stripping away irrelevancies and going straight to the heart of the problem.
First published in 1945.
George Polya (1887–1985) was one of the most influential mathematicians of the twentieth century. His basic research contributions span complex analysis, mathematical physics, probability theory, geometry, and combinatorics. He was a teacher par excellence who maintained a strong interest in pedagogical matters throughout his long career. Even after his retirement from Stanford University in 1953, he continued to lead an active mathematical life. He taught his final course, on combinatorics, at the age of ninety. John H. Conway is professor emeritus of mathematics at Princeton University. He was awarded the London Mathematical Society's Polya Prize in 1987. Like Polya, he is interested in many branches of mathematics, and in particular, has invented a successor to Polya's notation for crystallographic groups. ]
The John Conway mentioned is the one who invented the Game of Life.
https://en.wikipedia.org/wiki/John_Horton_Conway
https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
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.
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".
One of the most important skills someone can learn is how to learn, and especially how to solve problems and keep going when it is difficult.
For math through high school level/early university, I'd suggest Art of Problem Solving (if you can handle it). It teaches by having people solve problems rather than presenting mathematical techniques to memorize. Some of them are straightforward, but many are tricky problems and fun puzzles with elegant solutions. It helps you gain a good sense for numbers and problem solving, and an appreciation for the beauty of math. The teaching method helps you intuitively understand rules rather than memorize them. They also have a nice gamified online practice system (Alcumus) to go along with the first half of their books.
For some higher level, more applied areas like linear algebra there are some good coding-based courses like codingthematrix.com. Project Euler is also another good option for practicing math with programming.
Amazon used to have a great number of graduate preparation book lists which always included books such as Rudin's Principles of Mathematics Analysis, and Halmos' Finite Dimensional Vector Spaces. These classic maths books are brilliant but usually easier to understand if you already have some experience with the material.
Final advice is to find a study partner as it can be hard to track how you are going and keep motivated, especially without the instant feedback loop you get with programming.
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.
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
I’ve worked through the whole book twice because I loved it so much.
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)
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).
I do use and recommend http://desmos.com, which is proprietary (but pretty limited and easily translated to Python). It doesn't lock features behind a paywall like Wolfram Alpha.
Desmos looks interesting.
For example:
Quadratic through 3 points (drag the points around): https://www.desmos.com/calculator/tf1f80zgug
Pythagoras's Theorem (drag the sliders): https://www.desmos.com/calculator/dbjxbeuzk7
Why shearing preserves area (drag the slider): https://www.desmos.com/calculator/1vykaqf7je
I also use python/sympy/matplotlib/scipy/jupyter a lot and it's absolutely great -- highly recommend to the OP.
If one doesn't mind proprietary, though, and wants even more capable and controllable, Mathematica on a Raspberry Pi is pretty cool, and is free (beer) and is included in the default install of Raspbian.
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.
Most importantly, at stage you are at, learning math should consist of doing a lot of exercises - with increasing difficulty. Just like with sports, you cant learning it by reading theory only. Pick up book with a lot of exercises and do homework if you sign to some course.
The rule of thumb is, that if you can solve all exercises without having to think or being occasionally frustrated, then the exercises book is too easy for you. If you have difficulties, then it means that you are learning. (If you end up completely stuck then you need something easier.)
Videos and such are fine, but really really focus on exercises.
https://courses.edx.org/courses/course-v1:ASUx+MAT170x+2T201...
Next month will go for Calculus.
As you said, the problem was that you didn't pay any attention while in high school. It was because you had no interest, and if you try to self-learn mathematics the same way you tried learn basic maths in school, then you will also fail.
The answer to all this is better books or a different kind of approach. I should mention that this is all from my own ongoing experience. There are traditional books that cover high school math[0]. And there are bad ones and good ones. The good ones still throw definitions and theorems at you, but it's more clear and concise, and most importantly understandable.
Now comes the new kind of books which try a different approach to the subject at hand. They try to give more understanding that anything else. I only read "Burn Math Class" by Jason Wilkes and "Math, Better Explained" by Kalid Azad. These books lack exercises, which are, in my opinion, as important as understanding. But one doesn't work without the other.
As for the future just follow this[1] so that you won't get information paralysis or other difficulties that come when there are a lot of choices.
[0] https://www.physicsforums.com/insights/self-study-basic-high... [1] https://www.physicsforums.com/threads/micromass-insights-on-...