One Space, Two Bases
The bridge's precision matrix and its covariance are Gram matrices over the same 33 edges: $A$ is the Gram of sparse edge measurements, $A^{-1}$ the Gram of dense edge responses, and the two row families are dual bases — $X^\top B_{\mathrm{inc}} = I$, to $2\times10^{-15}$. Preconditioning is what happens when you make either family slightly wrong on purpose.
Same 33 edges, two Grams
The arena is the suite's Dirichlet chain: $A = \mathrm{tridiag}(-1,2,-1)/h^2$ from laplacian_1d, $n=32$ interior nodes, $h=\tfrac1{33}$, both walls pinned, $\kappa(A)=440.7$. Its sparse factorization is an old friend by now (report 09 §4): $A = B_{\mathrm{inc}}^\top B_{\mathrm{inc}}$, verified entrywise to $2.1\times10^{-16}$. Read row by row, that says something physical: row $e$ of $B_{\mathrm{inc}}$ is a measurement functional — the scaled difference $(u_{e-1}-u_e)\times\tfrac1h$ across one edge, two nonzeros for an interior edge, one for the two wall edges. The precision matrix is the Gram matrix of these local measurements: $A_{ij}$ is nonzero only where measurement supports overlap, which is why $A$ is tridiagonal ($\mathrm{nnz}=94$) and why the AR/conditional world of report 12 lives on this side.
The covariance has the mirror-image factorization. Define $$X \;=\; B_{\mathrm{inc}}\,A^{-1} \;=\; \big(B_{\mathrm{inc}}^\top\big)^{+},$$ the Moore–Penrose dual of the measurement matrix (the two definitions agree to $1.2\times10^{-16}$). Then $$A^{-1} \;=\; X^\top X,$$ verified to $1.6\times10^{-15}$: the covariance is also a Gram matrix over the same 33 edges — but of dense rows. Row $e$ of $X$ is the response field you get by solving $Av = b_e$ with the $e$-th measurement row as the load: inject $+1/h$ at the tail node, extract $1/h$ at the head — a unit dipole across edge $e$. All 33 rows match their solves to $3.8\times10^{-17}$.
And the two families are not just parallel constructions — they are dual bases: $$X^\top B_{\mathrm{inc}} \;=\; A^{-1}B_{\mathrm{inc}}^\top B_{\mathrm{inc}} \;=\; I_{32},$$ to $2.4\times10^{-15}$. Concretely: read any $u$ against the measurements, rebuild it with the responses, and you get $u$ back exactly — $u = \sum_e (b_e^\top u)\,v_e$, because that sum is $X^\top B_{\mathrm{inc}}\,u = A^{-1}A\,u$. The measurement coefficients of $u$ are its edge differences (currents, an electrician would say); the responses are the reconstruction kit that turns currents back into voltages. One index set, two reciprocal coordinate systems — hence the title.
At $n=8$ ($h=\tfrac19$) the whole response basis fits on a business card, in exact rational arithmetic: $X_{e,i} = (i - 9\cdot\mathbf 1[i\ge e])/81$, and every identity above closes with zero tolerance in Fractions — $A\Sigma = I$ entry by entry, the closed form on all $9\times8$ entries, $X^\top B_{\mathrm{inc}} = I_8$ exactly. Each row climbs the ramp $i/81$, then drops by $\tfrac19 = h$ as it crosses its own edge:
| X (exact) | node 1 | node 2 | node 3 | node 4 | node 5 | node 6 | node 7 | node 8 |
|---|---|---|---|---|---|---|---|---|
| edge 1 | −8/81 | −7/81 | −2/27 | −5/81 | −4/81 | −1/27 | −2/81 | −1/81 |
| edge 2 | 1/81 | −7/81 | −2/27 | −5/81 | −4/81 | −1/27 | −2/81 | −1/81 |
| edge 3 | 1/81 | 2/81 | −2/27 | −5/81 | −4/81 | −1/27 | −2/81 | −1/81 |
| edge 4 | 1/81 | 2/81 | 1/27 | −5/81 | −4/81 | −1/27 | −2/81 | −1/81 |
| edge 5 | 1/81 | 2/81 | 1/27 | 4/81 | −4/81 | −1/27 | −2/81 | −1/81 |
| edge 6 | 1/81 | 2/81 | 1/27 | 4/81 | 5/81 | −1/27 | −2/81 | −1/81 |
| edge 7 | 1/81 | 2/81 | 1/27 | 4/81 | 5/81 | 2/27 | −2/81 | −1/81 |
| edge 8 | 1/81 | 2/81 | 1/27 | 4/81 | 5/81 | 2/27 | 7/81 | −1/81 |
| edge 9 | 1/81 | 2/81 | 1/27 | 4/81 | 5/81 | 2/27 | 7/81 | 8/81 |
The dual-basis explorer
Every number below is the suite's own data — the full $33\times32$ matrices $B_{\mathrm{inc}}$ and $X$ are baked into the page from results/dual_basis.json, and the widget re-verifies the closed form and both Gram identities at load (badge). Click an edge on the chain to see its two rows; switch the click target to $f$ to pair different edges in the dot-product readout.
Dipole fields, dummy loads, and a matrix engineers built by hand
The response row is a centered step. Solve the dipole load across edge $e$ and you get, in closed form — verified on all $33\times32$ entries to $7.6\times10^{-17}$ — $$X_{e,i} \;=\; h\,\big(x_i - \mathbf 1[x_i \ge x_e]\big),\qquad x_e = e\,h,$$ with the tail-head orientation above (flip the orientation and the row negates). Left of the edge the field climbs the ramp $h\,x_i$; crossing the edge it drops by $h$ to the descending ramp $h(x_i-1)$; at the walls it vanishes. It is exactly the difference of two adjacent Green tents: row $e$ equals (tent at $x_{e-1}$ minus tent at $x_e$)/$h$ — adjacent columns of $A^{-1}$, wall columns zero — to $1.6\times10^{-16}$. A dipole is a source next to a sink, so its field is a difference of two impulse responses; the long flat-ish flanks are what "dense row" means physically. In the $n=8$ card above, row 5 reads $\tfrac1{81}, \tfrac2{81}, \tfrac1{27}, \tfrac4{81}$, then falls to $-\tfrac4{81}, -\tfrac1{27}, -\tfrac2{81}, -\tfrac1{81}$: ramp up, drop by $h=\tfrac19$, ramp out.
The Gram of responses is Maxwell's 1864 unit-load method. Give each edge its own conductance $c_e$ (resistance $r_e = 1/c_e$) and the covariance assembles member by member: $$\big(A^{-1}\big)_{ij} \;=\; \sum_{e}\, r_e\, I_e^{(i)}\, I_e^{(j)},$$ where $I_e^{(i)}$ is the current through edge $e$ under a unit injection at node $i$ (grounded walls). Verified with random conductances $\sim U(0.5,2)$, seed 42, on all $32\times32$ entries to $3.0\times10^{-15}$. Structural engineers know this as the Maxwell–Mohr dummy-load formula, later Castigliano's theorem: to find the deflection at $i$ under a load at $j$, thread a dummy unit load through the structure at $i$ and sum $r_e I_e^{(i)} I_e^{(j)}$ member by member — engineers were assembling covariance matrices member by member before covariance had a name. Maxwell–Betti reciprocity ("load here, read there, swap, same number") is nothing but the symmetry of this Gram, and it holds to $4.4\times10^{-15}$. At $n=8$ with unit conductances every edge has $r_e = h^2 = \tfrac1{81}$, and the entry $(A^{-1})_{3,6}$ closes exactly in fractions: unit injection at node 3 drives currents $-\tfrac23$ through the three edges to its left and $+\tfrac13$ through the six to its right; injection at 6 drives $-\tfrac13$ / $+\tfrac23$; the nine products $r_e I_e^{(3)} I_e^{(6)}$ are $\tfrac2{729},\tfrac2{729},\tfrac2{729},$ $-\tfrac1{729},-\tfrac1{729},-\tfrac1{729},$ $\tfrac2{729},\tfrac2{729},\tfrac2{729}$, summing to $\tfrac9{729} = \tfrac1{81} = (A^{-1})_{3,6}$. Exactly.
The cross-Gram is Vishnoi's projection — with one honest asterisk. The remaining product of the two row families is $\Pi = X B_{\mathrm{inc}}^\top = B_{\mathrm{inc}}A^{-1}B_{\mathrm{inc}}^\top$, a $33\times33$ matrix on edge space: symmetric ($1.9\times10^{-15}$), idempotent ($2.0\times10^{-15}$), eigenvalues exactly $\{0\ (\times1),\,1\ (\times32)\}$ — an orthogonal projection of rank $n=32$, corank one. For a free graph, Vishnoi's Props 4.2–4.4 (coded in electrical_networks.wls) give $\Pi = B_{\mathrm{free}}L^{+}B_{\mathrm{free}}^\top$ — $B_{\mathrm{free}}$ the free, ungrounded incidence matrix — with $\Pi_{ee} = $ effective resistance and rank $n-1$; and for a free tree like our path, that $\Pi$ is the identity — no cycles to project out ($B_{\mathrm{full}}L_{\mathrm{full}}^{+}B_{\mathrm{full}}^\top = I_{33}$, checked to $5.1\times10^{-15}$). Our chain is grounded, and grounding changes the answer by exactly rank one: $$\Pi \;=\; I_{33} - \tfrac1{33}\,\mathbf{1}\mathbf{1}^\top\qquad\text{exactly } (1.7\times10^{-15}),$$ whose null vector is the constant current — the one loop the grounded chain owns, a uniform circulation out one wall, through ground, in the other. Equivalently: short both walls together and the 33 edges form a cycle $C_{33}$ through the ground node, and $\Pi_{ee} = c_e\,R_{\mathrm{eff}}(e)$ in that network, all 33 edges, to $2.0\times10^{-15}$. The diagonal is constant at $\tfrac{32}{33} = 0.9697$: in regression language, each edge-measurement is a datapoint and $\Pi$ is its hat matrix, so $32/33$ is the leverage score of every edge — the quantity effective-resistance sparsifiers sample by — and the diagonal sums to $32 = \mathrm{rank}\,\Pi$, Foster's theorem in grounded form.
The free-path version, gauge and all. Run the same construction on the free path $P_8$: $X_{\mathrm{free}} = B_{\mathrm{free}} L^{+} = \mathrm{pinv}(B_{\mathrm{free}}^\top)$ ($1.2\times10^{-15}$), $X_{\mathrm{free}}^\top X_{\mathrm{free}} = L^{+}$ ($2.9\times10^{-15}$), and each row is a gauge-fixed dipole field — it solves the dipole load and sums to zero, orthogonal to the constant mode ($2.3\times10^{-15}$). $\Pi_{\mathrm{free}} = I_7$ with effective resistance exactly $1$ per tree edge and Foster sum $7 = $ vertices $-\,1$. But biorthogonality now holds only modulo the gauge: $X_{\mathrm{free}}^\top B_{\mathrm{free}} = I - \tfrac18\mathbf{1}\mathbf{1}^\top$ — the centering projector, not the identity ($1.4\times10^{-15}$). Grounding is what buys the clean $X^\top B_{\mathrm{inc}} = I$ of §1; freedom costs you one direction.
Predict conditionally or predict marginally — perfectly, either way
Both factorizations are prediction machines, and report 15 (with the notebook's phiL2R/phiR2L pair in whitening_inverse_transposed.nb) worked out the perfect versions on this exact chain. They sit on opposite sides of the dual pair:
Predict each node from its left neighbor, walls known. The exact left-to-right predictor is a nonstationary AR(1) with report 15's closed-form coefficients $$\phi_i = \frac{n+1-i}{\,n+2-i\,} = \frac{\Sigma_{i,i-1}}{\Sigma_{i-1,i-1}},\qquad d_i^2 = h^2\phi_i,\qquad i = 2,\dots,n,$$ verified to $6.1\times10^{-15}$ (node 1 has no left neighbor — its predecessor is the wall's deterministic zero, so it carries no coefficient; the $d^2$ formula does extend to $i=1$: $d_1^2 = h^2\cdot\tfrac{32}{33} = \Sigma_{11}$). The coefficients start at $\phi_2 = \tfrac{31}{32}$ and fall to $\phi_{32} = \tfrac12$ at the right wall — the wall is felt, which is exactly what "nonstationary" means here. Perfect whitening rebuilds the precision: $(I-\Phi)^\top D^{-2}(I-\Phi) = A$ to $2.1\times10^{-16}$, and PCG with it converges in 1 iteration (report 12: perfect AR = exact solve).
Predict each node from both neighbors at once: the two-sided conditional-mean matrix is $$B_{\mathrm{reg}} = I - \mathrm{diag}(A)^{-1}A = \mathrm{tridiag}\big(\tfrac12,0,\tfrac12\big),$$ the half-step walk matrix ($1.1\times10^{-16}$), with $\rho(B_{\mathrm{reg}}) = \cos\frac{\pi}{33} = 0.995472$. Report 11 §2's path expansion sums walks: $$A^{-1} = \Big(\textstyle\sum_{j\ge0} B_{\mathrm{reg}}^{\,j}\Big)\,D^{-1},$$ and the measured convergence rate of the partial sums is $e^{-0.004538}$ — the fitted exponent equals $\ln\rho(B_{\mathrm{reg}})$ to the digit (long walks carry the far field). Summed to the end, it rebuilds the covariance: the perfect colorer is the exact $A^{-1}$.
Here is the flip this page exists to state. The precision factorization predicts conditionally: sparse rows, each node explained by its neighbors, and applying the model means solving (triangular substitution — cheap flops, sequential). The covariance factorization predicts marginally: dense rows, each edge's response written out in full, and applying the model means multiplying (matvecs — parallel, no solves anywhere). Perfect, the two are the same solve. The interesting preconditioners are the imperfect versions — and each family has its own natural way of being wrong: the AR side drops conditional structure, the MA side clips marginal range. §5 and §6 do one each, honestly.
The whitener family: freeze the coefficient, pay at the wall
The exact $\phi_i$ drift from $\tfrac{31}{32}$ toward $\tfrac12$ because the right wall keeps getting closer. The laziest possible approximation is to freeze the coefficient: one stationary $c$ for every node, $$M_c = (I-\Phi_c)^\top D_c^{-1} (I-\Phi_c),\qquad \Phi_c = c\cdot(\text{subdiagonal shift}),$$ applied as two unit-triangular bidiagonal solves plus a diagonal scale. The innovation variances $D_c$ must be chosen honestly, and the sweep runs both defensible choices: const-D, the single scalar $d_c^2 = h^2(1+c^2)/2$, chosen so the interior diagonal of $M_c$ matches $\mathrm{diag}(A) = 2/h^2$ (not a stationary AR(1) innovation variance — that would be $\sigma^2(1-c^2)$ — and any scalar here is provably cosmetic: $\kappa$, PCG counts, and $\rho_{\mathrm{opt}}$ are invariant under $D\to7D$, checked at $c=0.8$ to $1.2\times10^{-13}$); and matched-D, the true residual variance of the imperfect predictor on the true bridge, $D_{ii} = \Sigma_{ii} - 2c\,\Sigma_{i,i-1} + c^2\,\Sigma_{i-1,i-1}$, which is what a statistician would fit.
| c | const-D (d² = h²(1+c²)/2) | matched-D | ||||||
|---|---|---|---|---|---|---|---|---|
| λmin | λmax | κ | ρ opt | ρ plain | PCG its | κ | PCG its | |
| 0 | 0.004528 | 1.995 | 440.69 | 0.9955 | 0.9955 | 32 | 528.00 | 36 |
| 0.5 | 0.02225 | 1.25 | 56.18 | 0.9650 | 0.9778 | 21 | 57.09 | 30 |
| 0.8 | 0.1582 | 2.562 | 16.20 | 0.8837 | 1.562 | 12 | 10.88 | 15 |
| 0.9 | 0.4581 | 5.025 | 10.97 | 0.8329 | 4.025 | 9 | 9.69 | 11 |
| 0.95 | 0.784 | 9.717 | 12.39 | 0.8507 | 8.717 | 7 | 11.98 | 10 |
| 0.99 | 0.9897 | 24.34 | 24.59 | 0.9219 | 23.34 | 5 | 24.63 | 7 |
| 1 | 1 | 33 | 33.00 | 0.9412 | 32 | 2 | 33.00 | 2 |
Three things the table is saying. First, the sweet spot is high but strictly inside. On the fine grid the optimum sits at $c^\ast=0.915$ ($\kappa=10.83$, const-D) and $c^\ast=0.895$ ($\kappa=9.68$, matched-D) — a $\sim$40× improvement over Jacobi ($c=0$, $\kappa=440.7$, the raw $\kappa(A)$), from a preconditioner that stores one scalar. Second, $c=1$ — the pure random-walk prior — fails at the wall, and fails by exactly rank one. With $d^2=h^2$ the frozen whitener misses the true $A$ by a single dyad: $M_1 = A - e_n e_n^\top/h^2$, to $2.1\times10^{-13}$ — a left-to-right recursion that never learns there is a right wall. The spectrum of $M_1^{-1}A$ is $\{1\ (\times31),\ 33\}$: one bad direction. Plain Richardson, which must contract every mode, diverges ($\rho = 32$); PCG, which needs one Krylov step per outlier, shrugs it off in 2 iterations. Same preconditioner, opposite verdicts — the sharpest small example the suite owns of why Krylov wraps preconditioners. Third, the two $D$ choices barely disagree except at the silly end ($c=0$, where matched-D is Jacobi-with-variances, $\kappa=528$): the coefficient, not the variance model, is what matters.
A second imperfection flavor, same family: keep the exact nonstationary $\phi_i$ but round each coefficient to $b$ bits (matched variances). Conditioning collapses monotonically as precision grows — quantization error behaves like a small, well-spread model error, nothing like the structured wall defect:
| bits | λmin | λmax | κ | ρ opt | ρ plain | PCG its |
|---|---|---|---|---|---|---|
| 1 | 0.9697 | 12 | 12.3778 | 0.8505 | 11 | 4 |
| 2 | 0.7835 | 5.19 | 6.6240 | 0.7377 | 4.19 | 8 |
| 3 | 0.7486 | 2.393 | 3.1960 | 0.5234 | 1.393 | 9 |
| 4 | 0.7793 | 1.177 | 1.5100 | 0.2032 | 0.2207 | 8 |
| 6 | 0.9563 | 1.053 | 1.1015 | 0.0483 | 0.05335 | 6 |
| 8 | 0.9896 | 1.013 | 1.0241 | 0.0119 | 0.01336 | 5 |
This is the 1-D shadow of a move the suite makes in earnest elsewhere: incomplete Cholesky and Vecchia approximations (report 11, report 15) are exactly "keep a cheap sparse conditional model, let PCG mop up the dropped structure" — there the dropped structure is 2-D fill-in, here it is one wall.
The colorer family: approximate $A^{-1}$ itself, matvecs only
Now be wrong on the other side of the duality: build $M^{-1} \approx A^{-1}$ directly, so applying the preconditioner is a multiplication — no substitutions, no sequential chain. Two constructions, which the checks confirm are siblings in disguise:
Cut 11 §2's path expansion at walk length $k$: $$M_k^{-1} = D^{-1}\textstyle\sum_{j=0}^{k} B_{\mathrm{reg}}^{\,j}$$ (scalar $D = $ diag($A$) makes 11's two orderings equal). A polynomial preconditioner: $k$ matvecs with tridiag(½,0,½). SPD honesty: the textbook rule "truncate at even $k$ to stay definite" turns out unnecessary on this chain — $M_k^{-1}$ is SPD at every tested $k$ including odd (min eig over the grid $2.1\times10^{-6} > 0$), because eigenvalues of $M_k^{-1}A$ are $1-\mu^{k+1}$ with $|\mu| \le \rho = 0.995472 < 1$. But parity is far from irrelevant: odd $k$ caps $\lambda_{\max}$ at $1$ (even powers $\mu^{k+1}\ge0$), even $k$ lets it ride to $2$ — which is why $k=1$ beats $k=2$ in the table below.
Take the exact dual basis of §1 and clip each dipole-response row of $X$ to a window of $w$ nodes beyond its edge's endpoints: $$M_w^{-1} = X_w^\top X_w,$$ a sparse approximate inverse that is SPD by construction — a Gram matrix cannot fail you — and nonsingular even at $w=0$ (min eig $5.4\times10^{-5} > 0$, endpoints only). $w=31$ keeps every entry and recovers the exact colorer: $\kappa = 1.0$, PCG in 1 iteration. Applying $M_w^{-1}$ is two sparse matvecs, $X_w$ then $X_w^\top$.
The sibling relation is the bandwidth bookkeeping: the walk length is the range of the covariance model. $M_k^{-1}$ has bandwidth exactly $\min(k, 31)$ — a $k$-step walk reaches $k$ nodes — and $M_w^{-1}$ has bandwidth exactly $\min(2w{+}1, 31)$ — two windows of $w$ overlapping through an edge. Both families are finite-range marginal models of a process whose true marginal structure (the bridge, its explainer) has range the whole rod. The sweeps, in full:
| walks k | band | min eig M⁻¹ | λmin | λmax | κ | PCG its | flops/apply | flops/iter | flops total | span |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 4.6e-04 | 0.004528 | 1.995 | 440.69 | 32 | 64 | 636 | 20,544 | 1 |
| 1 | 1 | 2.1e-06 | 0.009036 | 0.9977 | 110.42 | 16 | 252 | 824 | 13,564 | 4 |
| 2 | 2 | 3.4e-04 | 0.01352 | 1.986 | 146.90 | 27 | 440 | 1,012 | 27,892 | 7 |
| 3 | 3 | 4.1e-06 | 0.01799 | 1 | 55.59 | 16 | 628 | 1,200 | 19,956 | 10 |
| 4 | 4 | 3.1e-04 | 0.02244 | 1.978 | 88.14 | 23 | 816 | 1,388 | 32,868 | 13 |
| 8 | 8 | 2.8e-04 | 0.04002 | 1.96 | 48.97 | 19 | 1,568 | 2,140 | 42,356 | 25 |
| 16 | 16 | 2.6e-04 | 0.07425 | 1.926 | 25.94 | 15 | 3,072 | 3,644 | 57,860 | 49 |
| 32 | 31 | 2.5e-04 | 0.1391 | 1.861 | 13.38 | 12 | 6,080 | 6,652 | 86,032 | 97 |
| 64 | 31 | 2.4e-04 | 0.2555 | 1.745 | 6.83 | 9 | 12,096 | 12,668 | 126,236 | 193 |
| window w | band | nnz Xw | min eig M⁻¹ | λmin | λmax | κ | PCG its | flops/apply | flops/iter | flops total | span |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 64 | 5.4e-05 | 0.0007706 | 3.867 | 5017.69 | 37 | 256 | 828 | 31,020 | 4 |
| 1 | 3 | 126 | 2.3e-06 | 0.004945 | 3.72 | 752.19 | 35 | 504 | 1,076 | 38,292 | 6 |
| 2 | 5 | 186 | 7.1e-06 | 0.01466 | 3.561 | 242.84 | 33 | 744 | 1,316 | 44,300 | 8 |
| 4 | 9 | 300 | 1.7e-05 | 0.05602 | 3.249 | 58.00 | 32 | 1,200 | 1,772 | 58,032 | 10 |
| 8 | 17 | 504 | 5.0e-05 | 0.1926 | 2.652 | 13.77 | 28 | 2,016 | 2,588 | 74,608 | 12 |
| 16 | 31 | 816 | 1.3e-04 | 0.4942 | 1.662 | 3.36 | 14 | 3,264 | 3,836 | 57,096 | 14 |
| 24 | 31 | 1,000 | 1.8e-04 | 0.7192 | 1.319 | 1.83 | 10 | 4,000 | 4,572 | 49,848 | 14 |
| 31 | 31 | 1,056 | 2.3e-04 | 1 | 1 | 1.00 | 1 | 4,224 | 4,796 | 9,148 | 14 |
Two honest readings before the punchline. The odd/even zigzag in the $k$-table is the parity fact from the card above, live in the numbers: $\lambda_{\max}$ alternates between $\approx1$ (odd $k$) and $\approx2$ (even $k$), so $k=1$ ($\kappa=110.4$) genuinely beats $k=2$ ($\kappa=146.9$). And comparing across families at matched $\kappa$: truncated walks at $k=32$ ($\kappa=13.4$) take 12 PCG iterations while clipped responses at $w=8$ ($\kappa=13.8$) take 28 — condition number is not destiny; the walk family's spectrum comes clustered while the clipped family's is spread (the widget shows both strips), and PCG pays for spread, not just for width.
Whiteners vs colorers, priced in report 11's flops
Both families buy iterations with structure, but they pay in different currencies. In the suite's standing convention (1 MAC = 2 flops, matvec = 2 nnz, vector op = $2N$; PCG spends $12N$ + one $A$-matvec + one $M$-apply per iteration, $4N$ + one apply on setup):
| family | approximates | one apply = | flops/apply | span/apply | flops/PCG iter | measured at | κ | PCG its | flops to 10⁻¹⁰ |
|---|---|---|---|---|---|---|---|---|---|
| AR whitener (frozen c) | A | two bidiagonal solves + diagonal scale | 316 | 63 | 888 | c = 0.9, const-D | 10.97 | 9 | 8,436* |
| MA walks, k = 8 | A⁻¹ | 8 matvecs with tridiag(½, 0, ½) | 1,568 | 25 | 2,140 | k = 8 | 48.97 | 19 | 42,356 |
| MA walks, k = 32 | A⁻¹ | 32 matvecs with tridiag(½, 0, ½) | 6,080 | 97 | 6,652 | k = 32 | 13.38 | 12 | 86,032 |
| MA clipped, w = 8 | A⁻¹ | two sparse matvecs Xw, XwT | 2,016 | 12 | 2,588 | w = 8 | 13.77 | 28 | 74,608 |
| MA clipped, w = 16 | A⁻¹ | two sparse matvecs Xw, XwT | 3,264 | 14 | 3,836 | w = 16 | 3.36 | 14 | 57,096 |
The flop column flatters the whitener: 316 flops per apply is the cheapest preconditioner on the page. The span column tells the other half — those two bidiagonal solves are a chain of 63 sequential dependencies, the full update-views lesson (its §Gauss–Seidel: "flop-cheap, depth-expensive"). The walk family's $3k{+}1$ rounds are each embarrassingly parallel; the clipped family is two sparse matvecs at essentially constant depth ($2(1+\lceil\log_2(2w{+}2)\rceil)$, never more than 14 here) — the closest thing on this page to a free lunch on a GPU, which is precisely the niche sparse-approximate-inverse methods occupy in the wild. When the machine is serial, take the AR side: best κ per flop by an order of magnitude. When the machine is wide, the MA side's matvecs win even while spending more flops.
And the honest closing note: on this chain, none of it is necessary — a tridiagonal solve is $O(n)$ and exact, and every preconditioner above is a toy next to it. The families earn their keep off the chain, in 2-D and 3-D, where exact factors fill in and the same two options reappear at scale: drop conditional structure (incomplete Cholesky, Vecchia — 11, 15) or clip marginal range (polynomial / sparse-approximate-inverse — this page's $k$ and $w$), with 14's separators explaining why the second is hard and hierarchy is the way out.
Where the suite has already met these two bases
As stiffness and precision — report 09 §4: $A = D^\top D$ is the same Gram-of-measurements statement in difference-operator clothing; this page's $B_{\mathrm{inc}}$ is that $D$ with Vishnoi's signs and the walls made explicit.
As tents — the green-tents explainer: columns of $A^{-1}$ are impulse responses; this page's response rows are their first differences, dipole fields, and the two pages share the identity row$_e$ = (tent$_{e-1}$ − tent$_e$)/$h$.
As regression — report 11 §2: the walk expansion truncated here at $k$ is the same series that report ran to convergence; the leverage $32/33$ is the hat-matrix diagonal of the edge-datapoint regression.
As prediction — report 12 and report 15: perfect AR = exact solve; §5 is what happens to 15's closed-form $\phi_i$ under the cheapest possible lobotomy.
As separators — report 14: the inverse's off-diagonal blocks are low-rank, not zero; §6's $w^{-1.98}$ law is the price of pretending otherwise.
As spectra — update views (the SPD-vs-sweep dichotomy and the span lesson priced in §7) and the probabilistic-CG explainer (what conditioning means to CG, and why the $c=1$ spectrum $\{1\times31,\,33\}$ costs two iterations, not thirty).