The matrix a constraint makes

Two ways to remove a constraint

A constrained system can be reduced by eliminating the multipliers or by eliminating the constrained directions. Both give the same answer in exact arithmetic and inherit different condition numbers — one of them squares the constraint's, and the other does not contain it at all.

Worth reading first: The zero that is not a missing entry · The road that squares the problem · The condition number is an amplifier.

The previous essay left the matrix

K = [ H Aᵀ ] [ A 0 ]

with an inertia that is known, a Cholesky that stops at a predictable row and a spectrum in two pieces. None of that is a way of solving anything. This one is about the two ways that are, and about the fact that they are not two orderings of one computation.

What each way of eliminating a constraint inherits, over five decades of κ(A)The same system solved twice, at 8 unknowns and 3 constraints with κ(H) = 100. The range-space method forms S = AH⁻¹Aᵀ and inherits κ(S), which rises from 12.99 to 3.981·10¹⁰ — the square of κ(A), for the reason the normal equations square it. The null-space method solves with the reduced Hessian ZᵀHZ, whose condition number is 21.13 at the start of the sweep and 21.13 at the end: it does not contain κ(A) at all. The two forward errors, measured against a solution computed in BigInt rationals, follow their own condition numbers: 5.314·10⁻⁶ against 5.788·10⁻¹² at the far end. Both methods are correct and one of them is usable.01234510⁻¹⁷10⁻¹³10⁻⁹10⁻⁵10⁻¹10³10⁷10¹¹log₁₀ κ(A)condition number, and relative errorκ(S)κ(ZᵀHZ)range-space errornull-space erroragainst a BigInt answerκ(S) at κ(A) = 10⁵4·10¹⁰κ(ZᵀHZ), all stops21range-space forward error5.3·10⁻⁶null-space forward error5.8·10⁻¹²both are the same algebraand only one squares
Fig. 1 Two condition numbers and two errors, over five decades of the constraint’s conditioning. The system is the same system at every point on the axis.

Eliminate the multipliers

The first block row says Hx + Aᵀy = f, so x = H⁻¹(f − Aᵀy), and substituting into the second gives

A H⁻¹ Aᵀ y = A H⁻¹ fg

The matrix on the left is S = AH⁻¹Aᵀ, the Schur complement of H in K, and the previous essay already met it: it is positive definite whenever A has full row rank, and its first diagonal entry is the pivot Cholesky stops on. It is m × m, which is small when the constraints are few.

So the recipe is: factorise H once, solve m systems with it to build S, factorise S, solve for y, and back-substitute for x. This is the range-space method, named for the fact that the multiplier lives in the range of A. It is the obvious thing to do when m is a handful and n is large — one dense m × m factorisation on top of one factorisation of H.

Two-level convergence factor for three interpolations, at ε = 0.001Three bars per operator: the classical formula, the unconstrained energy minimiser, and the minimiser constrained to reproduce a constant. On the isotropic and aligned operators the constraint costs a factor of 4.8; on the rotated one it buys a factor of 1.33.lower is better; each bar is the factor the error falls by per two-level cycleisotropic, classical0.0609isotropic, minimiser0.0609isotropic, constrained0.0848aligned, classical0.0612aligned, minimiser0.0615aligned, constrained0.2933rotated 45°, classical0.3464rotated 45°, minimiser0.2843rotated 45°, constrained0.2131what the constraint is worthconstraint at isotropic1.4constraint at aligned4.8constraint at rotated 45°0.75the constraint costs where the method worksand buys where it does not
Fig. 2 What each route costs, counted rather than described. The crossover is not where the shapes of the two recipes suggest.

Eliminate the constrained directions

The second block row says Ax = g, which pins m of the n degrees of freedom and leaves n − m. Write x = x_p + Zv with Ax_p = g and AZ = 0: any x of that form is feasible, and every feasible x is of that form.

Substituting into the first row and multiplying by Zᵀ makes the multiplier term vanish, because ZᵀAᵀ = (AZ)ᵀ = 0. What is left is

(ZᵀHZ) v = Zᵀ(f − Hx_p)

an unconstrained system of size n − m with a matrix that is symmetric positive definite: vᵀ ZᵀHZ v = ‖H¹ᐟ²Zv‖² > 0 because Z has full column rank. So the null-space method turns a constrained problem into a smaller unconstrained one, on which every tool the rest of this site has applies — a Cholesky, conjugate gradients, a preconditioner.

ZᵀHZ is the reduced Hessian, and it is the object an optimisation code reports curvature about. Its eigenvalues are the second derivatives of the objective along the feasible directions, which is what “the problem is well conditioned on the manifold” means when anybody says it.

Three bases for the same null space, at 10 unknowns and 4 constraintsThe same constrained problem solved three times, differing only in which basis Z is used for the null space of A. The orthonormal basis, from a QR of Aᵀ, has κ(Z) = 1 exactly and is dense — 100 per cent of its entries are nonzero. The fundamental basis built on the first 4 columns has κ(Z) = 4.436, and its reduced Hessian comes out at 83.77, which is κ(Z)² to within a factor of 4.26 — the square attained rather than bounded. Its answer is wrong by 1.26·10⁻¹⁵, against 1.29·10⁻¹⁵ for the orthonormal one. Choosing the same kind of basis by pivoting instead gives κ(Z) = 2.258, an error of 1.41·10⁻¹⁵, and the same 50 per cent density: all of the sparsity and none of the loss.κ(A) = 10⁶ throughout · κ(H) = 100 · the answer is the same answer for every basisorthonormal — κ(Z)1κ(ZᵀHZ)32relative error1.29·10⁻¹⁵first m basic — κ(Z)4.44κ(ZᵀHZ)83.8relative error1.26·10⁻¹⁵pivoted basic — κ(Z)2.26κ(ZᵀHZ)43.1relative error1.41·10⁻¹⁵what the choice costsdensity, orthonormal1density, fundamental0.5κ(ZᵀHZ) ÷ κ(Z)², naive4.3error, pivoted choice1.4·10⁻¹⁵every one of them is a basisand one of them loses fourteen digits
Fig. 3 The reduced problem, on a well-behaved constraint. The three bars per group are three ways of building Z, which the next essay is about; here they agree.

Both are correct, and that is the control

Before any comparison is worth making, the two have to be shown to be solving the same problem. They are: the library runs both on one system, and the difference between the two answers is at the rounding level whenever nothing in the problem is ill conditioned — 3.9·10⁻¹⁶, 6.9·10⁻¹⁶ and 5.5·10⁻¹⁶ on the three bases the next essay compares.

That control is the thing that makes the rest of the page a measurement rather than a demonstration of two different algorithms. There is one answer. Both routes reach it in exact arithmetic. Everything below is about the arithmetic.

What each way of eliminating a constraint inherits, over five decades of κ(A)The same system solved twice, at 8 unknowns and 3 constraints with κ(H) = 1. The range-space method forms S = AH⁻¹Aᵀ and inherits κ(S), which rises from 1 to 10·10⁹ — the square of κ(A), for the reason the normal equations square it. The null-space method solves with the reduced Hessian ZᵀHZ, whose condition number is 1 at the start of the sweep and 1 at the end: it does not contain κ(A) at all. The two forward errors, measured against a solution computed in BigInt rationals, follow their own condition numbers: 7.341·10⁻⁷ against 2.025·10⁻¹² at the far end. Both methods are correct and one of them is usable.01234510⁻¹⁷10⁻¹³10⁻⁹10⁻⁵10⁻¹10³10⁷10¹¹log₁₀ κ(A)condition number, and relative errorκ(S)κ(ZᵀHZ)range-space errornull-space erroragainst a BigInt answerκ(S) at κ(A) = 10⁵10·10⁹κ(ZᵀHZ), all stops1range-space forward error7.3·10⁻⁷null-space forward error2·10⁻¹²both are the same algebraand only one squares
Fig. 4 With H the identity, so that the only conditioning anywhere in the picture belongs to the constraint — and the separation is unchanged.

What each one inherits

The range-space method solves with S = AH⁻¹Aᵀ. Its condition number satisfies

κ(S) ≤ κ(H) · κ(A)²

and it attains that: the measured κ(S) runs 13.0, 3.99·10⁴, 3.98·10⁸ as κ(A) goes 1, 10², 10⁴, which is four orders of κ(S) per two decades of κ(A) — the square, to two digits, at every stop.

The reason is the same reason the normal equations square the condition number, and it is the same algebra: AH⁻¹Aᵀ is (H⁻¹ᐟ²Aᵀ)ᵀ(H⁻¹ᐟ²Aᵀ), a Gram matrix, and a Gram matrix’s singular values are the squares of its factor’s. The site has priced that move once, in the least-squares field, where the conclusion was that nobody should form AᵀA. Here it is being formed on purpose, by a method that is otherwise the sensible one, because the alternative is a factorisation of something n × n.

The null-space method solves with ZᵀHZ. Its condition number satisfies

κ(ZᵀHZ) ≤ κ(H) · κ(Z)²

and A does not appear. With an orthonormal Z the bound is κ(H) and the measurement is flat: 21.13 at κ(A) = 1, 21.13 at 10², 21.13 at 10⁴. The reduced Hessian does not know how badly conditioned the constraint was.

The reduced Hessian and the answer, against how badly the basic columns were chosenγ is the condition number of the first 4 columns of A, and the naive rule calls exactly those columns basic. Its reduced Hessian's condition number climbs from 83.77 to 4.871·10¹⁸ across ten decades of γ — the square, because κ(ZᵀHZ) ≤ κ(H)κ(Z)² and the bound is attained. Choosing the basic columns by a column-pivoted QR instead holds it between 31.72 and 43.09 at every stop. The two forward errors, measured against a BigInt answer, follow their own condition numbers: 0.3173 against 8.07·10⁻¹⁶ at γ = 10¹⁰. κ(A) is 10⁶ throughout and never moves — nothing about the problem's difficulty changes across this axis, only which columns a one-line rule happens to pick.024681010⁻¹⁷10⁻¹³10⁻⁹10⁻⁵10⁻¹10³10⁷10¹¹10¹⁵10¹⁹log₁₀ γ — conditioning of the first m columnscondition number, and relative errorκ(ZᵀHZ), naiveκ(ZᵀHZ), pivotederror, naiveerror, orthonormalone problem, two rulesκ(ZᵀHZ) naive, γ = 10¹⁰4.9·10¹⁸κ(ZᵀHZ) pivoted, worst43error, naive0.32error, pivoted8.1·10⁻¹⁶κ(A) does not move across this axisand the answer moves by fourteen digits
Fig. 5 The other square in the same identity, from the next essay: κ(Z)² when Z is not orthonormal.

And the errors follow the condition numbers rather than the problem

The two forward errors are measured against an answer computed in BigInt rationals from the same stored doubles, so neither of them is being compared against a better float. Over four decades of κ(A):

range-space 6.6·10⁻¹⁶ 1.4·10⁻¹² 3.0·10⁻⁸ null-space 8.4·10⁻¹⁶ 5.7·10⁻¹⁵ 8.8·10⁻¹³

The range-space error grows by a factor of 4.6·10⁷ and the null-space one by 1.1·10³. Seven orders against three, on one system, with one answer.

The null-space error is not zero and does not stay at the rounding level either, and saying why is the honest half. The particular solution x_p = A⁺g is computed from A, so it inherits κ(A) once — linearly. What it does not inherit is the square. The claim the assertion makes is therefore three-part: the range-space error grows by six orders or more, the null-space error grows by fewer than five, and the two separate by at least three. All three are measured rather than bounded.

Both forms of an interior-point step: two condition numbers that climb together and two errors that do notOne Newton step of an interior-point method for a quadratic programme with 8 unknowns and 6 constraints, 3 of them active, written twice. The augmented form is [[H, Cᵀ], [C, −D⁻¹]] and the condensed form is H + CᵀDC, and they have the same solution. As the barrier parameter μ falls, the diagonal D separates — z/s runs to 1/μ on the active constraints and to μ on the inactive ones — so both condition numbers climb: 29.04 to 3.044·10¹⁵ for the augmented form and 155.8 to 2.403·10¹⁶ for the condensed one, within a factor of 7.9 of each other. The two forward errors, both measured against the exact rational solution of the system the machine is holding, do not follow: the condensed form's rises to 0.3098 and the augmented form's stays at 1.035·10⁻¹⁵ — fifteen correct digits at a condition number of 3.04·10¹⁵.-14-12-10-8-6-4-2010⁻¹⁷10⁻¹³10⁻⁹10⁻⁵10⁻¹10³10⁷10¹¹10¹⁵log₁₀ μ — the barrier parametercondition number, and relative errorκ₂, condensedκ₂, augmentederror, condensederror, augmentedagainst a BigInt answerκ₂ augmented, μ = 10⁻¹⁴3·10¹⁵its relative error10⁻¹⁵κ₂ condensed2.4·10¹⁶its relative error0.31the same step, written two waysand only one of them is solvable
Fig. 6 The same distinction three essays on, where the elimination that squares is the one every code performs and the difference reaches fourteen orders.

Which one to use, which is not settled by the above

If the argument stopped here the answer would be “always the null-space method”, and it is not, for two reasons that the cost figure shows and the conditioning figure cannot.

Forming Z costs a factorisation of Aᵀ, and the orthonormal Z from a QR is dense: n × (n − m) entries, where A itself may have been sparse. For m small and n large that is the larger object in the problem, and the reduced Hessian ZᵀHZ is (n − m) × (n − m) — nearly as large as H, and dense whatever H was. The range-space method’s extra object is m × m.

And the reduced Hessian has to be formed to be used. ZᵀHZ costs n²(n − m) to build explicitly. A code that only needs matrix–vector products can apply it as three multiplications without ever assembling it, which is what a projected conjugate gradient does, and that route keeps the conditioning and drops the cost. It also gives up the ability to factorise, which is the trade the iterative field has made once already.

So the choice is a shape question — is m small or is n − m small — with a conditioning penalty attached to one branch, and the penalty is worth knowing before the shape decides.

Two-level convergence factor for three interpolations, at ε = 0.001Three bars per operator: the classical formula, the unconstrained energy minimiser, and the minimiser constrained to reproduce a constant. On the isotropic and aligned operators the constraint costs a factor of 4.8; on the rotated one it buys a factor of 1.33.lower is better; each bar is the factor the error falls by per two-level cycleisotropic, classical0.0609isotropic, minimiser0.0609isotropic, constrained0.0848aligned, classical0.0612aligned, minimiser0.0615aligned, constrained0.2933rotated 45°, classical0.3464rotated 45°, minimiser0.2843rotated 45°, constrained0.2131what the constraint is worthconstraint at isotropic1.4constraint at aligned4.8constraint at rotated 45°0.75the constraint costs where the method worksand buys where it does not
Fig. 7 At one constraint, where the range-space method’s extra object is a scalar and its penalty is the whole of what it costs.

Where the square comes from, in one line

It is worth having the mechanism rather than the citation, because it is the same mechanism in three fields and the citation is different in each.

Write H = LLᵀ and put B = L⁻¹Aᵀ, which is n × m. Then S = AH⁻¹Aᵀ = BᵀB. The singular values of B are σᵢ(B), and the eigenvalues of BᵀB are σᵢ(B)². So

κ(S) = σ₁(B)² / σₘ(B)² = κ(B)²

and κ(B) is between κ(A)/√κ(H) and κ(A)√κ(H). Forming S is forming a Gram matrix, and a Gram matrix’s condition number is the square of its factor’s. There is no arithmetic in that derivation at all: the squaring happens in exact arithmetic, and what floating point adds is only that the squared quantity is the one the solve is conditioned on.

The same three lines are the whole of why the normal equations lose twice as many digits as a QR, why the Gram matrix in a sketching argument has to be handled by a factorisation rather than formed, and why CholeskyQR needs a second pass. Four fields, one identity, and this is the fourth time the site has met it.

‖QᵀQ − I‖ of the implied Q, against the condition numberLoss of orthogonality against κ, both axes logarithmic, for three factorisations of the same 256×8 matrix. The column sweep and the reduction tree run from 2.7·10⁻¹⁴ to 1.5·10⁻¹⁰. Cholesky QR — the one with a single reduction — runs from 2.3·10⁻¹³ to 1.8·10⁻⁵, a fitted slope of 1.97 against the others' near-flat one.10²10³10⁴10⁵10⁶10⁻¹⁴10⁻¹²10⁻¹⁰10⁻⁸10⁻⁶condition number κ‖QᵀQ − I‖Cholesky QRsweeptreethe price of one roundfitted slope, Cholesky QR2‖QᵀQ − I‖ at κ = 10·10⁵1.8·10⁻⁵the sweep's, at the same κ1.5·10⁻¹⁰one reduction instead of nand the condition number squared
Fig. 8 The same square in the orthogonality field, where the object being formed is AᵀA and the quantity lost is ‖QᵀQ − I‖.

The third route, which is neither

There is a way of solving Kz = b that eliminates nothing: factorise the whole matrix, with a symmetric indefinite factorisation that allows 2 × 2 pivots. The essay that introduced it is about the pivot rule; what matters here is that it inherits κ(K) and nothing squared, so it is the accurate route as well as the general one.

Its cost is a factorisation of an (n + m) × (n + m) matrix, which is more arithmetic than either elimination and less than either elimination plus the object it forms — and for a sparse K it can be very much less, because the fill of the whole matrix under a good ordering can be smaller than the fill of S, which is dense whenever any two constraints share a variable. The essay on what an ordering can be chosen for takes that up, and it needs one more ingredient first.

