Structure, and the solver that cannot see it

A backward error the answer does not feel

Both ways of solving AX + XB = C leave a residual at the rounding level, and for a linear system that would be backward stability. For the equation it is not: the smallest perturbation of A, B and C that makes the computed X exact can be far larger. On a family built to make it so — X increasingly ill conditioned, C increasingly small beside AX — the structured backward error of Bartels and Stewart's solution climbs to 2.1·10⁵ times its residual, and the Kronecker system's, whose residual is four times smaller, to 2.0·10⁶, within the bound Higham's μ sets. And the error of the answer does not move. Against the exact X it stays where the size of C puts it, 6·10⁻¹⁵ to 1·10⁻⁹, across eight decades of κ(X). The perturbation that makes the backward error large has to sit on C, along directions X is insensitive to, and so the backward error rises and the answer never feels it.

Worth reading first: An equation whose unknown is a matrix · The exact answer to a nearby problem · Orthogonal is a number.

An equation whose unknown is a matrix solved AX+XB=CAX + XB = C two ways, by Bartels and Stewart’s reduction of AA and BB to Schur form and by the n2×n2n^2 \times n^2 Kronecker system that writes the equation as one linear system, and found the two agreeing. The elimination the matrix does not need found that the Kronecker form, after the same reduction, has nothing left to eliminate. Both essays measured the routes against each other and against sep, the equation’s conditioning. Neither asked what the residual both routes leave at the rounding level actually guarantees.

For a linear system it guarantees a great deal. A small relative residual means the computed answer is the exact answer of a nearby system, which is backward stability, and the error is then at most the condition number times the residual. For a matrix equation “nearby” means something narrower: nearby AA, BB and CC, three matrices perturbed separately, and an n2×n2n^2 \times n^2 perturbation of the Kronecker matrix is mostly not of that form. Higham worked out what the gap can be. The smallest perturbation of AA, BB and CC that makes a computed X^\hat X exact can be larger than the relative residual by a factor

μ=(α+β)∥X^∥2+γ(α2+β2) σmin⁡(X^)2+γ2,\mu = \frac{(\alpha + \beta)\lVert \hat X\rVert_2 + \gamma}{\sqrt{(\alpha^2 + \beta^2)\,\sigma_{\min}(\hat X)^2 + \gamma^2}} ,

with α,β,γ\alpha, \beta, \gamma the norms of A,B,CA, B, C, which is large exactly when X^\hat X is ill conditioned and CC is small beside (α+β)∥X^∥(\alpha + \beta)\lVert \hat X\rVert. This essay builds equations where both happen and measures three things: the residual, the backward error, and the error in the answer.

A family that cancels on purpose

The equations are of order 8. AA is symmetric with eigenvalues 1 to 8 in a random orthogonal basis QQ; B=−A+δIB = -A + \delta I; and the exact solution is X=Q diag(x) QTX = Q\,\mathrm{diag}(x)\,Q^{\mathsf T}, which commutes with AA, with xix_i spaced geometrically so that κ(X)\kappa(X) is 10t10^t for tt from 0 to 8. Then AX+XB=δXAX + XB = \delta X exactly, so C=δXC = \delta X is as small beside AXAX as δ\delta makes it: half of it, or 10−210^{-2}, 10−410^{-4}, 10−610^{-6}. The equation’s sep is δ\delta itself, since λi(A)+μi(B)=δ\lambda_i(A) + \mu_i(B) = \delta for every ii, so δ\delta also sets how sensitive the answer is. Each equation is solved by both routes, on three random bases, and the medians are reported.

The structured backward error is computed exactly. The perturbations ΔA,ΔB,ΔC\Delta A, \Delta B, \Delta C satisfy one linear constraint, ΔA X^+X^ ΔB−ΔC=C−AX^−X^B\Delta A\,\hat X + \hat X\,\Delta B - \Delta C = C - A\hat X - \hat X B, and the smallest of them, measured as ∥[ΔA/α, ΔB/β, ΔC/γ]∥F\lVert[\Delta A/\alpha,\ \Delta B/\beta,\ \Delta C/\gamma]\rVert_F, is the minimum-norm solution of that constraint in vectorised form — a 64-row system at this order, which is small enough to solve outright.

The residual says stable

AX + XB = C with C = 10⁻⁶ X: the relative residual and the structured backward error of Bartels and Stewart's solution and of the Kronecker system's, against κ(X)Bartels–Stewart, residual: κ 10^0 3.7·10⁻¹⁶, κ 10^2 2.54·10⁻¹⁶, κ 10^4 2.15·10⁻¹⁶, κ 10^6 2.01·10⁻¹⁶, κ 10^8 1.82·10⁻¹⁶; Bartels–Stewart, backward error: κ 10^0 1.48·10⁻¹⁵, κ 10^2 1.53·10⁻¹⁵, κ 10^4 4.75·10⁻¹⁴, κ 10^6 2.33·10⁻¹², κ 10^8 3.86·10⁻¹¹; Kronecker, residual: κ 10^0 5.28·10⁻¹⁷, κ 10^2 4.68·10⁻¹⁷, κ 10^4 4.44·10⁻¹⁷, κ 10^6 5.39·10⁻¹⁷, κ 10^8 5.24·10⁻¹⁷; Kronecker, backward error: κ 10^0 2.11·10⁻¹⁶, κ 10^2 1.31·10⁻¹⁵, κ 10^4 4.24·10⁻¹⁴, κ 10^6 3.19·10⁻¹², κ 10^8 1.03·10⁻¹⁰. Median over three seeds.10⁻¹⁷10⁻¹⁵10⁻¹³10⁻¹¹κ(X), on a logarithmic scalerelative residual, backward error10⁰10²10⁴10⁶10⁸Bartels–Stewart, residualBartels–Stewart, backward errorKronecker, residualKronecker, backward errordashed: residuals · solid: backward errorstwo rankings
Fig. 1 With C = 10⁻⁶X: the relative residual (dashed) and the structured backward error (solid) of Bartels and Stewart’s solution and of the Kronecker system’s, against κ(X). The dial sets the size of C.

Both routes leave relative residuals at the rounding level on all twenty equations: Bartels and Stewart’s between 1.7⋅10−161.7 \cdot 10^{-16} and 5.2⋅10−165.2 \cdot 10^{-16}, the Kronecker system’s between 4.1⋅10−174.1 \cdot 10^{-17} and 6.3⋅10−176.3 \cdot 10^{-17}, about four times smaller, as a backward-stable solve of one linear system should be. By that measure both routes are stable everywhere and the Kronecker one is the better.

The backward error disagrees. With XX well conditioned it is four times the residual on both routes, a constant that comes from the norms in the definitions. As κ(X)\kappa(X) grows with C=10−6XC = 10^{-6}X, Bartels and Stewart’s backward error goes from 1.5⋅10−151.5 \cdot 10^{-15} to 4.8⋅10−144.8 \cdot 10^{-14}, 2.3⋅10−122.3 \cdot 10^{-12} and 3.9⋅10−113.9 \cdot 10^{-11} at κ(X)=104\kappa(X) = 10^4, 10610^6 and 10810^8, while its residual stays at 2⋅10−162 \cdot 10^{-16}. The Kronecker system’s goes to 1.0⋅10−101.0 \cdot 10^{-10}. At the extreme its backward error is 2.6 times Bartels and Stewart’s, where its residual was four times smaller: the two measures rank the two routes in opposite orders. On the dial, larger CC flattens all of it; at C=10−2XC = 10^{-2}X the backward errors stop at a few times 10−1410^{-14}.

Bounded, and not attained

Every equation of the family, both routes: the structured backward error over the relative residual against Higham's μ120 solves. Largest ratio over μ: Bartels–Stewart 2.83, Kronecker 2.83; smallest, 4.96e-4 and 1.29e-2. The dashed line is twice the square root of two times μ.110²10⁴10⁶10⁸110²10⁴10⁶10⁸Higham's μbackward error ÷ residualBartels–StewartKronecker systemdashed: the bound, 2√2 μbounded, and not attained
Fig. 2 Every equation, both routes: the structured backward error over the relative residual, against Higham’s μ for the same equation. The dashed line is 22 μ2\sqrt{2}\,\mu.

The figure at the top of the page shows the ratio of backward error to residual for Bartels and Stewart’s route, against κ(X)\kappa(X) for the four sizes of CC, with 22 μ2\sqrt 2\,\mu dashed above each. The factor 222\sqrt 2 is what the Frobenius norms used here contribute to Higham’s bound, and with it the bound holds on every one of the 120 solves: no ratio exceeds 22 μ2\sqrt 2\,\mu, and on the well-conditioned equations, where μ\mu is about 1.4, the ratio sits exactly at the bound, at 4.0.

