The eigenvalue problem that is not linear

The eigenvalues that are answers to nothing

A rational approximant of degree five turns a six-by-six problem into a thirty-six-by-thirty-six one, and thirty-six numbers come back. Six are the answer. The rest are exact eigenvalues of the approximant, lying where the function it approximates is not a real number at all.

Worth reading first: The problem the solver was actually given · A matrix that depends on its own eigenvalue · Two approximants and one matrix size · Elimination is a sequence of choices.

A rational approximant with five poles turns a 6 × 6 nonlinear eigenvalue problem into a 36 × 36 standard one. Thirty-six numbers come back. Six of them are the answer.

That ratio is not an artefact of a small example. The linearisation has n(m+1) rows by construction, so the fraction of returned values that mean anything is 1/(m+1) and falls as the approximation improves. A better approximation returns proportionally more noise. That is the opposite of the arrangement rank is a decision describes, where a better computation makes a decision easier; here it makes the sorting problem larger while making the answers better.

36 eigenvalues come back, 6 of them mean somethingThe real eigenvalues of the n(m+1) = 36 that a rational approximant with 5 poles produces, on the real line, with the branch point at −0.4 marked. The 6 discs to the right are the answers, agreeing with the closed form to 7.74·10⁻⁴. The 6 crosses to the left are exact eigenvalues of the approximant lying where γ√(λ + c) is not a real number at all — so the residual that says nothing about accuracy is decisive as a filter: against T̃ all 12 look perfect, and against T the spurious ones do not have a residual. The remaining 24 are complex and are discarded the same way.-10123456789-101λbranch point at −0.4the closed formwhich of these is an answereigenvalues returned36wanted6past the branch point6complex24worst against the closed form7.7·10⁻⁴all of them exactfor a problem nobody asked
Fig. 1 Thirty-six eigenvalues, six of which are answers. The rest are past the branch point.

What the extras are

They are not errors. Every one of the thirty-six is an exact eigenvalue of the matrix that was factorised, to the rounding level, and the factorisation did nothing wrong. They are eigenvalues of the approximant, and the approximant is a different function from the one that was asked about.

Of the thirty-six, twelve are real. Six lie in the target set and agree with the closed form to 6·10⁻⁴. The other six lie between −0.53 and −0.84, and the branch point is at −0.4.

Every one of them is past the branch point — to the left of it, where γ√(λ + c) is the square root of a negative number and is not a real quantity at all. The remaining twenty-four are complex and are discarded the same way.

The filter

So the residual that is useless as a measure of accuracy is decisive as a filter, and it is worth being precise about the two roles.

Against the approximant, all thirty-six eigenvalues have a residual at rounding. That is the definition of an eigenvalue and it distinguishes nothing.

Against the original problem T(λ) = A − λI + γ√(λ + c)I, the six wanted values have residuals of 5·10⁻⁶ to 3·10⁻⁵ — small, and tracking the forward error as the problem the solver was actually given measures. The six spurious ones do not have a residual. Evaluating T there requires the square root of a negative number, so the quantity does not exist rather than being large.

That is a stronger separation than a threshold. A filter based on “reject anything whose residual exceeds ε” needs an ε and gets it wrong near the boundary; a filter based on “reject anything outside the domain of the function” needs nothing and cannot be marginal. The implementation reports Infinity with a flag rather than a NaN, because a NaN reaching a figure is a defect and a number outside a domain is a finding.

Why the extras sit there

It is worth working out, because the location is what makes the filter work and it is not obvious that it should be that clean.

The approximated problem is det(A + c₀I − λI + Σ αⱼ/(λ − ξⱼ) I) = 0. Multiplying through by ∏(λ − ξⱼ)ⁿ turns it into a polynomial equation of degree n(m+1), which is where the count comes from. Its roots are the eigenvalues of the linearisation.

The rational function r(λ) matches γ√(λ + c) closely on the target set, so wherever the original equation has a root, so does the approximated one — those are the six. Away from the target set r is under no obligation, and in particular on the branch cut, where g does not exist, r is a perfectly ordinary rational function with poles on the cut and it oscillates between them. Between two consecutive poles it passes through every real value, including whatever value makes the approximated equation vanish.

So the extras are trapped between the poles, and the poles are on the cut by construction — because that is where they were put in order to approximate the singularity. The thing that makes the approximation good is the thing that puts the spurious eigenvalues somewhere identifiable — the same kind of accident the circulant that cannot be indefinite records, where a structure imposed for one reason forbids an outcome for a different one.

That is a piece of luck and it is worth saying so rather than presenting it as design. An approximant whose poles were somewhere else — in the complex plane, or scattered — would produce spurious eigenvalues scattered with them, and the filter would have to be a threshold after all.

Three kinds of eigenvalue that are not there

This field now has three, and they are different in a way worth distinguishing because the word is the same in each case.

