The eigenvalue problem that is not linear

Every eigenvalue real, and a test that says so

A quadratic eigenvalue problem has no reason to have real eigenvalues. One class does, as a property rather than an outcome, and the proof is a Cholesky that completes. The boundary of the class has a closed form, and at the boundary the arithmetic loses half its digits with nothing ill conditioned anywhere.

Worth reading first: A matrix that depends on its own eigenvalue · A factorisation with nothing to pivot for · An eigenvalue count that cannot be slightly wrong · The condition number is an amplifier.

A symmetric matrix has real eigenvalues, and the fact is so familiar that it is easy to forget it is a theorem about a class rather than an observation about a computation. Nothing has to be measured; symmetry is checkable by inspection, and realness follows.

A quadratic eigenvalue problem with symmetric coefficients has no such guarantee. The damped chain in the field’s first essay has M, C and K all symmetric and positive definite, and its eigenvalues are complex whenever the damping is light — which is what makes the physical thing oscillate. Symmetry buys nothing here.

There is a class in which realness comes back as a property, and it comes with three things this site wants: a certificate that is a factorisation, a boundary with a closed form, and a failure at the boundary that has nothing to do with conditioning.

The 16 real eigenvalues of an overdamped chain, in two groups of 8, with the certificate between themA chain of 8 masses with C = 8K, which is above the critical damping 5.75877 = 1/sin(π/2(n+1)), so the quadratic is hyperbolic and every one of its 16 eigenvalues is real. The vertical line is the μ at which Q(μ) is negative definite — a Cholesky that completes, and the whole proof that the spectrum is real. It also lies in the gap: exactly 8 eigenvalues above it and 8 below, with a gap of 0.6698 between the two groups. One factorisation answers both questions, which is the second thing a boolean would not have carried.-33-28.2505-23.5009-18.7514-14.0018-9.25229-4.502750eigenvalueQ(μ) ≺ 0one Cholesky, two answersabove the certificate8below it8the gap0.67critical β for this n5.8the spectrum is real by classnot by outcome
Fig. 1 The 2n eigenvalues of an overdamped chain, in two groups of n, with the certificate that proves they are real sitting in the gap between them.

The class, and the test that is a Cholesky

Q is hyperbolic when M, C and K are symmetric with M positive definite and

(xᵀCx)² > 4(xᵀMx)(xᵀKx)   for every x ≠ 0.

Written that way it is useless as a test: it quantifies over every vector in the space, and no finite computation checks it directly. The usable form is a theorem about definiteness —

Q is hyperbolic exactly when there is a real μ at which Q(μ) is negative definite.

— and that is one symmetric matrix and one Cholesky. The factorisation completes or it does not. A completed one is a certificate anybody can re-check for the cost of a factorisation; a failed one at every μ is the negative answer.

It is the same routine when symmetry is not enough uses as the test for definiteness and the same one that stops at a constraint row in the saddle-point field. Here it is doing a third job: proving something about a polynomial by factorising one of its values.

The certificate does two things

The μ that proves the spectrum is real also locates the gap. Measured at n = 8 with β = 8: the sixteen eigenvalues split into eight above the certificate and eight below, with a gap of 0.48 between the two groups. At β = 12 the split is the same and the gap is 1.27; at n = 10 with β = 9, ten and ten, gap 0.456.

That is not luck and it is not an extra computation. The two groups of a hyperbolic quadratic are called primary and secondary, they are separated by an interval, and Q is negative definite exactly on the interior of that interval. So one Cholesky answers two questions — is the spectrum real, and where does it divide — and the second answer is the one a method needs in order to ask for “the n eigenvalues nearest zero” and mean something by it.

The boundary, located twice

For the chain with C = βK the quantifier collapses. In the basis of K’s eigenvectors the condition becomes β²κ > 4 for every stiffness eigenvalue κ, so the binding constraint is the smallest κ, and the critical damping is

β* = 2/√κ_min = 1/sin(π/2(n+1)),

exactly. At n = 8 that is 5.758770483143636.

Where a quadratic stops being hyperbolic, located by a Cholesky and by a sineThe overdamping margin min over modes of (βκ)² − 4κ, for a chain of 8 masses, against β. It reaches zero at β* = 1/sin(π/2(n+1)) = 5.75877048314, which is the closed form. Bisecting on a completely different question — does a Cholesky of −Q(μ) complete for some μ — gives 5.75877048314, agreeing to 13 digits. Neither route computes an eigenvalue. The marks below the axis are the largest imaginary part in the computed spectrum, which is zero to the rounding level above β* and not below it, so a third route agrees with the other two about where the boundary is.44.95985.919596.879397.839188.7989810⁻¹110¹10²stiffness damping βoverdamping marginβ* = 5.75877two routes to a boundaryclosed form β*5.8by certificate5.8difference3.6·10⁻¹³bisection steps44a factorisation that completesand a sine, agreeing to twelve digits
Fig. 2 The overdamping margin against β, with the closed-form boundary marked. The bisection that finds it asks a completely different question.

Now locate the same boundary by bisection on the certificate: at each trial β, scan for a μ at which −Q(μ) has a Cholesky, and keep the half where one exists. Forty-four bisections later the answer is 5.75877048314, agreeing with the sine to thirteen digits. At n = 4 it is 3.2360679775 against 3.2360679775, and at n = 12, 8.29622981056.