Away from there the bound is loose by a varying amount. For Bartels and Stewart’s route the ratio reaches 185, 9,300 and 212,000 at κ(X)=108\kappa(X) = 10^8 for C=10−2XC = 10^{-2}X, 10−4X10^{-4}X and 10−6X10^{-6}X, while μ\mu is 2,850, 285,000 and 28 million. The Kronecker route comes closer to its bound, within a factor of fourteen at the extreme. So μ\mu is the right shape — it grows with κ(X)\kappa(X) and with 1/δ1/\delta, and the measured ratios grow with them — but on a given equation it says how bad the backward error could be, not how bad it is.

Where the backward perturbation has to go

The smallest perturbation of A, B and C that makes Bartels and Stewart's solution exact: the share of its squared size on each, against κ(X), with C = 10⁻⁶ Xκ(X) 10^0: on A 50.0%, on B 50.0%, on C 0.0%, backward error 1.9·10⁻¹⁵; κ(X) 10^2: on A 48.9%, on B 51.1%, on C 0.0%, backward error 1.9·10⁻¹⁵; κ(X) 10^4: on A 65.2%, on B 34.8%, on C 0.0%, backward error 7.3·10⁻¹⁵; κ(X) 10^6: on A 59.3%, on B 40.5%, on C 0.1%, backward error 1.66·10⁻¹³; κ(X) 10^8: on A 4.4%, on B 12.2%, on C 83.4%, backward error 1.23·10⁻¹¹. Seed 3.κ(X) = 10⁰κ(X) = 10²κ(X) = 10⁴κ(X) = 10⁶κ(X) = 10⁸on Aon Bon Cshare of the smallest perturbation's squared sizeA and B cannot reach X's small directionsthe perturbation moves to C
Fig. 3 The smallest perturbation of A, B and C that makes Bartels and Stewart’s solution exact, with C = 10⁻⁶X: the share of its squared size on each matrix, against κ(X).

Why the backward error grows is visible in where the smallest perturbation sits. With XX well conditioned it is split evenly between AA and BB, 50 per cent each, and none on CC: perturbing AA or BB by a little changes AX+XBAX + XB by a little in every direction, which is the cheapest way to absorb a residual. As κ(X)\kappa(X) grows, a perturbation of AA reaches the residual only through ΔA X^\Delta A\,\hat X, and along the directions where X^\hat X is small that product is small whatever ΔA\Delta A is. At κ(X)=108\kappa(X) = 10^8 the residual has components along those directions that ΔA\Delta A and ΔB\Delta B cannot reach at any reasonable size, so the perturbation moves to CC: 83 per cent of it, against 4 per cent on AA and 12 on BB. And CC is a millionth of the size of AXAX, so a perturbation of it measured relative to ∥C∥\lVert C \rVert is a million times larger than the same absolute perturbation measured against AA. That is the backward error’s growth, in two factors: the directions only CC can reach, and the smallness of CC that makes reaching them expensive.

Why the smaller residual has the larger backward error

The same picture explains why the two routes rank in opposite orders. What the backward error charges for is not the size of the residual but the part of it that lies where X^\hat X is small on both sides — in the block of the residual between X^\hat X’s small left and right singular directions, which ΔA X^\Delta A\,\hat X and X^ ΔB\hat X\,\Delta B cannot reach and only ΔC\Delta C can.

Measured on one basis at κ(X)=108\kappa(X) = 10^8 and C=10−6XC = 10^{-6}X, with five of X^\hat X’s singular values below a thousandth of the largest, Bartels and Stewart’s residual has norm 6.9⋅10−156.9 \cdot 10^{-15} and only 8.7⋅10−178.7 \cdot 10^{-17} of it in that block — a share of its squared size under a thousandth. The Kronecker system’s residual is four and a half times smaller, 1.5⋅10−151.5 \cdot 10^{-15}, and 4.4⋅10−164.4 \cdot 10^{-16} of it lies in the block, 8.6 per cent of its squared size and five times Bartels and Stewart’s in absolute terms. At C=10−2XC = 10^{-2}X the Kronecker share is 20 per cent and Bartels and Stewart’s still a thousandth.

