The matrix a constraint makes

A constraint the count stops seeing

Let one constraint drift towards being a combination of the others and the inertia of the saddle-point matrix keeps its promise only while σ²/|h| can be resolved — σ the constraint's smallest singular value, h the curvature along the direction it barely constrains. At h = −1 the count stops seeing the constraint at σ = 1.4·10⁻⁹, six decades before any rank test would drop it, and below that it reports a genuine minimum as a saddle on three to six draws in eight. No shift of H brings the constraint back: the correction loop shifts a problem that needed nothing by as much as 2,620. A perturbation of the constraint block does not bring it back either — it decides, at σ = √(|h|δ).

Worth reading first: The zero that is not a missing entry · An eigenvalue count that cannot be slightly wrong · Rank is a decision.

Gould’s theorem, which a minimum the Hessian cannot see turned into a second-order test, has a hypothesis that every measurement of the loop has so far kept: the constraint A has full row rank. Under it the saddle-point matrix K has the inertia of the reduced Hessian plus m eigenvalues of each sign, one pair for each constraint, and the count read off a factorisation of K says whether a point is a constrained minimum.

Real constraints lose that hypothesis gradually. Two linearised constraints of a nonlinear problem become nearly parallel as the iterates approach a point where they are tangent; a network’s conservation laws acquire a nearly redundant row when a component’s conductance goes to zero; an equality constraint and a bound that is active at the same place point the same way. In each case A keeps full rank in exact arithmetic and one of its singular values heads towards zero.

The shift that stops at the first right count measured the loop that raises a shift on H until the count is right, on constraints whose conditioning was spread evenly across their singular values, and closed on the case the published loop treats differently. This essay makes one singular value small and leaves the rest alone, so the question has a single knob: at what σ does the count stop seeing the constraint, what does it see instead, and what does each repair do about it.

Where an inertia count stops seeing a nearly dependent constraint, against the curvature along itFor a 10 × 4 saddle-point problem at a constrained minimum whose fourth constraint has singular value σ, the largest σ on a quarter-decade grid at which each route's count is first not (10, 4, 0), median of eight draws, against the curvature h of H along that constraint's weak direction, on logarithmic axes. The Bunch–Kaufman LDLᵀ count first fails at 1.8·10⁻¹¹ for h = -1·10⁻⁴, 1.8·10⁻¹⁰ for h = -0.01, 1.4·10⁻⁹ for h = -1, 1.8·10⁻⁸ for h = -100 — a fitted slope of 0.49 against |h|, with the dashed line of slope one half through the value at h = −1. The unpivoted elimination fails slightly higher. The count through an orthonormal null-space basis is right down to rounding, and a rank test at tolerance 10·u·‖A‖ drops the constraint only at 1.1·10⁻¹⁵.10⁻¹⁷10⁻¹⁶10⁻¹⁵10⁻¹⁴10⁻¹³10⁻¹²10⁻¹¹10⁻¹⁰10⁻⁹10⁻⁸10⁻⁷10⁻⁶|h|, the curvature of H along the weak directionσ at which the count is first wrong10⁻⁴10⁻³10⁻²10⁻¹110¹10²no interchangesLDLᵀ of Krank tolerancethrough Z: right to 10⁻¹⁶10 × 4, eight draws per curvatureh = -1·10⁻⁴: LDLᵀ first wrong at σ1.8·10⁻¹¹h = -0.01: LDLᵀ first wrong at σ1.8·10⁻¹⁰h = -1: LDLᵀ first wrong at σ1.4·10⁻⁹h = -100: LDLᵀ first wrong at σ1.8·10⁻⁸the pair's small eigenvalue is σ²/|h|the count loses it long before the rank does
Fig. 1 Where the count read off K first stops reporting the problem’s own inertia, against the curvature of H along the constraint’s weak direction. The line through Z sits at rounding; the rank test’s tolerance is the dashed horizontal.

The pair that belongs to the weak constraint

