Reduction, and what a model is for

A basis that is the same subspace and not the same thing

The interpolation conditions are conditions on a subspace, so any basis of it will do. The one a derivation writes down reaches a condition number of 7.7·10⁹ by its eighth vector, and the rate at which it gets there is set by a number the user chose with no information.

Worth reading first: Exact at the points that were named · A parameter that counts steps · An index that is a pair · Orthogonal is a number.

Exact at the points that were named builds a reduced model by projecting onto V = span{(σᵢI − A)⁻¹B}. The interpolation conditions that follow are conditions on V, not on the vectors that span it, so in exact arithmetic any basis will do and the choice is free.

It is not free, and the way it is not free is worth an essay because the rate at which the obvious basis fails is set by something the user chose without information.

Two bases for one subspace, at an interpolation point of 20κ₂ of the moment basis (σI − A)⁻¹B, (σI − A)⁻²B, … at a single point σ = 20, against κ₂ of the same number of solves spent at points spread across the model's poles and orthogonalised as they are built. The moment basis runs 10.9 to 7.75·10⁹, multiplying by about 65.8 per vector, while the spread one stays at 1. The reason is the one behind every Krylov basis on this site: repeated application of one operator converges to a direction, so every new moment is nearly the last. The rate is set by the ratio of distances from σ to the poles, which means the user's own choice of interpolation point decides how fast their basis becomes unusable — and spending the solves at different points instead is both a better approximation and a basis that survives.2345678110²10⁴10⁶10⁸10¹⁰vectors in the basisκ₂ of the basisas derivedsolves spread outone subspace, two spanning setseight moments at one point7.7·10⁹eight points, spread1growth per vector661/u4.5·10¹⁵the same subspaceand only one of them usable
Fig. 1 Eight solves at one interpolation point, against eight solves spread over the model’s poles. The subspaces are the same size and only one of them can be projected with.

The obvious basis

If all r points are taken at one σ, the subspace is spanned by the moments

(σI − A)⁻¹B,  (σI − A)⁻²B,  …,  (σI − A)⁻ʳB,

which is what the derivation writes down, and what an implementation writes first. It is one solve per vector with the same factorisation reused, which makes it the cheapest possible way to obtain r vectors, and it corresponds to matching r + 1 derivatives of H at the single point σ rather than values at r different ones. That is a legitimate thing to want — it is what the series that has to be squared back is doing for a matrix function — and it is not what fails here.

Its condition number, measured on a twenty-four-state model at σ = 20:

vectors    2      3      4      5      6      7      8
κ₂        11    1.4e2  2.7e3  6.9e4  2.6e6  1.2e8  7.7e9

multiplying by between thirteen and sixty-six per vector. The same eight solves spent at eight points spread across the model’s poles and orthogonalised as they are built stay at κ₂ = 1.0.

Why it collapses, and it is not the same reason as last time

This site has an essay about a basis that loses independence and it is an orthogonalisation nobody calls one. The sequence there is v, Av, A²v, … and the reason is the power method: repeated application of A converges to the dominant eigenvector, so every new vector is nearly the last one, at a rate given by the ratio of the two largest eigenvalues.

The mechanism here is the same and the ratio is a different quantity, which is the point.

(σI − A)⁻¹ has eigenvalues 1/(σ − λₖ), so repeated application converges to the eigenvector whose λ is nearest σ. The rate is the ratio of the two smallest |σ − λ|. So the number that governs how fast the basis collapses is a ratio of distances from the interpolation point to the poles — and the interpolation point is the user’s choice, made before anything about the poles is known.

The user’s own choice decides how fast their basis becomes unusable. Measured across the range: at σ = 800, past every pole, every solve is nearly B/σ and the collapse is fastest; at σ = 3, near the bottom of the spectrum, it is slower; there is no placement at which eight moments at one point stay independent.

That is a sharper statement than the power-method version. There the rate is a property of the matrix and nothing can be done about it inside the method. Here it is a property of a parameter, and what can be done about it is not to reorthogonalise harder but to spend the solves somewhere else.

Spending them somewhere else

Eight solves at eight different points span a different subspace — the rational Krylov space rather than the polynomial one at a single shift — and it is a better subspace as well as a better conditioned one.

Better conditioned, because the vectors are solves at points that are far apart, so nothing makes them parallel. Measured at κ₂ = 1.0 for all eight, which is what orthogonalisation performed as the basis is built gives when there is genuinely a direction to add each time.

Better as an approximation, because eight distinct interpolation points give sixteen conditions spread over the frequency range, where eight moments at one point give sixteen conditions all at the same place. The error curve in the previous essay has r zeros distributed over four decades; the single-point version has one zero of multiplicity 2r and rises monotonically away from it in both directions.

The cost is identical. Eight solves either way. The single-point version can reuse one factorisation across all eight, which on a dense model is a real saving and on a sparse one — where each solve is an iterative solve anyway — is not.