At κ(X) = 10⁸, the share of each route's squared residual that lies between the computed X's five small left and right singular directions, against the size of C, on three basesBartels and Stewart's residual puts between 0.02 and 2.2 per cent of its squared size there; the Kronecker system's, between 6.9 and 41 per cent. Bartels–Stewart, basis 1: C = 0.5 X 0.00116, C = 10⁻² X 6.75·10⁻⁴, C = 10⁻⁴ X 2.82·10⁻⁴, C = 10⁻⁶ X 1.61·10⁻⁴; Bartels–Stewart, basis 2: C = 0.5 X 0.0064, C = 10⁻² X 0.00478, C = 10⁻⁴ X 0.00665, C = 10⁻⁶ X 0.00371; Bartels–Stewart, basis 3: C = 0.5 X 0.00481, C = 10⁻² X 0.00449, C = 10⁻⁴ X 0.00698, C = 10⁻⁶ X 0.022; Kronecker system, basis 1: C = 0.5 X 0.124, C = 10⁻² X 0.2, C = 10⁻⁴ X 0.0688, C = 10⁻⁶ X 0.086; Kronecker system, basis 2: C = 0.5 X 0.246, C = 10⁻² X 0.287, C = 10⁻⁴ X 0.304, C = 10⁻⁶ X 0.368; Kronecker system, basis 3: C = 0.5 X 0.31, C = 10⁻² X 0.411, C = 10⁻⁴ X 0.349, C = 10⁻⁶ X 0.313.share of the squared residualKronecker, basis 1, C = 10⁻⁶ X0.086Bartels–Stewart, same1.6·10⁻⁴10⁻⁴10⁻³10⁻²10⁻¹1size of C, as a multiple of Xshare where only C reaches0.510⁻²10⁻⁴10⁻⁶Kronecker systemBartels–Stewartthree bases each; κ(X) = 10⁸the smaller residual sits where it costs
Fig. 4 At κ(X) = 10⁸, the share of each route’s squared residual lying between the computed X’s five small left and right singular directions, against the size of C, on three bases. Bartels and Stewart’s solid, the Kronecker system’s dashed.

That basis is the kindest to Bartels and Stewart’s route of the three, and the other two do not change the ranking. Over all three bases and all four sizes of CC, Bartels and Stewart’s residual puts between 0.02 and 2.2 per cent of its squared size in the expensive block, and the Kronecker system’s between 6.9 and 41 per cent — at least fourteen times as large a share on every one of the twelve equations. The Kronecker residual is the smaller of the two in total on all twelve, by factors of 2.3 to 9.7, and the larger in the block on all twelve, by factors of 1.5 to 5. Neither share depends on the size of CC in any orderly way; what depends on the size of CC is how much each unit of residual in that block costs, which is the second factor of the section above.

The reason is in how each route rounds. Bartels and Stewart’s reduces AA and BB to Schur form, which for this symmetric family is their eigenbasis, which is also XX’s: its rounding errors are committed in the coordinates where XX is diagonal, and they land mostly along XX’s large directions, where the residual is cheap to explain. Gaussian elimination on the Kronecker matrix rounds in coordinates that know nothing of XX, and spreads its residual over every direction, the expensive block included. A smaller residual spread evenly costs more than a larger one kept away from the expensive block, and two condition numbers of one matrix is the same lesson for a single linear system: what a perturbation costs depends on its shape as well as its size.

The answer does not feel it

