Iterating, instead of factorising

The same zero, and nothing was found

Change the recurrence by two lines and the divisor stops being a norm. It becomes an inner product of two vectors from two different sequences, and an inner product of two different vectors is zero on a whole hyperplane — with neither vector anywhere near zero, nothing invariant, and nothing converged. The arithmetic event is identical and the meaning is opposite.

Worth reading first: The zero that means it is finished · The rate the condition number predicts · The spectrum that predicts nothing.

The previous argument rested on one fact about the Arnoldi recurrence: the number it divides by is a norm. A norm is zero exactly when its vector is, so a zero divisor means the new direction was already in the space, which means the space is invariant, which means the answer is inside it. There is no other reading available.

Arnoldi has a cost, and it is the cost that made everything after it necessary. To orthogonalise against the whole existing basis it has to keep the whole existing basis: k vectors at step k, and k inner products, so the work and the storage both grow with the step number. On a symmetric matrix that cost disappears — the orthogonality relations collapse to three terms and Lanczos runs in constant memory — and on a nonsymmetric one it does not.

The two-sided Lanczos recurrence is what buys the short recurrence back. It costs one thing, and this essay is about what that thing costs.

What happens to the two-sided recurrence on 4000 random 5×5 integer matricesEntries drawn uniformly from −2 to 2, starting vectors both e₁, and the recurrence run to step 4. 295 of the 4000 end in a lucky breakdown — a Krylov space closed, which is the event that is an answer. 532 end in a serious one, where the divisor vanishes and neither vector does: 13.3 per cent. Of those, 495 are cleared by a look-ahead block of length two, 29 need a longer one, and 8 have no j at all with w̃ᵀAʲṽ ≠ 0 and cannot be cleared at any block length. On Gaussian matrices every one of the last three counts is zero, which is the usual reason given for not worrying about this.ran to the end3173lucky — a subspace closed295serious, cured by a block of two495serious, cured by a longer block29serious, incurable at any length8counted, not estimatedserious, as a fraction0.13of those, cured at two0.93incurable8matrices tried4000measure zero on the realsand an eighth of the integers
Fig. 1 Four thousand random integer matrices, and what the recurrence does on each. The bottom three bars are the event this essay is about; on the reals they are all zero.

What changes, which is two lines

Instead of one sequence orthogonal to itself, build two sequences bi-orthogonal to each other: v₁, v₂, … from A and w₁, w₂, … from Aᵀ, with ⟨w_i, v_j⟩ = 0 whenever i ≠ j.

That is enough to force a three-term recurrence on a matrix with no symmetry at all, which is the prize, and the derivation is a page long. The scaling of the two sequences is free, so it is fixed by requiring ⟨w_k, v_k⟩ = 1, and there it is: the divisor at step k is

δ_k = ⟨w̃, ṽ⟩

where ṽ and w̃ are the two new directions before normalisation. It is not a norm. It is an inner product of two vectors from two different sequences, and such a thing is zero on a hyperplane — a set of codimension one, which both vectors can sit either side of without being small.

Three things can happen, and only the first two have counterparts in Arnoldi.

The recurrence completes. Nothing to say.

ṽ or w̃ is zero. One of the two Krylov spaces has closed. This is the lucky breakdown, with the same meaning it has in Arnoldi, and it is what most of the census above records.

δ is zero and neither vector is. Nothing has closed. No subspace is invariant, no Ritz value has converged, and the recurrence has no next term. This is the serious breakdown, and it is the reason BiCG and its descendants have the reputation they have.

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. 2 The pair of recurrences seen from the other side, in the essay that introduced them: one sequence, two ways of generating it, and a difference that is not in the algebra.

How often, which is the question the textbooks decline

The standard sentence is that a serious breakdown is a measure-zero event and therefore does not happen in practice. The first half is true. The second does not follow, and the reason is worth being blunt about: measure zero is a statement about the reals, and a great many matrices are not random reals.

An incidence matrix is integers. A stencil is small rationals. A graph Laplacian is integers. A transfer matrix in a lattice model, a Markov chain on a finite state space, an adjacency structure, a combinatorial relaxation — integers, all of them, and integers are exactly where a set of measure zero in the reals is a set of positive density.

So the census counts. Four thousand 5×5 matrices with entries drawn uniformly from −2 to 2, the recurrence started from e₁ on both sides and run to step n − 1:

  • 532 serious breakdowns — 13.3 per cent;
  • 495 of them cleared by a look-ahead block of length two;
  • 29 needing a longer block;
  • 8 that cannot be cleared at any block length at all.

On Gaussian matrices every one of those four numbers is zero, at any number of trials, which is what makes the usual sentence defensible and what makes it useless.

What happens to the two-sided recurrence on 4000 random 7×7 integer matricesEntries drawn uniformly from −2 to 2, starting vectors both e₁, and the recurrence run to step 6. 33 of the 4000 end in a lucky breakdown — a Krylov space closed, which is the event that is an answer. 337 end in a serious one, where the divisor vanishes and neither vector does: 8.4 per cent. Of those, 322 are cleared by a look-ahead block of length two, 15 need a longer one, and 0 have no j at all with w̃ᵀAʲṽ ≠ 0 and cannot be cleared at any block length. On Gaussian matrices every one of the last three counts is zero, which is the usual reason given for not worrying about this.ran to the end3630lucky — a subspace closed33serious, cured by a block of two322serious, cured by a longer block15serious, incurable at any length0counted, not estimatedserious, as a fraction0.084of those, cured at two0.96incurable0matrices tried4000measure zero on the realsand an eighth of the integers
Fig. 3 At seven the serious count rises, because there are more steps for a divisor to vanish at, and the share cleared by a block of two barely moves.
What happens to the two-sided recurrence on 4000 random 4×4 integer matricesEntries drawn uniformly from −2 to 2, starting vectors both e₁, and the recurrence run to step 3. 625 of the 4000 end in a lucky breakdown — a Krylov space closed, which is the event that is an answer. 663 end in a serious one, where the divisor vanishes and neither vector does: 16.6 per cent. Of those, 579 are cleared by a look-ahead block of length two, 40 need a longer one, and 44 have no j at all with w̃ᵀAʲṽ ≠ 0 and cannot be cleared at any block length. On Gaussian matrices every one of the last three counts is zero, which is the usual reason given for not worrying about this.ran to the end2712lucky — a subspace closed625serious, cured by a block of two579serious, cured by a longer block40serious, incurable at any length44counted, not estimatedserious, as a fraction0.17of those, cured at two0.87incurable44matrices tried4000measure zero on the realsand an eighth of the integers
Fig. 4 And at four most of these recurrences simply close a subspace before anything can go wrong.

Why the integers are not a special case

It is tempting to read the census as a curiosity about small integer matrices and stop there. Two things make that reading expensive.

The first is that the structured matrices which produce exact zeros are exactly the matrices large enough to need a short recurrence. Nobody reaches for BiCG on a dense 5×5 problem. They reach for it on a transfer matrix, a lattice operator, a discretised transport equation with integer stencil weights, a graph — and every one of those has entries drawn from a small set by construction rather than by accident.

The second is that a matrix does not have to be integral for its inner products to be. A stencil with weights ±1 and a starting vector that is a unit basis vector produce integer inner products for as many steps as the arithmetic is exact for, which on a sparse operator with small entries is a great many. The set the divisor is being drawn from is discrete long after the matrix has stopped looking discrete.

The arrowhead matrix, eliminated from each endThree sparsity plots. The first shows an arrowhead matrix with a dense first row and column. The second shows its Cholesky factor, completely dense. The third shows the factor obtained after moving the dense row to the end, which has no fill at all.the matrix23 entriestip eliminated first78 entriestip eliminated last23 entries‖A − LLᵀ‖/‖A‖, tip first9.3·10⁻¹⁷‖A − LLᵀ‖/‖A‖, tip last0dense factor is n(n+1)/2 = 78 · sparse factor is 2n − 1 = 23one row swapped to the endnothing numerical chose between them
Fig. 5 One of those structured matrices, from the sparsity field. Nothing about its entries is drawn from a continuous distribution.
The 12×12 grid Laplacian and its Cholesky factor, ordered by naturalTwo square sparsity plots side by side. The left shows the nonzeros of the matrix; the right shows the nonzeros of its Cholesky factor, with the entries created by elimination marked in a second colour.the matrix, lower triangle408 entriesits Cholesky factor1739 entries · 1331 created‖A − LLᵀ‖/‖A‖1.4·10⁻¹⁶fill, symbolic1331fill, numeric1331n = 144 · density 3.2% · bandwidth 12same matrix, renumberedthe answer is identical to rounding
Fig. 6 And another: a discretised operator whose nonzeros are a stencil repeated, which is the shape of most problems large enough for the storage argument to bite.

