Structure, and the solver that cannot see it

Where one step stops being enough

One step of iterative refinement took the squared Laplacian's circulant-wrap solve to elimination's accuracy at every size, and the account was that each step multiplies the error by the wrap's condition number times the rounding, so one step suffices while that product is small. Raised to higher powers, the band tests the account and half of it holds: each step does contract by about κ(wrap)·u. The other half fails. The fifth power at sixteen points needs three steps with κ(wrap)·u near 10⁻⁶, where the third power at 128 points needs one with thirty times more, because the first solve starts up to a thousand times further from the answer than κ(wrap)·u says.

Worth reading first: The matrix that is one row · Two near-zeros cost less than one · Where the format starts paying · Buying the accuracy back.

A zero no twist can step around solved the squared Laplacian — the pentadiagonal band [1,−4,6+s,−4,1][1, -4, 6 + s, -4, 1], whose symbol (2+s−2cos⁡θ)2(2 + s - 2\cos\theta)^2 has a zero of fourth order — through a circulant that matches it except in its corners, corrected for the corners by a rank-four Woodbury update, and found the fast route 18 to 34 times less accurate than elimination. The wrap’s samples cannot stay further than π/n\pi/n from the symbol’s zero, whatever twist is applied to them, so the wrap is as badly conditioned as the band itself and its condition number grows as n4n^4.

One step past the zero repaired that with one step of iterative refinement — form the residual with the band, solve for a correction by the same fast route, add it — and found the refined route within 0.59 to 1.40 times elimination’s error at every size from 16 to 128, with further steps going no lower. Its account: if the fast solve is backward stable to about κ(wrap) u\kappa(\text{wrap})\,u, each step multiplies the error by about that, and one step suffices while the product is well below one. Its prediction, left open: a zero of higher order raises κ(wrap)\kappa(\text{wrap}) faster — as n2pn^{2p} for the pp-th power of the Laplacian’s symbol — so higher powers reach the boundary at sizes that can be measured, and there one step should stop being enough.

Five powers of one symbol

The bands measured are the Toeplitz matrices whose symbols are (2+s−2cos⁡θ)p(2 + s - 2\cos\theta)^p for pp from 2 to 6 with s=10−8s = 10^{-8}: bandwidth pp, the coefficients of (2+s−z−z−1)p(2 + s - z - z^{-1})^p, the second power being the earlier essays’ pentadiagonal band. Each is solved at sizes 16, 32, 64 and 128 through its circulant wrap twisted by half a step, which keeps every sample of the symbol off the zero at θ=0\theta = 0, with the wrap’s 2p2p corner rows removed by a Woodbury correction of rank 2p2p — a small dense capacitance system, solved by complex elimination with pivoting, as the correction lost to its own two-by-two solve found it must be. The corrected solution is then refined six times, each step’s residual formed with the band itself. Five known answers are drawn at each size and the medians reported; elimination with partial pivoting on the same band is the reference.

The wrap’s condition number follows from its samples, (2+s−2cos⁡θk)p(2 + s - 2\cos\theta_k)^p at θk=(2πk+π)/n\theta_k = (2\pi k + \pi)/n: the smallest is near (π/n)2p(\pi/n)^{2p}, the largest 4p4^p, so κ(wrap) u\kappa(\text{wrap})\,u grows by 2p2p decades for each decade of nn — from 1.2⋅10−121.2\cdot 10^{-12} to 4.9⋅10−94.9\cdot 10^{-9} across the sizes at the second power, and from 1.3⋅10−41.3\cdot 10^{-4} to 9.5⋅1069.5\cdot 10^{6} at the sixth.

The grid of steps

