# Articles on Math

Last updated: 2022/08/16

## Top deep-dives on Math

### Divisibility by any prime

The connections between different parts of math always blow my mind. It kind of makes me feel like I'm tripping. In this article, John D. Cook doesn't disappoint, illuminating a simple algorithm of determining if a number is divisible by a prime using linear algebra.

### Category Theory Illustrated

Many programming ideas stem from the field of mathematics, especially when it comes to functional programming. Category theory is one such example, and in this illustrated series of articles by Boris Marinov, we get an introduction and exploration of each of its concepts.

### Ray casting in 2D game engines

Ray tracing is one of the goto projects for beginners learning programming or advanced programmers learning another language, because it's visually entertaining and full of fun challenges. Sebastian Szczepański's aesthetically beautiful article (check out the interactive demos) dives deeply into the maths behind 2D ray tracing, pairing dense blocks of equations with visually pleasing interactions.

### Combinators and the Story of Computation

Mathematics has been standardized to such an extent, that it's really the most international language (numbers and "naah, that's waaay too expensive" are usually the first things I learn when I go somewhere). But that wasn't always the case. In this knowledge-packed article, Stephen Wolfram describes a little bit of the history of mathematical symbology, combinators and their mathematics, Gödel’s theorem and computability, lambda calculus, practical computation, combinators in culture, designing symbolic language, and combinators in the computational universe.

### Pi from High School Maths

I wonder what there are more of, uses for π or ways of calculating it? Regardless, there's quite a few of both. In this article, Simon Arneaud discloses a way of calculating π that I've personally never seen before. Simon also shows an intuitive geometric way for understanding the calculation, and a higher level proof Archimedes wrote for calculating the area of a circle without calculus.

### Two counterintuitive results

When learnng about probability, I loved that sometimes your intuitive guess for what was the answer, was actually completely wrong. It was humbling. In this concise article, that uses "lecture notes from several of Tim Roughgarden’s courses at Stanford" as its basis, Arthur O'Dwyer highlights an interesting physics example with a counter intuitive answer, and a probability problem that results in complete success or (occasionally) complete failure.

### Frequency Domain Image Compression and Filtering

I'll be upfront and say this one isn't coding heavy, although it does have C++ code to go along with it. As many of you know, I have a background in electrical engineering, and signal processing is one of the most fascinating aspects of that. In this informative article, Alan Wolfe illuminates how it's done, and the results of processing in the frequency domain. Alan covers image compression, filtering, and convolution, all with accompanying images.

### Transport-Oriented Growth and Procedural Trees

Trees are pretty cool. The tallest one is ~116 m, they turn CO2 into oxygen, for some their leaves change color seasonally, others don't change at all, and they can be found pretty much everywhere. And when you model them with math, you can come up with some cool graphics. Nicholas McDonald's article is all about using C++ and a binary tree to model tree branch growth, specifically focusing on the splitting process, leading to some very pretty graphics of trees growing.

### The probability of a hash collision

Kevin Galligan explains how hash collisions (when two different inputs for a hash function product the same output) occur using the birthday problem as the basis/analogy.

### The bit-twiddling magic of two's complement, explained

I had to slog through learning binary mathematical operations for my electrical engineering degree, and now you can too! Kevin Galligan does a great job of explaining how two's compliment works and why it's relevant to programming.

### Ordering Movie Credits With Graph Theory

Movie end credits are a pain to handle because they have a lot of moving parts. It's one of those niche, difficult tasks that not many people appreciate. Well in this article by Alan Grow and John "Pliny" Eremic, we get a glimpse of how math (specifically graphs) is used to determine the ordering of roles in credits.

### Visualizing Delaunay Triangulation

Ian Henry "describe[s] a deceptively simple algorithm for Delaunay triangulation", with a bunch of fun interactive features you can click. I especially liked the shattering buttons.

### A Deep dive into Ed25519 Signatures

Cendyne does a thorough deep-dive on some of the signatures that underpin modern communication networks and protocols.

### Efficient Simulation through Linear Algebra

Martin Thoresen walks through implementing linear system solver in Julia for material simulations.

### Stack Exchange is a good place to explain initial and terminal objects in the category of sets

Category theory is usually roughly associated with programming, because it has ties to functional programming. In this article, Mark Dominus answers a question relating initial and terminal objects, and the mappings of empty sets.

### Catenaries, parabolas, and ropes

Dr. Drang explores the math and physics of parabolas and how they're good approximations for ropes or cables suspended between two points.

### Sampling in Floating Point (1/3): The Unit Interval

Matt Pharr looks at "uniformly sampling a floating-point value between zero and one", and some of the intricacies that arise from using float point numbers on computers.

### Much Ado About Sampling

BOOM! Bet you weren't expecting the first article to be completely (mostly) unrelated to web dev. <a href="https://www.youtube.com/watch?v=wnedkVrgFF0">HA, GOT EEM!</a> That's how I roll though. Jeremy Ong goes back to the math fundamentals of sampling for graphics engineering.

### Actegories and Lenses

Optics, in functional programming, are made up of tools that allow the programmer to easier manipulating immutable data structures. Bartosz Milewski's technically heavy article focuses on the mathematical theory behind lenses and how it can be applied in monoidal actions and enriched categories.

### “Practical Math” Preview: Collect Sensitive Survey Responses Privately

Jeremy Kun discusses the math behind using statistics to protect the anonymity of survey responders, without making the data random.

### One Polynomial Approximation to Produce Correctly Rounded Results for Multiple Representations and Rounding Modes

Santosh Nagarakatte and Jay Lim discuss the intricacies of coming up with a method for correctly rounding elementary functions.

### Spelunking the Deep: Guaranteed Queries on General Neural Implicit Surfaces via Range Analysis [pdf]

Nicholas Sharp and Alec Jacobson present a method for conducting range analysis on neural networks to carry out geometric queries. Honestly this one was a bit over my head, but it was recommended to me so I thought some of you might find it interesting.