Ask HN: Mathematicians, what textbooks are best for learning these math topics?
So I have just decide to self-learn mathematics up to undergraduate level, and after researching I decided that learning these topics will do the trick for learning to the undergraduate level, but sadly I don't know the best resources(textbooks) to use for easily self-learning them.
Pure Mathematics
1).Group Theory(rubics cube,e.t.c)
2).Order Theory
3).Combinatorics(trees,graphs,e.t.c)
4).Fractal Geometry
5).Topology(cup = donut)
6).Measure Theory
7).Differential Geometry
8).Vector Calculus
9).Dynamical Systems(Fliud flow,ecosysytems,Control Theory)
10).Chaos Theory(Butterfly effect)
11).Complex Analysis(Functions with complex numbers)
Applied Mathematics
1). Numerical Analysis
2). Game Theory
3). Probability
4). Statistics
5). Optimization
6). Cryptography
7). Computer Science
Foundations
1).Mathematical Logic
2).Set Theory
3).Category Theory
4).Godel Incompleteness Theorems
P.s: I have a diploma in Marine Engineering and so I am not a total noob to math in general.
34 comments
[ 2.9 ms ] story [ 93.6 ms ] threadA Mathematical Introduction to Logic, by Herbert Enderton.
Learn the formal language aspects, like grammar and parsing and structural induction. Learn semantics. Learn a few deductive calculi (say, natural deduction and Hilbert style) and how they interrelate, and actually use them to prove some (very simple) results, ideally from some important axiom systems like Peano arithmetic and ZF set theory. Learn model theory, Gödel's completeness theorem, the compactness theorem, and their more immediate implications.
You should also learn how logic interrelates with
* Computation, both in the sense of enumerability of deductive proof systems, and in the sense in which expressability in certain logical theories is Turing-complete; and
* Set theory, both to grasp the sense in which a first-order set theory like ZF seems to suffice to supply an ontology for the rest of mathematics, and to understand the role of cardinality in e.g. model theory.
There isn't really a correct order in which to approach these fields. You'll find that for a proper understanding of any of these topics, you'll have to move back and forth between them frequently.
I would put off Gödel's incompleteness theorems until you've done most of this. In particular, learn the completeness theorem, up to a point of confidently being able to apply the compactness theorem, first. Many of the least-informed abuses of the incompleteness theorems come from people who can't distinguish different notions of entailment, and are unfamiliar with the successes of deductive calculi and the categoricity shortcomings of first-order logic.
Pure math :
1)Group Theory - Milne
5)Topology - Mukres
6)Measure Theory - Terrence Tao has a course, Robert Ash has a book on probability theory, and it is recommended that you study a bit of real analysis before you do this.
7) Differential Geometry and Statistics - Murray and Rice
9, 10 ) Non linear dynamics and chaos - Strogatz
11) Complex analysis - There exists a set of 4 books covering real, complex and functional analysis by Stein and Shakarchi, which should serve your purpose
Applied Math :
3) Probability - Grinstead and Snell, Durrett both have good books.
4) All of Statistics by Larry Wasserman for a more ML bent to it
5) Optimization by Boyd and Vanderberghe
7) There's no single topic called "Computer Science", but going with the theme of the topics you are looking at, Algorithms by Cormen, Leiserson et. al, Theory of Computation by Michael Sipser should be good starting points.
Note that for a lot of these, you can find high quality material online (Both videos as well as course material). Just do a search for "Topic MIT OCW", replacing "Topic" with your choice.
[1] - Non Convex Optimization for Machine Learning - Jain and Kar (https://arxiv.org/abs/1712.07897)
>Group Theory
Carter - Visual Group Theory
>Complex Analysis
Needham - Visual Complex Analysis
Less confident recommendations:
>Probability
https://ocw.mit.edu/courses/mathematics/18-05-introduction-t... as a very entry level introduction. After that you might still need some textbook for more depth.
>Mathematical Logic and Godel Incompleteness Theorems
Start with ForallX by Magnus. Then continue with Computability and Logic by Boolos (don't read all chapters, check out preface to see what you need for Godel Incompleteness Theorems).
>Set Theory
Hrbacek - Introduction to Set Theory
---
I am currently developing an online course which teaches logic, set theory, and computability theory (this includes Godel Incompleteness Theorem). It uses the textbooks I've mentioned above. You can check it out at https://app.grasple.com/#/course/141?access_token=3HCK4oRipe.... Use "Fundamentals of formalization" and ignore other tracks.
i still have a copy of Fraleigh -- a first course in abstract algebra. not sure if it is the best, but it did the job.
I really enjoyed the two real analysis & functional analysis courses when i attended university, but alas, the reading material for these courses were notes produced by each lecturer, they're not available as published books.
> 5).Topology(cup = donut)
i recall covering the material for "cup = donut" style results in an algebraic topology course, i think in 3rd or 4th year, after first being drilled with 2-3 years of pure math including real analysis, including lots of basic stuff about topological spaces, continuous and smooth functions, measure theory, some abstract algebra, etc.
MacKay's "Information Theory, Inference, and Learning Algorithms" is a great read: http://www.inference.org.uk/itila/book.html Sign up for this course: https://www.coursera.org/learn/discrete-optimizationedit:
you didn't mention PDE, but i still have a copy of Evans -- partial differential equations serving as a monitor stand. you probably want to have 3 years of pure math including linear algebra, lots of real analysis & some differential equations under your belt first.
> Group Theory - I would look for a good abstract algebra book that also covers groups, such as A First Course in Abstract Algebra, Fraleigh or Basic Algebra, Knapp. Another popular recommendation is Abstract Algebra, Dummit and Foote.
> Topology I think you should first look at a real analysis course and understand metric space topology for Euclidean spaces. If you have taken calculus, you can try and go through Baby Rudin. For topology specifically you can look into Munkres or Introduction to Topological Manifolds, J Lee.
> Measure Theory T. Tao has a good book on this topic.
> Differential Geometry Introduction to Smooth Manifolds by J Lee
> Probability Probability Theory, Achim Klenke
> Game Theory Game Theory by Maschler, Solan & Zamir
(out of your list, I mainly looked at Game Theory, Probability, and Statistics there).
In the case of set theory I cannot recommend enough Halmos' "Naive set theory". It's completely rigorous yet easy to read, and lays out all the basics of ZF, constructing both ordinals and cardinals.
For probability Khinchin has some very thin fun books, written for some classes he gave in a military school. The books do not get into deep topics but are a good introduction.
For group theory I would try Isaacs' Algebra book. Although the book is one of those books which contain too many topics, he was really enthusiastic of group theory and I have been told the corresponding chapters are very good.
I would strongly, strongly advise against trying to learn proof-based mathematics from a textbook (almost all of the math here will be proof-based). The absolute best way to learn mathematics is to have an experienced and competent instructor tailor their pedagogy to you. Failing that, an experienced instructor who is "just okay" but who can e.g. review and critique your work is better than a textbook.
Learning math is very unlike learning programming. It's a counterintuitive idea, but the information density of math textbooks (whether they're well or poorly written) is generally so high that you can't absorb the material unless you read only a few pages per day. Not only that, but it's usually not the case that a single textbook has the ideal level of exposition for your needs - for example, you don't have linear algebra on here despite it being a prerequisite for basically everything else. Some textbooks treat this subject in a highly theoretical manner, while others treat it at a very applied/computational level. Which suits your needs more? Have you studied it at all?
If you're actually serious about this, you need to proceed at a slow pace (2 - 5 pages per day) and complete as many exercises as possible. If the exercises are computationally focused you can do fewer, but you should aim to solve as many of the proof-based problems as possible.
If you go at a rate which will actually allow you to absorb the material, doing this "properly" will take you years. With dedication and not much talent I'd expect it to take as long as an undergraduate degree. With dedication and a lot of talent I could see this being accomplished in two, maybe three years. Once again, I strongly, strongly suggest finding a mentor or instructor.
In any case, here is a list of the textbooks most mathematicians will consider to be very good:
1. Calculus
Calculus, by Spivak
This gives you a rigorous treatment of calculus, which hopefully you have some familiarity with. After this you can move on to real analysis.
2. Real Analysis
Principles of Mathematical Analysis, by Rudin
You might be ready for this after Spivak's Calculus, but it can be rough. If you can't reproduce a proof of irrationality after reading through the first few pages, work through Tao's Analysis I first.
3. Topology
Topology, by Munkres is the absolute gold standard. You should be comfortable with calculus (and hopefully analysis) before tackling this.
4. Linear Algebra
Linear Algebra Done Right, by Axler
This is a thorough introduction to the subject at a theoretical level, with a focus on finite-dimensional vector spaces over fields R and C.
You should also work through either Linear Algebra by Friedberg, Insel, Spence or Linear Algebra by Hoffman & Kunze for the treatment of more advanced/specialized material and, in particular, determinants (which are notably de-emphasized by Axler).
Noam Elkies uses Axler for Harvard's Math 55 and has written up notes and remarks for his students; be sure to read them: http://www.math.harvard.edu/~elkies/M55a.16/index.html
5. Abstract Algebra (Groups, Rings, etc)
Abstract Algebra by Dummit & Foote is the usual reference text for a first course. It's pretty good. If it's too advanced for you, try Pinter's A Book of Abstract Algebra. For a very challenging (but comprehensive) approach to the subject, try Lange's Algebra.
6. Category Theory
Once you have abstract algebra under your belt, a good introduction to category theory is given by Aluffi's Algebra: Chapter...
First of all, what you're about to do is an very large endeavor - mathematics is a difficult subject, and learning math will take great persistence and self-motivation, especially if you are self-learning. However, it is also extremely rewarding - mathematics is a beautiful subject, and learning math has easily been one of the most enjoyable things I have ever done.
For the next point, if you want to go deep into math, then you will have learn how to prove things. The heart of math is not at all computation, but ideas, and to know that ideas are true, we need proofs. All of pure mathematics is based on rigorous formal reasoning and proofs, and sadly, most high schools and even universities never touch this part of math. If you have never seen proofs before, I would first recommend reading the book How to Prove It: A Structured Approach by Daniel J. Velleman, which goes through basic set theory, logic, and various proof techniques. Most importantly, it will give exercises for you to practice. Let me say this now: it is impossible to learn math without doing exercises. Again, this will take some work, and the beginning may be a bit slow, but as I said above, it is extremely rewarding - there are few things so satisfying as finding a beautiful, clean, or elegant proof. I hope you will enjoy this as much as I have.
Now then, let's dive into the courses and textbooks. I'm going to model this after what I did in my degree. Many of these topics require earlier ones as prerequisites, so I'm going to organize them into several layers. Some of the textbook recommendations may be a bit difficult, since in many of my classes the professors taught out of their own notes and left textbooks only as references, but I'll do my best. In your "first year", so to speak, there are three main things to learn:
- Single variable calculus, differential and integral. You likely know calculus already, but again, we are now taking the proof based road! The canonical text for this topic is Calculus by Michael Spivak. It's what I used in my first year, and most importantly, comes with a solution manual :)
- Linear algebra. As others have noted, linear algebra is absolutely crucial for many other subjects. I personally learned from Algebra by Michael Artin, but have heard very good things about Linear Algebra Done Right by Sheldon Axler, so I'd probably start there.
- Graph Theory and Combinatorics. These are I think are somewhat more accessible than the others (perhaps at least more intuitive), so I might actually recommend trying these first. For the basics, try A Walk Through Combinatorics by Miklos Bona.
By the way, whenever I need to find a textbook on a subject, I just Google "best (subject) textbook", and try to find the Math Stack Exchange post where someone has asked this question. (Eg. here's [0] the one for graph theory, which is where I got the combinatorics book.)
Now, this post is already getting long enough, so I'll post this for now and follow up the rest in another comment.
[0] https://math.stackexchange.com/questions/27480/what-are-good...
Is there some dependency order someone could quickly sketch out for some of these topics? Eg, linear algebra comes before X?
HN is an incredibly useful crowdsourcing resource for the self-motivated!
Do all of these in order first:
Calculus 1 and 2
Linear algebra and multivariable calculus and an introduction to proofs / logic course (you are ready for some electives at this point)
Ordinary differential equations
Any of these can be done concurrently, choose one Analysis and one algebra :
Advanced calculus (eg “understanding analysis” by Abbott)
Linear algebra in the sense of finite dimensional vector spaces
Easier abstract algebra (senior level classes are eg Artin and rudin, these ones are more elementary textbooks)
Core Senior level courses that you take if you want to get good at math:
Analysis sequence (1 year on baby Rudin)
Algebra sequence (1 year on artin)
Topology (munkres)
Electives:
Probability (can be done after multivariable calc)
Linear optimization (after linear algebra + multivariable calc)
Logic (compactness completeness godel etc whatever, can be done after intro to proofs course but will probably make less sense if you didn’t study some more stuff first)
Numerical analysis (after ODEs I guess or calculus + linear algebra if you want to skip tht stuff)
Statistics (after probability)
Combinatorics - after calc 2 and linear algebra
Geometry - after multivariable calc, linear algebra, proofs
Intro Differential geometry: after advanced calculus
Don’t really have much more knowledge for graduate courses etc. or even some common ones like complex analysis. if you know the senior level core stuff you’re probably “good enough” to make some progress on a lot of things. Each of these classes is 100-200 hours of total study so it seems odd to me that someone will just try to study it on their own by there you go I guess
Harvard Math 55 employed Halmos + baby Rudin as main textbooks. Halmos has now been replaced by Axler, which is an excellent textbook (but the typographic changes in the last edition are very distracting).
Rudin is probably too synthetic and dry for a beginner. You could easily replace it by Hubbard & Hubbard (which was the sole main textbook in one Harvard Math 55 edition), or use an aid text like Gelbaum & Olmsted. You can also skip Axler if you go the Hubbard way.
A favorite open question of mine is what would a math bootcamp look like if you went up one level of abstraction and focus more on logic and abstract algebra.
A more advanced approach would be to go through a logic book like Velleman that teaches proofs as structured programming.
It's open-source and a community effort so you're welcome to join & contribute.
- I refresh up on probabilities in general
- I look at the markov chain wiki article
- I look at related pages to see what else I could do
- etc. (goto step 2/3)
My degree is in Computer Systems Engineering and it it is very enjoyable work...if you like massive puzzles and are a comprehensive abstract thinker about applied areas. I need to make this more concrete so here are a few touchstones. Look at the curriculum for schools that offer degrees in systems. Weed out the ones that let you create your own curriculum, those are the ones to choose for a school, but the are too ill-defined to help you set your future. You can also take a look at the Nobel winning economists. Their work touches on both theory and application.
One of my favorites is Schelling's work on the neighborhood problem of integration. The demographic issues of income, race, neighborhood size and shape made it an intractable problem until he stepped in. He used a system approach of using image processing linear algebra to predict who moves in and out of a neighborhood to predict the changes across generations. He solved a problem that others could not and for that, among other contributions, he received the Nobel prize. His work is demonstrated in the free software tool Netlogo. It also lead to the work at NorthwesternU in complex adaptive systems analysis by Scott E Page.
We see it also used in the demograpgic analysis work in the campagns of Obama, Hillery and Trump by Cambridge Analytical. The way I think about this discussion is that "All the easy problems have been solved, now we have to work on the difficult ones." And that will take the use of new tools that collaborate with us, and tell us which tools to use.
the canonical text here is Federer, although it's supposedly a tome. Krantz's _the geometry of domains in space_ appears more approachable.
...
also, note that these topics aren't totally separable.
First semester (half a year):
- Analysis I (rigorous study of real analysis, based on parts of Rubin (a graduate book in the US but never mind) and German equivalent books)
- Linear Algebra I (rigorous study of linear transformations, fields, vector spaces, simple group theory, eigenvalues, eigenvectors)
- Numeric Analysis 0 (introduction to matrix algorithms (QR, LL, Eigenvalue decomposition, Householder), simple optimisation)
2nd Semester
- Analysis II (multivariate real analysis, derivatives, Lebesgue Integration, maybe differential forms)
- Linear Algebra II (Simple Ring theory, R-Modulus, some more group theory, depending on lecturer simple homological algebra, chain complexes and spectral sequences)
- Numeric I (ODE solver methods (Runge-Kutta etc.)), alternatively Statistics (you need a good foundation of Lebesgue theory for that) alternatively Optimisation I
3rd Semester
- Analysis III (simple analysis and integration on manifolds, differential forms, stokes theorem, some simple functional analysis, many different things possible here, depends on the lecturer)
- Algebra I (only if you totally want to go this route), more Ring theory (commutative Algebra), Field Extensions, Galois Theory (one of my favourite things in mathematics, super beautiful, but virtually unknown outside mathematics)
Maybe
- Numeric Analysis II (Simple PDE solving, finite differences, finite elements, needs Analysis II / Analysis III)
alternatively
- Complex Analysis (Holomorphic functions, residuals, etc., depending on the lecturer this can mesh really well with what you already learned in Analysis I and II)
Beyond this point there is lots to explore, many people diverge in their interest pretty rapidly from this point. Basically what I'm trying to say is that you absolutely need to no Linear Algebra and some Algebra rigorously for practically any field of mathematics (or physics) and the same goes for Real Analysis. Everything is build on top of that.
I would ignore more foundational stuff like Mathematical Logic / Set Theory etc. because anything that you need from there will be introduced as you go along. The same goes for anything applied, unless you have a foundation in rigorous real analysis and linear algebra, you won't be able to appreciate anything applied beyond a superficial level (for example all the decompositions in numerical analysis have nice geometric interpretations). In terms of pure mathematics the first two semesters are absolutely necessary, if you don't invest massive amounts of time in these foundations, there is no chance to understand anything more advance, even though you might fool yourself that you do. In order to test whether you only think that you understood something or actually understand something, you absolutely have to do lots of exercises. Ideally there should be someone more experienced that checks some of them and gives you feedback.
Once you've mastered these fundamentals I suspect you will have been exposed to more advanced concepts along the way and maybe have a better judgement of what you find interesting (beyond what is known in popsci circles).
As books I recommend
Linear Algebra Done Right, Sheldon Axler http://linear.axler.net and Baby Rubin Principles of Mathematical Analysis, Walter Rubin
they should not be your only references, but are pretty solid jumping points I think. Whenever you don't understand a step in a proof try to fill de...
So, the feer of a math intensive grad program (and admission had me worried). My CS program offered some math refresher, but I ended up just jumpting in without it. If the program is decent, you will be guided along at a digestable pace. As a responsible adult with a hunger to learn, and you will enjoy and digest more. In a curriculum, you'll also have peers/teachers to help you when absolutely stumped - which will happen.
For books - I just have one that I saw referenced here on HN, which is a little odd, but highly recommend for understanding Fourier transforms [1].
1. Who Is Fourier? A Mathematical Adventure 2nd Edition... Amazon link: https://www.amazon.com/dp/0964350432/ref=cm_sw_r_other_apa_i...
I never knew Computer Science was an applied math. But I always went with statistics.