The orthogonalisation, and where it goes

Orthogonalising afterwards does not help, and it is worth being exact about why, because “just orthogonalise the basis” is the natural response to the figure above.

By the eighth moment the eight vectors span a space that is numerically seven-dimensional. A QR factorisation of them returns an orthogonal Q whose eighth column is whatever was left after subtracting the first seven — which, when what was left is 10⁻¹⁰ of the vector’s norm, is rounding. The Q is orthogonal. It is not a basis of the space anybody wanted, because the direction it claims to add is noise.

Orthogonalising as the basis is built is different only in that it fails loudly: the norm of the new vector after subtraction is a number the routine can look at, and a construction that finds it below a threshold refuses rather than continuing. The implementation behind these figures does that, and it is what stops the sixth interpolation point in the previous essay when two points are both past the last pole.

The subtraction is done twice, which is two Gram–Schmidts applied as a policy rather than as a comparison: one pass is not enough when the vectors are nearly parallel, and nearly parallel is the ordinary case here rather than the pathological one — the same policy doing it twice prices in the communication field, for a different reason and at the same cost.

What a projection needs that a spanning set does not

The distinction the figure turns on is easy to state and easy to lose, so it is worth one paragraph of its own.

A spanning set is enough to define a subspace. A projection onto that subspace requires solving with the basis: the reduced matrices are WᵀAV, WᵀB and CV, and the normalisation that makes WᵀV the identity involves inverting an r × r matrix built from the two bases. When V has condition number 10⁹, that r × r matrix inherits it, and the reduced model’s coefficients are computed from a system that has lost nine digits before the model exists.

So the interpolation conditions still hold for the subspace, and the model that comes out is not the model the subspace defines. Measured on this basis at eight vectors, the biorthogonality ‖WᵀV − I‖ that ought to be 10⁻¹⁶ reaches 10⁻⁷ — which is exactly the number of digits the condition number predicts, and which no assertion about spans would have caught.

This is the same distinction the plane survives what its vectors do not draws in the spectral field, arriving at the opposite conclusion because the question is different. There the subspace is the answer and the vectors are incidental, so a collapsing basis costs nothing. Here the vectors are the arithmetic, so it costs everything.

The refusal, and what it is worth

The implementation refuses a new vector whose norm after subtraction is below 10⁻¹³ of the right-hand side’s. That threshold is a decision and it is worth saying what it is a decision about.

It is not a tolerance on accuracy. It is the point at which the direction being added is indistinguishable from the rounding in the subtraction that produced it — so accepting it would produce a basis vector whose content is the arithmetic error of the previous seven. Everything downstream would then be computed from a matrix one of whose columns means nothing, and nothing downstream would notice: the projection would succeed, the reduced model would have the right size, and its behaviour would depend on the last bits of the last solve.

That is why the check is a refusal rather than a warning. This site’s habit is that an assertion which has never rejected anything proves nothing, and this one rejects: it is what stops the six-point construction in exact at the points that were named when two points are both past the last pole, and it is the reason that essay could report the failure as a property of the point placement rather than as a mysteriously poor model.

The measurement that is not available

There is a temptation to compare the two bases by the accuracy of the reduced models they produce, and it is worth saying why that comparison cannot be made cleanly.

They do not produce the same reduced model. The single-point basis and the spread basis span different subspaces, so they interpolate at different places, so their errors differ for a reason that has nothing to do with conditioning. Any accuracy comparison between them is a comparison of two interpolation strategies with a conditioning difference confounded into it.

What can be measured cleanly is the conditioning, and that is what the figure shows. The conclusion it supports is narrow and correct: the obvious basis cannot be projected with past about six vectors, whatever it spans. Whether the subspace it spans was the right one is a separate question with a separate answer, and the two should not be run together.

That is the same discipline six routes to one spectrum insists on for the polynomial field — vary one thing, hold the rest, and refuse the comparison that varies two.

What survives from this into the rest of the field

Two things.

Every method in this field is built out of shifted solves, and how they are spent is the decision. Eight at one point, eight at eight points, or — as interpolating at the model’s own poles does — eight at points chosen by the reduced model itself. The cost is the same in each case and the outcomes are not comparable in accuracy without care, but one of the three cannot be computed at all past six vectors and that narrows the field to two.

A rate that looks like a property of the problem can be a property of a parameter. The power-method rate in the Krylov field is fixed by the matrix. The same rate here is fixed by a number the user typed, and the repair is to change the number rather than to work harder on the arithmetic. It is worth checking, whenever a basis collapses, which of the two situations it is — because only one of them has a cheap way out.

The one number to look at

If there is a single line to carry out of this essay it is that the quantity worth printing is κ₂ of the basis, and almost nothing prints it.

