Hacker News new | past | comments | ask | show | jobs | submit login
Discrete Mathematics: An Open Introduction, 3rd edition (openmathbooks.org)
519 points by alokrai 15 days ago | hide | past | web | favorite | 36 comments

I really recommend Generatingfunctionology by Herbert Wilf https://www.math.upenn.edu/~wilf/gfologyLinked2.pdf

I'm just a hobby programmer, but I've been looking to learn discrete math so I can get in to algorithms. Is this a good book? I've seen a lot of people recommend Epp's Discrete Mathematics with Applications. I've kind of been holding off the topic until I really hit a wall and discover what/how much I need to learn. Any advice would be great.

I just took a look at it and I think for self teaching this might be a great alternative to Rosen’s DMwA. Mainly because this book offers interactive Questions and Answers at the end of each section. Pair the book with an MIT OCW math for computer science or something similar and you should be more than good. Best of luck!

Idk about the interactive thing.

Personally having a bunch of fancy tools like that makes it harder to keep a flow of (try problem, get it wrong, figure out why, repeat) but I guess I’ve never tried that with a math book. In college I always found it was best to study math with a dumb pdf and a notebook.

Thanks! Nice username.

Let me use the, 'What programming language should i start with?!' analogy :)

Just start reading the book (any discrete mathematics book!) :)

I'd disagree. They're better off getting some feedback on books that might appeal to their learning style and background better. Otherwise they may tire quickly and not learn well-enough.

Or to put it mathematically, the optimal amount of exploration time in this explore/exploit problem is far less than you might think.

Actually, having gone through multiple programming books, I disagree with that. I highly recommend HTDP because of their design recipes. The book shows you an approach to solving problems with programs rather than just the syntax of a language. This book has had the largest impact on my (very humble) approach to programming.

I get the following error:

  Error on line 1. Unspecified reference named 'HTDP' 
  in the expression 'I highly recommend HTDP'
Any help?

This is a 400 page book. Very likely overkill for what you intend to do. Many algorithms books contain the necessary discrete math prerequisites, so I'm not sure you should go with this book.

I have read Sussane's book and it's really good.

This is a great introduction to discrete math. I found it valuable for deciding what topics to invest more study into. Good survey of discrete math.

I'm about 70% through this book. I've done every exercise and have meticulously journaled about each concept as I encounter them into my Zettelkasten.

Best part: you can read it online and then determine if you want the physical book (which I prefer for math).

I am curious to know why you are working through this book. Is it related to your career or are you doing just for fun? I am asking because I often face this dilemma of whether to invest time in furthering my career or doing something I like that is not going to help my career (although this book might given that it has theory of trees and graphs).

Wonder linear algebra is more useful.

Thank you for introducing me to the idea of the "Zettelkasten" - I'm "one of the 10,000" for that idea today.

I'm six weeks or so ahead of you.

That other comment gave a link to that "how to take smart notes" blog post, the HN comments were here: https://news.ycombinator.com/item?id=22341518

A thing to keep in mind: there are two schools of thought. Niklas Luhmann was an extremely productive German sociologist who used his index cards system in a particular way. One school of thought tries to use his system exactly, like explained in the book that blog post is about. Others think that Luhmann had to work like that because he was restricted to physical cards, now with digital tools we can make other choices and get similar effects. Both ways are referred to as "Zettelkasten method".

I also realized that the system really works for producing content, things like producing science papers. You need to put work in how you formulate notes, and in finding connections between them. Without a good reason to keep working with your Zettelkasten, there is a risk it'll just be a pile of notes.

I don’t have much time, but look at: Tiago Forte’s blogpost about How to Take Smart Notes (also, see the book), Roam research, Obsidian, Zettelkasten.de (mostly English). Also, both Roam and Obsidian have Slacks (or Discords) full of friendly knowledge-management enthusiasts.

Those are the things that I found most helpful on my recet foray into the Zettelkasten world. Could save you some time.