Refinement steps the corrected circulant-wrap solve needs to come within twice elimination's error, for powers two to six of the shifted Laplacian's band and sizes 16 to 128power 2: 1 at 16, 1 at 32, 1 at 64, 1 at 128; power 3: 1 at 16, 1 at 32, 1 at 64, 1 at 128; power 4: 1 at 16, 1 at 32, 2 at 64, refused at 128; power 5: 3 at 16, 3 at 32, refused at 64, refused at 128; power 6: 3 at 16, refused at 32, refused at 64, refused at 128. Each cell also gives the wrap's condition number times the unit roundoff; the route is refused where that condition number passes ten to the fifteenth.size n163264128(L + s)²1 stepκu 1.2·10⁻¹²1 stepκu 1.9·10⁻¹¹1 stepκu 3.1·10⁻¹⁰1 stepκu 4.9·10⁻⁹(L + s)³1 stepκu 1.2·10⁻¹⁰1 stepκu 7.9·10⁻⁹1 stepκu 5.1·10⁻⁷1 stepκu 3.2·10⁻⁵(L + s)⁴1 stepκu 1.3·10⁻⁸1 stepκu 3.3·10⁻⁶2 stepsκu 8.4·10⁻⁴no first solveκu 2.2·10⁻¹(L + s)⁵3 stepsκu 1.3·10⁻⁶3 stepsκu 1.4·10⁻³no first solveκu 1.4·10⁰no first solveκu 1.4·10³(L + s)⁶3 stepsκu 1.3·10⁻⁴no first solveκu 5.6·10⁻¹no first solveκu 2.3·10³no first solveκu 9.5·10⁶κu: the wrap's condition number times the unit roundoffsteps are not a function of κu
Fig. 1 For each power and size, the refinement steps the corrected wrap solve needs to come within twice elimination’s error, with the wrap’s condition number times the unit roundoff.

At the second and third powers one step suffices at every size, as the earlier essay found for the second. At the fourth power one step suffices at 16 and 32 points and two are needed at 64. At the fifth power three steps are needed at 16 and 32 points; at the sixth, three at 16. Beyond those, the route has no first solve at all: at the fourth power and 128 points, the fifth at 64 and the sixth at 32, the wrap’s condition number has passed 101510^{15}, the fast solver refuses a circulant that singular, and only elimination still returns an answer — with errors of 10−510^{-5}, 3⋅10−63\cdot 10^{-6} and 8⋅10−88\cdot 10^{-8}, poor but not nothing.

So the boundary the earlier essay predicted is there, and it arrives about where the argument placed it: the route stops once κ(wrap) u\kappa(\text{wrap})\,u reaches about a tenth, and the sizes at which that happens fall from beyond anything measured at the third power to 128 points at the fourth, 64 at the fifth and 32 at the sixth. The rule that one step suffices while the product is small is another matter. Read the grid by its κu values and it contradicts itself: the fifth power at sixteen points, with κu=1.3⋅10−6\kappa u = 1.3\cdot 10^{-6}, needs three steps, and the third power at 128 points, with κu=3.2⋅10−5\kappa u = 3.2\cdot 10^{-5} — twenty-five times larger — needs one.

A contraction and a starting point

The corrected wrap solve's error through six refinement steps, for the fifth power of the shifted Laplacian's bandn = 16: 1.6e-4, 1.2e-10, 8.9e-11, 6.8e-11, 6.0e-11, 4.9e-11, 1.7e-11 against elimination's 4.1e-11; n = 32: 1.7e+0, 9.5e-4, 7.7e-7, 1.2e-8, 1.7e-8, 1.6e-8, 1.8e-8 against elimination's 1.0e-8. At 64 and 128 points the wrap is singular to working precision and there is no first solve.012345610⁻¹¹10⁻⁹10⁻⁷10⁻⁵10⁻³10⁻¹refinement steprelative errorn = 16n = 32dashed: elimination at each sizeeach step divides by about 1/κu
Fig. 2 The corrected wrap solve’s error through six refinement steps at each size that has a first solve, for one power; dashed lines are elimination’s error at each size. The dial sets the power.

The error curves separate the two halves of the account. At the fifth power and sixteen points the first solve’s error is 1.6⋅10−41.6\cdot 10^{-4}; one step takes it to 1.2⋅10−101.2\cdot 10^{-10}, a factor of 7.5⋅10−77.5\cdot 10^{-7} — about half of κ(wrap) u\kappa(\text{wrap})\,u — and it then sits a little above elimination’s 4.1⋅10−114.1\cdot 10^{-11}, reaching twice that on the third step. At thirty-two points the first solve’s error is 1.7 — no digits at all — and the steps divide it by about 10−310^{-3} each, as κu says they should: 9.5⋅10−49.5\cdot 10^{-4}, then 7.7⋅10−77.7\cdot 10^{-7}, then 1.2⋅10−81.2\cdot 10^{-8}, elimination’s level.

