Two condition numbers of one matrix
Worth reading first: The units the matrix is measured in · The condition number is an amplifier · The exact answer to a nearby problem.
The essay that introduced the componentwise condition number did so as a repair for an embarrassment: κ₂ can be changed by a factor of 10⁶ by measuring one variable in millimetres instead of kilometres, which means it is partly a statement about somebody’s units. The componentwise number is invariant to that rescaling, so it is the honest version of the same quantity.
That reading makes it sound like a refinement — usually a bit smaller, occasionally worth computing. On one matrix in this collection the two numbers are 3.04·10¹³ and 13.25, and only one of them says anything about the error.
The two definitions, side by side
The normwise condition number of a solve is
κ(A) = ‖A‖ · ‖A⁻¹‖
and the bound it supports is: if the matrix is perturbed to A + ΔA with ‖ΔA‖ ≤ ε‖A‖, the solution moves by at most κ(A)·ε relatively. The hypothesis is a bound on the norm of the perturbation and says nothing about where it is.
Skeel’s componentwise number is
cond(A, x) = ‖ |A⁻¹| |A| |x| ‖ / ‖x‖
and the bound it supports is: if each entry is perturbed by at most ε times its own magnitude — |ΔA_ij| ≤ ε|A_ij| — the solution moves by at most cond(A, x)·ε relatively. The hypothesis is a bound on each entry relative to that entry.
The second is always at most the first times a scaling factor, and it can be very much smaller. When it is, the difference is a fact about the matrix’s scales, and the ratio is a measure of how much of κ₂ is a statement about a perturbation nobody would ever make.
The matrix
The constraint field’s fifth essay supplies it. A Newton step of an interior-point method, written in its unreduced form
[ H Cᵀ ] [ C −D⁻¹ ]
where D = Z/S is a diagonal whose entries run to 1/μ on the active constraints and to μ on the inactive ones, so −D⁻¹ has entries spanning 1/μ². As μ falls the diagonal separates by twenty-four orders, which is what makes the matrix ill conditioned in the normwise sense.
The entries are not uniform in scale and they are not uniform by construction: the matrix has a block of ordinary numbers, a block of enormous ones and a block of tiny ones, and which is which is known. That is exactly the situation the two definitions disagree about.
The measurement
Both numbers, at four barrier parameters, on the augmented form and on the condensed form:
μ κ₂ augmented componentwise componentwise, condensed 10⁰ 2.90·10¹ 22.54 1.35·10² 10⁻⁴ 3.02·10⁵ 13.18 1.31·10⁶ 10⁻⁸ 3.04·10⁹ 13.25 1.32·10¹⁰ 10⁻¹² 3.04·10¹³ 13.25 1.32·10¹⁴
For the augmented matrix the componentwise number is 13.25 and does not move while κ₂ climbs thirteen decades. For the condensed matrix the two agree to within a factor of two at every μ.
And the measured error follows the componentwise number: 9.4·10⁻¹⁶ for the augmented form at μ = 10⁻¹², which is 13.25 · u to within four orders, against a κ₂·u of 3.4·10⁻³.
So the two numbers are not a refinement of one another. On this matrix they are different answers to different questions, and one of the questions is the one being asked.
What “13.25” is a number about
A flat line at 13.25 across thirteen decades invites the question of where 13.25 comes from, and the answer is that it is about the size of the problem rather than about the barrier.
cond(A, x) = ‖ |A⁻¹||A||x| ‖ / ‖x‖ is at least one for any matrix, and for a matrix with no cancellation in the products it is a small multiple of the number of terms being summed. Here the matrix is 14 × 14, and 13.25 is what a fourteen-term sum of same-signed contributions produces. Raise the constraint count to ten and the matrix is 18 × 18 and the number goes to about seventeen; lower it to four and it falls.
So the line is flat because nothing about the barrier enters it, and its height is a property of the shape. That is worth having explicitly, because it says the good behaviour is not a lucky cancellation that might not survive a different problem: it is what the componentwise number always is for a matrix whose entries do not conspire, and the barrier does not make them conspire.
The one place it is not flat is at μ = 1, where it reads 22.5 rather than 13.2. At that end the two groups of constraints have not separated, so |A⁻¹||A| has contributions of comparable size from more places, and the count of terms that matter is larger. The separation helps the componentwise number, which is the exact reverse of what it does to κ₂.
Why the perturbation a factorisation makes is componentwise
The reason the smaller number is the relevant one is a fact about backward stability rather than about condition numbers, and it is worth stating precisely because the usual statement is normwise and hides it.
A backward-stable factorisation returns the exact factors of A + ΔA with ‖ΔA‖ ≤ cn·u·‖A‖. That is the normwise statement, and it is what the backward error essays quote. The finer statement, which holds for Gaussian elimination and for symmetric indefinite factorisation with a bounded growth factor, is componentwise: |ΔA_ij| ≤ cn·u·(|L||U|)_ij, and in the absence of growth that is |ΔA_ij| ≲ cn·u·|A_ij|.
Each entry is perturbed by an amount relative to itself. The enormous entries of −D⁻¹ are perturbed by enormous absolute amounts that are tiny relative to themselves; the ordinary entries of H and C are perturbed by ordinary tiny amounts. That is a componentwise perturbation, and the number that bounds its effect is the componentwise one.
A normwise perturbation of the same norm is permitted to put its entire budget on the smallest entry — a change of 10⁻² to an entry of size 10⁻² — which no factorisation would ever make and which is what κ₂ = 3·10¹³ is a worst case over.
And why the elimination destroys it
The condensed form is H + CᵀDC, and its two condition numbers agree. The structure that protected the augmented form is gone, and the reason is arithmetic rather than algebraic.
An entry of CᵀDC is a sum over the constraints: Σₖ C_ki D_k C_kj. Some terms in that sum are of size 1/μ and some are of size μ, and the result is dominated by the first. So an entry of the condensed matrix is a huge number that has a small number hidden inside it, and perturbing the entry by ε times itself perturbs the hidden contribution by ε times the huge number — which is enormous relative to the hidden part.
The information about scale was in the separateness of the entries, and the elimination summed them. What is lost is not accuracy at the moment of summing — the sum is computed to full relative precision — but the ability of any later perturbation to respect the two scales, because after the sum they are no longer distinguishable.
That is a general lesson about eliminations and it is not confined to this family: an elimination is a change of variables, and a change of variables can destroy structure that the original variables had. The tensor field found the same shape when an all-orthogonality measurement was scaled by the wrong thing, and the structured backward error essays found it when a nearby problem turned out not to be a problem of the right kind.
What each number is good for
Neither is the right number in general, and saying which question each answers is more useful than picking a winner.
κ₂ is right for an error in the data. A measured H, a C assembled from noisy geometry, a right-hand side from an instrument: those errors are not proportional to the entries they land on, and against them the matrix really is as sensitive as κ₂ says. A page that concluded “κ₂ is misleading” would be wrong about the case it was invented for.
The componentwise number is right for an error the arithmetic makes, which is the case this site is about. It is also right for an error in data that is known relatively — a measurement quoted to three significant figures perturbs each entry proportionally.
And there is a third case neither covers: a structured perturbation that has to preserve a pattern. The structured backward error of a Toeplitz solve is a different number again, because the perturbation is required to stay Toeplitz. Each of the three is a worst case over a different set, and the sets are nested.
The third quantity in the identity
The site’s spine is forward ⪅ condition × backward, and this page has been about replacing one factor. The other factor changes too, and the two changes are the same change seen twice.
The normwise backward error of a computed x is ‖Ax − b‖ / (‖A‖‖x‖ + ‖b‖), and its componentwise cousin divides each component of the residual by (|A||x| + |b|)ᵢ instead. For the augmented matrix the second is at the rounding level while the first is too, because both are measuring an algorithm that behaved well — the backward error is the easy half here.
What the pairing means is that the identity has to be used consistently: a componentwise condition number multiplies a componentwise backward error, and a normwise one multiplies a normwise one. Mixing them gives a bound that is not a bound in either sense. The reason the normwise product is so far above the measured error on this matrix is not that the bound is weak — it is a perfectly good bound on the wrong quantity — but that the pair being multiplied does not describe what happened.
That is the same failure this field has recorded once before, from the other direction, when a backward error turned out to promise a nearby problem of the wrong kind. The identity is exact; what it is about depends entirely on which set of perturbations both halves are worst cases over.
What it costs to compute
cond(A, x) needs |A⁻¹|, and forming an inverse is the operation this collection has an essay against. So the definition is not directly usable, which is one reason libraries print κ₂ instead.
What is usable is an estimate. The quantity ‖ |A⁻¹||A||x| ‖ is the norm of A⁻¹ applied to a known nonnegative vector, so it is one solve with the already-computed factors per estimate, and the standard condition estimator that this field has already priced applies unchanged. That makes it about as expensive as the normwise estimate every library already computes.
The measurement on this page forms the inverse, because the matrices are fourteen by fourteen and the point is the exact value rather than the practicality. On a real problem the estimate is what would be used, and it inherits the estimator’s own failure mode — a matrix on which it under-reports by an arbitrary factor.
Which of the two a reader should print
The practical conclusion is not “use the componentwise number”, because on most matrices the two agree and the extra solve is wasted. It is a rule about when they can disagree, and the rule has a shape that is easy to check.
They can disagree only when the entries of the matrix span many orders of magnitude and the spread is structural rather than accidental — when the matrix has blocks or rows or columns of different scale, and those scales came from the problem’s construction rather than from noise. A matrix whose entries are all within a few orders has cond(A, x) within a small factor of κ∞(A) and nothing to learn.
That test is cheap: the ratio of the largest entry to the smallest nonzero one, which any code already knows. If it is under 10⁶ the two numbers agree; if it is 10²⁴, as it is here, they may not, and the componentwise estimate is worth the solve.
The same test says where else on this site the question would have been worth asking. A graded matrix in the relative-accuracy essays has exactly this shape, and its eigenvalues turn out to have relative accuracy nobody expected for exactly this reason; so does a scaled system in the units essay. Three places, one diagnostic.
The refusal
The reading to close is the one this essay’s own predecessor invites: the componentwise condition number is a refinement of the normwise one — usually a bit smaller, occasionally worth computing, and never a different answer. Every word of that is a reasonable summary of the earlier essay, and it is what makes the case here worth measuring.
The assertion is fed both numbers for the augmented matrix at μ = 10⁻¹² and required to reject the claim that they agree within six orders. They are 3.04·10¹³ and 13.25, a ratio of 2.3·10¹².
Two further refusals guard the other direction. One is fed the claim that eliminating a block keeps the componentwise conditioning, and required to refuse — the whole second half of the page rests on the elimination being what destroys it. The other is fed the claim that a condition number of 10¹³ costs thirteen digits, and required to refuse: the standard bound is an upper bound and this matrix is twelve orders under it.
A note on which norm
Both definitions above were written with a norm left unspecified, and the choice is not free.
The componentwise bound is naturally an infinity-norm statement, because it comes from bounding each component of the error separately and then taking the largest. Mixing it with a two-norm condition number — which is what a code that prints κ₂ and then quotes a componentwise bound would be doing — introduces a factor of √n that is harmless at n = 14 and is not at n = 10⁶.
The measurements on this page use the infinity norm throughout for the componentwise number and the two-norm for κ₂, which is the convention each is usually quoted in, and the ratio between them for a matrix of this size is under four. That is well inside the thirteen orders being reported, so nothing here turns on it — but a reader carrying the numbers elsewhere should carry the norms with them.
At other settings
What links here
Computed from the collection, not written here: the essays that point at this one.
Shares its objects with
Essays that name at least two of the same things, and that neither author linked.
- A tensor that cannot be decomposed — both name backward error, condition number, exact ground truth, forward error
- A constraint is a weight at infinity — both name condition number, exact ground truth, saddle-point systems
- A small residual is not a small error — both name backward error, condition number, forward error
- An accuracy that is a backward error — both name backward error, condition number, forward error
- An eigenvalue count that cannot be slightly wrong — both name condition number, exact ground truth, saddle-point systems
- The problem that arrives again — both name backward error, condition number, exact ground truth
Named objects
A flat tag is an object no other essay names yet.
Backward errorComponentwise condition numberCondition numberExact ground truthForward errorInterior point methodSaddle-point systemsScalingSkeel condition numberStructured backward error