Just added Forte’s blog post to my reading list! This seems similar in benefits to the idea of a Common Place Book. I’ve just had some more hardback notebooks delivered for that purpose. I’ve been keeping one for a year, filled up 2 notebooks and it’s been night and day for me. I’ve been able to comprehend subjects that I’ve struggled with before, e.g linear algebra, abstract algebra or any topic I take an interest in.

One thing my notebooks don’t have is structure and a system of referral. This makes it hard to reference previous ideas and concepts. In fact, I don’t because it’s so difficult - it’s just one big stream of consciousness. And it seems Zettelkasten does that!

I’d love to see the notes — is it possible? I’m currently struggling with putting notes for an analysis course into Zettels, and an example would be tremendously helpful.

If it’s not possible, let me at least give you a couple of questions:

1. What app are you using? (And why not Roam / why not Obsidian?

2. What do you put on one Zettel? Just theorem? Theorem+proof? Some bigger mass of knowledge?

3. Do you rewrite the proofs in detail, or just explain them using your own words without mathematical rigor?

The book I used in college is super good, still have a copy on hand.

Discrete and combinatorial mathematics by Ralph Grimaldi


If you don't know how to count, this book will teach you how to do it, a legendary book by Grimaldi.

This is amazing. It works perfectly on mobile. The fact that it explains the concepts, and then has quizes right inline to test and reinforce knowledge is awesome. And, it is free.


This book seems truly well written. Even though the material is familiar to me, I liked the chapter on generating functions for its stepwise treatment. The online exercises are wonderful too.

Nice book with very clear explanations (sometimes a little too elementary).

However, I found the chapter on generating functions a little frustrating: it gives a very good explanation of what they are, tells you they're super useful, and gives no example of an actual problem where they're used.

I have to say that I quite like the visual design of this “open” textbook.

It does seem neat, yep! It looks like it's based on a format called PreTeXt[1], and the interactive exercises (Q&A) are implemented using an extension called WeBWorK.

[1] - https://pretextbook.org/examples.html

This is a fantastic resource. I've long lamented the difficulty of finding textbooks. Since colleges buy them back every semester to control demand, it's actually hard to find something that should be cheap and common. It's tragic.

Good to see they're at least here online, though it's also shameful that I didn't find this on Google when I searched for it a year or so ago. Tried to buy a calculus textbook to teach a friend - only overpriced latest editions by and large were available.

This is great. Is there anything else of similar methodology and quality for other math subjects? I would love any recommendations.

There is an open abstract algebra book that is similar, also rendered by pretextbook framework.


The following both have very well-thought out exercises that guide the reader through discovering the topic mostly on their own:

> Pinter, "Abstract Algebra" > Tao, "Introduction to Measure Theory" (and "Epsilon of Room, Vol. 1")

There is a gallery and catalog of Pretext books:


Could all or nearly all discrete maths is just matrix manipulation in disguise, if the function is closed in discrete number?

Unlikely. Lots of mathematicians' hearts jump every time someone finds a slick algebraic approach to some messy combinatorics, but it's not a very frequent occurrence (I think of finding such approaches as the main part of my job).

In a typical discrete maths course, the main "arbitrage" you get from algebra is the "method" of generating functions, which is a technique for dealing with integer sequences and counting problems using polynomials. If you like matrices, you can encode polynomials as Toeplitz matrices, so you can view products of polynomials as matrix products. But generating functions are not a panacea for counting, and you usually have to seed the ground with some combinatorial results before you can water it with generating functions. Also, there are some neat uses of matrices in understanding Pascal's triangle ( http://www-math.mit.edu/~gs/papers/pascal-work.pdf ) and other sequences.

In graph theory, the matrix-tree theorem lets you count spanning trees using a determinant, and the Dijkstra algorithm for path finding can be regarded as a matrix power over the max-plus semiring. But that's about all you get out of linear algebra in a typical first discrete maths course. Matrices become more useful if you go deeper into graphs or into counting, but never take center stage.

[And before the next question comes: I haven't seen many monads used in discrete maths either.]


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact