RSS.Social

Math ∩ Programming

follow: @[email protected]

Posts

CKKS — Key Switching and Relinearization

CKKS — Addition and Multiplication

Hotword detection in FHE on GPU in 350ms

CKKS — Encryption and Decryption

Updates on HEIR, the homomorphic encryption compiler project

More whimsical OEIS sequences

CKKS — Polynomials, the Canonical Embedding, and Encoding

Unusual uses of OEIS sequences on GitHub

The OEIS meta sequence and subway stations

The Irrational Decision—A Book Review

Bicyclic Matrix-Matrix Multiplication in Fully Homomorphic Encryption

Integer Set Library (ISL) - A Primer

FHE@PDX 2025

Frequently Asked Questions about FHE

Leibniz's Dream and Dijkstra's nightmare

My Graduate Career in Math

HEIR talk at FHE.org

Does Baby Have Hat

My 4-year-old declares 36 the best number

Anyone know of an approachable proof of the Caratheodory-Fejer theorem?

Explainable Linear Programs

I'll be at the JMM

Epiphanies from Tape Measures

Fully Homomorphic Encryption and the Public

The last few months in HEIR

Attention spans for math and stories

Carnival of Mathematics #233

How This Blog Does IndieWeb

LWE Attack Benchmarking Project

Dynamic Programming Fail

Packing Matrix-Vector Multiplication in Fully Homomorphic Encryption

Shift Networks

Webmentions and POSSE improvements

MLIR — Defining Patterns with PDLL

Polynomial dialect and mlir-opt tutorial upstreamed

Fully Homomorphic Encryption in Production Systems

Ben Recht on Meehl's Philosophical Psychology

Detecting field names with C++ metaprogramming

Barycentric Lagrange Interpolation

Random life updates

Math databases

Experiments with POSSE

Remez and function approximations

A High-Level Technical Overview of Fully Homomorphic Encryption

Unusual Tips for Parenting Toddlers

Tabletop Games Based on Math Problems

MLIR — A Global Optimization and Dataflow Analysis

MLIR — Lowering through LLVM

MLIR — Dialect Conversion

Socks, a matching game based on an additive combinatorics problem

MLIR — Canonicalizers and Declarative Rewrite Patterns

Encoding Schemes in FHE

MLIR — Verifiers

MLIR — Folders and Constant Propagation

MLIR — Using Traits

Computing Percentages Easier

MLIR — Defining a New Dialect

MLIR — Using Tablegen for Passes

MLIR — Writing Our First Pass

MLIR — Running and Testing a Lowering

MLIR — Getting Started

Google's Recent FHE work, and starting HEIR

Two's Complement and Group Theory

We're Knot Friends

Sample Extraction from RLWE to LWE

Google's Fully Homomorphic Encryption Compiler — A Primer

Estimating the Security of Ring Learning with Errors (RLWE)

Negacyclic Polynomial Multiplication

Polynomial Multiplication Using the FFT

Carnival of Mathematics #209

Key Switching in LWE

Modulus Switching in LWE

"Practical Math" Preview: Collect Sensitive Survey Responses Privately

Cocktails

Silent Duels—Constructing the Solution part 2

My next book will be "Practical Math for Programmers"

The Gadget Decomposition in FHE

Group Actions and Hashing Unordered Multisets

Carnival of Mathematics #197

Searching for RH Counterexamples — Exploring Data

Regression and Linear Combinations

Searching for RH Counterexamples — Productionizing

Searching for RH Counterexamples — Scaling Up

Searching for RH Counterexamples — Performance Profiling

Searching for RH Counterexamples — Deploying with Docker

Optimization Models for Subset Cover

Searching for RH Counterexamples — Unbounded Integers

Searching for RH Counterexamples — Search Strategies

Searching for RH Counterexamples — Adding a Database

Searching for RH Counterexamples — Setting up Pytest

Taylor Series and Accelerometers

Contextual Symbols in Math

Musings on A New Interface for Mathematics

Second Edition of A Programmer's Introduction to Mathematics

The Communicative Value of Using Git Well

A Good Year for "A Programmer's Introduction to Mathematics"

Silent Duels—Constructing the Solution part 1

Math Versus Dirty Data

A Working Mathematician's Guide to Parsing

Silent Duels—Parsing the Construction

Silent Duels and an Old Paper of Restrepo

A Programmer's Introduction to Mathematics

Hanabi: a card game for logicians

Visualizing an Assassin Puzzle

For mathematicians, = does not mean equality

A parlor trick for SET

Earthmover Distance

NP-hard does not mean hard

