Optimal Opus

HPC

Preview Image

A multi-dimensional ADT from first principles

Multi-dimensional arrays are an abstract data type used in every single numerical program out there. They can be used to track tracers in 2D or 3D physics simulations, as matrices in linear algebra, as portfolios in financial modelling and in countless other scenarios. Let's dive into the foundations of a possible implementation in C.

Read Essay
Preview Image

Playing magic tricks with randomness

What do Video games, statistics and data bases all have in common? They all need to use random number generators. But how does a deterministic machine generate randomness? Obviously the answer is it doesn't, but we've gotten pretty damn good at faking it. Let's learn how.

Read Essay
Preview Image

Beware of Taking Float16s From the Cookie Jar

Read Short
Preview Image

A Gentle Introduction to Automatic Differentiation

Differentiation is hard enough when it's in abstract on a math test, but what about when it's living, breathing code? Let's learn how modern numerical computing frameworks like Julia, Pytorch, Tensorflow and JAX all take gradients without ever being told how to do it.

Read Essay