How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
Finite-budget thick and implicitly restarted Arnoldi with residual acceptance and locking
Definition
Let , let , and choose integers
, a residual tolerance , a restart budget
, and a restart mode thick or implicit. All operations
below use the exact arithmetic model and projected-solver input specified next. The number of locked pairs is the number
of linearly independent locked vectors; it starts at zero. If a restart is
needed, a target rule may be supplied for thick mode and is required for an
implicit-mode restart after one or more pairs are locked. When invoked, it
must return current Ritz vectors independent modulo the span of all
locked vectors, or report unavailable; no rule, an unavailable selection,
or a wrong-size or dependent selection gives status rank-loss. For an implicit-mode
restart with no locked pairs, a shift rule supplies exactly complex
shifts for the current cycle or reports unavailable; an unavailable list or
a list of any other length gives status shift-count-unavailable. The shifts
may be chosen from unwanted Ritz values, but the procedure allows any
supplied list and asserts no convergence for an arbitrary schedule.
Projected-solver input and exact operations. Supply a projected eigensolver . For every requested exact square matrix with , it must return in finite work either unavailable or success with an ordered list of exactly pairs , , with , , , and
Thus eigenvalues are represented with their algebraic multiplicities; projected eigenvectors need not be independent when is defective. The procedure does not assert existence of an always-successful exact eigensolver in any fixed arithmetic or encoding. A provider may report unavailable; absent provider data give the same result without invoking a solver. Every original successful exact projected-eigensolve instance is retained by supplying its provider.
Outside , use exact complex field operations, conjugation, nonnegative real square roots, and exact equality/order comparisons on the real quantities compared. Complex operations use their real and imaginary component formulas. The finite-return target and shift rules have the output contracts already stated. Exact rank tests can be performed by Gaussian elimination, scanning columns and choosing the first remaining row with nonzero pivot; normalization divides only by a checked positive Euclidean norm. This is an exact-operation model, not a bit-cost or machine floating-point claim.
At every projected solve, invoke on the current . An absent provider or unavailable return gives status projected-eigensolve-unavailable. A provider status other than success or unavailable, wrong list/vector shape, zero vector, nonzero exact residual , or failed characteristic-polynomial identity gives status projected-eigensolve-invalid. Check that identity by exact coefficient arithmetic: expand by the finite permutation formula of For , the determinant over a commutative ring by the Leibniz formula, and for a real matrix, in lexicographic permutation order, multiplying each term's affine-or-constant entries in increasing column order and using the inversion parity for its sign; form the right side by successive multiplication of its linear factors in returned list order. Polynomial addition and multiplication mean finite coefficient-array sums and convolutions, and compare all coefficients through degree exactly. This finite check extracts no roots. All these failures preserve the locked outputs and the most recently completed valid unlocked Ritz list (initially empty), with the failing cycle and projected dimension. Only after the entire successful list passes these checks normalize the vectors, lift them and replace the current Ritz list. The supplied finite-return promise applies to itself; no timeout or generic eigensolver implementation is silently provided.
Initialize the restart counter before the first cycle. The initial cycle
is an -step fully reorthogonalized Arnoldi run from : each
step computes a matrix-vector product, performs two complete orthogonalization
passes against the current basis, and accumulates the coefficients in the
projected matrix. If a residual vanishes at step , use the -column basis
and mark its span invariant. If the residual after step is nonzero, retain
its normalized direction and coefficient as the Arnoldi residual data, but use
only the first columns in the projected eigensolve. Every later cycle uses
the restarted basis and projected matrix constructed in step 3 or 4. The output
is the locked Ritz pairs, the most recently computed unlocked Ritz pairs, and
one of converged, budget-exhausted,
invariant-subspace-breakdown, rank-loss, shift-count-unavailable, or
filtered-breakdown, projected-eigensolve-unavailable, or
projected-eigensolve-invalid.
-
For the initial cycle, start with , no locked pairs, and run the -step Arnoldi procedure described above. Let be the projected basis dimension, so unless exact breakdown occurs earlier; on a nonbreakdown cycle also retain the residual direction and coefficient from step . For every cycle, invoke and validate the supplied projected eigensolver as specified above, returning its failure status before processing any pair if it fails. For each returned projected eigenvector , normalize it so and lift it to . Process the Ritz pairs in the order returned by the projected eigensolve. For each pair , compute the original residual directly (on a standard Arnoldi cycle without breakdown it may be evaluated by An Arnoldi Ritz pair has residual norm controlled by the last Hessenberg subdiagonal entry). If and adding increases the exact rank of the locked-vector matrix, append to the locked outputs and increment . A residual-accepted vector in the span of the locked vectors is not counted or appended again. Locked vectors are retained as a subspace at every later restart. If , return
converged. -
If the current projected subspace is marked invariant and fewer than pairs are locked, return
invariant-subspace-breakdown. If the restart counter satisfies , returnbudget-exhausted. -
For a thick restart, or for an implicit-mode restart when , invoke the target rule. Form a target block from every locked vector and the selected wanted Ritz vectors. For either block to be rank-revealing, use the following exact column-pivoted orthogonalization: start with an empty orthonormal block and all input columns remaining. For each remaining column , compute . Choose a column with largest , breaking ties by original column order. If the largest norm is zero, stop; otherwise append to and remove that pivot column. The columns appended to form an ordered orthonormal basis of the input range. Apply this procedure first to the target block; if it fails to retain all locked and selected directions, return
rank-loss. With its resulting orthonormal basis , compute the residual block . Apply the same orthogonalization to to obtain an ordered orthonormal basis of its range. If has columns, retain only the first columns of , so has at most columns. Set the ordered basis to and a queue to its columns in order. While the basis has fewer than columns and the queue is nonempty, remove the first queued column , compute , and orthogonalize against every current basis column in two complete passes. If the residual is nonzero, normalize it, append it to the basis, and append the new column to the queue; if it is zero, continue with the remaining queue. Set to the resulting basis and compute the projected matrix exactly. If the queue empties before the basis has dimension , or if , mark this subspace invariant; first process its Ritz pairs in step 5, then returninvariant-subspace-breakdownat step 2 if fewer than pairs have been locked. This projection is required because a thick restart can begin from several retained and residual directions rather than from a single Arnoldi starting vector. -
For an implicit restart with no locked pairs, set and request a shift list from the shift rule. If it reports
unavailableor returns a list of the wrong length, returnshift-count-unavailable. Starting from the no-breakdown -step Arnoldi relation , apply exact shifted QR steps to using the transformations of Real Givens rotations and complex Givens transformations. Set and . For , initialize and . For , generate a left factor from and apply it to rows by setting , and update . Use the identity if ; if , put and choose the exact coefficients over , while over choose if and otherwise. Use . At the end set and . Let and put . Test the filtered Krylov dimension exactly by forming and the columns . If their rank is below , returnfiltered-breakdown. Otherwise retain and set . Compute , the residual of the last retained column; the first retained columns have zero residual by the upper-Hessenberg relation and shift count . If , use as the current invariant basis with dimension . If , set and , initialize the continued Arnoldi relation with , and continue Arnoldi with two complete orthogonalization passes until dimension or exact breakdown. On a nonbreakdown continuation, also compute the residual direction and coefficient after its th Arnoldi step for the next implicit restart. Mark the current subspace invariant when this continuation breaks down. -
Increment the restart counter by setting , invoke and validate on the new projected matrix as in step 1, and return the stated projected-solve failure status if it fails. On success, recompute the lifted Ritz pairs and their original residuals, apply the acceptance rule in step 1, and return to step 2 unless a return status applies. No convergence is asserted for an arbitrary shift schedule. The residual acceptance test certifies only the computed residual size; it does not by itself give a forward eigenvalue bound for a nonnormal matrix.
Depends on
- The Arnoldi process for building an orthonormal basis of a Krylov subspace
- Before breakdown, Arnoldi produces an orthonormal Krylov basis and a rectangular upper-Hessenberg factorization
- Ritz values and Ritz vectors extracted from the Arnoldi Hessenberg reduction
- An Arnoldi Ritz pair has residual norm controlled by the last Hessenberg subdiagonal entry
- Real Givens rotations and complex Givens transformations
- Full, reduced, and column-pivoted computational QR factorisations
- Unshifted QR iteration, shifted QR iteration, deflation, and the Wilkinson shift
- Shifted QR iteration preserves upper Hessenberg form
- Upper Hessenberg matrices and real symmetric tridiagonal matrices
- For $n\ge1$, the determinant over a commutative ring by the Leibniz formula, and $|\det A|$ for a real matrix
Used by
- Certified Gaussian nodes and weights by Golub–Welsch Algorithm
- A shift near the wanted eigenvalue suppresses its component under repeated implicit restarts Example
- Exact implicit Arnoldi restart applies its shift polynomial and preserves an Arnoldi residual identity Theorem
- Finite-budget restarted Arnoldi and block LOBPCG return a status under finite-return primitives Theorem
Dependency tree · two levels
28 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.
Sources
- Yousef Saad, Numerical Methods for Large Eigenvalue Problems, second edition, §§7.3 and 8.1.3 (standard reference, not scraped)
- Peter Arbenz, Lecture Notes on Solving Large Scale Eigenvalue Problems, §§11.2 and 11.7 (standard reference, not scraped)