Mathematics for Computing

Linear algebra, calculus and optimization, and probability and statistics for graphics, machine learning, and data analysis, plus the discrete side: set theory, predicate logic, and formal methods.

Linear Algebra for Computing

Vectors and matrices show up constantly in computing — a colour is three numbers, an image is a grid of them, a neural network's weights are a matrix, a 3D rotation is a matrix multiply — because linear algebra is the…

Calculus and Optimization

Differentiation and integration are usually taught as opposites — one measures instantaneous rate of change, the other accumulates area under a curve — and for computing purposes, differentiation is the one that matters…

Probability and Statistics for Computing

Almost every piece of machine-learning and data-science content on this site leans on a small, recurring set of probability and statistics concepts — this page collects them in one place, following DeGroot and…

Interval Arithmetic

Every number a computer stores as a float is, in general, already an approximation — Binary Representation and Computer Arithmetic covers why 0.1 has no exact binary representation at all. Interval arithmetic takes that…

Set Theory for Computing

A surprising amount of computer science is set theory wearing a domain-specific costume. A type is a set of values a variable is permitted to hold; a database table is a set of rows; a graph's edges are a set of pairs…

Predicate Logic

Set Theory for Computing uses a predicate — P(x), true or false depending on x — informally, to describe a set by a rule rather than a listing. Predicate logic is what happens when that informal use is made precise: a…

Formal Methods: Specifying Before You Build

Predicate Logic closes by attaching a predicate to a specific point in a program — "when execution reaches here, this must be true." A formal method is what results from taking that idea seriously as an engineering…

Schemas and Scenarios: A Speculative Z/BDD Hybrid

Formal Methods covers a Z schema: a universally-quantified invariant, checkable independently of any one concrete case. BDD as Specification covers the opposite kind of claim: a Given/When/Then scenario is one concrete…