Binary Search on Graphs

Linear Programming and Healthy Diets — Part 2

Notes on Math and Gerrymandering

Boolean Logic in Polynomials

Mathematical Genealogy

Duality for the SVM

Formulating the Support Vector Machine Optimization Problem

The Inner Product as a Decision Rule

Testing Polynomial Equality

Bayesian Ranking for Rated Items

The Reasonable Effectiveness of the Multiplicative Weights Update Algorithm

A Spectral Analysis of Moore Graphs

Voltage, Temperature, and Harmonic Functions

Guest post, "What's up with graph Laplacians?"

Zero-Knowledge: Definitions and Theory

Zero Knowledge Proofs for NP

The Blum-Blum-Shub Pseudorandom Generator

Zero Knowledge Proofs — A Primer

Singular Value Decomposition Part 2: Theorem, Proof, Algorithm

Singular Value Decomposition Part 1: Perspectives on Linear Algebra

Tensorphobia and the Outer Product

Big Dimensions, and What You Can Do About It

Concrete Examples of Quantum Gates

Hashing to Estimate the Size of a Stream

Load Balancing and the Power of Hashing

The Inequality

A Quasipolynomial Time Algorithm for Graph Isomorphism: The Details

Serial Dictatorships and House Allocation

One definition of algorithmic fairness: statistical parity

The Boosting Margin, or Why Boosting Doesn't Overfit

The Welch-Berlekamp Algorithm for Correcting Errors in Data

The Čech Complex and the Vietoris-Rips Complex

What does it mean for an algorithm to be fair?

Methods of Proof — Diagonalization

Weak Learning, Boosting, and the AdaBoost algorithm

The Many Faces of Set Cover

Markov Chain Monte Carlo Without all the Bullshit

The Codes of Solomon, Reed, and Muller

Finding the majority element of a stream

Hamming's Code

A Proofless Introduction to Information Theory

Zero-One Laws for Random Graphs

The Giant Component and Explosive Percolation

Multiple Qubits and the Quantum Circuit

The Quantum Bit

A Motivation for Quantum Computing

Linear Programming and the Simplex Algorithm

Learning a single-variable polynomial, or the power of adaptive queries

The Complexity of Communication

On the Computational Complexity of MapReduce

Making Hybrid Images

Occam's Razor and PAC-learning

A Rook Game

When Greedy Algorithms are Perfect: the Matroid

Parameterizing the Vertex Cover Problem

An Update on "Coloring Resilient Graphs"

When Greedy Algorithms are Good Enough: Submodularity and the (1—1/e)-Approximation

The Mathematics of Secret Sharing

Linear Programming and Healthy Diets — Part 1

Learning to Love Complex Numbers

Community Detection in Graphs — a Casual Tour

A problem that is not (properly) PAC-learnable

Sending and Authenticating Messages with Elliptic Curves

Stable Marriages and Designing Markets

Elliptic Curve Diffie-Hellman

Connecting Elliptic Curves with Finite Fields

Want to make a great puzzle game? Get inspired by theoretical computer science.

Programming with Finite Fields

Martingales and the Optional Stopping Theorem

(Finite) Fields — A Primer

Elliptic Curves as Python Objects

On Coloring Resilient Graphs

Elliptic Curves as Algebraic Structures

Simulating a Biased Coin with a Fair Coin

Elliptic Curves as Elementary Equations

Simulating a Fair Coin with a Biased Coin

Introducing Elliptic Curves

Fixing Bugs in "Computing Homology"

RealityMining, a Case Study in the Woes of Data Processing

How to Conquer Tensorphobia

Probably Approximately Correct — a Formal Theory of Learning

The Two-Dimensional Fourier Transform and Digital Watermarking

Bandits and Stocks

Lagrangians for the Amnesiac

Adversarial Bandits and the Exp3 Algorithm

Optimism in the Face of Uncertainty: the UCB1 Algorithm

The Universal Properties of Map, Fold, and Filter

Anti-Coordination Games and Stable Graph Colorings

The Erdős-Rényi Random Graph

Linear Regression

Cauchy-Schwarz Inequality (and Amplification)

Functoriality

Reservoir Sampling

Guest Post: Torus-Knotted Baklava

Miller-Rabin Primality Test

Why Theoretical Computer Scientists Aren't Worried About Privacy

Conferences, Summer Work, and an Advisor

Rings — A Second Primer

Universal Properties

Properties of Morphisms

Bezier Curves and Picasso

Categories as Types

Rings — A Primer

Introducing Categories

Categories, What's the Point?

