Topics /

Math & Algorithms

The most popular blog posts about math & algorithms on Hacker News. 106 posts.

2016
62

Interactive Numerical Optimization Tutorial

Numerical Optimization is one of the central techniques in Machine Learning. For many problems it is hard to figure out the best solution directly, but it is relatively easy to set up a loss function that measures how good a solution is - and then minimize the parameters of that function to find the solution.

68

Don’t invert that matrix (2010)

There is hardly ever a good reason to invert a matrix. What do you do if you need to solve Ax = b where A is an n x n matrix? Isn't the solution A−1 b? Yes, theoretically. But that doesn't mean you need to actually find A−1. Solving the equation Ax = b is

76

Prime After Prime

Are the prime numbers sprinkled randomly along the number line, like windblown seeds? Of course not: Primality is not a matter of chance but a product of simple arithmetic. A number is prime if and only if no smaller positive integer other than 1 divides it evenly.

77

Understanding gradient descent

Gradient descent is a standard tool for optimizing complex functions iteratively within a computer program. Its goal is: given some arbitrary function, find a minumum. For some small subset of functions - those that are convex - there's just a single minumum which also happens to be global. For most realistic…

82

What is the roundest country?

We can define roundness in many ways. For example, as you may know, the circle is the shape that given a fixed perimeter maximizes the area. This definition has many problems. One of the problems is that countries generally have chaotic perimeters (also known as borders), so they tend to be much longer than they seem…

84

Inspecting C's qsort Through Animation

The C standard library includes a qsort() function for sorting arbitrary buffers given a comparator function. The name comes from its original Unix implementation, “quicker sort,” a variation of the well-known quicksort algorithm. The C standard doesn’t specify an algorithm, except to say that it may be unstable (C99…

85

Dijkstra's Algorithm

I was at SCNA the other day, and someone approached me about TDD and Dijkstra’s algorithm. He wondered if you could find a sequence of tests that would lead you to the algorithm. This sounded like a fun little exercise, so I decided to give it a try here.

88

Spikey Spheres

A word of warning ... I'm presenting here something called an analogy. It's not perfect, it has problems, it's not exact, but there are ways in which it can aid your thinking. I'm giving a way of visualising high-dimensional spheres, a way that has its limitations, but which can help avoid making mistakes based on…

89

What is Symbolic Computation?

I've been reading a lot of Lisp books lately, some more advanced than others. All of the introductory books I've seen cover the idea of symbolic computation, but most of them breeze past it with just a few pages about "symbols" and "quoting". For many programmers coming from non-Lisp languages these are new, foreign…

90

Perlin noise

I used Perlin noise for the fog effect and title screen in Under Construction. I tweeted about my efforts to speed it up, and several people replied either confused about how Perlin noise works or not clear on what it actually is. I admit I only (somewhat) understand Perlin noise in the first place because I’ve…