Eigenvalues of a linearisation at infinity, from an eigenvalue with no value: a singular leading coefficient sends some of the polynomial’s eigenvalues to infinity, and they are genuine features of the problem rather than artefacts. The count is a degree, computable exactly, and nothing about them is spurious — they simply are not finite.

Eigenvalues that are not eigenvalues at all, from the eigenvalues that are not there: a non-normal matrix whose computed spectrum moves enormously under a rounding-level perturbation, so the numbers returned are not close to any eigenvalue of the matrix that was handed over. A failure of the arithmetic, on the real problem.

Eigenvalues of the approximant, here: numbers that are exactly right about a problem nobody asked. Not a failure of anything. The arithmetic is correct, the object is correct, and the object is not the one in question.

The three need to be told apart because the responses differ completely. The first is counted. The second is a reason to distrust the computation. The third is filtered, cheaply, by asking the original function a question — and the filter works precisely because nothing went wrong.

What it costs to be careless

A caller who takes all twelve real values as eigenvalues has six extra numbers between −0.53 and −0.84, in a region a physical problem might well care about. They are stable under refinement — add poles and there are more of them, in the same place — so they do not look like noise. They are reproducible across seeds and precisions, so they do not look like rounding. And they have small residuals against the matrix any diagnostic would naturally check.

Everything about them looks like an answer except the one test nobody runs.

That is the shape this site keeps recording and it is worth the repetition: the failures worth writing about are the ones where every available check passes. It is an eigenvalue count that cannot be slightly wrong turned inside out — there an integer is right or grossly wrong and cannot be subtly wrong; here a list of numbers is subtly wrong in a way that looks like being right.

Counting rather than filtering

There is a second route to the same question and it is worth naming because it comes from a different part of this field.

A contour integral counts the eigenvalues of T inside a region — the real T, not an approximant — and the count is an integral that is an integer. It needs no approximation, no linearisation and no filter; it needs the ability to solve with T(z) at points on a contour, which is available whenever T can be evaluated. A problem with infinitely many eigenvalues is that construction, and a ceiling with a knob on it is what it took to make it return the eigenvalues themselves rather than only how many there are.

So the two halves of this field answer the same question by opposite routes. Approximate-then-solve returns everything and requires a filter; count-then-extract returns only what is inside a region and requires a region. Neither is strictly better, and the useful observation is that the filter and the contour are the same test: both ask the original function about a candidate, and both work because the original function is available even though it cannot be linearised.

What a general implementation has to do instead

The filter above works because this problem’s difficulty is a branch cut on the real axis and the approximant’s poles are on it. A general implementation cannot rely on that, and it is worth setting out what it does rely on, because the weaker version is still usable.

The weakest usable test is the residual against T, with a threshold. For a candidate λ and its vector x, compute ‖T(λ)x‖ / (‖A‖ + |λ| + |g(λ)|), which is a backward error for the original problem, and reject anything above a multiple of the approximation error ‖g − r‖. That threshold is available: it is the term the fit already measured, and a genuine eigenvalue’s residual is of that size by the tracking measured in the problem the solver was actually given, while a spurious one’s is of the size of the function itself.

The gap between those two is orders here — 3·10⁻⁵ against numbers of order one — so the threshold is not delicate, and the measurement that makes it safe is one this field already produces for a different reason. That is worth noticing: the quantity that says how accurate the answer is and the quantity that says which returned numbers are answers turn out to be the same quantity, used twice.

What the general test costs is one evaluation of g and one matrix–vector product per candidate, against n(m+1) candidates. On the example here that is thirty-six evaluations of a square root, which is nothing against the factorisation that produced them.

The two failure modes of the threshold version are worth stating. A candidate very close to a pole of the approximant can have a small residual against T by accident, because T(λ) is being evaluated where r is enormous and the comparison is dominated by scale — which is why the denominator carries |g(λ)| rather than being a fixed norm. And a genuine eigenvalue that the approximation moved a long way can be rejected, which is the same failure in the other direction and is a symptom that the target set was wrong rather than that the filter was.

The one thing to report

An implementation that returns n(m+1) numbers has told its caller almost nothing. What it should return is the numbers that survived the filter, the count that did not, and the residual against T for each survivor.

The count matters as much as the list. Six wanted values out of twelve real ones is an ordinary outcome; six out of twenty would say the approximant has poles somewhere unexpected, and six out of seven would say the target set is admitting spurious values into its own window — which is what happens on a target set that reaches too close to the cut, — which is what a rank decision has to do when the gap closes, as the cheap rank and what it cannot see records — and is why the sweeps in an error committed before the arithmetic stop where they do.

None of those three numbers costs anything beyond what has already been computed. All three are thrown away by an interface that returns a list of eigenvalues.

The count of extras, as a diagnostic in its own right