A reduced model is returned as three small matrices. Nothing about them says how they were computed or from what. The conditioning of the basis is available for the cost of one small SVD at the moment the basis is finished, it is the number that says whether the model means anything, and it is thrown away by every interface that returns only the model.

That is the same complaint orthogonal is a number makes about Q: the adjective is free and the measurement is nearly free, and only one of them can fail. Here the measurement costs r³ flops on an r that is single digits, against a construction that cost r sparse solves, so it is free by any accounting anybody would do.

The same failure, three fields apart

It is worth putting the three instances of this collapse side by side, because the differences between them are more instructive than the similarity.

The Krylov sequence v, Av, A²v. The rate is |λ₂/λ₁|, a property of the matrix. Nothing inside the method changes it, and the repair — orthogonalise as the basis is built — is a repair to the arithmetic and not to the subspace. The method still converges; it just needs its basis maintained.

The moment sequence at one shift. The rate is a ratio of distances from σ to the poles, a property of a parameter. Orthogonalising helps in the same way, and there is a second repair available that the first case does not have: change the parameter. Spending the same solves at different points gives both a better-conditioned basis and a better approximation, which is why every implementation does it.

The second-order recurrence for a quadratic eigenvalue problem. Measured in a Krylov space for a problem that is not linear: ‖QᵀQ − I‖ runs 5.9·10⁻¹¹, 6.1·10⁻⁷, 1.6·10⁻³, 1.35 at m = 6, 10, 14, 20, while the linearised basis built by the same modified Gram–Schmidt sweep stays at 2.4·10⁻¹³. There the rate is a property of the recurrence rather than of the matrix or of a parameter, and neither repair is available: the recurrence is what buys the storage saving, and changing it gives back the saving.

Three mechanisms, one symptom, and three different amounts of recourse. What the comparison suggests as a habit is to ask, on meeting a collapsing basis, which of the three it is — because the answer decides whether the fix is free, cheap, or unavailable, and the symptom alone does not distinguish them.

The other thing all three share is that the answer often keeps improving while the basis collapses. That is the trap in each case: a run watching only its residual reports progress at every step, and the object it is building has stopped being a basis. Watching κ₂ costs nothing and is the only thing that says so.

What to print

One number, at the moment the basis is finished: κ₂ of V, and κ₂ of W if the projection is two-sided. A construction that returns a reduced model without them has thrown away the only evidence that the model means what it claims. It costs an SVD of an n × r matrix on an r that is single digits, against a construction that already spent r sparse solves — which is to say it costs nothing, and it is the difference between a model and a plausible-looking set of small matrices.

At other settings