What a look-ahead step needs, which is one inner product

The repair is called look-ahead and its idea is simple: if the 1×1 division cannot be done, do a 2×2 solve instead — take two steps of the recurrence at once and require only that the block of moments be nonsingular.

The block is

M = [ ⟨w̃, ṽ⟩ ⟨w̃, Aṽ⟩ ] [ ⟨Aᵀw̃, ṽ⟩ ⟨Aᵀw̃, Aṽ⟩ ]

and its top-left entry is zero, because that is what the breakdown is. The two off-diagonal entries are the same number, since ⟨Aᵀw̃, ṽ⟩ and ⟨w̃, Aṽ⟩ are the same inner product written twice. So

det M = −(w̃ᵀ A ṽ)²

exactly: never positive, and nonzero precisely when the single number w̃ᵀAṽ is. The whole question of whether a two-step look-ahead is available is one inner product, and the determinant it decides is minus a perfect square.

That identity is not in any statement of the method this collection could find, and it is checked here rather than asserted: on forty serious breakdowns found by search, the 2×2 determinant computed from its four entries and −(w̃ᵀAṽ)² computed from one inner product agree to 3·10⁻¹⁵ relative in the worst case.

And the ones that cannot be cleared

Look-ahead of length j needs w̃ᵀAʲ⁻¹ṽ ≠ 0. If every one of those is zero — for every j at all — then no block of any size works, and the breakdown is incurable. The two Krylov spaces have become orthogonal in a way that no amount of looking ahead repairs.

Eight of the 532 were like that, which is 1.5 per cent of the serious breakdowns and 0.2 per cent of the matrices. Small, and not zero, and there is nothing to do about it except restart from a different pair of starting vectors — which changes the answer’s arithmetic and not its algebra, and is the same admission the next section is about.

Separating two eigenvalues, against how close they areIterations against the gap between the two largest eigenvalues, on a logarithmic gap axis. The single-vector method needs 17, 18, 20, 22 steps as the gap closes through four decades. The block of two needs 11 at every gap — and spends 22 products with A doing it, which is no less arithmetic. What it saves is synchronisations.10⁻⁴10⁻³10⁻²10⁻¹0510152025gap between the two eigenvaluesiterationsone vectorblock iterationsblock productsiterations, not arithmeticsingle-vector steps at 0.117single-vector steps at 0.000122block iterations, every gap11the same products with Aand half the synchronisations
Fig. 7 Restarting as a remedy, priced in the essay that measured it: what a restart costs when it is chosen rather than forced.

The near miss, which is what actually happens

Exact serious breakdowns need exact zeros. What a floating-point run meets is a δ that is small, and “small” here is the whole subject.

The family is built out of the one free choice the method makes and cannot justify. BiCG needs a second starting vector r̃₀ — the shadow vector — and every account of the method says the same thing about it: commonly r̃₀ = r₀. No reason is given because there is none to give. The answer does not depend on it and the arithmetic does.

Along a line r̃₀ = b + s·d there is a value s* at which the second divisor is exactly zero. It is found here by bisection on a sign change rather than assumed to exist, and the family is the shadow vector at distance η from it. The matrix does not change. The right-hand side does not change. The answer does not change. What changes is a choice the caller was told to make arbitrarily.

BiCG iterations on one 12×12 system against the distance of the shadow vector from a breakdownThe matrix, the right-hand side and the answer are the same at every stop. The only thing that moves is r̃₀, the second starting vector, which the method requires and for which every account gives the same non-reason. At η = 0.01 from the surface where the second divisor vanishes, BiCG is the direct method it is advertised as and finishes in 12 steps on 12 unknowns. The steps then run 12, 12, 13, 17, 20, 24, 80, 80, 80, 80 as η falls, and at 10⁻¹¹ the method has not converged after 80. Wherever it does finish it finishes at the same accuracy — the cost is the guarantee, not the answer.10⁻¹¹10⁻⁹10⁻⁷10⁻⁵10⁻³10⁻¹0122436486072distance of the shadow vector from the breakdownBiCG steps to 10⁻¹⁵n = 12, where it should endone matrix, one right-hand sideρ₂ ÷ η, at every stop0.28steps at the far stop12steps at the near stop80residual history over n steps0.27the answer does not movethe guarantee does
Fig. 8 The same 12×12 system at every stop, with only the shadow vector moving. The horizontal line is where finite termination says the method should end.