The number of returned values that survive the filter is worth watching across a sweep rather than at one setting, because how it changes says something the individual counts do not.

At two poles, eighteen eigenvalues come back and six survive. At five poles, thirty-six come back and six survive. At eight, fifty-four come back and six survive. The survivor count is constant while the total grows linearly, which is exactly the behaviour a correct construction should have: the problem has six eigenvalues in the region and the approximation degree does not change that.

A survivor count that grows with the degree is a signal, and it means one of two things. Either the target set is admitting spurious values into its own window — which happens when the region reaches close enough to the branch point that the poles and the region overlap, and is the reason the sweeps in a neighbouring essay stop where they do. Or the filter’s threshold is too loose and is passing near-poles, which the scaled denominator is there to prevent.

A survivor count that falls with the degree is the other signal and it is worse: it means genuine eigenvalues are being rejected, which happens when the approximation has moved one so far that its residual against T exceeds the threshold. That is the case where the target set is wrong rather than the filter, and adding poles is the fix rather than loosening the test.

So three numbers — the total, the survivors, and how the survivors move with the degree — give a diagnosis of which part of the chain is misconfigured, at no cost beyond a count. It is a small thing and it is the sort of small thing that turns an opaque failure into a legible one, which is what every measurement in this collection is ultimately for.

Why this does not happen in the rest of the field

Worth one closing note, because a reader who has come through the polynomial field in order will not have met this before and might reasonably wonder what changed.

A linearisation of a matrix polynomial returns dn eigenvalues for a degree-d polynomial of size n, and every one of them is an eigenvalue of the polynomial. That is what the word linearisation means: the pencil’s elementary divisors match the polynomial’s, so nothing extra appears and nothing is lost. The quadratic field’s 2n numbers are all answers.

Here the object being linearised is not the problem. It is an approximation to it, chosen by the caller, and the extras belong to the approximation rather than to the construction. So the count n(m+1) is honest — that is genuinely how many eigenvalues T̃ has — and the mismatch is between T̃ and T rather than between the linearisation and T̃.

That is the same distinction the whole field turns on, arriving in the form of a list of numbers rather than of an error term, and it is perhaps the most concrete way to see it: a reader who has been told that the approximation is a separate error source can now count it.

At other settings