The forward error of the computed X against the exact one, against κ(X), for Bartels and Stewart's solution (solid) and the Kronecker system's (dashed), at four sizes of CBartels–Stewart, C = 0.5 X: κ 10^0 1.66·10⁻¹⁴, κ 10^2 8.35·10⁻¹⁵, κ 10^4 7.5·10⁻¹⁵, κ 10^6 6.59·10⁻¹⁵, κ 10^8 6.44·10⁻¹⁵; Bartels–Stewart, C = 10⁻² X: κ 10^0 1.32·10⁻¹², κ 10^2 3.18·10⁻¹³, κ 10^4 2.03·10⁻¹³, κ 10^6 1.71·10⁻¹³, κ 10^8 1.63·10⁻¹³; Bartels–Stewart, C = 10⁻⁴ X: κ 10^0 1.04·10⁻¹⁰, κ 10^2 5.72·10⁻¹¹, κ 10^4 4.96·10⁻¹¹, κ 10^6 4.73·10⁻¹¹, κ 10^8 4.67·10⁻¹¹; Bartels–Stewart, C = 10⁻⁶ X: κ 10^0 8.97·10⁻⁹, κ 10^2 2.51·10⁻⁹, κ 10^4 1.81·10⁻⁹, κ 10^6 1.47·10⁻⁹, κ 10^8 1.24·10⁻⁹; Kronecker system, C = 0.5 X: κ 10^0 1.33·10⁻¹⁵, κ 10^2 1.29·10⁻¹⁵, κ 10^4 1.43·10⁻¹⁵, κ 10^6 1.85·10⁻¹⁵, κ 10^8 1.77·10⁻¹⁵; Kronecker system, C = 10⁻² X: κ 10^0 3.66·10⁻¹⁴, κ 10^2 4.65·10⁻¹⁴, κ 10^4 4.58·10⁻¹⁴, κ 10^6 4.32·10⁻¹⁴, κ 10^8 4.29·10⁻¹⁴; Kronecker system, C = 10⁻⁴ X: κ 10^0 3.26·10⁻¹², κ 10^2 2.29·10⁻¹², κ 10^4 2.15·10⁻¹², κ 10^6 1.97·10⁻¹², κ 10^8 1.88·10⁻¹²; Kronecker system, C = 10⁻⁶ X: κ 10^0 3.86·10⁻¹⁰, κ 10^2 3.06·10⁻¹⁰, κ 10^4 4.17·10⁻¹⁰, κ 10^6 4.47·10⁻¹⁰, κ 10^8 4.56·10⁻¹⁰.10⁻¹⁵10⁻¹³10⁻¹¹10⁻⁹κ(X), on a logarithmic scalerelative forward error10⁰10²10⁴10⁶10⁸C = 0.5 XC = 10⁻² XC = 10⁻⁴ XC = 10⁻⁶ Xsolid: Bartels–Stewart · dashed: Kroneckerthe forward error follows C, not κ(X)
Fig. 5 The forward error of the computed X against the exact one, against κ(X), for Bartels and Stewart’s solution (solid) and the Kronecker system’s (dashed), at four sizes of C.

The forward error is the last measurement and it settles what the backward error means here. Against the exact XX, Bartels and Stewart’s solution has relative error 6.4⋅10−156.4 \cdot 10^{-15} to 1.7⋅10−141.7 \cdot 10^{-14} with C=0.5XC = 0.5X, 1.6⋅10−131.6 \cdot 10^{-13} to 1.3⋅10−121.3 \cdot 10^{-12} with C=10−2XC = 10^{-2}X, 4.7⋅10−114.7 \cdot 10^{-11} to 1.0⋅10−101.0 \cdot 10^{-10} with C=10−4XC = 10^{-4}X, and 1.2⋅10−91.2 \cdot 10^{-9} to 9.0⋅10−99.0 \cdot 10^{-9} with C=10−6XC = 10^{-6}X. Within each size of CC the error does not rise with κ(X)\kappa(X) at all; it falls a little. Across sizes of CC it rises by about a hundred for every factor of a hundred in δ\delta, which is the unit roundoff over sep, the conditioning an equation whose unknown is a matrix found governing the equation. The Kronecker route’s forward errors are smaller again, between 1.3⋅10−151.3 \cdot 10^{-15} and 4.6⋅10−104.6 \cdot 10^{-10}, and they too ignore κ(X)\kappa(X).

So the structured backward error rose by a factor of twenty-six thousand across the κ(X)\kappa(X) sweep at C=10−6XC = 10^{-6}X and the forward error did not move. The two are consistent, because 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: the perturbations the backward error is made of lie on CC along the directions where XX is small, and moving CC in those directions moves the answer only in those directions, where it is small to begin with. The answer is insensitive to exactly the perturbation the backward error is forced to use.

What the measurement says about each measure

The residual is a statement about the Kronecker system, and both routes are backward stable for it: residuals of 10−1610^{-16} to 10−1710^{-17} on every equation. That is a true statement about a problem nobody posed, as a backward-stable answer to a problem nobody asked put it for linearised eigenproblems: the perturbations that make it true are of the n2×n2n^2 \times n^2 matrix, not of AA, BB and CC.