Neither route computes an eigenvalue. One is a closed form from a trigonometric identity; the other is a factorisation that either completes or does not, asked forty-four times. That is this site’s two-routes habit applied to a boundary rather than to a value, and it is the strongest form of it available: the two computations have no arithmetic in common at all.

One detail from building it is worth keeping, because it is the kind of thing that would otherwise be silently wrong. The certificate is found by scanning μ, and as β approaches β* the window of μ that works closes like the square root of the margin. A scan of fixed resolution therefore reports “not hyperbolic” slightly before the true boundary — measured at n = 4, a critical β of 3.23617 against a true 3.23607, wrong in the fifth digit and looking perfectly convergent. The repair is a golden-section refinement inside the scan’s best bracket, and with it the two routes agree to thirteen digits instead of four.

An integer, read two ways

A hyperbolic quadratic offers something else that this site collects: an integer answer, available from a factorisation rather than from a spectrum.

The number of negative eigenvalues of Q(μ) — an inertia, and therefore an integer — counts eigenvalues relative to μ. It is exactly the device an eigenvalue count that cannot be slightly wrong uses for a symmetric matrix, carried to a matrix that depends on the shift.

And it does not mean the same thing on the two sides of the gap.

μ to the right of the gap    eigenvalues above μ = ν(μ)
μ to the left of the gap     eigenvalues above μ = 2n − ν(μ)

Measured at n = 8, β = 8: at μ = −12 the negative count is 5 and eleven eigenvalues lie above; at μ = −0.3 the count is 8 and eight lie above. A reader who takes the first rule everywhere gets 5 where the answer is 11 — not slightly wrong, and not an accuracy question at all. The count is exact on both sides. What is wrong is the reading, and the reading needs the gap, which the certificate has already located for the price of the Cholesky that proved the spectrum was real.

Seven of twelve shifts tested disagree under the naive reading. That is the interesting failure rate: not one in a hundred, which would look like an edge case, but more than half, which is what a rule that is simply the wrong rule looks like.

What happens at the boundary

Set β to exactly β* and the smallest mode’s two eigenvalues coincide. A double root of a quadratic is the classical place where accuracy halves, and here the loss can be measured against a closed form rather than argued about.

A double root, approached: the pair separates like √ε and the accuracy fails like √uA chain of 8 masses at β = β*(1 + ε), where β* is the critical damping and the smallest mode's two eigenvalues coincide at ε = 0. The separation of that pair is 0.9657√ε at every one of twelve decades — a spread of 1.02 in the constant — and the computed spectrum's worst relative error against the closed form rises as the pair closes, reaching 3.732·10⁻⁸ at the boundary itself. That is √u times a small constant: half the digits, on a problem where κ(K) is 32.16 at every stop and the coefficients are integers. Nothing here is ill conditioned in any sense this site has used before; what is unbounded is the derivative of the map from a coefficient to a double root.-15-13-11-9-7-5-3-110⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹log₁₀ ε, distance past the critical dampingseparation, and relative errorat ε = 0: 3.73·10⁻⁸separationcomputed errornothing is ill conditionedthe √ε constant0.97spread of it, twelve decades1error at the boundary3.7·10⁻⁸κ(K), unchanged throughout32half the digitsand no condition number to blame
Fig. 3 Approaching the boundary from the overdamped side: the separation of the colliding pair, and what the computed spectrum is worth.

At β = β*(1 + ε), the pair’s separation is 0.9823 √ε — the same constant to four digits over twelve decades of ε, which is the square-root law measured rather than quoted. And the computed spectrum’s worst relative error against the closed form runs

ε = 10⁻²    8.9·10⁻¹⁵
ε = 10⁻⁶    5.3·10⁻¹³
ε = 10⁻¹⁰   1.1·10⁻¹⁰
ε = 0       3.7·10⁻⁸

Eight digits gone at the boundary, which is √u times a small constant.

And nothing is ill conditioned. κ(K) is 32.16 at every stop of that sweep — it does not move at all, since β does not appear in K. The coefficients are integers. The matrices are symmetric and well scaled, ‖M‖, ‖C‖ and ‖K‖ are within a factor of thirty of each other, and there is no condition number anywhere in the problem above a hundred.

What is unbounded is the derivative of the map from a coefficient to a double root. Near a simple root, moving a coefficient by ε moves the root by O(ε); near a double root it moves it by O(√ε), so a rounding of size u produces an error of size √u whatever else is true. That is not the condition number of a matrix and it is not a defect of an algorithm: it is a property of the question, and it is the reason the condition number is an amplifier is a statement about simple eigenvalues and has to be, since at a repeated one the amplifier is infinite.

The site has met the same shape once, from the matrix side: a condition number for one eigenvalue ends at a defective matrix, where the sensitivity stops being a number. What is new here is that the approach to it is a slider — the damping — so the halving of the digits can be watched arriving, with a closed form available at every stop including the one where the two eigenvalues are genuinely equal.

What the class rules out, and what it does not

It is worth being exact about the boundary of the claim, because “the eigenvalues are real” is a strong-sounding sentence and it does less than it sounds like.

Hyperbolicity gives realness and the split into two groups. It says nothing about the eigenvalues being well separated: the primary group of a long chain is crowded near zero, and at n = 8 with β = 8 its eight members span 0.1255 to 0.1476 — a spread of twenty per cent across eight numbers, with neighbouring pairs a thousandth apart. Any method that wants an individual eigenvector out of that group is subject to the same gap arithmetic the gap decides the eigenvector sets out, and the class does not help.