Fill under three orderings of a sparse saddle-point matrix, predicted symbolically and then countedA stiffness block of 24 unknowns with 4 constraints each touching 3 of them. Each panel is the pattern of PKPᵀ under one ordering, with the entries the factorisation adds shown against the entries the matrix arrived with. The counts are natural 113, minimum-degree 63, reverse-cuthill-mckee 63: computed from the graph before any number was touched, and matched exactly by the factorisation of the regularised matrix, because quasi-definiteness means nothing during the numeric phase is allowed to move a pivot. That is the guarantee sparse LU cannot make — there the pivot order depends on the values, so the symbolic phase can only bound the fill and the allocation has to be able to grow.natural113 predicted · 113 countedminimum-degree63 predicted · 63 countedreverse Cuthill–McKee63 predicted · 63 countedthe shaded entries are fill: zeros of K that the factorisation makes nonzeroallocated before the numbersnatural113minimum-degree63reverse-cuthill-mckee63predicted minus counted0the symbolic phase decides the memoryand nothing later is allowed to argue
Fig. 9 Why the third route can win on a sparse problem: the whole matrix, ordered three ways, with the fill counted.

The other thing the range-space method needs, and does not have

There is a hypothesis in the range-space derivation that is easy to walk past: H must be invertible. The null-space method does not need it — ZᵀHZ can be positive definite while H itself is only positive semidefinite, and in a great many real problems it is.

A least-squares fit with more unknowns than data has a singular AᵀA. A structure with a mechanism has a singular stiffness matrix until the supports are applied. An optimisation problem whose objective is flat in some direction has a singular Hessian in that direction, and the constraint is precisely what removes the flatness. In every one of those the whole system K is nonsingular, the problem has a unique answer, and the range-space method cannot start.

That is a genuine asymmetry rather than a technicality, and it is the reason optimisation codes lean towards the null-space route while flow codes lean towards the Schur one: in a flow problem the (1, 1) block is a discretised diffusion and is definite, and in an optimisation problem it is whatever the objective’s curvature happens to be. The measurement above compares the two where both are legal; the choice in practice is often made where only one is.

How far the coefficients can move without changing the fit, degree 9Relative increase in the residual against relative change in the coefficients, along the least determined direction. The residual does not move measurably until the coefficients have changed by more than a factor of one.10⁻⁴10⁻³10⁻²10⁻¹110¹10²10³10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹relative change in the coefficients, along the worst directionrelative increase in the residualcoefficients doubled39% change, fit unmoved in the sixth digit308×: the third digit movesκ(A) = 3.6·10⁶. Exact arithmetic would pick one point on this floor. It would not raise it.24 points, degree 9, monomial basisthe data leaves them free
Fig. 10 An objective flat in a direction, from the least-squares field. A constraint along that direction makes the reduced problem definite and leaves H singular.

What the measurement says about the identity

The site’s spine is forward error ⪅ condition number × backward error, and this page is an unusually clean instance of it. Both methods are backward stable in the ordinary sense: each returns the exact answer to a nearby version of the system it actually solved. The trouble is that the systems they actually solve are different, and one of them was manufactured with a condition number that is the square of anything in the original problem.

So the forward error is large for the reason the identity says, and the blame is not with the arithmetic and not with the problem. It belongs to a step of the method — a step whose whole purpose was to make the problem smaller. That is a third author, and the site’s usual pair does not have a slot for it.

The nearest thing already written is the least-squares field’s verdict on the normal equations, and the shape is identical: a reformulation that is algebraically exact and numerically a choice. What is new here is that both reformulations are exact, both are standard, and which one squares depends on which block is eliminated.

Least squares by QR and by the normal equations in binary32Relative error of the computed coefficients against epsilon, on log axes. The QR route is a flat line near the bottom; the normal-equations route climbs and then stops, at the epsilon where the cross-product matrix becomes exactly singular.10⁻⁸10⁻⁷10⁻⁶10⁻⁵10⁻⁴10⁻³10⁻²10⁻¹10⁻⁹10⁻⁷10⁻⁵10⁻³10⁻¹10¹ε in Läuchli's matrix (smaller ε, larger κ)relative error in the coefficientsAᵀA exactly singularnormal equationsQRκ from 1.7·10⁸ to 17the cliff is at √u = 2.4·10⁻⁴
Fig. 11 The same move in the field it was first priced in: forming a Gram matrix, and the condition number doubling in exponent.

The refusal

The reading this page has to close is the one that sounds like caution rather than carelessness: two block eliminations of the same nonsingular system are two orderings of the same arithmetic, so they lose the same accuracy. It is what “both are backward stable” would mean if backward stability were a property of the answer rather than of the system solved.

The assertion is fed the pair at κ(A) = 10⁴ — 3.0·10⁻⁸ and 8.8·10⁻¹³ — and required to reject the claim that they agree within two orders. It does, by four.

The same file’s other two refusals guard the parts of the argument that are easiest to over-read. One is fed the claim that AH⁻¹Aᵀ is indefinite and required to refuse it, because the whole range-space method rests on that matrix being factorisable by a Cholesky. The other is fed a Z whose product with A is not zero and required to refuse it as a null-space basis, because everything in the second half of the page assumes the term ZᵀAᵀy vanishes exactly and not approximately.

What each way of eliminating a constraint inherits, over five decades of κ(A)The same system solved twice, at 8 unknowns and 3 constraints with κ(H) = 10⁴. The range-space method forms S = AH⁻¹Aᵀ and inherits κ(S), which rises from 199.3 to 2.728·10¹¹ — the square of κ(A), for the reason the normal equations square it. The null-space method solves with the reduced Hessian ZᵀHZ, whose condition number is 514.7 at the start of the sweep and 514.7 at the end: it does not contain κ(A) at all. The two forward errors, measured against a solution computed in BigInt rationals, follow their own condition numbers: 7.183·10⁻⁶ against 5.856·10⁻¹² at the far end. Both methods are correct and one of them is usable.01234510⁻¹⁷10⁻¹³10⁻⁹10⁻⁵10⁻¹10³10⁷10¹¹log₁₀ κ(A)condition number, and relative errorκ(S)κ(ZᵀHZ)range-space errornull-space erroragainst a BigInt answerκ(S) at κ(A) = 10⁵2.7·10¹¹κ(ZᵀHZ), all stops515range-space forward error7.2·10⁻⁶null-space forward error5.9·10⁻¹²both are the same algebraand only one squares
Fig. 12 At κ(H) = 10⁴, where both lines lift together and the separation between them does not move — the control that says the gap belongs to the constraint.