Write A in its singular value decomposition, UΣVᵀ, and put the unknowns in the basis of V. Each constraint direction viv_i now appears in K beside one multiplier, coupled by σi\sigma_i, and the last of them carries a 2 × 2 block that looks like

(hσσ0),λ=h2±h24+σ2\begin{pmatrix} h & \sigma \\ \sigma & 0 \end{pmatrix}, \qquad \lambda = \tfrac{h}{2} \pm \sqrt{\tfrac{h^2}{4} + \sigma^2}

where h is the curvature of H along the constraint’s weak direction v4v_4. The product of the two eigenvalues is −σ2\sigma^2, so they have opposite signs at every σ > 0: the pair contributes one positive and one negative eigenvalue however weak the constraint is. That is the theorem, restated for one constraint. The sizes are what matter numerically. One eigenvalue is about h and the other is about −σ2\sigma^2/h, and the second is the one that carries the constraint’s contribution to the count.

On the construction used here — ten unknowns, four constraints with singular values 1, 0.9, 0.8 and σ, a reduced Hessian with eigenvalues from 0.5 to 5, and H written directly in V’s basis — the smallest eigenvalue of K at σ = 10⁻⁴ is σ2\sigma^2/|h| to within a part in a thousand at h = −1, −100 and −0.01. It is 10⁻⁸ at h = −1. At σ = 10⁻⁸ it would be 10⁻¹⁶.

So the count is reading a sign whose magnitude falls like the square of the constraint’s weakness. A matrix whose entries are of order one can resolve an eigenvalue down to about u, and σ2\sigma^2/|h| reaches u at σuh\sigma \approx \sqrt{u|h|}, which is 10⁻⁸ at h = −1.

Where it stops, measured

The first figure makes that estimate a measurement. For each h and each of eight draws, σ is swept down from 1 in quarter decades, and each route’s count is compared with the problem’s own inertia, (10, 4, 0) — every draw is a genuine constrained minimum. The σ at which a route is first wrong is the largest σ at which it can no longer be trusted.

The Bunch–Kaufman LDLᵀ count is first wrong, in the median over draws, at σ = 1.8·10⁻¹¹ for h = −10⁻⁴, 1.8·10⁻¹⁰ for h = −0.01, 1.4·10⁻⁹ for h = −1 and 1.8·10⁻⁸ for h = −100. The fitted slope against |h| is 0.49 — ten times higher for every hundred times the curvature, the square root the pair predicts. The constant is smaller than the rough estimate: σ2\sigma^2/|h| at those values is about 2·10⁻¹⁸ to 3·10⁻¹⁸, a few hundredths of u, so the elimination keeps the sign of the small eigenvalue a little past where a naive reading of the matrix’s rounding says it should lose it. An elimination with no interchanges is first wrong slightly higher, at 3.2·10⁻¹¹ to 3.2·10⁻⁸, on the same slope.

The count through an orthonormal null-space basis is not wrong anywhere on the grid for three of the four curvatures, and at h = −100 only at 5.6·10⁻¹⁶. That route forms Z from a QR of ATA^{\mathsf{T}}, and a QR resolves the direction v4v_4 as long as σ is above the rounding of A itself; it never forms the pair at all.

And the constraint is still there. A rank decision at the conventional tolerance — singular values below max(m, n)·u·‖A‖, here 1.1·10⁻¹⁵ — keeps all four constraints down to σ = 1.1·10⁻¹⁵. Rank is a decision argued that a floating-point matrix does not have a rank until someone chooses a threshold; this is a second, unchosen threshold, set by the curvature of H rather than by anybody, and it sits four to seven decades above the chosen one.

What the count sees instead

A wrong count is not noise. Below its threshold the count reports one of two things, and which one depends on the sign of h.