The steps run 12, 12, 12, 13, 17, 20, 24 — and then the method does not converge at all within eighty. On a twelve-dimensional problem.

That is worth stating carefully, because it is not the failure anybody expects. The answer is not damaged. At every stop where the method finishes, it finishes at a relative residual of about 10⁻¹⁶ — the same accuracy at η = 10⁻² and at η = 10⁻⁷. Nothing about the computed solution degrades.

What degrades is the property that made the method attractive in the first place. BiCG on an n×n problem is a direct method in exact arithmetic: the two Krylov spaces span everything after n steps and the residual is zero. Near the breakdown surface that guarantee is gone. Not weakened — gone.

And the observable does not move

The control in that figure is the one worth repeating from the previous essay, because it is the same shape arriving in a different method.

The largest relative residual over the first n steps — the visible hump every BiCG plot has, the thing that gets described as the method’s characteristic erratic behaviour — is 0.279 at η = 10⁻² and 0.271 at η = 10⁻⁷. It is the same number across five decades of the hidden quantity.

So a caller watching the residual history sees a run that looks exactly like every other run, right up to the point where it fails to stop. The quantity that is falling by five orders of magnitude is δ, and δ is not something any solver reports.

Two Krylov methods against products with A, at a kernel shift of 0Two error curves against the number of products with A, on a logarithmic vertical axis. The Arnoldi method reaches 0.1477 after 3 products and is 98.9 by the end of the run. The bidiagonal method reaches 0.1426 after 40 and degrades far more slowly.16111621263136414651566110⁻¹110¹10²products with Arelative errorArnoldi's best: 3Arnoldibidiagonalwhat a step buysArnoldi's best0.15products to reach it3bidiagonal's best0.14products to reach it40a tenth of the work to the same answerand no time at all spent there
Fig. 9 Another quantity a caller cannot see, from the regularisation field: the step at which a Krylov method turns from recovering the answer to recovering the noise.
What the solver reported, and what it achievedFinal relative residual and final relative error against the working precision, on a logarithmic vertical axis. The residual sits at the stopping tolerance at every precision — the method converged, by every test available to it. The error runs from 1.4·10⁻¹³ at 53 bits to 0.00597 at 8, tracking the unit roundoff, which is drawn beside it.614223038465410⁻¹³10⁻¹⁰10⁻⁷10⁻⁴working significand bitsrelative sizeerrorresidualuthe gap the solver cannot seeerror ÷ residual at 24 bits1.5·10⁶error ÷ residual at 16 bits2.3·10⁷error ÷ residual at 8 bits2.4·10¹⁰every convergence test passesand the answer is wrong in proportion to u
Fig. 10 And the general statement of it: what the residual can and cannot tell you about the error behind it.

Two failures that look the same from outside

Put the two essays’ pictures beside each other and the point of the pair is visible in one sentence.

In the lucky case the divisor falls to 10⁻¹⁴, the method stops, and the residual is 10⁻¹⁶. In the serious case the divisor falls to 10⁻¹⁴, the method stops, and the residual is whatever it happened to be — which on the shadow family is around 0.27.

A monitoring routine that logs “divisor below tolerance, stopping” prints the same line in both cases. A caller who reads only that line cannot tell which happened. The two are distinguished by a quantity neither of them logs — whether ṽ and w̃ are themselves small — and it costs two norms to find out.

That is the cheapest lesson in this essay and it is the one worth acting on: a routine that detects a breakdown should record which kind it was, because the information is available at the moment of detection, costs nothing, and cannot be recovered afterwards from anything the method returns.

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. 11 The general shape, from the essay on condition estimation: a number that is reported and a number that is meant, differing by a factor nobody sees because only the first is printed.

Why anybody puts up with this

Because the alternative costs memory that does not exist.

GMRES on a nonsymmetric matrix stores every basis vector, so a thousand-step run on a million-unknown problem needs a thousand million-length vectors. Restarted GMRES bounds the storage and gives up the optimality — and, as this collection has already measured, restarting can stall outright on a matrix whose spectrum looks perfectly reasonable.

GMRES on the Laplacian and on the cyclic shift, both 24×24A semi-logarithmic plot of relative residual against iteration. One curve falls steadily; the other is flat at one for every step until the last, where it drops to zero.0481216202410⁻¹⁴10⁻¹²10⁻¹⁰10⁻⁸10⁻⁶10⁻⁴10⁻²1iteration‖r‖ / ‖b‖Laplaciancyclic shiftno progress at allevery eigenvalue of the shift is on the unit circleand it predicts nothing
Fig. 12 The reason a spectrum is not a plan: on a nonsymmetric matrix the eigenvalues can be placed anywhere you like without constraining the residual history at all.
12 restarts keeping 4 of 8, on a 40×40 matrixThe residual bound of the worst wanted eigenvalue and its true error, against the number of products with A. The bound falls from 1.21 to 1.08·10⁻¹³ across 12 cycles and 140 products, and the true error reaches 7.11·10⁻¹⁵. The basis is 8 vectors at every cycle and never grows.0183654729010812610⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹products with Asizeresidual boundtrue errorbounded memorybasis vectors kept8products with A140worst error in the k wanted7.1·10⁻¹⁵the bound is free and the error is notand the basis never grows
Fig. 13 And what restarting does to the convergence it was meant to make affordable.

The two-sided recurrence stores three vectors. Whatever it costs, it costs that in a fixed amount of memory, and for a large enough problem “fixed” is the only column in the table that matters. Every method in the BiCG family — CGS, BiCGStab, QMR, TFQMR — is an attempt to keep the short recurrence and mitigate what it brings with it, and each of them mitigates a different part.

QMR is the most direct about it: it takes the same recurrence, admits that the residual is not being minimised, and minimises a quasi-residual instead — which smooths the history and, crucially, is where look-ahead was first made practical.

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 15 and 16 steps; at κ = 10¹⁰ they cost 105 and 194.10²10⁴10⁶10⁸10¹⁰0275481108135162189216condition numberstepsnormal equationsbidiagonalisationone sequence, two costssteps at κ = 10², both15at κ = 10⁶, ratio1.1at κ = 10¹⁰, ratio1.8the same iterates in the algebraand twice the work at κ = 10¹⁰
Fig. 14 The short recurrence’s other half, at a tighter target: the same sequence generated two ways, and the difference in what the arithmetic does to each.

What the family says about the advice

The shadow vector is chosen arbitrarily and the arbitrary choice decides whether the method terminates. That is an uncomfortable sentence, and the discomfort is the point of the measurement rather than a side effect of it.

It is not that r̃₀ = r₀ is a bad default. It is that there is no basis on which to call it a good one. The quantity it controls is invisible, the failure it can cause is a non-termination rather than a wrong answer, and the distance from the surface where the failure lives is not something a caller can compute without doing the work the method was supposed to save.

What practice does instead — and this is the honest resolution rather than a criticism — is treat the shadow vector as a resource to be re-drawn. If a run stalls, restart with a different r̃₀. The new run is a different arithmetic path to the same answer, so a stall on one and success on another is not a contradiction, and two runs that agree are two routes to a number in the sense this site means. It is a randomised remedy for a deterministic problem, and this collection has a whole field about what changes when a guarantee starts holding with a probability instead of holding.

