The residual knew the error
Worth reading first: An equation whose unknown is a matrix · The exact answer to a nearby problem · Orthogonal is a number.
A backward error the answer does not feel built Sylvester equations on purpose to separate two numbers that a linear system keeps together. With symmetric with eigenvalues one to eight, and commuting with — so that exactly — it swept the conditioning of from 1 to and the size of from half of down to . Both routes to the answer, Bartels and Stewart’s Schur reduction and the Kronecker system, left residuals at the rounding level everywhere. The structured backward error — the smallest perturbation of , and , each measured against its own size, that makes the computed exact — did not: it climbed by a factor of 26,000 across the sweep at the smallest . And the forward error against the exact did not move at all.
The essay’s explanation was that “a forward error is bounded by a condition number times a backward error, and the condition number that goes with these structured perturbations falls as fast as the backward error rises”. It asked for that condition number. “The prediction is that the structured condition number for perturbations of , and measured relative to their own norms, computed exactly at this order, falls by at least ten thousand across the sweep at , and that its product with the backward error is within a factor of ten of the measured forward error on every equation.”
It is computed here, and it does the opposite. And the number that does track the error turns out to be the one the earlier essay set aside in the first paragraph: the residual.
The condition number of an equation in three matrices
Perturb , and by , and and the answer moves by with, to first order, . Written with the Kronecker matrix that an equation whose unknown is a matrix introduced, that is , where stacks the three perturbations divided by the norms , and of , and , and . That is the same matrix whose minimum-norm solve defined the backward error, which is why the two belong together: the backward error is the smallest with equal to the residual, and the structured condition number is the largest per unit of , the norm of over the size of .
At order eight is a 64 × 192 matrix and its norm can be computed directly: 192 solves with , then the largest singular value. It is computed here from the exact on every equation of the family, three bases each, and set beside the backward errors and forward errors the earlier essay measured, for both routes.
That is affordable only because the order is small. The elimination the matrix does not need priced the Kronecker matrix of order and found the structure that lets Bartels and Stewart avoid ever forming it; the structured condition number has no such shortcut, since it is the norm of applied to three blocks, one of them wide, and at order eight that is 192 solves with a 64 × 64 matrix. At order a hundred it would be thirty thousand solves with a matrix of order ten thousand. A number that expensive has to earn its place, and the question here is whether it does.
It rises
At the structured condition number is when is perfectly conditioned and when . It does not fall; it rises, by a factor of 2.8. The same factor appears at every size of : 13.7 to 38.6 at , 714 to 2,013 at , to at . Almost all of the change happens between and , and from there it is flat. Over the same sweep the backward error goes from to , so the two curves in the figure run in opposite directions where the prediction needed them to run in parallel and opposite.
The size of the number is no mystery once it is computed. Each level of sets it at about : with and near 14.3 each and equal to for this family — the smallest is , at — that is at , and the structured number sits a factor of 1.4 below it at the ill-conditioned end. Perturbing by a relative changes by about , and the inverse of the Kronecker matrix multiplies that by up to . That direction is always available. The structured condition number is a supremum over all perturbations of a given size, and the supremum is reached by perturbing or along the direction amplifies most, which has nothing to do with how is conditioned.
So the product is a bound, and a loose one
The product of the backward error and the structured condition number is a valid first-order bound on every solve: never below the error, its smallest ratio 1.13. But it is a bound whose slack grows with exactly the quantity the family turns up. At it is within a factor of six for Bartels and Stewart and of 57 for the Kronecker system. At its median over the three bases is 1.2 times the error at , 10.5 at , 512 at , at and at for Bartels and Stewart; for the Kronecker system at the far end. The worst single solves overstate by and . The prediction asked for a factor of ten.
The two numbers in the product describe different directions. The backward error is the size of the most economical perturbation, and the earlier essay found where that perturbation lands: almost entirely on , along the directions where is small, because and both pass through and cannot reach there cheaply. The condition number is the response to the least economical perturbation of the same size, a change in along the direction amplifies most. Multiplying them supposes that the cheapest perturbation is also the most damaging one. Here it is close to the least damaging, and the product is wrong by the ratio between the two directions’ effects — six decades at the corner of the family.
The residual’s estimate
The other estimate needs nothing structured at all. The forward error is applied to the residual: exactly, with , by linearity, whatever perturbation of the data anybody imagines produced . So is at most , and dividing by and writing the residual relative to its own scale gives the relative residual times — the unstructured condition number, which for this family is 55.6, 2,860, and at the four sizes of and does not depend on ’s conditioning at all.
That estimate is within a factor of 0.96 to 9.65 of the forward error on all 120 solves. At with Bartels and Stewart it is 1.2, 2.9, 3.4, 3.9 and 4.2 times the error across the sweep, and 3.0 to 4.4 for the Kronecker system. Drag the dial up through the sizes of and the three curves of the figure behave the same way at every level: the forward error and the residual’s estimate run together, flat across , and the backward error’s estimate leaves them as grows ill conditioned, by more the smaller is. At all three of Bartels and Stewart’s lie within a factor of six.
Plotted directly, error against estimate, the 120 solves make one band seven decades long. The errors run from at to at , each size of a cluster two decades further along, and every cluster sits between equality and ten times it. The conditioning of , which moved the backward error’s estimate by six decades, moves points only within their cluster. That is what an estimate is for: a reader handed only the residual and , knowing nothing about how was built or which route computed it, could place the error within a decade on every one of these equations.
Bracketing an error nobody can measure put two computable numbers either side of an error that could not be computed directly, and asked how far apart they had to be. Here the error can be computed — the family has an exact — and the residual’s estimate sits above it by a factor between one and ten on every solve, which is as tight a single computable number as a reader could ask for. The structured product sits above it too, always, and is useless for the same purpose, because a bound that can be a million times too large says nothing about the error it bounds.
It is not quite a bound, since the residual’s own size is rounded and the inverse’s action is not always at its worst, and the lowest of the 120 sits at 0.96. But it is an estimate in the sense the prediction wanted: it says what the error is, to within a factor of ten, on every equation of a family built to make the backward error say something else.
The smaller residual, the worse estimate
The two routes rank differently, and the earlier essay found the reason. The Kronecker system’s residual is about four times smaller than Bartels and Stewart’s, and its backward error is larger wherever and is small, because more of its residual lies where only can reach. The backward error’s estimate therefore does worse on the route with the smaller residual — times the error against at the far corner — while the residual’s estimate ranks them correctly: the Kronecker system’s forward error is smaller, and so is its residual. A reader choosing between the two routes by their backward errors would choose the less accurate one at every from up; choosing by their residuals they would choose the more accurate one everywhere.
What the earlier explanation got right
The earlier essay’s account of why the forward error did not move was half right. It said that the backward error’s perturbation “lies on along the directions where is small, and moving in those directions moves the answer only in those directions, where it is small to begin with”. That is a statement about a direction, and it is true. What does not follow is that a condition number captures it, because a normwise condition number is a supremum over directions and cannot know which direction a particular backward perturbation took. A condition number that did know would be a function of the residual — it would have to be told where the perturbation lies — and at that point it is simpler to apply to the residual and skip the backward error altogether.
A condition number sent to infinity met the same shape in an interior-point method: a matrix driven deliberately toward singularity, a normwise condition number heading off without limit, and an answer that kept its digits because the errors the factorisation made lay in directions the answer was not sensitive to. The normwise number there was a supremum over directions the computation never visited. The structured condition number here is the same kind of object, and the only cure in both places is to look at the direction the error actually took — which, for a linear equation, is what applying the inverse to the residual does.
A small residual is not a small error is the site’s warning against reading a residual as an answer’s accuracy, and it stands: the residual here is relative and the error , seven decades apart, because the residual has to be multiplied by a condition number of . What this family adds is that the multiplication is honest. The residual, times the one condition number that does not depend on anything but and , is the error to within a factor of ten. It is the backward error, the quantity that is supposed to be the more meaningful one, that needs a second number to translate it, and that second number is wrong by up to six decades.
When the backward error is still the right question
None of this makes the structured backward error a bad measure. It answers a question about the data, not the answer: whether the computed is the exact solution of an equation whose coefficients are within their own uncertainty of the given ones. If , and come from measurement, that is the question that decides whether the computation added anything to what the data already allowed, and the exact answer to a nearby problem is the long argument for asking it. On this family it says that Bartels and Stewart’s needs a perturbation of — far more than rounding — to be exact, and that is true and worth knowing about the algorithm.
Cost points the same way. The residual’s estimate needs the residual, which costs two matrix products, and , the smallest singular value of the Kronecker matrix, which is itself expensive to compute exactly and is in practice estimated from the Schur forms both routes already have. The structured product needs the backward error — a minimum-norm solve with an matrix — and the structured condition number on top. The cheaper number is the better one.
What it does not do is predict the error, and the measurement shows the gap is not a constant to be calibrated but a function of the problem: a factor of one on a well-conditioned and of millions on a badly conditioned one with a small right-hand side. A condition number scaling cannot move found Skeel’s componentwise number smaller than the normwise one by an amount that depends on the matrix in the same way; there the smaller number was the one that told the truth, and the same is true here of the residual’s estimate against the structured product.
What eight-by-eight equations do not show
One family, built so that commutes with and is exactly . In a family where does not commute — the earlier essay’s other open prediction, still untested — the backward error’s perturbation need not lie so cleanly on , and the product could be much closer to the error; the residual’s estimate does not depend on that. Order eight only, which makes small enough to form; at realistic orders the structured condition number is estimated rather than computed, and an estimate of a supremum can only be looser. And the forward errors are measured against an that is exact by construction, which a real application does not have.
Still open: a family that does not commute, and a residual for the Schur route
Not commuting. The earlier essay’s prediction for a non-commuting still stands: with replaced by a random matrix of the same singular values, the backward error over the residual at and falls below a thousand on both routes. This essay adds a prediction with a sign about the estimates: there the structured product overstates the forward error by less than a hundred on every equation, while the residual’s estimate stays within ten — so that the gap measured here is a property of the commuting family’s geometry, not of structured estimates in general.
A residual for the Schur route that costs nothing. Bartels and Stewart solve a triangular equation in the Schur bases, and its residual there is available without forming . The prediction is that that residual, rotated back, is within a factor of two of the true residual on every equation here, so that the residual’s estimate of the error can be had for the price of the solve itself.
Shares its objects with
Essays that name at least two of the same things, and that neither author linked.
- An accuracy that is a backward error — both name backward error, condition number, forward error, residual, structured perturbation
- The fifth author — both name backward error, condition number, forward error, residual
- The gap refinement can close — both name backward error, condition number, forward error, residual
- The number that cannot rank them — both name backward error, condition number, forward error, structured perturbation
- The problem the solver was actually given — both name backward error, condition number, forward error, residual
- Three errors and one number — both name backward error, condition number, forward error, residual
Named objects
A flat tag is an object no other essay names yet.
Backward errorCondition numberForward errorKronecker productMatrix equationResidualStructured perturbation