What is left over

Two things this page does not settle, and both are taken up later in the field.

The first is that the null-space method’s advantage was measured with one particular Z — the orthonormal basis from a QR of Aᵀ, which has κ(Z) = 1 by construction. Nothing in the derivation says the basis has to be that one, and the identity κ(ZᵀHZ) ≤ κ(H)κ(Z)² has a second square in it that the flat line above was quietly setting to one. The next essay puts a different basis in and the flat line stops being flat.

The second is that neither route was given a preconditioner, and the whole question changes when one is available: a method that never eliminates anything, and instead moves the spectrum of K itself, is the third essay in this field. It has an unusual property for a preconditioner — its effect is a theorem rather than a measurement, and the theorem has the golden ratio in it.

The constraint preconditioner's spectrum, over six decades of the constraint's condition numberP = [[G, Aᵀ], [A, 0]] with G an approximation to H — here a well-conditioned matrix that is not H at all. The theorem says P⁻¹K has eigenvalue 1 with multiplicity 2m = 8 and n − m = 6 others, which are the generalised eigenvalues of the pencil (ZᵀHZ, ZᵀGZ) for any basis Z of the null space of A. A does not appear in that list, and the measurement is the flat lines: κ(A) crosses six decades along the horizontal axis and the 6 eigenvalues move by 7.14·10⁻⁶ relative, which is the arithmetic. A preconditioner for a constrained problem can decline to know anything about the constraint, because the constraint has already been inverted exactly inside it. The one quantity that does move is the drift of the eigenvalues the theorem puts at exactly one: 6.65·10⁻⁹ at κ(A) = 1 and 6.04·10⁻⁵ at 10⁶, which is κ(A) times the unit roundoff.012345610⁻³10⁻²10⁻¹110¹log₁₀ κ(A)eigenvalue of P⁻¹Kthe constraint is not in itnontrivial6at one8movement, six decades7.1·10⁻⁶drift at one6·10⁻⁵2m at onethe marks are a pencil that never saw Aand the lines are the preconditioned matrix
Fig. 13 The fourth essay’s picture, which is what the second of those looks like when the preconditioner declines to know anything about A.

At other settings