The structured backward error is a statement about the equation, and it can be large for a solver that is, by every other measure, behaving well. A perturbation that moves every coefficient found the same thing one step further: restricting the perturbations to the coefficients anybody believes can make a backward error large for reasons that are about the restriction and not the computation.

The forward error is the one a user wants, and here neither backward measure predicts it on its own. The residual says the routes are equally good and the Kronecker one slightly better; the backward error says they degrade by five and six orders of magnitude; the forward error says nothing degrades with κ(X)\kappa(X), and the Kronecker route is better by a factor of 2.7 to 36. A code that reported the structured backward error as an accuracy warning would warn on exactly the equations where it need not. A small residual is not a small error is this collection’s oldest warning, and here its converse holds as well: a large backward error is not a large error either, when the perturbation it is made of is one the answer cannot see.

What a code can usefully report is the forward error’s own estimate: the unit roundoff times ∥A∥2+∥B∥2\lVert A\rVert_2 + \lVert B\rVert_2 over sep, which here predicts the forward error within a factor of ten either way on every equation and both routes — measured, between 0.11 and 7.4 times it. An estimate of sep costs a few solves with the triangular Schur factors Bartels and Stewart’s route has already computed, which is what library codes for this equation do. The residual and the structured backward error are both correct numbers, and neither is the one a user wants.

Why sep is the gap here, and what that leaves out

In this family sep and the smallest eigenvalue sum are the same number, δ\delta, because AA and BB are symmetric: for normal coefficients the Kronecker matrix is normal too and its smallest singular value is its smallest eigenvalue in modulus. An equation whose unknown is a matrix built non-normal pairs to pull the two apart, and on those the forward error follows sep and not the gap. Here there is nothing to pull apart, which is deliberate: it isolates the backward error’s growth from the conditioning’s, so that everything the backward error does across the κ(X)\kappa(X) sweep happens at a fixed sep, and a fixed sep is why the forward error holds still.

When the structured backward error is the right measure

None of this makes the structured backward error a wrong number. It is the right measure when the question is whether the computed X^\hat X is the exact answer to data within its own uncertainty — when AA, BB and CC came from measurements with relative error bars of their own. Then a backward error of 3.9⋅10−113.9 \cdot 10^{-11} relative to CC says the computed answer is exact for a CC perturbed by four parts in a hundred billion, and if CC was measured to six digits that is far inside its error bar and the computation added nothing. The measure answers “could this answer have come from my data”, and the forward error answers “how far is this answer from the one my data defines”; on this family the first can be two hundred thousand times the residual while the second stays where sep puts it. They are different questions, and a report that gives one in place of the other answers the wrong one with a correct number.

What this family does not show

One family, built so that XX commutes with AA and CC is an exact multiple of XX; that makes everything exact and also special, since a perturbation of CC along XX’s own small directions is the whole of what the backward error has to do. With XX not commuting with AA, the residual’s components along XX’s small directions could be reachable through AA and BB in part, and the backward error would grow less. One order, 8, small enough to form the backward error’s normal equations outright; at larger orders the backward error can only be estimated. Symmetric AA with well-separated real eigenvalues, so that the Schur form is diagonal up to rounding and Bartels and Stewart’s route is at its best; non-normal AA and BB, the case an equation whose unknown is a matrix used to separate sep from the eigenvalue gap, would add the Schur reduction’s own error to everything here.

Still open: a family that does not commute, and the condition number that matches

Not commuting. The prediction with a sign is that with XX replaced by a random matrix of the same singular values, so that AX+XBAX + XB no longer cancels exactly and CC is formed from it, the backward error over the residual at κ(X)=108\kappa(X) = 10^8 and δ=10−6\delta = 10^{-6} falls below a thousand on both routes, and the share of the smallest perturbation on CC below a half.

The structured condition number. If the forward error is the backward error times a structured condition number, that number must fall by the factor the backward error rises. The prediction is that the structured condition number for perturbations of AA, BB and CC measured relative to their own norms, computed exactly at this order, falls by at least ten thousand across the κ(X)\kappa(X) sweep at C=10−6XC = 10^{-6}X, and that its product with the backward error is within a factor of ten of the measured forward error on every equation.

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.

Backward errorCondition numberKronecker productMatrix equationResidualSchur formStructured perturbation