One Update, Four Languages
Richardson, Jacobi, Gauss–Seidel, SOR, SSOR, incomplete (pivoted) Cholesky, two-level — on the grounded Dirichlet chain every one of them is the same line of code, $x \leftarrow x + M^{-1}(b - Ax)$, heard in four languages: a per-node formula, an operator with a spectral radius, gradient descent in transformed coordinates, and a lineman resetting voltages.
One rod, one matrix, one right-hand side
The system is the suite's Dirichlet chain: $n=32$ interior nodes at spacing $h=\tfrac1{33}$, stiffness $A=\mathrm{tridiag}(-1,2,-1)/h^2$. The diagonal is a constant $2/h^2 = 2178$, end rows included, because the walls are grounded — the free-vs-grounded story is the green tents' §4, and it is why "divide by the diagonal" will keep collapsing to "multiply by a scalar" below. Underneath sits the difference operator: $A = B^\top B$ with $B$ the grounded $33\times32$ incidence matrix — one row per edge, walls included as grounded rails, entries $\pm1/h = \pm33$ (report 09's $D$, Vishnoi's electrical network). Verified entrywise to 2.1×10−16.
Every experiment on this page drives one fixed right-hand side, the green-tents convention: one unit of heat in at node 8, one out at node 24 ($b_8 = +1/h$, $b_{24} = -1/h$), true solution $x^\star = A^{-1}b$. The spectrum runs from $\lambda_1 = 9.8622$ to $\lambda_{32} = 4346.14$, so $\kappa(A) = 440.69$.
Now the claim in the title. Take any of the seven methods below. It ships with a per-node loop (how you would code it), a splitting $A = M - N$ (how Trefethen and Greenbaum write it), a residual correction (how a preconditioner person writes it). These are the same iteration — for all ten $(M,\text{loop})$ pairs the three forms track each other to at worst 2.3×10−14 over five sweeps from a random start. What differs between methods is only which $M$ you can afford to invert. And each $M$ can be heard in four languages:
V1 · weight update
The per-node formula. Jacobi: $x_i \leftarrow (x_{i-1}+x_{i+1}+h^2b_i)/2$, stale neighbors. The splitting $A = M-N$, iteration matrix $T = M^{-1}N = I - M^{-1}A$, error $e_k = T^k e_0$.
V2 · operator
Residual correction $x \leftarrow x + M^{-1}(b-Ax)$: $M$ is a preconditioner, and $\rho(T) = \rho(I - M^{-1}A)$ is report 12's per-sweep unexplained fraction — exact closed forms on this chain.
V3 · coordinates
For symmetric $M = C^\top C$: one step is plain gradient descent in whitened coordinates $z = Cx$. For the sweeps (GS, SOR) no such $C$ exists — they are exact cyclic coordinate descent instead.
V4 · electrical
$A = B^\top B$: nodes carry voltages, edges carry currents. Jacobi resets every voltage to the neighbors' average at once; Gauss–Seidel sends a lineman down the rod; SOR tells him to overshoot.
Here is the whole scoreboard, exact against measured. Rates are spectral radii; "sweeps" counts iterations to relative error $10^{-8}$ on the fixed right-hand side from $x_0 = 0$; "predicted" is $\lceil \ln 10^{-8} / \ln\rho \rceil$.
| method | M (the splitting) | ρ, closed form | ρ, exact | ρ, measured | sweeps | predicted |
|---|---|---|---|---|---|---|
| Richardson, α = h²/2 | $I/\alpha$ | $\cos\pi h$ | 0.995472 | 0.995472 | 3609 | 4059 |
| Jacobi | $D$ | $\cos\pi h$ | 0.995472 | 0.995472 | 3609 | 4059 |
| Gauss–Seidel | $D+L$ | $\cos^2\pi h$ | 0.990964 | 0.990964 | 1870 | 2030 |
| SOR, ω* = 1.826391 | $D/\omega+L$ | $\omega^*-1$ | 0.826391 | 0.826578 † | 120 | 97 † |
| SSOR, same ω* | $\tfrac{\omega}{2-\omega}(D/\omega+L)D^{-1}(D/\omega+U)$ | — | 0.907816 | 0.907816 | 174 | 191 |
| IC, rank T = 4 | $R_4^\top R_4 + \mathrm{diag}\,d$ | $\tfrac{\kappa-1}{\kappa+1}$, κ = 415.62 | 0.995200 | 0.995200 | 3555 | 3829 |
| IC, rank T = 8 | $R_8^\top R_8 + \mathrm{diag}\,d$ | κ = 306.61 | 0.993498 | 0.993498 | 2758 | 2825 |
| IC, rank T = 16 | $R_{16}^\top R_{16} + \mathrm{diag}\,d$ | κ = 109.73 | 0.981939 | 0.981939 | 899 | 1011 |
| IC, rank T = 31 | $= A$ exactly | κ = 1 | 0 | 0 | 1 | 1 |
| two-level, ω = 0.769949 | $\big(\omega(ZA_c^{-1}Z^\top + D^{-1})\big)^{-1}$ | $\tfrac{\kappa-1}{\kappa+1}$, κ = 15.60 | 0.879537 | 0.879537 | 133 | 144 |
† SOR at exactly $\omega^*$ has a defective eigenvalue pair (two Jordan-chained eigenvalues at the kink), so the error carries a polynomial factor $k\rho^k$: the measured asymptotic slope is off by 2.3×10−4 (every other method matches its $\rho$ to ≤ 6.7×10−15 relative), and it lands at 120 sweeps rather than the eigenvalue-only prediction 97. Measured slopes are renormalized power iterations on $T$; both columns come straight from results/update_views.json.
The sweep theater
Before dissecting the languages, watch the methods run. Pick one; play, scrub, or walk a single sweep node-by-node. Gauss–Seidel and SOR update serially — the lineman walks left to right, each node reset against the already-fresh voltage of its left neighbor (SSOR walks there and back) — while Jacobi and Richardson update every node simultaneously from stale values. The trajectories here are recomputed live from the five-line component loops and verified at load against reference values baked in from results/update_views.json.
Richardson
The bluntest instrument: step down the residual with one fixed scalar. Everything below is a dressed-up Richardson — the whole subject is the question "what may I multiply the residual by?"
Splitting: $M = I/\alpha$, $N = I/\alpha - A$. The optimal step is $\alpha = 2/(\lambda_1+\lambda_{32}) = h^2/2$, and the error obeys $e_k = (I-\alpha A)^k e_0$.
$T = I - \alpha A$ has eigenvalues $1 - \alpha\lambda_k = \cos k\pi h$ — Jacobi's spectrum exactly (see the interlude). $\rho = \cos\pi h = $ 0.995472, measured slope matches to 1.1×10−16 relative; per report 12, each sweep leaves that fraction of the worst-mode error unexplained.
Raw coordinates. The update is plain gradient descent on $J(x) = \tfrac12 x^\top A x - b^\top x$ with fixed step $\alpha$ — the whitening map is the scalar $C = \alpha^{-1/2} I$, which changes nothing directional. Every other card is this card after a change of variables.
Every node bleeds current down its own residual through one fixed conductance $\alpha$ — pure Ohm's law against the imbalance, no averaging. Equivalently (§12): plain gradient descent on the edge energy $\tfrac12\Vert Bx - y\Vert^2$ of the grounded network.
Jacobi
Divide the residual by the diagonal: each node takes the conditional expectation of itself given its neighbors — all at once, from the stale board.
Both neighbors read from the old sweep. Splitting: $M = D$, $N = -(L+U)$, so $T_J = -D^{-1}(L+U) = I - D^{-1}A$.
Eigenvalues $\cos k\pi h$, $k = 1..32$ — symmetric about zero, so the smoothest and roughest modes tie for slowest at $|\cos\pi h|$. $\rho = \mu = $ 0.995472 (eigencheck dev 1.6×10−15); 3609 sweeps to $10^{-8}$.
$M = D = C^\top C$ with $C = D^{1/2} = (\sqrt2/h)\,I = $ 46.669$\,I$ — a global rescale. The constant diagonal means every conditional variance is already equal, so "whiten by the diagonal" turns no direction: the suite's Jacobi no-op. The theorem still holds — one plain-GD step on the whitened energy in $z = Cx$, mapped back by $C^{-1}$, equals one Jacobi sweep at every iterate: 60 sweeps, max dev 1.0×10⁻¹⁴.
Every node simultaneously resets its voltage to the average of its neighbors' stale voltages, plus the $h^2\!/2$ source lift. Checked against $D^{-1}(b - (L+U)x)$ and against the padded-average formula to 5.6×10⁻¹⁷.
Gauss–Seidel
One word changes: fresh. Update in place, left to right, and each node's left neighbor has already moved. That word breaks the symmetry of $M$ — and switches the method's V3 language entirely.
Same average, but the left neighbor is already fresh. Splitting: $M = D + L$ (lower triangular), $N = -U$; the in-place loop is the triangular solve $M x_{k+1} = b - U x_k$.
$\rho(T_{GS}) = \cos^2\pi h = \mu^2 = $ 0.990964 (dev 1.1×10−16): squaring. One GS sweep does two Jacobi sweeps' worth of damage — 1870 vs 3609 sweeps, the ratio checked directly. Spectrum: sixteen values $\mu_k^2$ plus zero with multiplicity 16.
No whitening exists. $M = D+L$ is nonsymmetric — $\max|M - M^\top| = 1/h^2 = $ 1089 — so there is no $C$ with $M = C^\top C$. The honest reading: exact cyclic coordinate descent. Each micro-step is the exact line minimum of $J$ along $e_i$ ($x_i \leftarrow x_i + r_i/A_{ii}$, dev 2.2×10⁻¹⁶), leaving $\partial J/\partial x_i = 0$ at that instant (9.3×10⁻¹⁷); the 32 micro-steps compose to one GS sweep exactly. A Gibbs sweep with the noise turned off (report 09 §3).
A lineman walks the rod left to right, resetting each node's voltage against fresh upstream voltages — by the time he reaches node $i$, node $i{-}1$ already holds its new value. Serial relaxation: the original 1823 Gauss move, done by hand.
SOR — successive over-relaxation
Gauss–Seidel's exact line minimizations are, on this problem, always too timid: the corrections of neighboring nodes are positively correlated, so when the dust of the sweep settles each node wishes it had moved further. SOR moves further on purpose.
Move to the GS target, then keep going: the new value is $\omega$ of the way there and beyond. Splitting: $M = D/\omega + L$, $N = D(1/\omega - 1) - U$.
At $\omega^*$ every eigenvalue of $T$ sits on the circle $|z| = \omega^* - 1 = $ 0.826391 in the complex plane — no single slow mode survives. Measured slope 0.826578: the eigenpair at the kink is defective (a Jordan block), so a polynomial factor $k\rho^k$ rides on top. 120 sweeps vs GS's 1870.
No whitening — $M$ nonsymmetric again ($\max|M-M^\top| = 1089$). The reading is over-relaxed coordinate descent: each micro-step is $x_i \leftarrow x_i + \omega\, r_i/A_{ii}$ — deliberately $\omega = 1.8264$ times past the exact coordinate minimum (dev 4.4×10⁻¹⁶). An intentionally sloppy line search that beats the exact one, because it anticipates the correlated corrections still coming down the rod.
The same lineman, but he has learned the pattern: his resets are systematically too timid, every neighbor will keep drifting the same way after he leaves. So he overshoots every reset by the factor $\omega^* = 1.8264$ — and finishes the rod's paperwork fifteen times faster.
= plain GD on the whitened energy, $z = Cx$, $M = C^\top C$
= exact cyclic coordinate descent — Gibbs without noise
This dichotomy is the page's second headline. "Preconditioning = change of coordinates" is only half the world. If $M$ is SPD it factors as $C^\top C$ and one preconditioned sweep is one plain gradient-descent step on the whitened problem. Eight of this page's $M$'s are symmetric; the equivalence is verified iterate-for-iterate for the seven nontrivial ones — Jacobi, SSOR, the four IC ranks, two-level (max dev 5.3×10−14 over 60 sweeps) — and Richardson's $M = I/\alpha$ is the trivial eighth, its whitener the scalar $\alpha^{-1/2}I$ of §3. But a sweep's $M$ is triangular: $M - M^\top$ has a full strict triangle of size $1/h^2 = 1089$, no $C$ exists, and no rotation of coordinates makes GS a gradient flow. Its true transformed-coordinates identity runs through coordinate, not gradient, descent: axis by axis, each update an exact conditional expectation — which is why the same loop with noise injected is precisely the Gibbs sampler (report 09 §3), and why symmetrizing the sweep (next card but one) buys the whitening reading back.
The ω story
Why 1.8264 and not 1.5 or 1.9? The answer is Young's theory of consistently-ordered matrices (David Young's 1950 thesis — which also delivers §5's $\rho(T_{GS}) = \mu^2$ as its $\omega = 1$ case): the SOR eigenvalues $z$ solve the quadratic $(z + \omega - 1)^2 = z\,\omega^2\mu_k^2$ against each Jacobi eigenvalue $\mu_k = \cos k\pi h$. Below the optimum the largest root is real and $\mu$-limited; past it, all roots go complex with modulus exactly $\omega - 1$. The two branches cross at a kink — not a smooth minimum — at
the second form being the one in the user's Trefethen-notes margin — identical because $\sqrt{1-\cos^2\pi h} = \sin\pi h$ (the two evaluate within 4.4×10−16; $\sin\pi h = 0.095056$). At the kink $\rho = \omega^* - 1 = (1-\sin\pi h)/(1+\sin\pi h) = $ 0.826391, and 1870 GS sweeps collapse to 120. Note what $\omega^*$ depends on: only $\mu$. Tune Jacobi's rate and SOR's dial comes free.
SSOR — the sweep, symmetrized
Walk the rod, then walk back. The composition of a forward and a backward SOR sweep has a symmetric $M$ — and with symmetry, the whitening language switches back on.
Two triangular solves per iteration. The product $M = \tfrac{\omega}{2-\omega}(D/\omega+L)\,D^{-1}(D/\omega+U)$ is symmetric positive definite — the sweeps' triangles cancel each other's skew.
Real spectrum ($M$ SPD). $\rho = $ 0.907816 at the same $\omega^*$, measured to 6.7×10−15 relative; 174 sweeps. Slower per sweep than raw SOR's 0.826391 — each iteration is two sweeps, and symmetry costs rate. What it buys: admissibility as a CG preconditioner, and the next pane.
Whitening returns, in closed form: $C = K = \sqrt{\tfrac{\omega}{2-\omega}}\;D^{-1/2}\big(D/\omega + U\big)$. Then $K^\top K = M_{\rm SSOR}$ and $K^\top = \mathrm{chol}(M_{\rm SSOR})$ — the Cholesky factor is the sweep itself (dev 3.4×10⁻¹⁶). In the sweep-whitened variables $z = Kx$, one plain-GD step equals one SSOR double-sweep at every iterate: 60 sweeps, dev 9.8×10⁻¹⁵.
The lineman walks the rod and then walks it back. Each direction alone keeps crooked books — upstream always fresher than downstream — but the round trip's ledger is symmetric, so the double pass acts like a single well-defined network operator rather than a moving wavefront.
Incomplete (pivoted) Cholesky — partial Gram–Schmidt
All methods so far invert something cheap and fixed. The factor-analysis preconditioner of report 09 §6 instead buys structure rank by rank: keep $T$ greedily-chosen pivot columns of the Cholesky factorization exactly, replace everything else by its diagonal Schur complement. At $T = n{-}1$ it silently becomes the exact solver.
Pick $T$ pivots greedily (on $A$ they come out odd-first: 1, 3, 5, 7, …). Apply $M_0^{-1}$ by the innovations recipe of report 15: regress the pivot residuals out of the rest, divide by the conditional variances, back-substitute — the $\hat L\,\mathrm{blkdiag}(A_{PP}, \mathrm{diag}\,s)\,\hat L^\top$ form, checked to 4.2×10⁻¹⁶.
$\kappa(M^{-1}A)$ falls monotonically with rank: 415.62 (T=4) → 306.61 (T=8) → 109.73 (T=16) → 1 (T=31). With optimal damping, $\rho = \tfrac{\kappa-1}{\kappa+1}$: 0.995200, 0.993498, 0.981939, 0 — sweeps 3555, 2758, 899, 1. At $T=31$ the "preconditioner" reconstructs $A$ exactly (dev 2.1×10−16) and the error is dead after one sweep.
$z = $ the innovations coordinates of report 15's truncated regression: pivot variables kept whole, every other variable replaced by its residual after regressing on the pivots. Whitened-GD equivalence at every iterate: 1.1×10⁻¹⁴ (T=4), 4.7×10−15 (T=8), 2.7×10−15 (T=16), 5.3×10−14 (T=31). On a chain the truncated regression is exact at full rank — whence the one-step finish.
Gram–Schmidt on $B$'s edge columns is Cholesky on $A = B^\top B$ (Shawe–Taylor §5.2 duality: dev 3.0×10⁻¹⁶). Stop after $T$ columns and you have partial Gram–Schmidt in edge space = incomplete Cholesky on $A$: the first 8 GS rows equal the first 8 rows of $\mathrm{chol}(A)^\top$ to 1.5×10⁻¹⁶, and the pivoted variant picks the same 16 pivots with the same rows, dev 0 (§10).
Shawe–Taylor's Algorithm 5.12, run twice
The kernel-methods textbook (Shawe-Taylor & Cristianini, §5.2) writes pivoted partial Cholesky as a regression bookkeeping loop. Verbatim, in its notation, with $K$ the matrix being factored:
with $d_i = K_{ii}$ initially and $K = R^\top R$ when run to completion. The $d$ array is the whole story: after $j$ pivots, $d_i$ is exactly the diagonal of the Schur complement — the variance of variable $i$ still unexplained by regression on the pivots chosen so far (checked at every one of the 32 steps: 3.7×10−16 on $\Sigma$, 7.3×10−16 on $A$). Pivoting on $\max d$ is therefore forward-selection regression: always recruit the variable you currently understand least. Stopping after $T$ pivots is the incomplete factorization of the card above; $K = R^\top R$ holds to 2.3×10−16 at full rank, $R[:,\mathrm{pivots}]$ is upper triangular, and $PKP^\top$ reproduces pivoted Cholesky exactly.
Run it on the two natural $K$'s of this suite and it tells two different stories:
On $K = \Sigma = A^{-1}$ — the Brownian-bridge covariance $\Sigma_{ij} = h\,x_{\min}(1-x_{\max})$ of the bridge explainer (closed form checked to 1.4×10−15) — greedy variance bisects: it picks the midpoint node 17 first ($d = 0.007569$, $\nu_1 = 0.08700$; its mirror twin 16 ties to the last bit, so the recorded tape's coin-flips are float noise), then 8 and 25, then 12, 21, 4, 29 … Each pick pins the bridge where it wobbles most, and the unexplained trace collapses from 0.1665 to 0.0831 after a single pivot — half the field's variance explained by one well-chosen node. This is the eigenmodes explainer's leave-wrong ledger discovered by greed: coarse structure first, and the pivot order is a multiscale hierarchy.
On $K = A$ — the precision matrix — the same rule sweeps the odd nodes first: 1, 3, 5, …, 31, then the evens. Greedy variance on the stiffness side discovers red–black ordering, the classic parallel sweep schedule, with no one telling it about graph coloring. Precision pivots buy conditional independence; covariance pivots buy variance — same algorithm, opposite hierarchies.
And the edge-space dual, which makes "incomplete Cholesky" and "partial Gram–Schmidt" one algorithm: orthogonalizing $B$'s columns in their natural order gives $R = \mathrm{chol}(A)^\top$ (dev 3.0×10−16); orthogonalizing with pivot-on-largest-residual-column matches Algorithm 5.12 on $A$ pivot for pivot and row for row (dev 0, all 16 checked). IC(0) on a path graph has no fill-in to drop, so it equals exact Cholesky here (1.5×10−16) — report 15's truncated regression run with nothing truncated.
Two-level — solve the coarse network exactly
The endgame of the pivot theater's hierarchy: don't just damp the smooth error, solve it. Eight block-average columns $Z$ make an $8\times8$ coarse stiffness $A_c = Z^\top A Z$; invert that exactly and let Jacobi handle what remains.
One $8\times8$ solve plus one Jacobi reset, added, then damped by $\omega = 0.7699$. Blocks of four nodes share one coarse unknown ($Z$ columns $= \tfrac14$ on their block).
Spectrum of $M_0^{-1}A$ squeezed into $[\,0.1565,\ 2.4411\,]$: $\kappa_{\rm eff} = $ 15.60 against 440.69 plain — 28×. Damped, $\rho = $ 0.879537 (measured to 2.5×10−16 rel): 133 sweeps where Jacobi needs 3609.
Coarse modes solved exactly: $\Pi = Z A_c^{-1} Z^\top A$ is the $A$-orthogonal projector onto $\mathrm{range}(Z)$ ($\Pi^2 = \Pi$, $A\Pi = \Pi^\top A$, $\Pi Z = Z$: 1.1×10−15) — the eigenmodes explainer's deflation view — plus a Jacobi-whitened fine residual. Whitened-GD equivalence 1.6×10⁻¹⁴. The honest ledger: Euclidean overlap with mode 1 is 0.989 (largest principal angle 38.29°), yet $A$-energy overlap only 0.296 — block averages are energy-rough, and the win is spectral, not modal.
Bundle the rod into 8 supernodes and solve that little grounded network exactly — its 8 voltages are set in one shot, no relaxation — while every fine node also takes one ordinary Jacobi reset against its neighbors. Long-range current bookkeeping done wholesale, retail smoothing on top.
Two lines from the Trefethen notes, made theorems on the chain
"Richardson on $X^\top X w = X^\top b$ is gradient descent on the least-squares problem for $Xw = b$." True, and nothing about it is special to this page: the gradient of $\tfrac12\Vert Xw - b\Vert^2$ is $X^\top(Xw - b)$ — exactly the normal-equations residual — so a fixed-step move down the gradient and a Richardson sweep on the normal equations are the same assignment. With $X = B$ (the grounded difference operator) and $y = Bx^\star$ the edge currents of the true solution ($B^\top y = b$ to 1.7×10−15), plain GD on $\tfrac12\Vert Bx - y\Vert^2$ tracks Richardson on $Ax = b$ for 60 iterates to 6.6×10⁻¹⁵. This is the V4 = V3 bridge: the electrical network's edge energy is the least-squares objective.
"Jacobi for $X^\top X w = X^\top b$ is diagonal Newton." Also true, stated carefully: Newton's method on the least-squares objective would divide the gradient by the full Hessian $X^\top X$; keep only the Hessian's diagonal and you get $w \leftarrow w - \mathrm{diag}(X^\top X)^{-1}X^\top(Xw-b)$, which is precisely Jacobi's $M = D$ sweep. With $X = B$: $\mathrm{diag}(B^\top B) = 2/h^2 = D$ to 2.1×10−16, and the two loops agree over 20 iterates to 4.4×10⁻¹⁶. On this chain the diagonal is constant, so "diagonal Newton" quietly degrades into optimally-scaled gradient descent — the Jacobi no-op of §4, seen through a third window.
The matrix of methods and languages
One row per method, one column per language. Every cell is a checked identity, not an analogy.
| method | V1 · weight update | V2 · operator | V3 · coordinates | V4 · electrical |
|---|---|---|---|---|
| Richardson | $x_i \mathrel{+}= \alpha r_i$; $M = I/\alpha$ | ρ = cos πh = 0.995472; 3609 sweeps | plain GD, raw coordinates | leak current down the residual, fixed conductance |
| Jacobi | average stale neighbors + lift; $M = D$ | ρ = cos πh = 0.995472; 3609 | GD in $z = (\sqrt2/h)x$ — global rescale, the no-op | all voltages reset at once from the stale board |
| Gauss–Seidel | same, fresh left neighbor; $M = D{+}L$ | ρ = cos² πh = 0.990964; 1870 | exact cyclic coordinate descent — no whitening exists | lineman walks left→right on fresh upstream volts |
| SOR | overshoot the GS target by ω; $M = D/\omega{+}L$ | ρ = ω*−1 = 0.826391; 120 | coordinate descent, each step ω past the minimum | lineman overshoots every reset by 1.8264 |
| SSOR | forward sweep, then backward; $M$ SPD | ρ = 0.907816; 174 | GD in $z = Kx$, the closed-form sweep-whitener | there-and-back walk; the round trip keeps symmetric books |
| IC rank T | keep T pivots exactly + diagonal Schur | κ_eff 415.62→306.61→109.73→1; sweeps 3555/2758/899/1 | GD in report 15's innovations coordinates | partial Gram–Schmidt on edge columns = partial Cholesky on A |
| two-level | 8×8 coarse solve + Jacobi reset, damped | ρ = 0.879537, κ_eff = 15.60; 133 | coarse modes deflated exactly + whitened fine residual | solve the supernode network wholesale, smooth retail |
Read the columns downward and the page compresses to one sentence per language. V1: everyone updates a node from its neighbors and a lift. V2: everyone is $I - M^{-1}A$ racing its spectral radius. V3: the symmetric ones are gradient descent in the right coordinates, the sweeps are coordinate descent, and the better the coordinates, the fewer the sweeps — from 3609 to 1. V4: everyone is a maintenance policy for the same grounded network, from "nudge every voltage" to "solve the substation exactly." One update, four languages — and 65 checks saying none of the translations leak.