Math ∩ Programming
Recent content on Math ∩ Programming
- Posts
- 336 from 12 Jun 2011 to 21 Oct 2026
- Posting
- monthly (14 in the last year)
- Kind
- personal blog
- Feed
- https://www.jeremykun.com/index.xml
2026 13
- CKKS — Key Switching and Relinearization
- CKKS — Addition and Multiplication
- All articles by date
- Hotword detection in FHE on GPU in 350ms
- Shortform posts
- 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
- Deterministic Primality Testing for Limited Bit Width
- The Irrational Decision—A Book Review
2025 14
- 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
2024 22
- 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
2023 20
- 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
2022 10
- 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"
2021 9
- 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
2020 10
- 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
2019 5
2018 7
2017 12
- 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
2016 13
- 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
2015 20
- 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
2014 37
- 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
2013 39
- 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
2012 46
- 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
2011 53
- 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