The randomised SVD against the optimum it cannot beat, with 1 power iterationA semi-logarithmic plot of approximation error against target rank. A shaded band shows the spread across seeds, a solid line the optimal error from the exact singular values, and a dashed line the published probabilistic bound well above both.04812162010⁻¹10⁻⁰.⁵1target rank k‖A − A_k‖₂published boundrandomisedσ_{k+1}, optimalhow far apart the three areworst seed spread1.2bound / median at k = 1211median / optimum at k = 12160×60, 6 seeds, oversampling p = 5band is best to worst
Fig. 15 The kind of guarantee that replaces the one that was lost: a bound that holds with a probability, drawn as a band rather than as a line.
160 single-probe estimates of one 12×12 trace, from the two standard probe distributionsTwo clouds of points, each one estimate of the trace from one random vector. Both are centred on the true value of 37.239 — the estimator has no bias at all — and the dashed bands are the standard deviation each distribution is known in closed form to have: 14.18 for the ±1 probe and 21.23 for the normal one. Measured over these draws they come out 14.48 and 20.31.0275481108135322.849442.698862.548282.3975102.247drawzᵀAz from one probenormal±1two routes to one spreadthe trace37±1 spread, predicted14±1 spread, measured14normal ÷ ±11.5no bias in either cloudand one of them is narrower for a reason
Fig. 16 And what the seed is worth when the answer depends on it, measured rather than described.

What is symmetric about symmetry

The comparison worth ending on is not between Arnoldi and the two-sided recurrence, it is between what each of them is allowed to assume.

On a symmetric matrix, Aᵀ is A, the two sequences are the same sequence, and δ becomes ⟨v, v⟩ — a norm again. Every ambiguity in this essay disappears at once, and the short recurrence and the unambiguous divisor come together rather than being separate gifts. That is not a coincidence: both of them are the same statement about A having an orthogonal eigenbasis.

This site has an essay saying that symmetry is worth more than precision, measured on the eigenvalue problem. Here is the same conclusion from a different direction and it is sharper: symmetry is worth the difference between a method that always terminates and a method that terminates unless a hidden inner product gets close to zero, in which case it may not terminate at all and will not say so.

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. 17 Symmetry priced on the eigenvalue problem: an eigenvalue of a symmetric matrix has condition number one, and an eigenvalue of a nonsymmetric one has no such bound.
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 8.86·10⁻⁹ of where they were — the size of the perturbation — and the bidiagonal's spread out to 0.0701, a factor of 7.9·10⁶ further on the same data.100.1750.35real partimaginary part0.8bidiagonalnormalone spectrum, two matricesthe perturbation10⁻⁸normal, furthest moved8.9·10⁻⁹bidiagonal, furthest0.07ratio7.9·10⁶the two matrices have identical eigenvaluesand one of them says so under perturbation
Fig. 18 And what the absence of it does to a spectrum under a perturbation of 10⁻⁸.
‖Aᵏ‖ for a 6×6 matrix whose spectral radius is 0.8, with 4 above the diagonalTwo curves against the power. The norm of Aᵏ rises to 6.3·10⁵ at step 24 before turning over and decaying to 8·10⁻⁴ by step 160; ρᵏ = 0.8ᵏ, drawn beside it, falls from the start. The two horizontal lines are the Kreiss bracket: the peak is at least K = 2.1·10⁵ and at most e·n·K = 3.5·10⁶, both computed from the resolvent norms outside the unit circle and not from the powers at all.027548110813510⁻⁴10⁻²110²10⁴10⁶power‖Aᵏ‖Kreiss constant 2.1·10⁵e · n · K‖Aᵏ‖ρᵏtwo routes to one peakspectral radius0.8peak of ‖Aᵏ‖6.3·10⁵Kreiss constant2.1·10⁵e · n · K3.5·10⁶everything here decays in the endand one of these curves says how much first
Fig. 19 The third face of the same thing: a matrix whose spectral radius is below one and whose powers grow first.

The refusal

The assertion behind this essay is fed a two-sided recurrence whose starting pair is not bi-orthogonal — ⟨w₁, v₁⟩ = 0 before any step has been taken.

It is the case a caller produces by choosing the shadow vector badly rather than arbitrarily, and it is the one where the two readings of a zero are hardest to keep apart: the divisor is zero, so a routine that treats a zero divisor as convergence reports that the method has finished, at step zero, with the initial guess as the answer and a residual equal to the whole right-hand side.

That is not a subtle failure and it is not a hypothetical one. It is what “treat the breakdown as convergence” means when the breakdown is the wrong kind, and refusing it is the difference between a method that stops and a method that answers.

