# mixedmath

Explorations in math and programming
David Lowry-Duda

I roughly categorize by topic. But this is a weak categorization, as many of my favorite bloggers and website authors think about a variety of subjects.

## Math and Mathlike

These are math blogs that I recommend.

These are perhaps dead, but still contain very interesting things.

Both this and PhD + Epsilon owe much to the excellent writing of Adriana Salerno.

If you are interested in learning math (including possibly research math), then you should know about the following. Initial contributions can be a bit scary, but these communities are extremely valuable tools.

Are you interested in seeing a research talk, possibly online? See researchseminars.org.

Now I focus more strongly on topics specific to number theorists.

# Books I recommend or find interesting

The following books serve as excellent hooks for various fields or studies in mathematics or computer science.1 1Note all that Amazon links below are affiliate links.

## Algebra and Number Theory

• Cox's Primes of the form $x^2 + ny^2$. This is one of the best books motivating algebraic number theory that I know. The reader should know what a proof is and how to prove unique factorization (e.g. have taken one course in elementary number theory).
• Ireland and Rosen's Classical Introduction to Modern Number Theory. This is aimed at a more sophisticated audience, but the clarity of exposition is outstanding. I wish that I'd read this as soon as I knew some algebra and complex analysis.
• Silverman and Tate's Rational Points on Elliptic Curves. This is an excellent introduction to elliptic curves and a good way to prepare for reading the (much) more sophisticated books of Silverman on them. I have friends who use this as the primary introduction to all elementary number theory!
• Barbeau's Polynomials problem book. (The whole Problem Books in Math series is outstanding). This would be very appropriate to an advanced high school student or undergraduate who likes to learn by solving problems.
• Barbeau's Pell's Equation problem book. Though conceptually unrelated, this is more advanced than Polynomials. It is still appropriate for an advanced high school student or undergraduate student.
• Murty's Problem books on Analytic Number Theory, Algebraic Number Theory, or Modular Forms. These are different than the earlier problem books in that they should be done in addition to typically learning a subject, but they help make many things concrete.
• generatingfunctionology, which is free and ful of fun.

## Cryptography

Cryptography comes in a couple of different forms. The Mathematics of cryptography could in principle be done completely without a computer; tidbits of this appear in some number theory books. Practical cryptography requires coding. I have a bit of both here.

## Programming

I don't have good experience with first books in programming. There are an enormous number of avenues to first learn programming (from books to classes to online lectures), and I simply haven't done them. My recommendations below are thus not for people completely new to programming.

• Fluent Python is an outstanding second book in python programming. It's perhaps the best accessible book at seeing how to write "pythonic" code.
• Effective Python and Serious Python are great books for people who want to become more serious about python.

I'll note that Serious Python is published by No Starch Press, which is extremely hit-or-miss. I don't recommend many of their books.

• Computational Mathematics with SageMath and (the free online version of Sage for Undergraduates) both offer superpowers to mathematicians. Being skilled in a computer algebra system has many nonobvious advantages. Sage is a CAS made by mathematicians and designed for mathematicians, free forever.

• Effective C++ is an outstanding second book in C++. All of Scott Meyers's C++ books are great, almost necessary to make sense of an extremely complicated language.

There is a big problem in C++ books, which is that the language had a major paradigm shift in 2011. All books written before 2011 still apply, but the nature of the application is just different. The similarly-titled Effective Modern C++, also by Scott Meyers, can be thought of as addressing these changes. But it actually covers different material!

Unfortunately, it is often best to first learn old-style intermediate C++, and then to learn modern best-practices. Presumably more books will slowly be written that address this, but this is the current landscape!

• The elements of computing systems. The question here is how does one go from $0$s and $1$s to a modern computer? This book tries to explain how. An enduring legacy of this book is how to write Tetris using only "nand" logic gates (elsewhere called nand2tetris).