What each way of eliminating a constraint inherits, over five decades of κ(A)The same system solved twice, at 8 unknowns and 3 constraints with κ(H) = 10. The range-space method forms S = AH⁻¹Aᵀ and inherits κ(S), which rises from 3.169 to 1.585·10¹⁰ — the square of κ(A), for the reason the normal equations square it. The null-space method solves with the reduced Hessian ZᵀHZ, whose condition number is 4.149 at the start of the sweep and 4.149 at the end: it does not contain κ(A) at all. The two forward errors, measured against a solution computed in BigInt rationals, follow their own condition numbers: 2.278·10⁻⁷ against 3.002·10⁻¹² at the far end. Both methods are correct and one of them is usable.01234510⁻¹⁷10⁻¹³10⁻⁹10⁻⁵10⁻¹10³10⁷10¹¹log₁₀ κ(A)condition number, and relative errorκ(S)κ(ZᵀHZ)range-space errornull-space erroragainst a BigInt answerκ(S) at κ(A) = 10⁵1.6·10¹⁰κ(ZᵀHZ), all stops4.1range-space forward error2.3·10⁻⁷null-space forward error3·10⁻¹²both are the same algebraand only one squares
Fig. 14 A mildly conditioned objective, where the null-space line is flat at 21 and the range-space one has already crossed 10⁶ by the right-hand edge.
What each way of eliminating a constraint inherits, over five decades of κ(A)The same system solved twice, at 8 unknowns and 3 constraints with κ(H) = 10⁶. The range-space method forms S = AH⁻¹Aᵀ and inherits κ(S), which rises from 1700 to 1.118·10¹² — the square of κ(A), for the reason the normal equations square it. The null-space method solves with the reduced Hessian ZᵀHZ, whose condition number is 7646 at the start of the sweep and 7646 at the end: it does not contain κ(A) at all. The two forward errors, measured against a solution computed in BigInt rationals, follow their own condition numbers: 2.467·10⁻⁶ against 4.419·10⁻¹² at the far end. Both methods are correct and one of them is usable.01234510⁻¹⁷10⁻¹³10⁻⁹10⁻⁵10⁻¹10³10⁷10¹¹log₁₀ κ(A)condition number, and relative errorκ(S)κ(ZᵀHZ)range-space errornull-space erroragainst a BigInt answerκ(S) at κ(A) = 10⁵1.1·10¹²κ(ZᵀHZ), all stops7646range-space forward error2.5·10⁻⁶null-space forward error4.4·10⁻¹²both are the same algebraand only one squares
Fig. 15 And at 10⁶, where κ(H) dominates both and the two errors converge on each other — which is the case where the choice does not matter.
Two-level convergence factor for three interpolations, at ε = 0.001Three bars per operator: the classical formula, the unconstrained energy minimiser, and the minimiser constrained to reproduce a constant. On the isotropic and aligned operators the constraint costs a factor of 4.8; on the rotated one it buys a factor of 1.33.lower is better; each bar is the factor the error falls by per two-level cycleisotropic, classical0.0609isotropic, minimiser0.0609isotropic, constrained0.0848aligned, classical0.0612aligned, minimiser0.0615aligned, constrained0.2933rotated 45°, classical0.3464rotated 45°, minimiser0.2843rotated 45°, constrained0.2131what the constraint is worthconstraint at isotropic1.4constraint at aligned4.8constraint at rotated 45°0.75the constraint costs where the method worksand buys where it does not
Fig. 16 Eight constraints, where the range-space method’s m × m object is no longer negligible.
Three bases for the same null space, at 10 unknowns and 4 constraintsThe same constrained problem solved three times, differing only in which basis Z is used for the null space of A. The orthonormal basis, from a QR of Aᵀ, has κ(Z) = 1 exactly and is dense — 100 per cent of its entries are nonzero. The fundamental basis built on the first 4 columns has κ(Z) = 1.997·10⁴, and its reduced Hessian comes out at 5.845·10⁸, which is κ(Z)² to within a factor of 1.47 — the square attained rather than bounded. Its answer is wrong by 8.504·10⁻¹⁰, against 2.25·10⁻¹⁵ for the orthonormal one. Choosing the same kind of basis by pivoting instead gives κ(Z) = 2.06, an error of 1.33·10⁻¹⁵, and the same 50 per cent density: all of the sparsity and none of the loss.κ(A) = 10⁶ throughout · κ(H) = 100 · the answer is the same answer for every basisorthonormal — κ(Z)1κ(ZᵀHZ)25.6relative error2.25·10⁻¹⁵first m basic — κ(Z)2·10⁴κ(ZᵀHZ)5.85·10⁸relative error8.5·10⁻¹⁰pivoted basic — κ(Z)2.06κ(ZᵀHZ)31.8relative error1.33·10⁻¹⁵what the choice costsdensity, orthonormal1density, fundamental0.5κ(ZᵀHZ) ÷ κ(Z)², naive1.5error, pivoted choice1.3·10⁻¹⁵every one of them is a basisand one of them loses fourteen digits
Fig. 17 The next essay’s comparison at an intermediate stop.
The 14 eigenvalues of a saddle-point matrix with 10 unknowns and 4 constraints, inside their closed-form bracketsK = [[H, Aᵀ], [A, 0]] with κ(H) = 100 and κ(A) = 100. The shaded bands are the Rusten–Winther brackets, computed from four numbers — the extreme eigenvalues of H and the extreme singular values of A — before the matrix was assembled: negative eigenvalues in [-0.995, -10·10⁻⁵] and positive ones in [0.01, 1.62]. The marks are the computed spectrum. There are exactly 10 above zero and 4 below, which is Sylvester's law of inertia and not a property of this matrix: K is congruent to blkdiag(H, −AH⁻¹Aᵀ), both blocks are definite, and congruence preserves signs. The two groups are separated by a gap containing zero, at a ratio of 39.3 between the innermost positive eigenvalue and the innermost negative one.-1-0.582271-0.1645420.2531860.6709151.088641.506370eigenvalue4 negative10 positivecounted before it was formedpositive10negative4at zero0innermost ratio39the zero block is a theoremand so is the count either side of it
Fig. 18 The matrix both routes are eliminating, from the previous essay.
The pivots Cholesky computes on a saddle-point matrix, and the one it stops at — row 11 of 14Every pivot Cholesky forms on K = [[H, Aᵀ], [A, 0]], in order, with the 10 taken inside H drawn as positive and the 11-th, which is not, drawn as the failure. It is not a near miss and it is not a rounding accident: the leading n × n block is positive definite, so the first 10 pivots are positive at any conditioning, and the next one is 0 − a₁ᵀH⁻¹a₁ where a₁ᵀ is the first row of A. That equals −(AH⁻¹Aᵀ)₁₁ = -3.7312, and the pivot the routine actually reports is -3.7312 — the same number to 15 digits. The failure has an address and a value, and both were available before the factorisation started.02468101210⁻³10⁻²10⁻¹110¹10²pivot, in order|pivot|negative, at row 11|S₁₁| from AH⁻¹Aᵀa failure with an addressrows before it10the pivot-3.7−(AH⁻¹Aᵀ)₁₁-3.7disagreement3.6·10⁻¹⁶it does not fail somewhereit fails at the constraint
Fig. 19 And the reason neither of them is a Cholesky of the whole thing.
Two penalties on the same problem, against the offset in the signalBest relative error for each penalty at four offsets. With no offset the two are within 7% of each other. At an offset of 10 the derivative penalty is 1.85 times better, because a constant lies in its null space and costs it nothing, while the norm penalty pays for the whole offset at every λ.best relative error at each offset‖x‖, offset 00.2035‖L₁x‖, offset 00.1901‖x‖, offset 20.0572‖L₁x‖, offset 20.0524‖x‖, offset 50.0333‖L₁x‖, offset 50.0245‖x‖, offset 100.0240‖L₁x‖, offset 100.0129what the null space buysadvantage at offset 01.1advantage at offset 21.1advantage at offset 51.4advantage at offset 101.9the norm penalty pays for a constantthe derivative penalty does not
Fig. 20 A null space met in a different field, where it is the thing that makes an answer non-unique rather than the thing that makes it computable.
The least-squares solution as a projection, with the right angle measuredThe column space drawn edge-on as a plane, the data vector above it, and the perpendicular dropped to the plane, with the residual marked at a right angle to it.everything Ax can reachb = (1.1, 0.4, 1.5)Ax, the closest reachable pointr = b − Ax‖Aᵀr‖ / (‖A‖‖r‖)1.7·10⁻¹⁶‖b‖² − ‖Ax‖² − ‖r‖²1.3·10⁻¹⁵‖r‖1.3200 random nearby points of the plane were tried; none is closer.a 3×2 system, Householder QRperpendicularity is checked
Fig. 21 The projection the least-squares field is built on, which is what x = x_p + Zv is doing.
QᵀQ from classical Gram–Schmidt and from Householder on the 8×8 Hilbert matrixTwo eight-by-eight tables of QᵀQ. The upper one has ones on the diagonal and entries as large as one off it; the lower one is the identity to three decimal places everywhere.A = H8 · κ = 1.5·10¹⁰ · both factorisations reconstruct A to 6·10⁻¹⁷the diagonal is 1 in both — every column is a unit vector either way1.000000000001.000000000001.000000000001.000000000001.00000.002-0.002000001.0000.125-0.13300000.0020.1251.000-1.0000000-0.002-0.133-1.0001.000classical Gram–Schmidt1.000000000001.000000000001.000000000001.000000000001.000000000001.000000000001.000000000001.000Householderclassical ‖QᵀQ − I‖1.4Householder ‖QᵀQ − I‖1.4·10⁻¹⁵largest off-diagonal 1 against 3.1·10⁻¹⁶length is not angle
Fig. 22 The number that decides whether a computed Z is a basis at all.
The Schur complement left on a 15-unknown separator, shaded by the size of each entryA 15 × 15 grid, its middle column taken as a separator, and both halves eliminated exactly. What is left on the separator is 100 per cent nonzero — the sparsity field's result, unchanged: eliminating a variable couples everything it touched, and by the end everything is coupled to everything. The shading is what that field does not measure. The entries fall away smoothly from the diagonal, because the Schur complement is a discrete Green's function — the operator mapping data on the separator to response on the separator — and away from the diagonal that is an integral operator with a smooth kernel. The outlined block is the 7 × 8 between the separator's two halves: every entry nonzero, and 5 columns describe it to eight digits. The rank structure was not put there by the elimination. It was in the differential operator before anything was discretised.the separator's 15 unknowns, in the order they sit on the lineoutlined: the block between the two halvesdense, and not independententries nonzero1the block56columns it needs5numbers stored150entries in the square225every entry is nonzeroand six columns describe them
Fig. 23 What a Schur complement does to a sparsity pattern, from the sparsity field: dense, whatever it came from.
The spectrum of P⁻¹K with S = AH⁻¹Aᵀ, exactly, at 10 unknowns and 4 constraintsP = blkdiag(H, S). With S the exact Schur complement AH⁻¹Aᵀ the preconditioned matrix has exactly three distinct eigenvalues — 1 with multiplicity n − m = 6, and (1 ± √5)/2 with multiplicity 4 each. Those are 1 − φ = -0.618034 and φ = 1.61803, the golden ratio, which arrives from λ² − λ − 1 = 0 rather than from anything anybody chose. The dashed lines are that closed form and the marks are the computed spectrum; here they are 3 distinct values and the largest distance from the closed form anywhere is 2.909·10⁻¹⁴. A minimal polynomial of degree three means a Krylov method finishes in three steps, which is what the next figure measures.00.3670080.7340171.101031.468031.835040eigenvalue of P⁻¹Kwritten down, then computeddistinct3at 16φ computed1.6off the closed form2.9·10⁻¹⁴1 − φ1φthe preconditioner's effect is a theoremand the golden ratio is in it
Fig. 24 And the route that eliminates nothing and preconditions instead, from the next essay but one.
Backward and forward error against the condition numberA log–log plot over twelve decades of condition number. The backward error is a flat line at ten to the minus sixteen; the forward error rises in proportion to the condition number.110²10⁴10⁶10⁸10¹⁰10¹²10¹⁴10⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹condition number κ(A)relative errorforward errorbackward errorpredicted: κ · u8×8, 20 seeds per κ; dashed is the worstthe problem worsens, not the method
Fig. 25 The identity underneath the whole comparison, drawn in the field that owns it.
Three bases for the same null space, at 10 unknowns and 4 constraintsThe same constrained problem solved three times, differing only in which basis Z is used for the null space of A. The orthonormal basis, from a QR of Aᵀ, has κ(Z) = 1 exactly and is dense — 100 per cent of its entries are nonzero. The fundamental basis built on the first 4 columns has κ(Z) = 1.994·10⁶, and its reduced Hessian comes out at 5.452·10¹², which is κ(Z)² to within a factor of 1.37 — the square attained rather than bounded. Its answer is wrong by 5.41·10⁻⁶, against 6.32·10⁻¹⁶ for the orthonormal one. Choosing the same kind of basis by pivoting instead gives κ(Z) = 2.06, an error of 1.34·10⁻¹⁵, and the same 50 per cent density: all of the sparsity and none of the loss.κ(A) = 10⁶ throughout · κ(H) = 100 · the answer is the same answer for every basisorthonormal — κ(Z)1κ(ZᵀHZ)25.6relative error6.32·10⁻¹⁶first m basic — κ(Z)1.99·10⁶κ(ZᵀHZ)5.45·10¹²relative error5.41·10⁻⁶pivoted basic — κ(Z)2.06κ(ZᵀHZ)31.9relative error1.34·10⁻¹⁵what the choice costsdensity, orthonormal1density, fundamental0.5κ(ZᵀHZ) ÷ κ(Z)², naive1.4error, pivoted choice1.3·10⁻¹⁵every one of them is a basisand one of them loses fourteen digits
Fig. 26 The basis question at an intermediate badness, from the essay that takes it up.
What each way of eliminating a constraint inherits, over five decades of κ(A)The same system solved twice, at 8 unknowns and 2 constraints with κ(H) = 100. The range-space method forms S = AH⁻¹Aᵀ and inherits κ(S), which rises from 11.43 to 1.127·10¹¹ — the square of κ(A), for the reason the normal equations square it. The null-space method solves with the reduced Hessian ZᵀHZ, whose condition number is 55.28 at the start of the sweep and 55.28 at the end: it does not contain κ(A) at all. The two forward errors, measured against a solution computed in BigInt rationals, follow their own condition numbers: 2.137·10⁻⁶ against 1.053·10⁻¹¹ at the far end. Both methods are correct and one of them is usable.01234510⁻¹⁷10⁻¹³10⁻⁹10⁻⁵10⁻¹10³10⁷10¹¹log₁₀ κ(A)condition number, and relative errorκ(S)κ(ZᵀHZ)range-space errornull-space erroragainst a BigInt answerκ(S) at κ(A) = 10⁵1.1·10¹¹κ(ZᵀHZ), all stops55range-space forward error2.1·10⁻⁶null-space forward error1.1·10⁻¹¹both are the same algebraand only one squares
Fig. 27 Two constraints rather than three, where the Schur complement is smaller and squares just as hard.
ν(σ), the number of eigenvalues below σ, counted from the signs of an unpivoted LDLᵀThe staircase is the number of negative pivots in an LDLᵀ factorisation of A − σI, taken with no pivoting at all. Congruence preserves the signs, so that count is the number of eigenvalues below σ — Sylvester's law of inertia, used as an algorithm. The vertical marks are the 10 eigenvalues a Jacobi decomposition returns, which is a completely different computation; every step of the staircase is at one of them and every one of them has a step. Over 2000 shifts placed at random across the interval the two answers disagree 0 times. That is not a statement about a tolerance: the output is a count, so it is exactly right or wrong by a whole eigenvalue, and there is nothing in between for a rounding error to land in.-3-1.84971-0.6994290.4508571.601142.751433.901710246810shift σν(σ)an answer that is an integershifts2000disagreements0eigenvalues10steps10the marks are a Jacobi decompositionand the staircase never saw one
Fig. 28 The third route to the inertia, which neither elimination needs.
500 random symmetric orderings of a regularised saddle-point matrix, and what each factorisation reproducesA quasi-definite matrix — [[H + δI, Aᵀ], [A, −δI]] with δ = 10⁻⁴ — has an LDLᵀ factorisation with diagonal D for every symmetric permutation, so the ordering can be chosen for fill with no numerical veto at all. That is the count: 500 of 500 orderings factorise here, against 69.0 per cent for the same matrix with the zero block left where the problem put it. Each bar counts the orderings whose factorisation left a relative residual ‖PKPᵀ − LDLᵀ‖/‖K‖ in that decade, with the tallest holding 151 of the 500. They span 1.34·10⁻¹⁶ to 1.23·10⁻¹¹ — 5 orders — and the growth factor across them runs from 1 to 6428 — which is 0.643/δ, an inverse law that holds at every δ this figure is drawn at. Existence is not stability, and the theorem says only the first.-18-15-12-9-6-300log₁₀ ‖PKPᵀ − LDLᵀ‖ / ‖K‖share of orderingsbestworstexistence and stabilityfactorise1unregularised0.69worst growth6428growth × δ0.64the ordering is free to chooseand not free of consequence
Fig. 29 And what factorising the whole matrix requires, from the sixth essay in this field.
The augmented step's two condition numbers, and the one the error obeysκ₂ is a worst case over all perturbations of the same NORM, and a normwise perturbation is allowed to put its whole budget on the smallest entry of a matrix. The componentwise number — Skeel's ‖ |A⁻¹||A||x| ‖ / ‖x‖ — is a worst case over perturbations proportional to the entries, which is what a backward-stable factorisation actually makes. For the augmented interior-point matrix the two are 3.044·10¹³ and 13.25 at μ = 10⁻¹², a ratio of 2.296·10¹², and the measured error is 9.434·10⁻¹⁶ — which is the second number times the unit roundoff and has nothing to do with the first. The componentwise line is still finding its level down to about μ = 10⁻⁴, where the two groups of constraints have not yet separated, and from there it does not move in the fourth digit; where it settles — 13.25 here — is set by how many constraints are active rather than by μ. Eliminating the second block to reach the condensed form destroys the distinction: there the componentwise number is 1.324·10¹⁴, tracking the normwise one, because the large entries have been summed into CᵀDC and are no longer separately identifiable.-12-10-8-6-4-2010⁻¹⁷10⁻¹³10⁻⁹10⁻⁵10⁻¹10³10⁷10¹¹10¹⁵log₁₀ μcondition number, and relative errorκ₂, augmentedcomponentwise, condensedcomponentwise, augmentederror, augmentedone matrix, two numbersκ₂ at μ = 10⁻¹²3·10¹³componentwise, same matrix13their ratio2.3·10¹²measured error9.4·10⁻¹⁶every library prints the top lineand the error obeys the third
Fig. 30 The number that describes the error on the field’s hardest matrix.
Three bases for the same null space, at 10 unknowns and 4 constraintsThe same constrained problem solved three times, differing only in which basis Z is used for the null space of A. The orthonormal basis, from a QR of Aᵀ, has κ(Z) = 1 exactly and is dense — 100 per cent of its entries are nonzero. The fundamental basis built on the first 4 columns has κ(Z) = 1.994·10⁸, and its reduced Hessian comes out at 3.801·10¹⁶, which is κ(Z)² to within a factor of 0.956 — the square attained rather than bounded. Its answer is wrong by 0.05179, against 1.07·10⁻¹⁵ for the orthonormal one. Choosing the same kind of basis by pivoting instead gives κ(Z) = 2.06, an error of 6.71·10⁻¹⁶, and the same 50 per cent density: all of the sparsity and none of the loss.κ(A) = 10⁶ throughout · κ(H) = 100 · the answer is the same answer for every basisorthonormal — κ(Z)1κ(ZᵀHZ)25.6relative error1.07·10⁻¹⁵first m basic — κ(Z)1.99·10⁸κ(ZᵀHZ)3.8·10¹⁶relative error0.0518pivoted basic — κ(Z)2.06κ(ZᵀHZ)31.9relative error6.71·10⁻¹⁶what the choice costsdensity, orthonormal1density, fundamental0.5κ(ZᵀHZ) ÷ κ(Z)², naive0.96error, pivoted choice6.7·10⁻¹⁶every one of them is a basisand one of them loses fourteen digits
Fig. 31 And the basis the flat line was quietly choosing.

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.

Named objects

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

Condition numberConstrained minimisationForward errorNormal equationsNull spaceNull space methodRange space methodReduced hessianSaddle-point systemsSchur complement