What one refinement step multiplies the error by, as a fraction of κ(wrap)·u, wherever the step does not already reach elimination's floorpower 4, n = 64: 0.08 of κ(wrap)u; power 5, n = 32: 0.41 of κ(wrap)u; power 6, n = 16: 0.15 of κ(wrap)u.10⁻⁸10⁻⁷10⁻⁶10⁻⁵10⁻⁴10⁻³10⁻²κ(wrap) · ustep's factor ÷ κ(wrap)u10.10.3power 2power 3power 4power 5power 6one step, one factor of about κuthe contraction is the account's; the start is not
Fig. 3 Wherever one step does not already reach elimination’s floor, the factor it multiplies the error by, as a fraction of κ(wrap)·u.

That half of the account holds everywhere it can be tested. Where a single step does not land on elimination’s floor — at the fourth power and 64 points, the fifth at 32, the sixth at 16 — it multiplies the error by 0.08, 0.41 and 0.15 of κ(wrap) u\kappa(\text{wrap})\,u. A step is a solve by the same route, the route is backward stable to about κ(wrap) u\kappa(\text{wrap})\,u, and the correction it computes is accurate to that fraction of itself. The earlier essay’s mechanism for the contraction is right.

What it assumed without measuring was the starting point. The number of steps is how many contractions of size κu\kappa u it takes to go from the first solve’s error to elimination’s, and one step is enough only if the first solve’s error times κu\kappa u is already below elimination’s error. The earlier essay found the first error at a tenth to three tenths of κ(wrap) u\kappa(\text{wrap})\,u on the second power, which made the first solve’s error and the contraction the same number and hid the difference between them.

The arithmetic can be checked on the cell the rule got most wrong in the other direction. The third power at 128 points has κu=3.2⋅10−5\kappa u = 3.2\cdot 10^{-5} and a first error of 3.6⋅10−43.6\cdot 10^{-4}, eleven times κu\kappa u and three and a half digits. One contraction by about κu\kappa u takes that to about 10−810^{-8}, and elimination’s own error on that band is 3.2⋅10−83.2\cdot 10^{-8} — so one step lands on the floor, and it does: 4.3⋅10−84.3\cdot 10^{-8} after the step. A larger κu\kappa u than the fifth power’s sixteen-point cell, a smaller first error relative to the target, and one step instead of three. The count is a ratio of logarithms — of the distance from the first error to the target, over the contraction per step — and κu\kappa u is only its denominator.

The first solve departs from κu

The first corrected solve's error as a multiple of κ(wrap)·u, against κ(wrap)·u, for every power and size that has a first solvepower 2: 0.16 at n = 16, 0.35 at n = 32, 0.19 at n = 64, 0.28 at n = 128; power 3: 2 at n = 16, 3 at n = 32, 6 at n = 64, 11 at n = 128; power 4: 10 at n = 16, 101 at n = 32, 219 at n = 64; power 5: 127 at n = 16, 1246 at n = 32; power 6: 564 at n = 16.10⁻¹²10⁻¹⁰10⁻⁸10⁻⁶10⁻⁴10⁻²10⁻¹110¹10²10³κ(wrap) · ufirst error ÷ κ(wrap)upower 2power 3power 4power 5power 6on the line: the first error is κ(wrap)uthe higher the power, the further above it
Fig. 4 The first corrected solve’s error divided by κ(wrap)·u, against κ(wrap)·u, for every power and size that has a first solve.

The first solve’s error is not κ(wrap) u\kappa(\text{wrap})\,u at higher powers, and it departs from it more the higher the power and the larger the size. At the second power it is 0.16 to 0.35 of κu\kappa u — the earlier finding. At the third, 2 to 11 times κu\kappa u. At the fourth, 10, 101 and 219 times. At the fifth, 127 and 1,246 times; at the sixth, 564 times at sixteen points. The departure is what the grid’s apparent contradiction is made of: the fifth power at sixteen points starts 127 times above its κu\kappa u, three steps’ worth of distance at a contraction of 10−610^{-6} each once elimination’s own floor is taken into account, while the third power at 128 points starts eleven times above a larger κu\kappa u and one contraction covers it.