It says nothing about conditioning either. A hyperbolic quadratic can be as badly scaled as any other, and the whole of the previous three essays applies to it unchanged — indeed the overdamped family is exactly what those essays measure on, because their measurements need real eigenvectors.

And it says nothing about the physics being sensible. Overdamped means every mode returns to rest without oscillating, which for a real structure usually means the model has been given far more damping than the thing it describes. The class is a mathematical convenience that occurs in practice — a heavily damped isolator, a lubricated bearing — rather than the common case.

How the certificate is actually found

The scan deserves one paragraph of description, since the essay leans on it twice.

λ_max(Q(μ)) is a continuous function of μ, negative exactly on the gap. So the certificate is found by minimising it: a coarse geometric scan over sixty values of μ spanning four decades, then a golden-section refinement inside the bracket containing the scan’s best point, then one Cholesky at the refined μ to produce the certificate itself. Fifty refinement steps take the bracket to the rounding level, which is far more than needed except at the boundary — and the boundary is exactly where the whole thing is being used, which is why the refinement is not optional.

The refinement is also what makes the bisection above honest. Without it, the two routes to β* disagree in the fifth digit and the disagreement is in the direction that looks like agreement: the certificate route reports a slightly larger critical damping, which is what a reader would expect from a conservative test. Convergent-looking, plausible, and wrong. The failure was found by the closed form and by nothing else, which is the argument for having one.

Why the class is worth having

Three practical things follow, and they are why this is a field’s essay rather than a curiosity.

A method can be told the spectrum is real before it starts. An eigensolver that knows its answers are real can work in real arithmetic throughout, which is a factor of two to four, and can use bisection and inertia counts rather than a general iteration — which is where the integer above earns its keep.

The gap gives a shift. “Compute the n eigenvalues nearest zero” is a well-posed request for a hyperbolic problem, because the two groups are separated and the certificate says where. For a general quadratic it is not: the eigenvalues are scattered in the plane and nearest has to be defined.

And the boundary is a design constraint. A structure at exactly critical damping is a structure whose modes are computed to eight digits instead of sixteen, and the loss cannot be repaired by scaling, by a better linearisation or by a better solver. The only repairs are more precision or a formulation that solves for the pair rather than the roots — which is a real trade, priced in buying the accuracy back, and it is the sort of thing worth knowing before the model is built rather than after.

The other quadratic classes, briefly

Hyperbolic is one of a small family of classes defined by what their spectra are forced to do, and naming the neighbours puts it in place.

Overdamped is hyperbolic with K positive definite as well, which is the case here: every eigenvalue is then real and negative, so every mode decays and none of them oscillates. Hyperbolic without that allows a positive eigenvalue, which is a mode that grows.

Gyroscopic is the opposite corner: M and K symmetric positive definite with C skew-symmetric, which is what a rotating system produces. Its eigenvalues are purely imaginary and come in quadruples, so nothing decays and everything oscillates — the exact reverse of overdamped, and the same kind of statement: a property of the class, not an outcome of a computation.

Palindromic is a different axis again, and it has its own essay two doors along: there the constraint is not on where the eigenvalues are but on how they pair, and the pairing turns out to be where half the accuracy is.

What the three have in common is worth the sentence. In each case a structural property of the coefficients forces a property of the spectrum, and in each case the interesting numerical question is not whether the property holds — it does, as algebra — but whether a computation on those coefficients returns something that has it. For hyperbolicity the answer is yes and the certificate is cheap. For palindromic structure the answer is no, and what to do about it is the surprise.

At other settings