Probabilistic Bounds — A Primer

Computing Homology

A Sample of Standard ML, the TreeSort Algorithm, and Monoids

Homology Theory — A Primer

Conditional (Partitioned) Probability — A Primer

Methods of Proof — Induction

Seam Carving for Content-Aware Image Scaling

Methods of Proof — Contradiction

Methods of Proof — Contrapositive

Methods of Proof — Direct Implication

Why there is no Hitchhiker's Guide to Mathematics for Programmers

k-Means Clustering and Birth Rates

Depth- and Breadth-First Search

The Fundamental Group — A Primer

Probability Theory — A Primer

Groups — A Second Primer

Neural Networks and the Backpropagation Algorithm

Groups — A Primer

Information Distance — A Primer

Ramsey Number Lower Bound

Constructing Topological Spaces — A Primer

There are Infinitely Many Primes (Erdős)

Topological Spaces — A Primer

Decision Trees and Political Party Classification

Complete Sequences and Magic Tricks

Infinitely Many Primes (Using Topology)

Trees—A Primer

K-Nearest-Neighbors and Handwritten Digit Classification

Metric Spaces — A Primer

Machine Learning — Introduction

The Cellular Automaton Method for Cave Generation

Dynamic Time Warping for Sequence Comparison

The Fast Fourier Transform

Principal Component Analysis

The Discrete Fourier Transform — A Primer

Streaming Median

Thoughts after a Year of Math ∩ Programming

Generalized Functions — A Primer

The Fourier Transform — A Primer

Double Angle Trigonometric Formulas

False Proof – 2 = 4, As the Limit of an Infinite Power Tower

The Fourier Series—A Primer

Kolmogorov Complexity—A Primer

Optimally Stacking the Deck—Texas Hold 'Em

Classic Nintendo Games are NP-Hard

Caching (and Memoization)

In Place Uniform Shuffle

Learning Programming — Finger-Painting and Killing Zombies

Other Complexity Classes

P vs. NP, A Primer (And a Proof Written in Racket)

Busy Beavers, and the Quest for Big Numbers

Fundamental Theorem of Algebra (With Picard's Little Theorem)

Cryptanalysis with N-Grams

The Fundamental Theorem of Algebra (with Galois Theory)

Handshake Lemma

The Fundamental Theorem of Algebra (with the Fundamental Group)

The Fundamental Theorem of Algebra (with Liouville)

Word Segmentation, or Makingsenseofthis

A Spoonful of Python (and Dynamic Programming)

Numerical Integration

Random (Psychedelic) Art

Row Reduction Over A Field

Metrics on Words

Holidays and Homicide

Tiling a Chessboard with Dominoes (Opposite Colors Removed)

Z[√2] has Infinitely Many Units

Conway's Game of Life in Conway's Game of Life

False Proof: 1 = 2 (with Calculus)

The Smallest Non-Cyclic Simple Group has Order 60

A Taste of Racket

N Choose 2 is the Sum of the First N-1 Integers

n-Colorability is Equivalent to Finite n-Colorability (A Formal Logic Proof)

Graduate Studies

The Square Root of 2 is Irrational (Geometric Proof)

The Perceptron, and All the Things it Can't Perceive

A Dash of Python

Programming Primers—An Introduction

Number Theory—A Primer

Encryption & RSA

False Proof—All Numbers are Describable in at Most Twenty Words

Eigenfaces, for Facial Recognition

Inner Product Spaces—A Primer

Möbius Transformations are Isometries of a Sphere

Hunting Serial Killers

False Proof—The Reals are Countable

False Proof—All Horses are the Same Color

Graph Coloring, or Proof by Crayon

Three Circles and Collinear Centers of Dilation

Optimally Stacking the Deck—Kicsi Poker

Set Theory—A Primer

False Proof—31.5 = 32.5

False Proof—There are Finitely Many Primes

False Proof—1 = 2

Geometric Series with Geometric Proofs

Turing Machines—A Primer

Determinism and Finite Automata—A Primer

Sums of k Powers

Turing Machines and Conway's Dreams

The Wild World of Cellular Automata

Tiling a Chessboard

Teaching Mathematics—Graph Theory

Area of a Triangle

Sums of the first n numbers, squares

The Party Problem

Number of Games in a Tournament

Google's Page Rank—Why it Doesn't Work Anymore

Google's Page Rank—The Final Product

Featured Posts

Linear Algebra—A Primer

Google's PageRank—A First Attempt

Big-O Notation—A Primer

Well Orderings and Search

Prime Design

Google's PageRank—Introduction