What the inertia count says as a constraint becomes dependent, h = -1For σ from 1 down to 10⁻¹⁶ in half decades, eight draws of a 10 × 4 problem at a constrained minimum whose fourth constraint has singular value σ and whose Hessian has curvature -1 along that constraint's weak direction. Each bar stacks the draws whose count is the full problem's verdict, the verdict of the problem with the weak constraint dropped, and neither. The upper panel is a Bunch–Kaufman LDLᵀ of K, the lower one the count through an orthonormal null-space basis. The LDLᵀ count is the full verdict on every draw down to 10⁻⁸, and below that it is split between the full verdict and the dropped one at every σ, without settling.LDLᵀ of Kthe reduced Hessian through Z8 draws8 draws110⁻²10⁻⁴10⁻⁶10⁻⁸10⁻¹⁰10⁻¹²10⁻¹⁴10⁻¹⁶σ, the constraint's smallest singular valuefull problem: a minimumweak constraint droppedneitherevery draw is a genuine minimumrounding decides where the constraint ends
Fig. 2 Eight draws at each σ, h = −1, each bar split into the full problem’s verdict — a minimum — and the verdict of the problem with the weak constraint dropped — a saddle. The LDLᵀ count is all minimum to 10⁻⁸ and a mixture below it; the count through Z is all minimum to the bottom of the grid.

With h = −1 the weak direction curves downwards. If the fourth constraint were removed, that direction would be free, and the problem’s reduced Hessian would have a negative eigenvalue: the point would be a saddle of the problem with three constraints. Below σ = 10⁻⁸ that is exactly what the count starts reporting, (9, 5, 0) rather than (10, 4, 0), on some draws and not others: three of eight at σ = 10⁻⁸·⁵, four of eight at 10⁻¹², six of eight at 10⁻¹⁶, with the rest reporting the minimum and an occasional count that is neither.

It does not settle as σ keeps falling. The sign of an eigenvalue of size 10⁻²⁰ in a matrix whose rounding is 10⁻¹⁶ is decided by the rounding, and the rounding is different on every draw and at every σ. So the count has not switched from one verdict to the other. It has stopped being a function of the problem.

What the inertia count says as a constraint becomes dependent, h = 1For σ from 1 down to 10⁻¹⁶ in half decades, eight draws of a 10 × 4 problem at a constrained minimum whose fourth constraint has singular value σ and whose Hessian has curvature 1 along that constraint's weak direction. Each bar stacks the draws whose count is the full problem's verdict, the verdict of the problem with the weak constraint dropped, and neither. The upper panel is a Bunch–Kaufman LDLᵀ of K, the lower one the count through an orthonormal null-space basis. The LDLᵀ count is the full verdict on every draw down to 10⁻⁸, and below that it is split between the full verdict and counts that are neither at every σ, without settling.LDLᵀ of Kthe reduced Hessian through Z8 draws8 draws110⁻²10⁻⁴10⁻⁶10⁻⁸10⁻¹⁰10⁻¹²10⁻¹⁴10⁻¹⁶σ, the constraint's smallest singular valuefull problem: a minimumweak constraint droppedneitherevery draw is a genuine minimumrounding decides where the constraint ends
Fig. 3 The same sweep with h = +1. Below 10⁻⁸ the wrong counts are not a verdict of any problem: eleven positive eigenvalues and three negative, one too many of the first.

With h = +1 the dropped problem has the same verdict as the full one — the free direction curves upwards — so no wrong count can masquerade as a verdict. What the count reports instead, on three to six of eight draws, is a count with too few negative eigenvalues — eleven positive and three negative, more positive eigenvalues than there are unknowns, or a zero pivot. No second-order question has that answer. A code that checks the count for exactly (n, m, 0) sees “wrong” and nothing more specific.

So the same loss of resolution produces, depending on a curvature the solver has no reason to look at, either a plausible false verdict or an impossible one. The first is the dangerous case, and it is the one with h < 0 — negative curvature along a direction a nearly redundant constraint is holding in place, which is precisely the situation in which the constraint matters.

No shift of H brings it back

The loop that stops at the first right count responds to a wrong count in one way: it adds δ to every diagonal entry of H. Here that is the wrong repair, and the measurement says how wrong.