The 16 real eigenvalues of an overdamped chain, in two groups of 8, with the certificate between themA chain of 8 masses with C = 7K, which is above the critical damping 5.75877 = 1/sin(π/2(n+1)), so the quadratic is hyperbolic and every one of its 16 eigenvalues is real. The vertical line is the μ at which Q(μ) is negative definite — a Cholesky that completes, and the whole proof that the spectrum is real. It also lies in the gap: exactly 8 eigenvalues above it and 8 below, with a gap of 0.48 between the two groups. One factorisation answers both questions, which is the second thing a boolean would not have carried.-29-24.8546-20.7092-16.5637-12.4183-8.2729-4.127480eigenvalueQ(μ) ≺ 0one Cholesky, two answersabove the certificate8below it8the gap0.48critical β for this n5.8the spectrum is real by classnot by outcome
Fig. 4 Damping just above the critical value, where the gap is at its narrowest and the certificate has the least room to be found in.
The 16 real eigenvalues of an overdamped chain, in two groups of 8, with the certificate between themA chain of 8 masses with C = 20K, which is above the critical damping 5.75877 = 1/sin(π/2(n+1)), so the quadratic is hyperbolic and every one of its 16 eigenvalues is real. The vertical line is the μ at which Q(μ) is negative definite — a Cholesky that completes, and the whole proof that the spectrum is real. It also lies in the gap: exactly 8 eigenvalues above it and 8 below, with a gap of 2.31 between the two groups. One factorisation answers both questions, which is the second thing a boolean would not have carried.-83-71.0448-59.0895-47.1343-35.1791-23.2238-11.26860eigenvalueQ(μ) ≺ 0one Cholesky, two answersabove the certificate8below it8the gap2.3critical β for this n5.8the spectrum is real by classnot by outcome
Fig. 5 And far above it, where the two groups are decades apart.
Where a quadratic stops being hyperbolic, located by a Cholesky and by a sineThe overdamping margin min over modes of (βκ)² − 4κ, for a chain of 4 masses, against β. It reaches zero at β* = 1/sin(π/2(n+1)) = 3.2360679775, which is the closed form. Bisecting on a completely different question — does a Cholesky of −Q(μ) complete for some μ — gives 3.2360679775, agreeing to 13 digits. Neither route computes an eigenvalue. The marks below the axis are the largest imaginary part in the computed spectrum, which is zero to the rounding level above β* and not below it, so a third route agrees with the other two about where the boundary is.22.539343.078693.618034.157384.6967210⁻¹110¹10²stiffness damping βoverdamping marginβ* = 3.23607two routes to a boundaryclosed form β*3.2by certificate3.2difference4.7·10⁻¹³bisection steps44a factorisation that completesand a sine, agreeing to twelve digits
Fig. 6 The boundary at four masses, where the scan that is not refined is wrong in the fifth digit.
Where a quadratic stops being hyperbolic, located by a Cholesky and by a sineThe overdamping margin min over modes of (βκ)² − 4κ, for a chain of 12 masses, against β. It reaches zero at β* = 1/sin(π/2(n+1)) = 8.29622981056, which is the closed form. Bisecting on a completely different question — does a Cholesky of −Q(μ) complete for some μ — gives 8.29622981056, agreeing to 13 digits. Neither route computes an eigenvalue. The marks below the axis are the largest imaginary part in the computed spectrum, which is zero to the rounding level above β* and not below it, so a third route agrees with the other two about where the boundary is.56.38277.765419.1481110.530811.913510⁻¹110¹10²stiffness damping βoverdamping marginβ* = 8.29623two routes to a boundaryclosed form β*8.3by certificate8.3difference3.5·10⁻¹³bisection steps44a factorisation that completesand a sine, agreeing to twelve digits
Fig. 7 And at twelve, where the critical damping is 8.296.
A double root, approached: the pair separates like √ε and the accuracy fails like √uA chain of 4 masses at β = β*(1 + ε), where β* is the critical damping and the smallest mode's two eigenvalues coincide at ε = 0. The separation of that pair is 1.75√ε at every one of twelve decades — a spread of 1.002 in the constant — and the computed spectrum's worst relative error against the closed form rises as the pair closes, reaching 2.855·10⁻⁸ at the boundary itself. That is √u times a small constant: half the digits, on a problem where κ(K) is 9.472 at every stop and the coefficients are integers. Nothing here is ill conditioned in any sense this site has used before; what is unbounded is the derivative of the map from a coefficient to a double root.-15-13-11-9-7-5-3-110⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹log₁₀ ε, distance past the critical dampingseparation, and relative errorat ε = 0: 2.86·10⁻⁸separationcomputed errornothing is ill conditionedthe √ε constant1.8spread of it, twelve decades1error at the boundary2.9·10⁻⁸κ(K), unchanged throughout9.5half the digitsand no condition number to blame
Fig. 8 The square-root law at four masses.
A double root, approached: the pair separates like √ε and the accuracy fails like √uA chain of 16 masses at β = β*(1 + ε), where β* is the critical damping and the smallest mode's two eigenvalues coincide at ε = 0. The separation of that pair is 0.5162√ε at every one of twelve decades — a spread of 1.014 in the constant — and the computed spectrum's worst relative error against the closed form rises as the pair closes, reaching 1.085·10⁻⁷ at the boundary itself. That is √u times a small constant: half the digits, on a problem where κ(K) is 116.5 at every stop and the coefficients are integers. Nothing here is ill conditioned in any sense this site has used before; what is unbounded is the derivative of the map from a coefficient to a double root.-15-13-11-9-7-5-3-110⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹log₁₀ ε, distance past the critical dampingseparation, and relative errorat ε = 0: 1.08·10⁻⁷separationcomputed errornothing is ill conditionedthe √ε constant0.52spread of it, twelve decades1error at the boundary1.1·10⁻⁷κ(K), unchanged throughout116half the digitsand no condition number to blame
Fig. 9 And at sixteen, where κ(K) is larger and the loss at the boundary is the same.
The 16 eigenvalues of an 8 × 8 quadratic eigenvalue problem, computed and in closed formλ²M + λC + K for a chain of 8 masses with C = 0.3M + 3K. The crosses are the closed form — one scalar quadratic per eigenvalue of K, whose roots are known exactly — and the discs are the eigenvalues a real Schur factorisation returns from the 16 × 16 first companion linearisation. There are 16 of them for a matrix with 8 rows, of which 2 are complex and arrive in conjugate pairs, so the eigenvectors cannot be independent: 9 vectors in 8 dimensions never are. The worst disagreement between the two routes is 8.65·10⁻¹⁵, and the routes share nothing but the three coefficient matrices.-13-10.6516-8.30312-5.95468-3.60624-1.2578-13-8.55186-4.103730.3444124.792559.24069real partimaginary parttwo routes, one spectrumeigenvalues16rows8complex2against the closed form8.7·10⁻¹⁵n rows and 2n eigenvaluesso the eigenvectors are not a basis
Fig. 10 The spectrum arriving on the real axis, from the field’s first essay.
The 16 eigenvalues of an 8 × 8 quadratic eigenvalue problem, computed and in closed formλ²M + λC + K for a chain of 8 masses with C = 0.3M + 1K. The crosses are the closed form — one scalar quadratic per eigenvalue of K, whose roots are known exactly — and the discs are the eigenvalues a real Schur factorisation returns from the 16 × 16 first companion linearisation. There are 16 of them for a matrix with 8 rows, of which 12 are complex and arrive in conjugate pairs, so the eigenvectors cannot be independent: 9 vectors in 8 dimensions never are. The worst disagreement between the two routes is 9.24·10⁻¹⁵, and the routes share nothing but the three coefficient matrices.-3-2.42945-1.8589-1.28835-0.717797-0.147247-3-1.93132-0.8626450.2060331.274712.34339real partimaginary parttwo routes, one spectrumeigenvalues16rows8complex12against the closed form9.2·10⁻¹⁵n rows and 2n eigenvaluesso the eigenvectors are not a basis
Fig. 11 And halfway there, with four pairs still complex.
ν(σ), 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. 12 The inertia count for a symmetric matrix, which this essay’s integer generalises.
The share of shifts inside a pair of eigenvalues that count it wrongly, against the pair's separationTwo eigenvalues at 1 and 1 + gap, with six others spread around them, and 100 shifts placed strictly between the pair — where the count must read 3. Down to a separation of 10⁻¹² every shift reads it correctly. At 10⁻¹³ one of 100 does not, at 10⁻¹⁴ 30 do not, and at 10⁻¹⁵ none of them reads it correctly. The boundary sits where n‖A‖u puts it — 4.859·10⁵ for this matrix — because the floating-point count is the exact count of a matrix within that distance of A. This is the only place in the method where the answer can be wrong**, and it is wrong by a whole eigenvalue when it is: the failure is a miscount, not a small error.-15-13-11-9-7-5-300.250.50.751log₁₀ separation of the pairshare of shifts counted wronglyn‖A‖uthe only place it failswrong at 10⁻¹²0wrong at 10⁻¹⁴30wrong at 10⁻¹⁵100n‖A‖u4.9·10⁵wrong by a whole eigenvalueor not wrong at all
Fig. 13 And the band where that count stops being exact.
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. 14 An inertia that is a theorem rather than a measurement.
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ᵀ)₁₁ = -328.56, and the pivot the routine actually reports is -328.56 — the same number to 13 digits. The failure has an address and a value, and both were available before the factorisation started.02468101210⁻⁵10⁻³10⁻¹10¹10³pivot, in order|pivot|negative, at row 11|S₁₁| from AH⁻¹Aᵀa failure with an addressrows before it10the pivot-329−(AH⁻¹Aᵀ)₁₁-329disagreement8.8·10⁻¹⁴it does not fail somewhereit fails at the constraint
Fig. 15 The same factorisation used as a test, failing at an address.
How often Cholesky still calls a 12×12 matrix positive definite, against λ_min/λ_max in units of the format's own roundoffThree curves, one per precision, of the share of 24 seeded matrices on which the factorisation succeeds. Measured in units of each format's unit roundoff the three lie almost on top of one another, with the edge — the smallest ratio at which every seed succeeds — at 1.0, 1.0, 1.8 times u. The absolute thresholds are 6·10⁻⁸, 2.3·10⁻¹⁰ and 2·10⁻¹⁶: nine orders of magnitude apart, and the same number in the format's own units.10⁻³10⁻²10⁻¹110¹10²10³10⁴00.250.50.751λ_min / λ_max, in units of the format's own ushare of seeds that succeed24 bits32 bits53 bitsone threshold, three formats24-bit edge, absolute6·10⁻⁸32-bit edge, absolute2.3·10⁻¹⁰53-bit edge, absolute2·10⁻¹⁶in units of u, at 53 bits1.8a yes-or-no question with a precision in itand a coin flip three decades below the edge
Fig. 16 Where definiteness stops being decidable in a given precision.
What a perturbation of 10⁻⁶ moves, against the gap it is applied acrossThree curves against the gap between two eigenvalues, both axes logarithmic. Two are flat; the third rises steeply as the gap closes and then levels off.10⁻⁹10⁻⁷10⁻⁵10⁻³10⁻⁸10⁻⁵10⁻²gap between the two eigenvalueshow far it movedthe eigenvectorsthe eigenvaluestheir plane‖E‖ / gapone perturbation, three answerseigenvalue shift, spread over the sweep1plane angle, spread over the sweep1eigenvector angle, spread1.6·10⁵the dashed line is Davis–Kahan's ‖E‖/gaptwo of the three never noticed
Fig. 17 What a gap between eigenvalues is worth to a method that computes values.
Three perturbations of 10⁻¹⁴, three eigenvectors, one planeA circle with three radii at widely different angles, one for each perturbation, and a table of their residuals showing all three satisfy the eigenvalue equation.every radius is an eigenvectorseed 11: 2.0°seed 23: 60.5°seed 41: 18.2°none of them is wrongspread of the returned angles1spread of the returned planes1.3·10⁻¹⁵worst ‖Ax − λx‖5·10⁻¹⁵an exactly repeated eigenvalueno correct answer to fail to return
Fig. 18 And what happens to the eigenvectors when the gap closes.
How far a perturbation of size ε moves an eigenvalue, 8×8A log–log plot of eigenvalue movement against perturbation size. The symmetric case lies on a line of slope one; the non-symmetric case lies on a line of slope one eighth, and at a perturbation of ten to the minus sixteen it has already moved by a hundredth.10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹size of the perturbation ‖δA‖how far the eigenvalues moveJordan block, ε^(1/8)symmetric, ≤ ‖δA‖rounding error alone moves it to 10⁻²six seeds per symmetric point; Jordan is closed formsymmetry beats precision
Fig. 19 The sensitivity of a simple eigenvalue, which at a double one stops being a number.
The condition number the problem has, and the one the solver's error analysis is written againstThe same eigenvalue of the same overdamped chain of 8 masses, in seven systems of units. Its condition number as an eigenvalue of the QUADRATIC — Tisseur's, with the three coefficient norms in the numerator and yᵀQ′(λ)x in the denominator — is 4.98 at γ = 1 and 4.98 at γ = 10⁶, a spread of 1 over six decades: it cannot move, because a change of units is not a change of problem. Its condition number as an eigenvalue of the LINEARISED MATRIX runs 49.66 to 7.844·10¹¹, a factor of 1.58·10¹⁰. The forward error follows the second one, and the first one is the honest description of the problem — so the substitution has manufactured an ill conditioning that belongs to the algorithm rather than to the question.012345610⁻¹10²10⁵10⁸10¹¹log₁₀ γ, the change of unitscondition numberthe linearisationthe quadraticone problem, two amplifiersκ(quadratic), first5κ(quadratic), last5κ(linearisation), last7.8·10¹¹how far the first moved1the problem is as well conditioned as everand the method is not
Fig. 20 A conditioning that does not move, in a field where the method’s does.
What two lines of scaling are worth: the same quadratic in nine systems of unitsThe forward error against the closed form for an overdamped chain of 8 masses, before and after Fan–Lin–Van Dooren scaling. The unscaled curve runs 7.49·10⁻¹⁴ to 0.001258 — every digit gone by the far end — and the scaled one runs 1.26·10⁻¹³ to 8.23·10⁻¹⁴, flat to within a factor of 2.01. The scaling is γ = √(‖K‖/‖M‖) and δ = 2/(‖K‖ + γ‖C‖), computed from three norms and nothing else, and the map back is λ = γμ with no rounding in the statement. Flatness is the half that matters: after scaling every stop of the sweep IS the same problem, so there is nothing left for the change of units to do.0246810⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹log₁₀ γ, the change of unitsforward erroras writtenafter scalingone change of variableunscaled, worst0.0013scaled, worst1.7·10⁻¹³orders recovered10scaled coefficient spread4.5the answer was never the problemthe units were
Fig. 21 And a repair that this loss is immune to, because it is not about the units.
What a reciprocal pairing is worth: three ways to the small half of a palindromic spectrumA palindromic quadratic of size 6 whose spectrum spreads by two decades for every decade of b. The general solver returns the large eigenvalues to 5.52·10⁻¹⁵ at every stop and the small ones to 1.041·10⁻⁷ at the far end. Taking the reciprocals of the large ones instead returns the small ones to 4.89·10⁻¹⁵ — seven orders, for a division, out of a symmetry the solver discarded. The structure-preserving route, which enforces the pairing exactly, is the worst of the three on the eigenvalues themselves: 6.538·10⁻⁶, because each pair comes from one computed number and both members carry its error. Preserving a symmetry and using one are different acts with different prices.1357910⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴log₁₀ b, the couplingrelative errorsmall half, directstructure-preservingsmall half, by 1/λone divisionlarge half, direct5.5·10⁻¹⁵small half, direct10⁻⁷small half, by 1/λ4.9·10⁻¹⁵structure-preserving6.5·10⁻⁶the structure is not decorationit is where half the accuracy is
Fig. 22 A different structure, and a different thing to do with it.
The 16 real eigenvalues of an overdamped chain, in two groups of 8, with the certificate between themA chain of 8 masses with C = 10K, which is above the critical damping 5.75877 = 1/sin(π/2(n+1)), so the quadratic is hyperbolic and every one of its 16 eigenvalues is real. The vertical line is the μ at which Q(μ) is negative definite — a Cholesky that completes, and the whole proof that the spectrum is real. It also lies in the gap: exactly 8 eigenvalues above it and 8 below, with a gap of 0.9861 between the two groups. One factorisation answers both questions, which is the second thing a boolean would not have carried.-41-35.0456-29.0912-23.1368-17.1824-11.228-5.27360eigenvalueQ(μ) ≺ 0one Cholesky, two answersabove the certificate8below it8the gap0.99critical β for this n5.8the spectrum is real by classnot by outcome
Fig. 23 Damping of ten, where the gap has opened to about one and the certificate has room.
The 16 real eigenvalues of an overdamped chain, in two groups of 8, with the certificate between themA chain of 8 masses with C = 14K, which is above the critical damping 5.75877 = 1/sin(π/2(n+1)), so the quadratic is hyperbolic and every one of its 16 eigenvalues is real. The vertical line is the μ at which Q(μ) is negative definite — a Cholesky that completes, and the whole proof that the spectrum is real. It also lies in the gap: exactly 8 eigenvalues above it and 8 below, with a gap of 1.539 between the two groups. One factorisation answers both questions, which is the second thing a boolean would not have carried.-58-49.6426-41.2852-32.9278-24.5704-16.213-7.855590eigenvalueQ(μ) ≺ 0one Cholesky, two answersabove the certificate8below it8the gap1.5critical β for this n5.8the spectrum is real by classnot by outcome
Fig. 24 And fourteen, with the secondary group pushed further left at every stop.
Where a quadratic stops being hyperbolic, located by a Cholesky and by a sineThe overdamping margin min over modes of (βκ)² − 4κ, for a chain of 6 masses, against β. It reaches zero at β* = 1/sin(π/2(n+1)) = 4.49395920743, which is the closed form. Bisecting on a completely different question — does a Cholesky of −Q(μ) complete for some μ — gives 4.49395920743, agreeing to 15 digits. Neither route computes an eigenvalue. The marks below the axis are the largest imaginary part in the computed spectrum, which is zero to the rounding level above β* and not below it, so a third route agrees with the other two about where the boundary is.33.748994.497995.246985.995976.7449710⁻¹110¹10²stiffness damping βoverdamping marginβ* = 4.49396two routes to a boundaryclosed form β*4.5by certificate4.5difference8·10⁻¹⁵bisection steps44a factorisation that completesand a sine, agreeing to twelve digits
Fig. 25 Six masses, where the critical damping is 4.49.
Where a quadratic stops being hyperbolic, located by a Cholesky and by a sineThe overdamping margin min over modes of (βκ)² − 4κ, for a chain of 10 masses, against β. It reaches zero at β* = 1/sin(π/2(n+1)) = 7.02667418333, which is the closed form. Bisecting on a completely different question — does a Cholesky of −Q(μ) complete for some μ — gives 7.02667418333, agreeing to 14 digits. Neither route computes an eigenvalue. The marks below the axis are the largest imaginary part in the computed spectrum, which is zero to the rounding level above β* and not below it, so a third route agrees with the other two about where the boundary is.56.171117.342228.513349.6844510.855610⁻¹110¹10²stiffness damping βoverdamping marginβ* = 7.02667two routes to a boundaryclosed form β*7by certificate7difference1.9·10⁻¹³bisection steps44a factorisation that completesand a sine, agreeing to twelve digits
Fig. 26 And ten, where it is 7.03 — the boundary grows like n because the longest wavelength decides it.
A double root, approached: the pair separates like √ε and the accuracy fails like √uA chain of 6 masses at β = β*(1 + ε), where β* is the critical damping and the smallest mode's two eigenvalues coincide at ε = 0. The separation of that pair is 1.26√ε at every one of twelve decades — a spread of 1.002 in the constant — and the computed spectrum's worst relative error against the closed form rises as the pair closes, reaching 4.55·10⁻⁸ at the boundary itself. That is √u times a small constant: half the digits, on a problem where κ(K) is 19.2 at every stop and the coefficients are integers. Nothing here is ill conditioned in any sense this site has used before; what is unbounded is the derivative of the map from a coefficient to a double root.-15-13-11-9-7-5-3-110⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹log₁₀ ε, distance past the critical dampingseparation, and relative errorat ε = 0: 4.55·10⁻⁸separationcomputed errornothing is ill conditionedthe √ε constant1.3spread of it, twelve decades1error at the boundary4.6·10⁻⁸κ(K), unchanged throughout19half the digitsand no condition number to blame
Fig. 27 The square-root law at six masses, with a different constant and the same exponent.
A double root, approached: the pair separates like √ε and the accuracy fails like √uA chain of 12 masses at β = β*(1 + ε), where β* is the critical damping and the smallest mode's two eigenvalues coincide at ε = 0. The separation of that pair is 0.6909√ε at every one of twelve decades — a spread of 1.013 in the constant — and the computed spectrum's worst relative error against the closed form rises as the pair closes, reaching 7.465·10⁻⁸ at the boundary itself. That is √u times a small constant: half the digits, on a problem where κ(K) is 67.83 at every stop and the coefficients are integers. Nothing here is ill conditioned in any sense this site has used before; what is unbounded is the derivative of the map from a coefficient to a double root.-15-13-11-9-7-5-3-110⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹log₁₀ ε, distance past the critical dampingseparation, and relative errorat ε = 0: 7.47·10⁻⁸separationcomputed errornothing is ill conditionedthe √ε constant0.69spread of it, twelve decades1error at the boundary7.5·10⁻⁸κ(K), unchanged throughout68half the digitsand no condition number to blame
Fig. 28 And twelve.
The 16 eigenvalues of an 8 × 8 quadratic eigenvalue problem, computed and in closed formλ²M + λC + K for a chain of 8 masses with C = 0.3M + 0.05K. The crosses are the closed form — one scalar quadratic per eigenvalue of K, whose roots are known exactly — and the discs are the eigenvalues a real Schur factorisation returns from the 16 × 16 first companion linearisation. There are 16 of them for a matrix with 8 rows, of which 16 are complex and arrive in conjugate pairs, so the eigenvectors cannot be independent: 9 vectors in 8 dimensions never are. The worst disagreement between the two routes is 1.72·10⁻¹⁵, and the routes share nothing but the three coefficient matrices.00.0753682-2-1.24498-0.4899610.2650581.020081.7751real partimaginary parttwo routes, one spectrumeigenvalues16rows8complex16against the closed form1.7·10⁻¹⁵n rows and 2n eigenvaluesso the eigenvectors are not a basis
Fig. 29 The other end of the damping slider, where every eigenvalue is complex and none of this applies.
How much two runs of the same fit agree about the factors, from 6 starting points eachEvery run here reaches its target to the rounding level — 3·10⁻¹³, 1.16·10⁻¹¹ and 2.39·10⁻¹⁵ at worst — so all three are successful factorisations. The bar is the worst agreement between any two of them about the *factors*, matched over permutations and scalings, which is exactly the freedom the uniqueness theorem allows. Kruskal's condition k_A + k_B + k_C ≥ 2r + 2 holds for the first (9 ≥ 8) and fails for the second (6 < 8), and the bars are 1.0000 and 0.0207. The matrix is the comparison the whole thing rests on: AB = (AM)(M⁻¹B) for every invertible M, so its runs agree to 0.1089 and its factors mean nothing on their own.6 × 6 × 6, rank 3 · 9 ≥ 81.00002 × 2 × 2, rank 3 · 6 < 80.02076 × 6 matrix, rank 3 · no condition0.1089worst agreement between two runs about the factors, 0 to 1every run fits to 3·10⁻¹³every run fits to 1.2·10⁻¹¹every run factorises to 2.4·10⁻¹⁵ and none agrees with anotherthe only thing that improvestensor, Kruskal holds1tensor, Kruskal fails0.021matrix0.11worst residual1.2·10⁻¹¹three successful fitsone recoverable answer
Fig. 30 Congruence preserving an inertia, which is what makes the count on this page an integer.
The block diagonal of a Bunch–Kaufman factorisation of an 8×8 saddle-point matrix at τ = 10⁻⁶The matrix D from PAPᵀ = LDLᵀ, drawn as a matrix. 4 of its blocks are 2×2 — the shaded pairs — and the rest are single entries. A 2×2 block is taken exactly where no single diagonal entry is large enough to divide by safely, which on a matrix whose lower-right block is zero by construction is most of it. The badge carries the residual of all three pivot rules.D from PAPᵀ = LDLᵀ — the shaded pairs are 2×2 pivots10⁻⁶0.749······0.749·········1.2·10⁻⁶1.4······1.4·········2.1·10⁻⁶0.549······0.549·········3.6·10⁻⁶0.614······0.614·three rules, one matrix‖PAPᵀ − LDLᵀ‖, blocks5.8·10⁻¹⁷‖PAPᵀ − LDLᵀ‖, diagonal3.1·10⁻¹¹growth, blocks1.3growth, diagonal5·10⁵the zero block is what the problem saysand one rule does not need it to be nonzero
Fig. 31 The pivot rule a symmetric indefinite factorisation needs, and which this one does without.
The growth factor of a 12×12 elimination, against the condition number of the matrixThree curves against κ. Cholesky's growth factor is exactly 1 at every condition number drawn — the elimination never produces an entry larger than the matrix already had. Partial pivoting on the same matrices reaches the same growth, and reaches it by making up to 9 row interchanges, each of which destroys the symmetry that was the reason to use a symmetric factorisation. The bound the general theory allows, 2^11 = 2048, is drawn above them both.10¹10³10⁵10⁷10⁹10¹¹110¹10²10³10⁴condition number of the matrixgrowth factorbound 2^11partial pivotingCholeskyno pivot to gain fromCholesky growth, every κ1Cholesky interchanges0partial pivoting, worst9the bound, 2^112048both eliminations reach the same growthand only one of them had to swap to get there
Fig. 32 A Cholesky’s growth factor, on the matrices where it completes.
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. 33 A spectrum split into two groups by a preconditioner rather than by a class.
The 16 real eigenvalues of an overdamped chain, in two groups of 8, with the certificate between themA chain of 8 masses with C = 20K, which is above the critical damping 5.75877 = 1/sin(π/2(n+1)), so the quadratic is hyperbolic and every one of its 16 eigenvalues is real. The vertical line is the μ at which Q(μ) is negative definite — a Cholesky that completes, and the whole proof that the spectrum is real. It also lies in the gap: exactly 8 eigenvalues above it and 8 below, with a gap of 2.31 between the two groups. One factorisation answers both questions, which is the second thing a boolean would not have carried.-83-71.0448-59.0895-47.1343-35.1791-23.2238-11.26860eigenvalueQ(μ) ≺ 0one Cholesky, two answersabove the certificate8below it8the gap2.3critical β for this n5.8the spectrum is real by classnot by outcome
Fig. 34 The widest gap the slider reaches.
A double root, approached: the pair separates like √ε and the accuracy fails like √uA chain of 16 masses at β = β*(1 + ε), where β* is the critical damping and the smallest mode's two eigenvalues coincide at ε = 0. The separation of that pair is 0.5162√ε at every one of twelve decades — a spread of 1.014 in the constant — and the computed spectrum's worst relative error against the closed form rises as the pair closes, reaching 1.085·10⁻⁷ at the boundary itself. That is √u times a small constant: half the digits, on a problem where κ(K) is 116.5 at every stop and the coefficients are integers. Nothing here is ill conditioned in any sense this site has used before; what is unbounded is the derivative of the map from a coefficient to a double root.-15-13-11-9-7-5-3-110⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹log₁₀ ε, distance past the critical dampingseparation, and relative errorat ε = 0: 1.08·10⁻⁷separationcomputed errornothing is ill conditionedthe √ε constant0.52spread of it, twelve decades1error at the boundary1.1·10⁻⁷κ(K), unchanged throughout116half the digitsand no condition number to blame
Fig. 35 And the collision at sixteen masses, where κ(K) is largest.

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.

CholeskyCondition numberDefective matrixDouble rootExact ground truthHyperbolic quadraticInertiaOverdampingQuadratic eigenvalue problem