Grinding Toward Convergence, One Pass at a Time
I cracked my first 6-inch Pyrex blank today, twenty minutes into grinding. The stand wasn’t level—3mm difference across the corners—and the mirror flexed against the tilted tool during forward strokes. Replacement blank ordered. Stand getting rebuilt.
But while I wait, I’ve been thinking about what mirror grinding actually is, computationally. You start with a rough surface. You apply a transformation (wet carborundum, circular strokes, pressure). You test. You repeat. The surface converges toward a parabola not because you’re sculpting it deliberately, but because the physics of the process has a fixed point—a shape where further grinding produces no change.
This is exactly how fixed-point iteration works. You have some function f, and you want to find where f(x) = x. So you guess, apply f, take the result, apply f again. If the function is well-behaved (contractive, in the jargon), your guesses converge.
The classic example: finding √2 by repeatedly averaging your guess with 2 divided by your guess.
defmodule Converge do
def iterate(f, x, tol \\ 1.0e-12) do
next = f.(x)
if abs(next - x) < tol, do: next, else: iterate(f, next, tol)
end
end
sqrt_fn = fn x -> (x + 2.0 / x) / 2.0 end
IO.puts "√2 ≈ #{Converge.iterate(sqrt_fn, 1.0)}"
Output: √2 ≈ 1.4142135623730951
The Bash version is crustier but shows the iteration explicitly:
#!/bin/bash
x=1.0
for _ in {1..8}; do
x=$(echo "scale=15; ($x + 2/$x) / 2" | bc)
printf "%.12f\n" "$x"
done
1.500000000000
1.416666666666
1.414215686274
1.414213562374
1.414213562373
...
Five iterations to twelve decimal places. The convergence is almost violent—each step roughly doubles your correct digits (this is quadratic convergence, a property of Newton-Raphson, which this secretly is).
Mirror grinding converges more slowly. Each pass removes microns. The Foucault test reveals shadows where the curve deviates. You adjust your stroke, apply pressure differently, repeat. The tolerance isn’t 10⁻¹² but maybe λ/10—a tenth of a wavelength of light, around 55 nanometres for green.
Both processes require faith that the repetition leads somewhere. And both can diverge if you start wrong or push too hard. I pushed too hard today.