The inertia-correction shift on a minimum with a nearly dependent constraint, h = -1The shift the inertia-correction loop settles on — 0, 10⁻⁴, then a hundred times that, then eight times each failure — for eight draws of a 10 × 4 problem that is at a constrained minimum and needs no shift, against the singular value σ of its nearly dependent fourth constraint, with curvature -1 along the constraint's weak direction. Dots are the largest shift over the eight draws and bars at the floor mark draws left unshifted. Down to σ = 10⁻⁷ no draw is shifted. Below 10⁻⁸ 22 of the 88 draws are, by as much as 2620 at σ = 10⁻¹⁰.10⁻⁶10⁻⁵10⁻⁴10⁻³10⁻²10⁻¹110¹10²10³10⁴σ, the constraint's smallest singular valueshift the loop put on H10⁻⁴10⁻⁵10⁻⁶10⁻⁷10⁻⁸10⁻⁹10⁻¹⁰10⁻¹¹10⁻¹²10⁻¹³10⁻¹⁴h = -1, eight draws per σ, every one a minimumdraws shifted, of 8822largest shift, at σ = 10⁻¹⁰2621shift the problem needed0the bars are the draws the loop left aloneno shift of H can bring back a constraint the count has lost
Fig. 4 The shift the inertia-correction loop puts on H for eight draws at each σ, on problems that are all minima and need no shift. Stems and dots are the largest shift at each σ; the bars along the floor count the draws the loop left alone.

Down to σ = 10⁻⁷ the loop shifts nothing, because the count is right. Below 10⁻⁸ it shifts 22 of 88 draws, by as much as 5.12 at σ = 10⁻⁹, 2,620 at 10⁻¹⁰, 0.64 at 10⁻¹¹ and 10⁻¹², and 5.12 again at 10⁻¹⁴. Every one of those shifts is a Newton step on a problem convexified by something between 10⁻⁴ and several thousand, on a problem whose reduced Hessian has smallest eigenvalue 0.5.

The mechanism is in the pair. Adding δ to H changes the block to [[h + δ, σ], [σ, 0]]. For δ < |h| the small eigenvalue is still σ2\sigma^2/|h + δ|, still unresolvable, still a coin toss. For δ > |h| the weak direction now curves upwards and the dropped problem’s verdict becomes “minimum” — but the small eigenvalue is −σ2\sigma^2/(h + δ), still unresolvable, so the count can still read wrong the other way. There is no shift at which σ2\sigma^2 is resolved, because σ2\sigma^2 is not a property of H. The loop stops when a reading happens to come out right, and the shift it has reached by then is decided by how many readings that took.

At h = −100 the loop shifts 27 of 88 draws, and the largest shift is 5.12: no draw’s loop reached a shift anywhere near |h| = 100, because each stopped on a reading that came out right first. The shift reported is not about the curvature in either case.

A perturbation that decides

The second repair codes use for dependent constraints acts on the other block. Subtract a small δc\delta_c from the constraint block’s diagonal — K’s zero block becomes δcI-\delta_c I — and the pair becomes

(hσσδc),det=hδcσ2\begin{pmatrix} h & \sigma \\ \sigma & -\delta_c \end{pmatrix}, \qquad \det = -h\,\delta_c - \sigma^2

With h < 0, the determinant is positive when σ2\sigma^2 < hδc|h|\,\delta_c and negative when σ2\sigma^2 > hδc|h|\,\delta_c. A negative determinant is one eigenvalue of each sign, the full verdict; a positive determinant with a negative trace is two negative eigenvalues, the dropped verdict. And none of the three quantities in that comparison is small unless σ is: hδc|h|\,\delta_c at δc\delta_c = 10⁻⁸ and h = −1 is 10⁻⁸, which any factorisation resolves.