18 eigenvalues come back, 6 of them mean somethingThe real eigenvalues of the n(m+1) = 18 that a rational approximant with 2 poles produces, on the real line, with the branch point at −0.4 marked. The 6 discs to the right are the answers, agreeing with the closed form to 0.0424. The 12 crosses to the left are exact eigenvalues of the approximant lying where γ√(λ + c) is not a real number at all — so the residual that says nothing about accuracy is decisive as a filter: against T̃ all 18 look perfect, and against T the spurious ones do not have a residual. The remaining 0 are complex and are discarded the same way.-6-5-4-3-2-10123456789-101λbranch point at −0.4the closed formwhich of these is an answereigenvalues returned18wanted6past the branch point12complex0worst against the closed form0.042all of them exactfor a problem nobody asked
Fig. 2 Two poles: eighteen eigenvalues, six answers, and the extras already on the cut.
24 eigenvalues come back, 6 of them mean somethingThe real eigenvalues of the n(m+1) = 24 that a rational approximant with 3 poles produces, on the real line, with the branch point at −0.4 marked. The 6 discs to the right are the answers, agreeing with the closed form to 0.0109. The 6 crosses to the left are exact eigenvalues of the approximant lying where γ√(λ + c) is not a real number at all — so the residual that says nothing about accuracy is decisive as a filter: against T̃ all 12 look perfect, and against T the spurious ones do not have a residual. The remaining 12 are complex and are discarded the same way.-10123456789-101λbranch point at −0.4the closed formwhich of these is an answereigenvalues returned24wanted6past the branch point6complex12worst against the closed form0.011all of them exactfor a problem nobody asked
Fig. 3 Three, and the answers have moved closer to the closed form.
30 eigenvalues come back, 6 of them mean somethingThe real eigenvalues of the n(m+1) = 30 that a rational approximant with 4 poles produces, on the real line, with the branch point at −0.4 marked. The 6 discs to the right are the answers, agreeing with the closed form to 0.00263. The 0 crosses to the left are exact eigenvalues of the approximant lying where γ√(λ + c) is not a real number at all — so the residual that says nothing about accuracy is decisive as a filter: against T̃ all 6 look perfect, and against T the spurious ones do not have a residual. The remaining 24 are complex and are discarded the same way.-10123456789-101λbranch point at −0.4the closed formwhich of these is an answereigenvalues returned30wanted6past the branch point0complex24worst against the closed form0.0026all of them exactfor a problem nobody asked
Fig. 4 Four, where the crowd to the left has grown with the matrix.
42 eigenvalues come back, 6 of them mean somethingThe real eigenvalues of the n(m+1) = 42 that a rational approximant with 6 poles produces, on the real line, with the branch point at −0.4 marked. The 6 discs to the right are the answers, agreeing with the closed form to 1.9·10⁻⁴. The 0 crosses to the left are exact eigenvalues of the approximant lying where γ√(λ + c) is not a real number at all — so the residual that says nothing about accuracy is decisive as a filter: against T̃ all 6 look perfect, and against T the spurious ones do not have a residual. The remaining 36 are complex and are discarded the same way.-10123456789-101λbranch point at −0.4the closed formwhich of these is an answereigenvalues returned42wanted6past the branch point0complex36worst against the closed form1.9·10⁻⁴all of them exactfor a problem nobody asked
Fig. 5 Six, and the ratio of noise to answer is now six to one.
54 eigenvalues come back, 6 of them mean somethingThe real eigenvalues of the n(m+1) = 54 that a rational approximant with 8 poles produces, on the real line, with the branch point at −0.4 marked. The 6 discs to the right are the answers, agreeing with the closed form to 1.43·10⁻⁵. The 0 crosses to the left are exact eigenvalues of the approximant lying where γ√(λ + c) is not a real number at all — so the residual that says nothing about accuracy is decisive as a filter: against T̃ all 6 look perfect, and against T the spurious ones do not have a residual. The remaining 48 are complex and are discarded the same way.-10123456789-101λbranch point at −0.4the closed formwhich of these is an answereigenvalues returned54wanted6past the branch point0complex48worst against the closed form1.4·10⁻⁵all of them exactfor a problem nobody asked
Fig. 6 Eight, which is where the fit stops determining its own coefficients.
Three residuals, and the one a solver returns is the one about nothingFor a rational approximant with m poles, on a target set reaching to 0.3: ‖T̃(λ)x‖ — the residual against the problem the eigensolver was handed — stays at 1.2·10⁻¹⁵ to 1.5·10⁻¹² — it does not fall with m, and past a point it slowly rises, because each added pole makes the fit's own basis worse conditioned; ‖T(λ)x‖, which costs one further evaluation of γ√(λ + c), falls with the approximation; and the forward error against the closed form falls with it, staying 20.5 to 24.8 times larger. The free number rises by 1306 across the sweep while the answer improves by 885. So the free number says nothing and the nearly-free number says almost everything. Evaluate the residual against the function you asked about, not against the one you handed over is the whole practical content of this field.23456710⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²poles in the approximantresiduals and errorforward error‖T(λ)x‖‖T̃(λ)x‖one extra evaluationagainst the approximant1.5·10⁻¹²against the problem asked1.9·10⁻⁶forward error4.8·10⁻⁵‖g − r‖ there8.5·10⁻⁵the free residual is flatand the answer is not
Fig. 7 The residual that filters them, and the two that do not.
The error that happens before any arithmetic: |g − r| on the target setγ√(λ + c) minus its approximant, plotted against the distance from the branch point at −0.4. The target set runs from 0.602 to 8.99, and its left end is 1 from the branch point — a choice made before anything is computed. The rational approximant with 8 poles clustered on the cut reaches 2.22·10⁻⁵; the polynomial of degree 9, which linearises to a matrix of the same size, reaches 1.71·10⁻⁴. Both errors are committed at this stage. No residual computed later contains either of them, because a solver's residual is taken against whichever of these two functions it was handed.110¹10⁻⁸10⁻⁶10⁻⁴distance from the branch point, λ + c|g − r|the eigenvaluesdegree 98 poleschosen, not computedreach0.3left end, from the cut1rational, worst2.2·10⁻⁵polynomial, worst1.7·10⁻⁴linearisation size, both54committed before the solveand invisible to it
Fig. 8 The approximation whose poles decide where the extras go.
Two approximants at equal linearisation size, at a reach of 0.06‖g − r‖ against the size of the matrix the eigensolver is then handed: n(m+1) for a rational approximant with m poles and nd for a polynomial of degree d, so d = m + 1 is the fair comparison. At this target set the ratio of the polynomial's error to the rational's runs 1.2, 2.9, 8.0, 23.7, 73.2 across the five sizes. On a target set that stands clear of the branch point the two are the same measurement and the ordering flips with the noise; on one that reaches it the rational pulls away, because a polynomial converges algebraically against an algebraic singularity. Neither method is better — the question is different, and which question it is was decided by whoever said where to look.263850627410⁻⁵10⁻³10⁻¹rows in the linearisation‖g − r‖ on the target setpolynomialrationalequal cost, two basesreach0.06largest size drawn78rational there2·10⁻⁵polynomial there0.0015the ratio73no winner on an easy targetand two orders on a hard one
Fig. 9 And the other basis, which produces the same problem at nd rather than n(m+1).
The eigenvalues of a 6×6 pencil with 0 algebraic constraints, on the projective lineλ = α/β is a ratio, so an eigenvalue of a pencil is a direction rather than a number and it lives on a line whose two ends are the same point. Drawn as an angle φ = arctan λ, the 6 finite eigenvalues — -0.7663, -0.01384, 0.9593, 4.611, 5.61, 7.6 — sit inside the arc, and the 0 infinite ones sit at its ends, which is one point and not two. Nothing about them is degenerate: each carries a residual ‖βAx − αBx‖ in the same scaling as every other, the largest being 8.9·10⁻¹⁵, and an infinite eigenvalue's residual is ‖Bx‖/‖B‖ — the statement that its eigenvector is a null vector of B. The count is not a rank decision here: it is n minus the degree of det(A − λB), computed in exact rational arithmetic.λ = 0λ = ∞λ = ∞-0.7663-0.013840.95934.6115.617.6no constraints: B is nonsingular and nothing is at the polescounted exactly, in rationalsfinite eigenvalues6at infinity0degree of det(A − λB)6worst residual, either kind8.9·10⁻¹⁵an eigenvalue is a ratioand a ratio has a direction, not a size
Fig. 10 A pencil with no infinite eigenvalues.
The eigenvalues of a 6×6 pencil with 4 algebraic constraints, on the projective lineλ = α/β is a ratio, so an eigenvalue of a pencil is a direction rather than a number and it lives on a line whose two ends are the same point. Drawn as an angle φ = arctan λ, the 2 finite eigenvalues — 0.4384, 4.562 — sit inside the arc, and the 4 infinite ones sit at its ends, which is one point and not two. Nothing about them is degenerate: each carries a residual ‖βAx − αBx‖ in the same scaling as every other, the largest being 1.55·10⁻¹⁵, and an infinite eigenvalue's residual is ‖Bx‖/‖B‖ — the statement that its eigenvector is a null vector of B. The count is not a rank decision here: it is n minus the degree of det(A − λB), computed in exact rational arithmetic.λ = 0λ = ∞λ = ∞0.43844.5624 eigenvalues here, and it is one placecounted exactly, in rationalsfinite eigenvalues2at infinity4degree of det(A − λB)2worst residual, either kind1.5·10⁻¹⁵an eigenvalue is a ratioand a ratio has a direction, not a size
Fig. 11 And one with four, which are genuine rather than spurious.
The singular values of B, and the number of infinite eigenvalues the exact polynomial says there areThe pencil has 1 algebraic constraint, so 1 of its 6 eigenvalues are infinite. Two routes say so and they are not the same kind of statement. The exact route computes det(A − λB) in BigInt rationals and finds it has degree 5, so n − 5 = 1 eigenvalues are at infinity — an integer, arrived at without rounding. The float route counts the singular values of B below a cut, and the values run 3.25, 2.36, 1.04, 0.835, 0.3, 5.4·10⁻¹⁵⁸: the gap is a factor of 5.55·10¹⁵⁶ and it falls in the right place, so the decision is comfortable here. It is still a decision, and it is the same decision this site's rank essay is about.σ13.25σ22.36σ31.04σ40.835σ50.3σ610⁻¹⁸n = 6, and det(A − λB) has degree 5an integer, and a judgementdegree of det(A − λB), exactly5infinite eigenvalues, from the degree1singular values below the cut1largest gap in the spectrum5.6·10¹⁵⁶a degree cannot be nearly threeand a singular value can be nearly zero
Fig. 12 The count of infinite eigenvalues, as a degree.
Where 24 perturbations of size 10⁻¹⁰ put the eigenvalues of two 6×6 matrices with the same spectrumTwo clouds of eigenvalues in the complex plane. Both matrices have every eigenvalue at 0.8 exactly; both were perturbed by the same 24 random matrices of norm 10⁻¹⁰. The normal matrix's eigenvalues stay within 7.43·10⁻¹¹ of where they were — the size of the perturbation — and the bidiagonal's spread out to 0.0325, a factor of 4.4·10⁸ further on the same data.100.1750.35real partimaginary part0.8bidiagonalnormalone spectrum, two matricesthe perturbation10⁻¹⁰normal, furthest moved7.4·10⁻¹¹bidiagonal, furthest0.033ratio4.4·10⁸the two matrices have identical eigenvaluesand one of them says so under perturbation
Fig. 13 Eigenvalues that move enormously under a rounding-level perturbation.
σ_min(zI − A) over the complex plane, for a bidiagonal 6×6 matrix with every eigenvalue at 0.8 and 2 above the diagonalA square of the complex plane shaded by how small σ_min(zI − A) is. Every eigenvalue is at 0.8, marked by the crosshair; the 10⁻³ level reaches out to 1.36, well outside the unit circle drawn through the picture. A perturbation of the matrix at the level of double-precision rounding can put an eigenvalue anywhere in that region.darker is smaller: 10⁻¹⁰, 10⁻⁶, 10⁻³, 10⁻¹one spectrum, two matricesspectral radius0.8reach of the 10⁻³ level1.4eigenvalues, all at0.8the circle is |z| = 1and every eigenvalue is well inside it
Fig. 14 And the region they can be found in.
Where the missing eigenvalues went: an 6 × 6 quadratic with 1 of its masses removedA chain of 6 masses with the first 1 of them set to zero, so M is singular of rank 5. det Q(λ) is a polynomial of degree at most 12; interpolated exactly in BigInt rationals at 13 nodes it has degree 11, so 1 of the 12 eigenvalues are at infinity — the same object a descriptor pencil has, arriving here because a degree of freedom with no inertia is an algebraic constraint. The float route counts the singular values of M judged to be zero and reaches 1, backed by a gap of ∞ between consecutive singular values. One integer, two routes, and only the second of them is a decision.finite eigenvalues (degree of det Q)11at infinity (2n − degree)1at infinity, by the rank of M12n, if M were nonsingular12a degree, not a decisiondegree of det Q11at infinity1by the rank of M1singular-value gapthe count is a degreeand the other route is a judgement
Fig. 15 A count that is exact because it is a degree.
Counting the eigenvalues inside a circle: an integral that is an integer once it has convergedThe number of eigenvalues of the delay problem inside |z| = 1.5, computed as (1/2πi)∮tr(T(z)⁻¹T′(z))dz by the trapezoidal rule. The true count is 1, from the closed form. The error runs 0.473, 0.39, 0.289, 0.142, 0.0268, 7.58·10⁻⁴ at 4 to 128 points — a straight line on this axis is a constant factor a doubling, and this falls faster than that, which is what exponential convergence looks like when the integrand is analytic on the contour. The answer is then ROUNDED, and 0 of the 6 quadratures round to the wrong integer while looking exactly as confident as the ones that do not. The only evidence available is the distance from the nearest integer, which is the quantity plotted.11.31.61.92.210⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹10²log₁₀ quadrature pointsdistance from the true counthalf an eigenvaluean integer, eventuallytrue count1at 4 points1at 128 points1finest error7.6·10⁻⁴the integral is an integerand a rounding hides how far it was
Fig. 16 A count that is exact because it is an integral of an integer.
K moments multiply a contour method's ceiling by K, for no extra solvesThe rank of the block Hankel of the first K contour moments, for a delay eigenvalue problem of size 4 with a probe block of 2 columns and a circle of radius 5 holding 12 eigenvalues. The dashed line is the ceiling K·min(n, ℓ) = 2K, and the rank sits exactly on it while it binds, then stops at 12 — the number genuinely inside. The solves are the expense and there are 512 of them whatever K is: a higher moment is one more multiplication at each quadrature point. So the ceiling the previous work on this problem measured and did not lift is lifted by a knob, and what it costs is not arithmetic.123456024681012moments Krank of the block Hankel12 eigenvalues insidethe ceiling K·ℓthe ranka ceiling with a knob on itprobes2eigenvalues inside12rank at K = 12rank at K = 612solves, at every K512one ceiling per probeand K of them per moment
Fig. 17 And what it took to turn that count into the eigenvalues themselves.
4 eigenvalues inside a circle of radius 4, and 2 moments to reach themA delay eigenvalue problem T(λ) = A − λI + e^{−λ}I, which has infinitely many eigenvalues and no linearisation, so the only finite question is what lies inside a given contour. The crosses are the Lambert-W closed form λ = μ + W_k(γe^{−μ}), one per eigenvalue of A per branch; the discs are what 2 contour moments against a probe block of 2 recover, agreeing to 2.16·10⁻¹². With one moment the method could have returned at most 2 of them and would have said nothing about the rest.-4-3-2-101234-4-3-2-101234real partimaginary partan infinite spectrum, finitely askedinside the contour4probes2moments used2values returned8worst against the closed form2.2·10⁻¹²infinitely many eigenvaluesand a question with an answer
Fig. 18 The other route, which returns nothing it was not asked for.
A spectrum with no last eigenvalue: 12 of the infinitely many solutions of a delay problemT(λ) = A − λI + 0.5e^−λI for the model matrix at n = 4. The problem decouples in A's eigenvector basis, so each of its 4 eigenvalues μ contributes the scalar equation μ − λ + γe^−λ = 0, whose solutions are λ = μ + W_k(γe^−μ) — one for every branch of the Lambert W function, and therefore countably infinitely many, running off to the left along two curves. The marks are the closed form, each checked by substitution to 1.2·10⁻¹⁵. There is no computation that returns this set: the only well-posed question is which eigenvalues lie inside a region, and the circle of radius 4 contains 4 of them.-3-2-101234-5-3-1135real partimaginary part4 insidea countable spectruminside the contour4drawn12existingworst branch residual1.2·10⁻¹⁵there is no last eigenvalueso the question has to change
Fig. 19 An infinite spectrum, where returning everything is not an option.
Four candidate singularity tests on three matrices, at n = 120A table of four quantities on three matrices. 0.1·I at n = 120 has a condition number of exactly 1 and a determinant of 10⁻¹²⁰; a matrix with κ = 10¹⁰ normalised to |det| = 1 has a determinant of one. The determinant and its nth root give the wrong verdict on both, the smallest singular value gives the wrong verdict on the normalised matrix because it carries the units, and only σ_min/σ_max is right on all three. A test is read as saying *singular* when its number is below 10⁻⁶; green cells agree with the true verdict and red ones do not.does this matrix look nearly singular?green: the test agrees with the truth · red: it does not · the bar under each number is its magnitude, over sixty-two decades|det A||det A|^(1/n)σ_min1/κ = σ_min/σ_max0.1·I at n = 120perfectly conditioned10⁻¹²⁰0.10.11κ = 10¹⁰, |det| = 1nearly singular1110·10⁻⁶10·10⁻¹¹Hilbert at n = 8nearly singular2.7·10⁻³³8.5·10⁻⁵1.1·10⁻¹⁰6.6·10⁻¹¹the two counterexamplesκ of the scaled identity1its determinant10⁻¹²⁰κ of the normalised matrix10¹⁰its determinant1det(cA) = cⁿ det(A)so a determinant carries the units n times over
Fig. 20 Deciding whether a matrix is singular, which is what an eigenvalue test is.
Where conjugate gradients certifies that a positive definite matrix is indefiniteEvery matrix in this grid is 16×16 and positive definite by construction — its spectrum is κ^(−i/(n−1)), so the smallest eigenvalue is 1/κ and none of them is negative. A filled cell is a run in which pᵀAp came out non-positive and the iteration produced a direction it would report as a proof of indefiniteness. 18 of the 72 runs did. The region is a staircase whose top edge is at twelve significand bits and whose left edge, at eight, is at κ = 10⁶. Nothing rounded incorrectly anywhere: every comparison was performed exactly as written, on a number that was computed as accurately as the format allows.significand bits10³10⁴10⁵10⁶10⁷10⁸10⁹10¹⁰κ(A)8136460199426314512345105113211154244912624014162024every matrix positive definiteruns producing a false certificate18of runs in total72never above, in significand bits12first κ at eight bits10⁶the comparison was correctand what it proved was not true
Fig. 21 A certificate that passes on a case it should refuse.
Past the cliff: what each method returnsLoss of orthogonality at four condition numbers past κ²u = 1. Cholesky QR returns a factor whose implied Q is 0.37 away from orthogonal at κ = 10⁸ and 1.49 at 10¹² — and at 3·10¹⁰ it refuses outright, on a pivot of -6.5·10⁻¹⁷. The sweep and the tree return a usable factorisation of every one of these matrices.‖QᵀQ − I‖ of the implied Qκ = 10⁸, Cholesky0.37κ = 10⁸, sweep8.5·10⁻⁹κ = 10¹⁰, Cholesky1.3κ = 10¹⁰, sweep3·10⁻⁷κ = 3·10¹⁰, Choleskyrefusedκ = 3·10¹⁰, sweep6.7·10⁻⁶κ = 10¹², Cholesky1.5κ = 10¹², sweep1.4·10⁻⁴the safe run is the one that failsrefusals in the range1wholly non-orthogonal returns2the pivot it refused on-6.5·10⁻¹⁷one of these outcomes is safeand it is the refusal
Fig. 22 And the choice between refusing and answering wrongly.
The Krawczyk operator on a box of half-width 0.4Two rectangles in the plane. The outer one is the box handed in; the inner one is K(X), the image the operator returns; and the marked point is the root (√2, √2), known in closed form. The image is narrower than the box — 0.2265 against 0.8 — and the verdict is: exactly one root.11.522.511.52xyexactly one roota verdict, not a bound‖I − C F′(X)‖0.28width of X0.8width of K(X)0.23strictly inside is a proofand overlapping is nothing at all
Fig. 23 A verdict that can be “do not know”, in the interval field.
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.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 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 2.12·10⁻¹⁵, and the routes share nothing but the three coefficient matrices.00.0939569-2-1.24498-0.4899610.2650581.020081.7751real partimaginary parttwo routes, one spectrumeigenvalues16rows8complex16against the closed form2.1·10⁻¹⁵n rows and 2n eigenvaluesso the eigenvectors are not a basis
Fig. 24 The field’s opening picture, where every returned value was an answer.
Six ways of computing one spectrum, at a change of units of 106Three linearisations — the first companion form, the second, and the symmetric member of the DL(Q) family — each reduced to a standard eigenvalue problem in two ways: by inverting the leading coefficient, whose eigenvalues are λ, and by inverting the trailing one, whose eigenvalues are 1/λ. All six have exactly the eigenvalues of the quadratic in exact arithmetic. Measured against the closed form at γ = 106, the best is first/leading at 5.473·10⁻⁶ and the worst second/trailing at 2.234·10⁻⁴, a spread of 40.81. Under the leading reduction the symmetric form and the first companion form are THE SAME MATRIX — −A₁⁻¹A₀ is [[−M⁻¹C, −M⁻¹K], [I, 0]] for both — so the distinction between them is one the inversion discards, and it survives only under the trailing one.first · leading5.47·10⁻⁶first · trailing4.62·10⁻⁵second · leading4.27·10⁻⁵second · trailing2.23·10⁻⁴symmetric · leading5.47·10⁻⁶symmetric · trailing4.05·10⁻⁵all six are the same algebrabest route5.5·10⁻⁶worst route2.2·10⁻⁴spread across the six41condition of the linearisation8.3·10¹²the spectra agreeand the arithmetic does not
Fig. 25 Six exact linearisations, none of which returns anything spurious.
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 A class whose spectrum is real by theorem, so nothing has to be filtered.
The 12 eigenvalues of a palindromic quadratic, in 6 pairs whose products are oneλ²A + λB + Aᵀ with A and B symmetric reads the same backwards, so λ is an eigenvalue exactly when 1/λ is. The axis is log₁₀|λ|, the marks are the computed eigenvalues and each arc joins a pair; the vertical line is |λ| = 1, about which the whole picture is symmetric. The spectrum spans 3.56 decades at b = 10. Measured, the general solver's spectrum departs from being closed under λ ↦ 1/λ by 1.02·10⁻¹⁴, and the structured route's — one symmetric generalised eigenvalue problem of size 6 rather than an unsymmetric one of size 12 — by 1.74·10⁻¹⁶, which is the rounding level and is by construction.-2-1.20615-0.4122940.3815591.175411.969260log₁₀ |λ||λ| = 1λλ′ = 1, in the algebrapairs6decades of spectrum3.6pairing error, general10⁻¹⁴pairing error, structured1.7·10⁻¹⁶a symmetry the solver never knew aboutand the half of the answer it decides
Fig. 27 A structure that says where the eigenvalues must be.
Singular values of a rank-4 matrix with noise of relative size 10⁻⁴Ten singular values on a logarithmic axis. The first four sit near one; the rest sit at the noise level, and the vertical distance between the two groups is the evidence for the rank.1234567891010⁻¹⁸10⁻¹⁵10⁻¹²10⁻⁹10⁻⁶10⁻³1indexsingular valuecutoff, σ₁ · 10⁻¹⁰numerical rank 10gap 820decisivetrue rank 410×10, built with 4 nonzero valuesrank is a decision
Fig. 28 A threshold-based filter, for contrast with a domain-based one.
How close Hager's estimate is to the true κ₁, over 200 seeded 10×10 matricesFive bars. The estimate is exactly the true condition number on 88% of the sample and inside ten per cent on 93%; the worst underestimate in the whole sample returns 45% of the truth. The last bar is the matrix built to defeat it, at 7.7%, well below anything the random sample reached.each bar is a percentage — of the sample, or of the true condition numberexactly right87.5%inside 10%93.0%inside a factor of 293.0%worst in the sample, ×10044.6%the constructed matrix, ×1007.7%usually exactexact share0.88worst of the sample0.45the constructed matrix0.077a routine that is right most of the timeand never wrong in the safe direction
Fig. 29 An estimate with a spread, where a threshold has to be chosen.
36 eigenvalues come back, 6 of them mean somethingThe real eigenvalues of the n(m+1) = 36 that a rational approximant with 5 poles produces, on the real line, with the branch point at −0.4 marked. The 6 discs to the right are the answers, agreeing with the closed form to 7.74·10⁻⁴. The 6 crosses to the left are exact eigenvalues of the approximant lying where γ√(λ + c) is not a real number at all — so the residual that says nothing about accuracy is decisive as a filter: against T̃ all 12 look perfect, and against T the spurious ones do not have a residual. The remaining 24 are complex and are discarded the same way.-10123456789-101λbranch point at −0.4the closed formwhich of these is an answereigenvalues returned36wanted6past the branch point6complex24worst against the closed form7.7·10⁻⁴all of them exactfor a problem nobody asked
Fig. 30 The hero again, beside the residuals that sort it.

What links here

Computed from the collection, not written here: the essays that point at this one.

Reads more easily once this is understood

Essays that name this one as worth reading first.

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.

Approximation before linearisationBranch pointEigenvalueExact ground truthLinearisationNonlinear eigenvalue problemRational approximationResidualSpurious spectrum