The same three schemes on a problem with no layer in itWorst nodal error against the grid size, both axes logarithmic, for a manufactured smooth solution on the identical operator at ε = 0.01. Adding no diffusion gives 0.0016, 4·10⁻⁴, 9.9·10⁻⁵, falling by four at each refinement. The tuned diffusion gives 0.044, 0.012, 0.0031 — 28 times worse at the coarsest grid, and falling more slowly.10²10⁻⁴10⁻³10⁻²10⁻¹grid points nworst nodal errorupwindtunedcentralthe same tuning, another problemtuned ÷ central at n = 3128tuned ÷ central at n = 12732central's error at the finest grid9.9·10⁻⁵exact on the problem it was derived fromand harmful on the one beside it
Fig. 20 The shape of that failure elsewhere on this site: a computation that is entirely correct about a problem nobody asked about.
BiCG iterations on one 20×20 system against the distance of the shadow vector from a breakdownThe matrix, the right-hand side and the answer are the same at every stop. The only thing that moves is r̃₀, the second starting vector, which the method requires and for which every account gives the same non-reason. At η = 0.01 from the surface where the second divisor vanishes, BiCG is the direct method it is advertised as and finishes in 20 steps on 20 unknowns. The steps then run 20, 20, 20, 21, 22, 26, 30, 44, 80, 80 as η falls, and at 10⁻¹¹ the method has not converged after 80. Wherever it does finish it finishes at the same accuracy — the cost is the guarantee, not the answer.10⁻¹¹10⁻⁹10⁻⁷10⁻⁵10⁻³10⁻¹0122436486072distance of the shadow vector from the breakdownBiCG steps to 10⁻¹⁵n = 20, where it should endone matrix, one right-hand sideρ₂ ÷ η, at every stop2.1steps at the far stop20steps at the near stop80residual history over n steps0.43the answer does not movethe guarantee does
Fig. 21 At twenty unknowns the staircase starts higher and rises further: a larger system has more steps for the near-breakdown to be met at, and takes longer to recover from it.
What happens to the two-sided recurrence on 4000 random 6×6 integer matricesEntries drawn uniformly from −2 to 2, starting vectors both e₁, and the recurrence run to step 5. 112 of the 4000 end in a lucky breakdown — a Krylov space closed, which is the event that is an answer. 414 end in a serious one, where the divisor vanishes and neither vector does: 10.3 per cent. Of those, 398 are cleared by a look-ahead block of length two, 15 need a longer one, and 1 have no j at all with w̃ᵀAʲṽ ≠ 0 and cannot be cleared at any block length. On Gaussian matrices every one of the last three counts is zero, which is the usual reason given for not worrying about this.ran to the end3474lucky — a subspace closed112serious, cured by a block of two398serious, cured by a longer block15serious, incurable at any length1counted, not estimatedserious, as a fraction0.1of those, cured at two0.96incurable1matrices tried4000measure zero on the realsand an eighth of the integers
Fig. 22 And at six, between the two sizes drawn above.
BiCG iterations on one 8×8 system against the distance of the shadow vector from a breakdownThe matrix, the right-hand side and the answer are the same at every stop. The only thing that moves is r̃₀, the second starting vector, which the method requires and for which every account gives the same non-reason. At η = 0.01 from the surface where the second divisor vanishes, BiCG is the direct method it is advertised as and finishes in 8 steps on 8 unknowns. The steps then run 8, 9, 12, 15, 15, 15, 27, 80, 80, 80 as η falls, and at 10⁻¹¹ the method has not converged after 80. Wherever it does finish it finishes at the same accuracy — the cost is the guarantee, not the answer.10⁻¹¹10⁻⁹10⁻⁷10⁻⁵10⁻³10⁻¹0122436486072distance of the shadow vector from the breakdownBiCG steps to 10⁻¹⁵n = 8, where it should endone matrix, one right-hand sideρ₂ ÷ η, at every stop0.38steps at the far stop8steps at the near stop80residual history over n steps0.27the answer does not movethe guarantee does
Fig. 23 At eight the promise the method makes is shorter and the failure to keep it arrives at the same distance from the surface.

What is next

Both essays so far have been about a divisor. The next is about the same event in a method where the division is not the point at all — where the quantity that goes non-positive is the curvature of a quadratic, the method has nothing to divide by and nothing to find, and the direction it stopped on is the single most valuable object the iteration can produce.

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.

ArnoldiBiorthogonalityCounterexampleFinite terminationKrylov subspaceLanczosLook aheadResidualShort recurrence