What the inertia count says as a constraint becomes dependent, h = -1, constraint block perturbed by 10⁻⁸For σ from 1 down to 10⁻¹⁶ in half decades, eight draws of a 10 × 4 problem at a constrained minimum whose fourth constraint has singular value σ and whose Hessian has curvature -1 along that constraint's weak direction. Each bar stacks the draws whose count is the full problem's verdict, the verdict of the problem with the weak constraint dropped, and neither. The upper panel is a Bunch–Kaufman LDLᵀ of K with 10⁻⁸ subtracted along the constraint block's diagonal, the lower one the count through an orthonormal null-space basis. Every draw reads the full verdict above σ = 10⁻⁴, the square root of |h| times δc, and the dropped one below it.LDLᵀ of K − 10⁻⁸ on the constraint blockthe reduced Hessian through Z8 draws8 draws110⁻²10⁻⁴10⁻⁶10⁻⁸10⁻¹⁰10⁻¹²10⁻¹⁴10⁻¹⁶σ, the constraint's smallest singular valuefull problem: a minimumweak constraint droppedneitherevery draw is a genuine minimumthe perturbation decides where the constraint ends
Fig. 5 The count after subtracting 10⁻⁸ along the constraint block’s diagonal, h = −1. Every draw reads the minimum above σ = 10⁻⁴ and every draw reads the saddle below it. The dashed line is hδc\sqrt{|h|\,\delta_c}.

Every draw reads the full verdict above σ = hδc\sqrt{|h|\,\delta_c} = 10⁻⁴ and every draw reads the dropped verdict below it. At the threshold itself, 10⁻⁴, the eight draws split five to three. There is no scatter anywhere else on the grid of thirty-three values of σ.

What the inertia count says as a constraint becomes dependent, h = -100, constraint block perturbed by 10⁻¹²For σ from 1 down to 10⁻¹⁶ in half decades, eight draws of a 10 × 4 problem at a constrained minimum whose fourth constraint has singular value σ and whose Hessian has curvature -100 along that constraint's weak direction. Each bar stacks the draws whose count is the full problem's verdict, the verdict of the problem with the weak constraint dropped, and neither. The upper panel is a Bunch–Kaufman LDLᵀ of K with 10⁻¹² subtracted along the constraint block's diagonal, the lower one the count through an orthonormal null-space basis. Every draw reads the full verdict above σ = 10⁻⁵, the square root of |h| times δc, and the dropped one below it.LDLᵀ of K − 10⁻¹² on the constraint blockthe reduced Hessian through Z8 draws8 draws110⁻²10⁻⁴10⁻⁶10⁻⁸10⁻¹⁰10⁻¹²10⁻¹⁴10⁻¹⁶σ, the constraint's smallest singular valuefull problem: a minimumweak constraint droppedneitherevery draw is a genuine minimumthe perturbation decides where the constraint ends
Fig. 6 h = −100 with a perturbation of 10⁻¹²: the threshold hδc\sqrt{|h|\,\delta_c} is 10⁻⁵, and the verdict switches there on every draw.

At h = −100 and δc\delta_c = 10⁻¹² the threshold is 10⁻⁵, and the verdicts switch there on every draw: eight full at 10⁻⁴·⁵, four full, three dropped and one neither at 10⁻⁵, eight dropped from 10⁻⁵·⁵ down. At h = −100 and δc\delta_c = 10⁻⁸ the threshold is 10⁻³ and the switch is there too.

That is a genuine repair of the thing rounding was doing — the count is a function of the problem again — and it is worth being precise about what it repairs. It does not make the count see the constraint. It moves the place where the constraint stops being seen from σ109h\sigma \approx 10^{-9}\sqrt{|h|}, set by rounding, to σ = hδc\sqrt{|h|\,\delta_c}, set by δc\delta_c, and it makes that place exact. With δc\delta_c = 10⁻⁸ the count declares the constraint dependent five decades earlier than rounding did, on every draw, including draws whose unperturbed count was right. The perturbation that does the work found the constraint-block perturbation deciding legality and growth for every ordering of a quasi-definite matrix; here the same perturbation is deciding rank, and its decision depends on the curvature along the direction it is deciding about.