Two bases for one subspace, at an interpolation point of 0.5κ₂ of the moment basis (σI − A)⁻¹B, (σI − A)⁻²B, … at a single point σ = 0.5, against κ₂ of the same number of solves spent at points spread across the model's poles and orthogonalised as they are built. The moment basis runs 14.9 to 2.55·10¹², multiplying by about 183 per vector, while the spread one stays at 1. The reason is the one behind every Krylov basis on this site: repeated application of one operator converges to a direction, so every new moment is nearly the last. The rate is set by the ratio of distances from σ to the poles, which means the user's own choice of interpolation point decides how fast their basis becomes unusable — and spending the solves at different points instead is both a better approximation and a basis that survives.2345678110²10⁴10⁶10⁸10¹⁰10¹²vectors in the basisκ₂ of the basisas derivedsolves spread outone subspace, two spanning setseight moments at one point2.5·10¹²eight points, spread1growth per vector1831/u4.5·10¹⁵the same subspaceand only one of them usable
Fig. 2 An interpolation point below every pole, where the collapse is towards the slowest mode.
Two bases for one subspace, at an interpolation point of 3κ₂ of the moment basis (σI − A)⁻¹B, (σI − A)⁻²B, … at a single point σ = 3, against κ₂ of the same number of solves spent at points spread across the model's poles and orthogonalised as they are built. The moment basis runs 13.5 to 7.08·10¹¹, multiplying by about 148 per vector, while the spread one stays at 1. The reason is the one behind every Krylov basis on this site: repeated application of one operator converges to a direction, so every new moment is nearly the last. The rate is set by the ratio of distances from σ to the poles, which means the user's own choice of interpolation point decides how fast their basis becomes unusable — and spending the solves at different points instead is both a better approximation and a basis that survives.2345678110²10⁴10⁶10⁸10¹⁰10¹²vectors in the basisκ₂ of the basisas derivedsolves spread outone subspace, two spanning setseight moments at one point7.1·10¹¹eight points, spread1growth per vector1481/u4.5·10¹⁵the same subspaceand only one of them usable
Fig. 3 Near the bottom of the spectrum, where the two smallest distances are closest to equal.
Two bases for one subspace, at an interpolation point of 120κ₂ of the moment basis (σI − A)⁻¹B, (σI − A)⁻²B, … at a single point σ = 120, against κ₂ of the same number of solves spent at points spread across the model's poles and orthogonalised as they are built. The moment basis runs 14.6 to 5.04·10⁷, multiplying by about 18.5 per vector, while the spread one stays at 1. The reason is the one behind every Krylov basis on this site: repeated application of one operator converges to a direction, so every new moment is nearly the last. The rate is set by the ratio of distances from σ to the poles, which means the user's own choice of interpolation point decides how fast their basis becomes unusable — and spending the solves at different points instead is both a better approximation and a basis that survives.2345678110²10⁴10⁶10⁸vectors in the basisκ₂ of the basisas derivedsolves spread outone subspace, two spanning setseight moments at one point5·10⁷eight points, spread1growth per vector191/u4.5·10¹⁵the same subspaceand only one of them usable
Fig. 4 In the middle, and the growth per vector is largest.
Two bases for one subspace, at an interpolation point of 800κ₂ of the moment basis (σI − A)⁻¹B, (σI − A)⁻²B, … at a single point σ = 800, against κ₂ of the same number of solves spent at points spread across the model's poles and orthogonalised as they are built. The moment basis runs 38.9 to 3.51·10⁸, multiplying by about 16.4 per vector, while the spread one stays at 1. The reason is the one behind every Krylov basis on this site: repeated application of one operator converges to a direction, so every new moment is nearly the last. The rate is set by the ratio of distances from σ to the poles, which means the user's own choice of interpolation point decides how fast their basis becomes unusable — and spending the solves at different points instead is both a better approximation and a basis that survives.2345678110²10⁴10⁶10⁸vectors in the basisκ₂ of the basisas derivedsolves spread outone subspace, two spanning setseight moments at one point3.5·10⁸eight points, spread1growth per vector161/u4.5·10¹⁵the same subspaceand only one of them usable
Fig. 5 Past every pole, where every solve is nearly the same vector.
A reduced model of order 4, and the 4 places it is exact|H(s) − Hᵣ(s)| ÷ |H(s)| along the real axis, for a rational-Krylov reduction of a 24-state model at the interpolation points 1.5, 5, 16, 50. At each of them the curve falls to 5.3·10⁻¹⁶ — the reduced function passes through the original, and its derivative does too, because the projection is two-sided. Between and beyond them it reaches 8.37·10⁻⁴, and there is no bound on it: the method buys 8 exact conditions for 4 solves and offers nothing anywhere else. That is the trade against balanced truncation, which asks for nothing and bounds everything at a cost of two Lyapunov solves.10⁻¹110¹10²10³10⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵s, on the real axis|H − Hᵣ| ÷ |H|exact where askedpoints4conditions bought8worst at a point5.3·10⁻¹⁶worst away from one8.4·10⁻⁴4 points, 8 conditionsand no bound in between
Fig. 6 What the spread basis buys, drawn as an error curve.
A reduced model of order 6, and the 6 places it is exact|H(s) − Hᵣ(s)| ÷ |H(s)| along the real axis, for a rational-Krylov reduction of a 24-state model at the interpolation points 1.5, 5, 16, 50, 160, 500. At each of them the curve falls to 1.5·10⁻¹⁵ — the reduced function passes through the original, and its derivative does too, because the projection is two-sided. Between and beyond them it reaches 1.51·10⁻⁷, and there is no bound on it: the method buys 12 exact conditions for 6 solves and offers nothing anywhere else. That is the trade against balanced truncation, which asks for nothing and bounds everything at a cost of two Lyapunov solves.10⁻¹110¹10²10³10⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸s, on the real axis|H − Hᵣ| ÷ |H|exact where askedpoints6conditions bought12worst at a point1.5·10⁻¹⁵worst away from one1.5·10⁻⁷6 points, 12 conditionsand no bound in between
Fig. 7 And six points, which is where two of them become parallel.
The residual basis of conjugate gradients, at κ = 104A semi-logarithmic plot against iteration count showing the loss of orthogonality among the residual vectors rising while the relative residual falls.05101520253010⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹iteration‖RᵀR − I‖ and ‖r‖/‖b‖step n‖RᵀR − I‖residual30×30, run for exactly n stepsexact arithmetic would end here
Fig. 8 The same collapse in the field this site first met it in.
‖QᵀQ − I‖ at every step of a Lanczos run, n = 24The departure from orthogonality of the Lanczos basis, against the step, on a logarithmic vertical axis. It sits at the level of rounding for 13 steps and then climbs by a factor of about seventeen a step for ten steps running, twelve orders of magnitude, before saturating. The dashed line marks the step at which the first Ritz value converged, which is step 11.0481216202410⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹step‖QᵀQ − I‖first Ritz value converges√uno reorthogonalisationfullthe two events are one eventstep orthogonality crosses √u14step the first Ritz value converges11consecutive steps at ≥5× growth10a drift would grow like a square rootthis grows like a geometric series and then stops
Fig. 9 Orthogonality as a measurement rather than an adjective.
QᵀQ from classical Gram–Schmidt and from Householder on the 10×10 Hilbert matrixTwo eight-by-eight tables of QᵀQ. The upper one has ones on the diagonal and entries as large as one off it; the lower one is the identity to three decimal places everywhere.A = H10 · κ = 1.6·10¹³ · both factorisations reconstruct A to 6.4·10⁻¹⁷the diagonal is 1 in both — every column is a unit vector either way1.00000000000001.00000000000001.00000000000001.00000000000001.0000-0.001-0.001-0.001-0.001000001.000-0.053-0.042-0.035-0.0280000-0.001-0.0531.0001.0001.0001.0000000-0.001-0.0421.0001.0001.0001.0000000-0.001-0.0351.0001.0001.0001.0000000-0.001-0.0281.0001.0001.0001.000classical Gram–Schmidt1.00000000000001.00000000000001.00000000000001.00000000000001.00000000000001.00000000000001.00000000000001.00000000000001.00000000000001.000Householderclassical ‖QᵀQ − I‖3.5Householder ‖QᵀQ − I‖1.9·10⁻¹⁵largest off-diagonal 1 against 4·10⁻¹⁶length is not angle
Fig. 10 Two orderings of one orthogonalisation, and the number that separates them.
Classical and modified Gram–Schmidt: the same subtraction, in a different orderTwo panels of pseudocode differing in one argument, with the resulting pairwise dot products of the computed columns listed beneath each.for each previous column i, subtract the projection of column j onto qᵢclassicalr[i][j] = qᵢ · a[j] ↑ the ORIGINAL columnv = v − r[i][j] · qᵢthe three worst |qᵢ · qⱼ|:columns 8 and 9: 1columns 9 and 10: 1columns 7 and 8: 1modifiedr[i][j] = qᵢ · v ↑ what is LEFT of itv = v − r[i][j] · qᵢthe three worst |qᵢ · qⱼ|:columns 2 and 10: 1.8·10⁻⁴columns 1 and 10: 3.2·10⁻⁵columns 4 and 10: 7.9·10⁻⁶The two R factors agree to 2.9·10⁻⁶ relative. The two Q factors do not.the 10×10 Hilbert matrixone word, eight orders
Fig. 11 The same pair measured as a loss of orthogonality.
Reversing the columns of a 6×6 matrix: what each orthogonalisation returnsBoth grids print the entries of Q₁P − Q₂, where Q₁ orthogonalises A and Q₂ orthogonalises A with its columns reversed. If the answer permuted with the columns, both grids would be zero. The polar factor's is: ‖U₁P − U₂‖_F = 1.53·10⁻¹⁵. QR's is not: ‖Q₁P − Q₂‖_F = 2.353 on matrices whose own Frobenius norm is 2.449, so the two answers are essentially unrelated. Gram–Schmidt and Householder both build Q one column at a time, and the first column is treated differently from the last.polar: U₁P − U₂QR: Q₁P − Q₂0000000000000000000000000000000000000.56-0.15-0.21-0.330.06-0.64-0.430.310.310.120.20.73-0.130.64-0.031-0.0028-0.420.075-0.18-0.43-0.130.21-0.29-0.420.640.630.670.62-0.52-0.420.26-0.520.022-0.0870.2-0.24the same columns, reordered‖U₁P − U₂‖_F1.5·10⁻¹⁵‖Q₁P − Q₂‖_F2.4‖Q‖_F, for scale2.4κ of the matrix10the column space did not moveand one of the two answers did
Fig. 12 And the order that decides it.
What each reorthogonalisation costs and what it leaves, n = 40Two quantities for three variants on one logarithmic axis: the number of projections performed, and the departure from orthogonality left behind. Doing nothing costs nothing and leaves a basis that is not one. Full reorthogonalisation costs 820 projections and leaves 1.9·10⁻¹⁵. Selective costs 137 — 6.0 times fewer — and leaves 10·10⁻⁸, which is √u and is enough.010⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹count, and ‖QᵀQ − I‖√u — semi-orthogonalitynoneselectivefullprojections‖QᵀQ − I‖two counters, three methodsghosts, none4ghosts, selective0selective is cheaper by6the cheap repair leaves a basis that is not orthogonaland that is the claim, not a shortfall
Fig. 13 What a second pass costs, and why it is spent anyway.
Copies of each eigenvalue after 80 steps on a 40×40 matrix with a simple spectrumA bar per eigenvalue that came back more than once, showing how many times. The matrix has 40 distinct eigenvalues by construction; the run returned 25 extra copies of 13 of them, the most-copied arriving 5 times. Every copy is accurate to 1.9·10⁻⁸ relative, which is why nothing but the true spectrum could detect them.λ = 105 timesλ = 9.55 timesλ = 95 timesλ = 8.55 timesλ = 2.952 timesλ = 2.92 timeseigenvalues that arrived more than once — the matrix has 40 distinct onesa spectrum with the wrong multiplicitiesextra copies, no reorthogonalisation25extra copies, full reorthogonalisation0worst relative error among the copies1.9·10⁻⁸steps taken of 80 asked for, full40no arithmetic error was madeevery one of these is right to eight digits
Fig. 14 What happens to a Krylov method when the basis stops being one.
Fitting the same degree-10 polynomial in two basesOn the left, the data and two fitted curves that lie on top of each other. On the right, the condition numbers of the two design matrices, ten orders of magnitude apart.00.10.20.30.40.50.60.70.80.910.20.40.60.81xyboth fits, drawn on top of one anothercondition number of the design matrixmonomial2.1·10⁷Chebyshev2.3largest fitted coefficientmonomial176Chebyshev0.51rms residual: 4.2·10⁻⁶ and 3.1·10⁻⁷ — the data is fitted either way.30 points, degree 10, single precisionthe basis is part of the problem
Fig. 15 A basis whose conditioning decides whether a fit exists.
Steps to a relative error of 10⁻⁶, on one 60×12 problem at five condition numbersTwo curves against the condition number on a logarithmic horizontal axis, with four seeds drawn at each. The two recurrences compute the same iterates in exact arithmetic. At κ = 10² they cost 16 and 16 steps; at κ = 10¹⁰ they cost 110 and 209.10²10⁴10⁶10⁸10¹⁰0285684112140168196224condition numberstepsnormal equationsbidiagonalisationone sequence, two costssteps at κ = 10², both16at κ = 10⁶, ratio1.1at κ = 10¹⁰, ratio1.9the same iterates in the algebraand twice the work at κ = 10¹⁰
Fig. 16 One sequence and two recurrences, which is this essay’s shape one field over.
Two Krylov methods for one quadratic, priced by the numbers they storeA chain of 16 masses. Arnoldi on the 32 × 32 linearisation stores m vectors of length 32 and returns m Ritz values; the second-order recurrence stores m vectors of length 16 and its projection is taken onto the QUADRATIC, which has 2m eigenvalues for an m × m problem. So at every subspace size the second route holds half as many numbers and returns twice as many approximations — a factor of four in Ritz values per number stored, exactly and by construction. Plotted against storage, its curve is the lower one at every point: at 96 numbers it is 0.01231 from the dominant eigenvalue where the linearised route needs 192 to reach 0.07122. Both converge slowly — twenty-six vectors buy three digits — because the chain's spectrum is an arc with no isolated extreme, and that is the honest half: this is a comparison of prices rather than a fast method.22.32.62.910⁻⁴10⁻³10⁻²10⁻¹1log₁₀ numbers storeddistance to the dominant eigenvalueArnoldi, linearisedprojected quadraticper number heldstorage, linearised832storage, second-order416Ritz values, linearised26Ritz values, second-order52half the storageand twice the approximations
Fig. 17 A recurrence that stops being a basis while its answer keeps improving.
A basis that stops being a basis, and a Ritz value that keeps improving through it‖QᵀQ − I‖ for the two Krylov bases on a chain of 16 masses, against the number of vectors. Both are orthogonalised by the same modified Gram–Schmidt sweep, so what differs is the recurrence: the linearised basis stays at 6.83·10⁻¹³ throughout, and the second-order one runs from 3.65·10⁻¹² at four vectors to 2.828 at twenty — orthogonality gone entirely. The third curve is the distance from the dominant eigenvalue, which falls from 0.02878 to 0 across the same range — the answer improves across the collapse, so a run watching only the answer would report progress at every step.3691215182110⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹vectors held‖QᵀQ − I‖, and the distance to λsecond-order basisdistance to λlinearised basisthe symptom is absence‖QᵀQ − I‖ at 4 vectors3.7·10⁻¹²at 202.8linearised, worst6.8·10⁻¹³distance to λ at 200the basis fails firstand the answer does not say so
Fig. 18 And the measurement that catches it.
The computed angle against the true one, two formulationsTwo curves of computed angle against true angle on logarithmic axes. One follows the diagonal all the way down; the other leaves it and flattens at a fixed level.10⁻¹⁴10⁻¹²10⁻¹⁰10⁻⁸10⁻⁶10⁻⁴10⁻²10⁻¹⁵10⁻¹³10⁻¹¹10⁻⁹10⁻⁷10⁻⁵10⁻³the true anglethe angle computed√(2u) = 1.49·10⁻⁸arcsine of ‖(I − QQᵀ)Q₂‖arccosine of σ(Q₁ᵀQ₂)two routes, one of which has a floorfloor of the arccosine route1.5·10⁻⁸√(2u)1.5·10⁻⁸worst overstatement1.5·10⁶angles returned as exactly zero3a plane tilted by a known anglethe flat part is the instrument, not the data
Fig. 19 The angle between two subspaces, which is what a collapsing basis loses.
The plane, and the two vectors inside it, at a gap of 10⁻⁸A circle representing the invariant plane, with two perpendicular radii for the eigenvectors and two more for the perturbed ones, rotated within the same circle.the invariant planesolid: beforedashed: aftersame perturbation, two questionsthe vectors turned, radians0.43the plane turned, radians7.6·10⁻⁸what left the plane6.5·10⁻⁸drawn in the unperturbed plane's own basisa radius is not determined; the circle is
Fig. 20 A subspace that survives what its vectors do not.
IRKA's interpolation points walking to the condition that defines themEach curve is one of 4 interpolation points across 13 iterations of σ ← −λ(Aᵣ). They start logarithmically spread over the frequency range, which is a guess, and settle at 9.861, 40.15, 102.1, 302.8. What is checked at the end is not that they stopped moving but that where they stopped is the first-order condition: the mirrored poles of the model they produced agree with them to 2.81·10⁻¹². A fixed-point iteration that stops moving without satisfying its own condition has converged to nothing, and this one has no convergence proof to lean on — so the condition is checked rather than the movement.01234567891011121310⁻¹110¹10²10³iterationinterpolation point σa fixed point that is a conditionorder4iterations13σ against −λ(Aᵣ)2.8·10⁻¹²H₂ error4.3·10⁻⁵it stopped movingand the condition holds there
Fig. 21 The third way of spending the solves.
What 3 shifts do to each direction of the starting vectorAmplification of each eigen-component against its eigenvalue, on a logarithmic vertical axis. The points are measured — the component of the vector along each eigenvector, before and after — and the curve is |Π(λ − θ)| with the roots at the 3 discarded Ritz values. They agree to 3.9·10⁻¹¹. The 3 wanted directions are amplified by at least 1 and everything else by at most 0.802.1357910⁻⁵10⁻⁴10⁻³10⁻²10⁻¹1eigenvalue λamplificationkeptdiscardeda filter on the starting vectormeasured against the polynomial3.9·10⁻¹¹worst kept direction1best discarded direction0.8the roots are the discarded Ritz valuesand the vertical lines are where they sit
Fig. 22 Choosing shifts to filter a spectrum rather than to interpolate a function.
The transfer function of a 24-state model, by a solve and by a formula|H(iω)| for the second-difference operator on 24 points with one actuator and one sensor. The curve is C(iωI − A)⁻¹B, one factorisation of a complex 24 × 24 matrix per frequency, and the crosses are Σ(cᵀvₖ)(vₖᵀb)/(iω − λₖ) with the eigenvalues and eigenvectors written down in closed form. The two share the coefficient matrices and no code. Below ω = 100 they agree to 1.05·10⁻¹⁴ relatively; above it the modal sum is computing a number far below its own largest term, because the residues sum to cᵀb and the sensor is not at the actuator, so the relative comparison stops meaning what it looks like. Measured against the size of the terms being added, the two agree to 3.85·10⁻¹⁵ at every frequency. A state dimension of 24 and a function of one variable: the gap between those is what the field is about.10⁻¹110¹10²10³10⁻¹¹10⁻¹⁰10⁻⁹10⁻⁸10⁻⁷10⁻⁶10⁻⁵10⁻⁴10⁻³10⁻²10⁻¹frequency ω|H(iω)|one function, two routesstates24relative, ω ≤ 10010⁻¹⁴against the terms3.9·10⁻¹⁵‖H‖∞0.0924 statesone function of one variable
Fig. 23 The model every basis here is built from.
Two rank decisions for one integer: the McMillan degree of a 40-state modelSingular values, each divided by the largest of its own set. The Loewner matrix is built from 32 samples of H on the imaginary axis and never touches A: its 6th singular value stands 9.46·10⁴ above the next, so the rank decision is not a close call. The Hankel matrix of Markov parameters CAᵏB is built from A, B and C — strictly more information — and has no cliff, because ‖A‖ is (n+1)² and its entries span 3·10³⁷. It returns 2 where the answer is 6. The definition is not the algorithm, and the route with less information is the one that works.1357911131510⁻¹⁸10⁻¹⁵10⁻¹²10⁻⁹10⁻⁶10⁻³1indexsingular value ÷ the largestdegree 6from samples of Hfrom A, B and Cone integer, two routesstates40Loewner rank6its gap9.5·10⁴Markov rank2its dynamic range3·10³⁷the rank of a divided differenceand the rank that cannot be seen
Fig. 24 And the number of directions there are to find.
The condition number a sketched preconditioner leaves, against the condition number it was givenTwo curves against κ(A), both axes logarithmic. The matrix's own condition number climbs the diagonal from 100 to 10¹⁰; κ(AR⁻¹), where R comes from a QR of a 4n-row sketch, is 2.6304 at every one of them — the same number to ten digits, not a similar one. The reason is two lines of algebra: with G = SU the preconditioned singular values are those of (GᵀG)⁻¹, which has no spectrum of A in it at all.10²10⁴10⁶10⁸10¹⁰110²10⁴10⁶10⁸10¹⁰condition number of the matrixcondition number seen by the iterationκ(A), unchangedκ(AR⁻¹)a bound with no κ(A) in itκ(AR⁻¹), every κ(A)2.6κ(SU), the other route2.6κ(A), across the sweep10⁸κ(AR⁻¹), across the sweep1the sketch never sees the spectrumand the spectrum cancels out of the answer
Fig. 25 Changing a spectrum on purpose, which is what a shift does.
Conjugate gradients at κ = 102, against the bound κ permitsA semi-logarithmic plot of the relative A-norm error against iteration count. The measured curve falls below a smooth dashed curve showing the classical condition-number bound.0408012016020024010⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹iteration‖e‖_A / ‖e₀‖_Ameasuredκ bound58 steps40×40, spectrum spread evenly in logbound permits 142
Fig. 26 A rate set by a ratio of eigenvalues.
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. 27 A gap that decides a rate, in the spectral field.
Adding 0.1 to 256, a thousand times, at 8 significand bitsThree lines against the number of additions: the exact total rising steadily, a staircase following it, and a flat line at the starting value.02505007501000250275300325350375additionsrunning totalround to nearest: nothing arrivesexactstochasticnearesta thousand additionshalf an ulp at 2561moves, round to nearest0moves, stochastic46relative error, nearest0.28relative error, stochastic0.0228 significand bits, unbounded exponenta flat line is not a small error
Fig. 28 A sequence that stops moving, for a different reason.
How much a perturbation of the right-hand side is amplified, κ = 10⁴The cumulative distribution of the amplification factor over two hundred random perturbation directions, with the condition number marked as the upper limit.110¹10²10³10⁴10⁵00.250.50.751amplification of the input perturbationfraction of directions at or belowκ = 10000worst found 76206×6, 200 directionsmedian reaches 0.29 of κ
Fig. 29 What a condition number of 10⁹ means for anything computed with it.
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. 30 Deciding that a direction is not there, which is what a refused vector is.
Two bases for one subspace, at an interpolation point of 20κ₂ of the moment basis (σI − A)⁻¹B, (σI − A)⁻²B, … at a single point σ = 20, against κ₂ of the same number of solves spent at points spread across the model's poles and orthogonalised as they are built. The moment basis runs 10.9 to 7.75·10⁹, multiplying by about 65.8 per vector, while the spread one stays at 1. The reason is the one behind every Krylov basis on this site: repeated application of one operator converges to a direction, so every new moment is nearly the last. The rate is set by the ratio of distances from σ to the poles, which means the user's own choice of interpolation point decides how fast their basis becomes unusable — and spending the solves at different points instead is both a better approximation and a basis that survives.2345678110²10⁴10⁶10⁸10¹⁰vectors in the basisκ₂ of the basisas derivedsolves spread outone subspace, two spanning setseight moments at one point7.7·10⁹eight points, spread1growth per vector661/u4.5·10¹⁵the same subspaceand only one of them usable
Fig. 31 The hero again, beside the reduced models it makes possible.
Each method wins the norm it was designed for, and by less than anyone guessesRatios of the loser's error to the winner's, on 4 systems. In H₂ the interpolatory model wins every time, by 0.8%, 1.3%, 0.4%, 1.9% — IRKA satisfies the first-order conditions for that norm and balanced truncation does not. In H∞ balanced truncation wins every time, by 16%, 23%, 12%, 25%, which is the norm its bound is stated in. Both orderings hold on every system, so this is not a coin flip; and the H₂ margin is under two per cent, so a method costing r solves lands within two per cent of one costing two Lyapunov solves in the norm the cheap one optimises. The choice in this field is about cost.loser's error ÷ winner's error24 states, degree 8, r = 4 · H₂1.007924 states, degree 8, r = 4 · H∞1.155824 states, degree 8, r = 3 · H₂1.012624 states, degree 8, r = 3 · H∞1.232630 states, degree 10, r = 5 · H₂1.004230 states, degree 10, r = 5 · H∞1.123424 states, degree 12, r = 4 · H₂1.019424 states, degree 12, r = 4 · H∞1.2480H₂, where IRKA wins by 1.9% at mostH₂ to the interpolationH∞ to the bound
Fig. 32 What the spread basis is eventually judged on.

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.

BasisCondition numberKrylov subspaceMoment matchingOrthogonalityPetrov–GalerkinPower methodRational krylovReorthogonalisation