Where the departure comes from is the Woodbury correction, which is where the higher powers differ from the second in kind and not only in degree. The correction’s rank is twice the bandwidth — four for the second power, twelve for the sixth — and the wrap’s intermediate solution, before the correction removes the corners’ effect, is larger than the answer by a factor that grows steeply with the power: the median ratio is 72 to 1.1⋅1051.1\cdot 10^5 at the second power across the sizes and 1.5⋅10101.5\cdot 10^{10} at the sixth power’s sixteen points. The correction subtracts two large vectors to leave a small one, and the rounding of the large ones is what the first error carries. The error measured is far below what that cancellation would permit in the worst case — the rounding of the large vectors mostly lies in directions the correction removes along with them — so the ratio bounds the departure without predicting it; a measure of the departure itself is left open.

Where the route stops

The wrap's condition number times the unit roundoff against the size, for each power, with the level at which the route has no first solvepower 2: 1.2e-12, 1.9e-11, 3.1e-10, 4.9e-9; power 3: 1.2e-10, 7.9e-9, 5.1e-7, 3.2e-5; power 4: 1.3e-8, 3.3e-6, 8.4e-4, 2.2e-1; power 5: 1.3e-6, 1.4e-3, 1.4e+0, 1.4e+3; power 6: 1.3e-4, 5.6e-1, 2.3e+3, 9.5e+6 at n = 16, 32, 64, 128. The wrap's solver refuses a circulant whose condition number passes ten to the fifteenth, a κu of about 0.1.10²10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹10²10⁵size nκ(wrap) · u163264128no first solve abovepower 2power 3power 4power 5power 6slope: twice the power, in decades per decade of neach power reaches the line sooner
Fig. 5 The wrap’s condition number times the unit roundoff against the size, for each power, with the level past which the circulant is singular to working precision.

The boundary itself is the part of the prediction that holds cleanly. The product κ(wrap) u\kappa(\text{wrap})\,u rises by 2p2p decades per decade of nn — the slopes of the lines are 4, 6, 8, 10 and 12 — and the route has no first solve once it passes a tenth, the level at which the circulant’s own eigenvalue solve refuses. The second power never approaches it at these sizes and would not before nn in the tens of thousands; the sixth crosses it between sixteen and thirty-two points.

The refinement never helps near the boundary either, even where a first solve exists: at the fourth power and 64 points κu\kappa u is 8.4⋅10−48.4\cdot 10^{-4}, each step buys three decades, and two steps are needed only because the first solve started at 0.18, with barely one correct digit. At that point elimination’s own error is 3.6⋅10−83.6\cdot 10^{-8} and the fast route reaches it — refinement recovered six decades the first solve had lost — but a route that needs two full solves plus two residuals to match one elimination has lost the reason it was faster.

The arithmetic of refinement with an inexact solver

None of this is peculiar to circulants. Refinement with a solver that is accurate only to some level ε — a factorisation in lower precision, an approximate preconditioner, a fast transform with a correction — contracts the error by about κ ε\kappa\,\varepsilon per step, where κ is the condition number the solver’s own backward error is amplified by, and the number of steps is the number of such contractions between the first solve’s error and the target. The part of a solver that may be rounded measured the mixed-precision version: a preconditioner computed with a three-bit significand still reached thirteen digits, at the cost of extra iterations, because the contraction per step was small enough even with so crude a solver. The standard theory of that version takes the first solve’s error to be about κ ε\kappa\,\varepsilon as well, and then the steps needed are set by κ ε\kappa\,\varepsilon alone.

The measurement here is a case where that last assumption fails. The fast route’s contraction is governed by the wrap, but its first error is governed by something else — the correction’s cancellation — and the two separate as the power grows. Doing it twice found a second pass of Cholesky QR repairing a first pass whose error was far larger than the second’s contraction would suggest; it is the same division between what a step contracts by and where the steps start, seen from the repair’s side. A rule for the number of steps that reads only the contraction will undercount whenever the starting error has a source of its own.