Where a weak constraint comes from

The construction chooses σ directly, and it is fair to ask whether problems hand it over in this form. They do, and the commonest source is one these essays have already met with the dependence exact rather than near.

A network’s conservation laws are the rows of its node–arc incidence matrix, one per node, and the rows sum to zero: flow into every node balances, so the balance at the last node is implied by all the others. The vertex nobody solves for measured the three ways of removing that exact dependence, and every code removes it by grounding a node or an equivalent. What grounding cannot remove is a dependence that is nearly exact. When a part of the network is attached to the rest by arcs whose weight is small — a component nearly isolated, a pipe nearly closed — the conservation law for that part is nearly implied by the others, and the incidence matrix weighted by the arcs acquires a singular value that goes to zero with the small weight. The tree the resistances choose found that spreading resistances over six decades is an ordinary network; a singular value of 10⁻⁹ is three more decades.

The second source is degeneracy at a solution. When more constraints are active at a point than the geometry needs — two of them nearly parallel, or an equality and a bound touching at the same place — the Jacobian of the active constraints is nearly rank-deficient exactly at the point being certified. An interior-point method meets this at the end of its solve, where a condition number sent to infinity found it already separating its diagonal by many orders, and the end of the solve is where a second-order verdict is read.

In both cases the curvature along the weak direction is whatever the objective happens to have there, and nothing in the problem’s statement makes it positive.

What a code would need to read

The threshold hδc\sqrt{|h|\,\delta_c} has two factors and a code chooses only one of them. The curvature h along a constraint’s weak direction is not something an optimiser computes: finding it needs the constraint’s smallest singular vector and one product with H. A code that chooses δc\delta_c without it is choosing the dependence threshold only up to a factor of h\sqrt{|h|}, which on these problems is a factor of a hundred between h = −10⁻⁴ and h = −1.

It also means that the constraint-block perturbation and the Hessian shift are not interchangeable repairs for a wrong count, although both are responses to the same symptom. A wrong count caused by indefinite curvature in the null space is repaired by shifting H, and the shift loop’s own measurement says how badly. A wrong count caused by a nearly dependent constraint is not repaired by shifting H at any size, and is replaced by an exact decision when δc\delta_c is applied. The symptom — the integer is not (n, m, 0) — is the same in both, and a solver that sees only the integer has no way to tell which it is looking at.

The null-space route can. Its count is right to rounding on every draw here, because it forms Z by a QR that resolves σ down to u·‖A‖. Two ways to remove a constraint measured the price of that route in fill and conditioning; this is a place where it earns it, at the cost of one QR of ATA^{\mathsf{T}} performed only when the count has gone wrong.

When the weak direction is coupled

The construction so far writes H with no coupling between the weak direction and the null space, which isolates the pair. Couple them — off-diagonal entries of size 0.3 in V’s basis — and the curvature that enters the pair is no longer h but the Schur complement h − cTc^{\mathsf{T}}(ZᵀHZ)⁻¹c, which does not go to zero with h.