What the account should say

The rule the earlier essay gave was one number: one step suffices while κ(wrap) u\kappa(\text{wrap})\,u is small. The measurement replaces it with two.

The contraction per step is about a tenth to a half of κ(wrap) u\kappa(\text{wrap})\,u, as the account said, and this is what makes refinement converge at all; near κu≈0.1\kappa u \approx 0.1 it stops being a contraction worth having and the route stops.

The first solve’s error is its own quantity, a tenth of κu\kappa u at the second power and up to a thousand times κu\kappa u at the fifth, set by the correction’s cancellation rather than by the wrap alone. The steps needed are the number of contractions between that error and elimination’s, and nothing about κu\kappa u by itself predicts them.

The practical reading follows directly: measure the first solve’s residual, not the wrap’s condition number. The residual of the first solve against the band is computable at the cost of one band multiplication, and together with the contraction factor it says how many steps the route will need before any of them is taken. The matrix that is one row solved a circulant in one transform with nothing to correct; at the sixth power the same transform needs a rank-twelve correction and three refinement steps, and the arithmetic that was the reason to use it has been spent.

What the steps cost

The route’s appeal is its cost: a band of width pp solved by elimination costs about np2np^2 operations, the twisted circulant by two transforms of nlog⁡nn \log n, and the correction adds 2p2p further wrap solves — one per corner row — and a capacitance system of order 2p2p. Those 2p2p solves do not depend on the right-hand side and can be kept for every refinement step, so a step costs one band multiplication, one wrap solve and a small dense solve. At the second power the whole refined route is one solve plus one step; at the sixth it is twelve kept solves, the first solve and three steps, against an elimination whose cost grows only as p2p^2. The circulant the problem did not contain priced the tridiagonal case as a transform and a two-by-two correction and found the cost claim exact; at higher powers the claim survives in its asymptotic form and loses its constant.

What five bands do not show

Five powers of one symbol, four sizes, one twist, one shift. The powers of the Laplacian’s symbol have one zero, at θ=0\theta = 0; a band whose symbol has zeros at several frequencies would put several samples near zeros at once, which two near-zeros cost less than one found could help as well as hurt. The criterion “within twice elimination” is a choice, and at the fifth power and sixteen points the first three steps land at 2.8, 2.2 and 1.7 times elimination, so a criterion of three times would count one step there. The departure of the first error from κu\kappa u is measured and bounded, not derived. Every number is the median of five known answers drawn at each size; the draws do not agree exactly, so a single cell’s step count could move by one with a different set of answers, while the grid’s pattern — one step at low powers, three at high ones, no route past the boundary — does not.

Still open: predicting the first error, and splitting the power

A measure of the first error. The first solve’s error departs from κ(wrap) u\kappa(\text{wrap})\,u by up to a thousandfold, below what the correction’s cancellation permits. The prediction with a sign is that the departure is the condition number of the rank-2p2p capacitance matrix times uu, which grows with the power for the same reason the wrap’s does; it is one extra number per solve to compute and compare.

Splitting the power. The pp-th power’s band is nearly the product of pp tridiagonal Laplacians, each of which the twisted route solves to within a few times elimination with a rank-two correction. Solving the product as pp successive fast solves, with the boundary rows corrected at the end, compounds pp small errors instead of inheriting a zero of order 2p2p; whether that stays within one refinement step at the sixth power and 128 points, where the single wrap has no first solve, is the direct comparison.

A shift that grows with the size. Every band here is shifted by 10−810^{-8}, so the symbol’s minimum is set by the samples’ distance from zero. A shift of order (π/n)2(\pi/n)^2 — what a discretised operator with a physical length scale would carry — would hold κ(wrap)\kappa(\text{wrap}) constant as nn grows, and should hold the steps needed constant with it.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A flat tag is an object no other essay names yet.

Capacitance matrixCirculant matrixIterative refinementSymbolToeplitz matrixTwisted circulantWoodbury identity