Where an inertia count stops seeing a nearly dependent constraint, against the curvature along itFor a 10 × 4 saddle-point problem at a constrained minimum whose fourth constraint has singular value σ, the largest σ on a quarter-decade grid at which each route's count is first not (10, 4, 0), median of eight draws, against the curvature h of H along that constraint's weak direction, on logarithmic axes. The Bunch–Kaufman LDLᵀ count first fails at 5.6·10⁻¹⁰ for h = -1·10⁻⁴, 7.8·10⁻¹⁰ for h = -0.01, 2.1·10⁻⁹ for h = -1, 3.2·10⁻⁸ for h = -100 — a fitted slope of 0.28 against |h|, with the dashed line of slope one half through the value at h = −1. The unpivoted elimination fails slightly higher. The count through an orthonormal null-space basis is right down to rounding, and a rank test at tolerance 10·u·‖A‖ drops the constraint only at 1.1·10⁻¹⁵.10⁻¹⁷10⁻¹⁶10⁻¹⁵10⁻¹⁴10⁻¹³10⁻¹²10⁻¹¹10⁻¹⁰10⁻⁹10⁻⁸10⁻⁷10⁻⁶|h|, the curvature of H along the weak directionσ at which the count is first wrong10⁻⁴10⁻³10⁻²10⁻¹110¹10²no interchangesLDLᵀ of Krank tolerancethrough Z: right to 10⁻¹⁶10 × 4, eight draws per curvature, coupling 0.3h = -1·10⁻⁴: LDLᵀ first wrong at σ5.6·10⁻¹⁰h = -0.01: LDLᵀ first wrong at σ7.8·10⁻¹⁰h = -1: LDLᵀ first wrong at σ2.1·10⁻⁹h = -100: LDLᵀ first wrong at σ3.2·10⁻⁸the pair's small eigenvalue is σ²/|h|the count loses it long before the rank does
Fig. 7 The same measurement with coupling 0.3 between the weak direction and the null space. The first failures at small |h| are pushed up, the slope falls to 0.28, and the count through Z is still right to rounding.

With coupling, the first failure moves up at every curvature — 5.6·10⁻¹⁰, 7.8·10⁻¹⁰, 2.1·10⁻⁹ and 3.2·10⁻⁸ at h = −10⁻⁴, −0.01, −1 and −100 — and the fitted slope falls to 0.28. At small |h| the coupling term dominates the effective curvature and the threshold stops depending on h; at large |h| the curvature dominates and the h\sqrt{|h|} law returns. The picture is the same picture with the curvature replaced by the one the pair actually sees, and the null-space count is unaffected.

What this rests on, and what it leaves

One shape, 10 × 4, one weak constraint, and a Hessian constructed in the constraint’s own singular basis so that h and its coupling are chosen directly. Eight draws per point. The rank tolerance quoted is the conventional max(m, n)·u·‖A‖ and is not itself measured.

The claim is about the count, not about the solve. A Newton step computed from K near σ = 10⁻⁹ has its own accuracy question — the multiplier of a nearly dependent constraint is poorly determined by the data, whatever the factorisation does — and that is not measured here.

The claim that fails

The claim is that a count and a rank test drop a dependent constraint at the same place: the count reads the matrix, the rank test reads the constraint, and a constraint that has numerical rank is one the matrix still carries. Fed curvature −1 along the weak direction and required to show the count’s first failure below 10⁻¹⁴, it fails at 1.4·10⁻⁹. The null-space count kept beside it, right to rounding, is what makes the failure the count’s rather than the problem’s.

Still open: the step, the loop that knows, and several weak constraints

The accuracy of the step itself. A factorisation of K that has lost the sign of σ2\sigma^2/|h| has lost more than a sign: the pivot it divided by is wrong in every digit. How the Newton step’s error in the weak direction and in its multiplier grows as σ falls, and whether it grows before or after the count fails, decides whether a code that trusts its step but not its count is any safer.

A loop that tells the two causes apart. When the count is wrong, one QR of ATA^{\mathsf{T}} both reveals σ and gives the count through Z. A loop that performs it once on a wrong count, and shifts H only when the null-space count is also wrong, would never apply the Hessian shift measured above. What that costs on the problems where the shift was the right repair is the other half of the measurement.

Several nearly dependent constraints. Two weak constraints give two pairs, each with its own σ2\sigma^2/|hih_i|, and a coupling between their weak directions mixes the two curvatures. Whether the count fails at the weaker of the two thresholds, or at a threshold set by the coupled 2 × 2 curvature, is the same question a wrap with two near-zeros asked of a correction, asked of a count.

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.

CertificateInertiaInertia correctionLDLᵀ factorisationNull-space methodNumerical rankQuasi-definite matrixRank deficiencyReduced hessianSaddle-point systemsSchur complement