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.
Preconditioner algorithms and residual metrics
1 · Prerequisites
- Binary Operations, Monoids, Groups and Subgroups
- Construction of the Natural Numbers
- Construction of the Real Numbers via Cauchy Sequences
- Construction of the Real Numbers via Dedekind Cuts
- Cosets, Index and Lagrange's Theorem
- Countability and Uncountability
- Determinants of Matrices over a Commutative Ring
- Direct Matrix Factorisations: LU, Cholesky and QR
- Divisibility, Euclidean Domains, Principal Ideal Domains and Unique Factorisation
- Dual Spaces, Bilinear and Quadratic Forms, and Sylvester's Law of Inertia
- Finite Counting, Factorials and Binomial Coefficients
- Foundations of the Real Numbers for Analysis
- Ideals, Quotient Rings and the Isomorphism Theorems for Rings
- Inner Product Spaces, Gram-Schmidt, Projections and Adjoints
- Linear Independence, Bases and Dimension
- Linear Transformations, Rank-Nullity and Quotient Spaces
- Matrices, the Matrix of a Linear Map, and Change of Basis
- Normal Subgroups and Quotient Groups
- Order, Zorn's Lemma, and the Axiom of Choice
- Polynomial Rings, the Division Algorithm and Roots
- Relations, Functions, and Quotients
- Rings, Subrings, Integral Domains and Fields
- Roots, Rational Powers, and Classical Inequalities
- Simple Field Extensions and the Construction of the Complex Numbers
- Sparse matrix models and kernel costs
- Suprema and Infima
- The ZFC Axioms and the Basic Set Constructions
- Vector Spaces, Linear Subspaces, Span and Direct Sums
2 · Summary
This page adds a fixed-order, fixed-pattern ILU(0) procedure and proves its stored-factor pattern and exact setup and application counts. Setup work is counted through pattern intersections; application is counted as two triangular solves. It also defines flexible GMRES with changing right preconditioners and proves residual minimization over the span of the actual preconditioned vectors. The statements keep factor storage, setup, application, and Krylov convergence separate and make no general preconditioner-quality claim.
The canonical left, right, and symmetric residual maps and the SPD-preconditioned CG result remain on conjugate-gradients-minres-and-preconditioning.
3 · Logical flowchart
4 · Definitions, theorems and proofs
Fixed-pattern ILU(0) factorization and application
Definition
Let be a field, let , and let the input be a valid CSR record as in Compressed sparse row matrices with stored-entry semantics, representing . Matrix positions in this definition use one-based notation: refers to CSR row and column index . This row/column order is fixed before the procedure begins; vector component label refers to coordinate . The procedure performs no pivoting or reordering. All field operations below are exact.
Let . Scan each row once to check the canonical and
increasing-index conditions and to record whether its diagonal position occurs.
If the input fails either pattern condition, return invalid-pattern. If a row
has no diagonal position, return missing-diagonal(i) for the least such .
Copy the value in each input slot to a work array , and regard the unit diagonal of as implicit. Process rows in increasing order. For each with , in increasing order, do the following:
- If , return
zero-pivot(k). - Set ; this value is the stored factor .
- Let be the increasing list of one-based matrix column labels represented by row 's CSR segment, and let be the corresponding increasing list represented by row 's CSR segment. Set each pointer to the first entry of its list, or to that list's end marker when it is empty. While both pointers are within their lists, compare their current indices. If they are equal, call their common value and update and advance both pointers once. If the current index in is smaller, advance only its pointer once; if the current index in is smaller, advance only its pointer once, making no arithmetic update in either unequal-index branch. Stop when either pointer passes the end of its list. Do not skip a matching slot when a current work value is zero.
After all such have been processed in row , if , return
zero-pivot(i). Otherwise the upper row entries are the current
for and . Continue to the next row.
If every row completes, return ok with the unit-lower factor (stored
strict-lower entries for ) and the upper factor
(stored entries for , ). Both factors
use only positions in ; the diagonal of is implicit, and all other
unstored off-diagonal entries are zero. The numeric values remain stored at
their structural slots if an update makes a value zero.
For a successful factor pair and , apply the preconditioner as follows. For in order, initialize and, for each with in increasing order, update . Then for , initialize ; for each with in decreasing order, update ; finally set . Visit every such stored factor slot exactly once, including slots whose current factor value is zero. These are the forward and backward substitution recurrences, with their sums traversed only over stored strict-triangular slots. The pivot checks ensure every denominator in this application is nonzero. This procedure defines setup and application only; it asserts no factorization identity , Krylov convergence, conditioning improvement, or accuracy guarantee.
ILU(0) factor slots, setup work, and application work
Statement
Let be a field, , and have a valid canonical CSR
record with strictly increasing column indices in each row. Let
and . Run
Fixed-pattern ILU(0) factorization and application. The procedure terminates with a
missing-diagonal or zero-pivot status, or returns ok.
On an ok return, define
and put , , and . The stored strict-lower
slots of are exactly , and the stored slots of are exactly ;
the unit diagonal of is implicit. Thus the factors use exactly
numeric slots. Here a factor's stored-slot count retains a slot
even if an update makes its value zero.
For each , let and set and . On a successful setup, the factorization performs exactly divisions, multiplications, and subtractions. The two-pointer merges perform at most column-index comparisons, in addition to one validation visit for each of the row intervals and the stored entries.
Applying a successful factor pair to one vector by the specified two triangular solves performs exactly multiplications, subtractions, and divisions, and returns the unique vector produced by forward and backward substitution. These counts concern setup and one application separately. They assert no convergence, conditioning improvement, or accuracy guarantee. The stored-pattern conclusion is about and ; it does not assert that the product has support contained in .
Facts & Assumptions
Given: A field , a canonical sorted CSR record for with , and a successful run of the fixed-pattern ILU(0) algorithm.
Field: every nonzero field element has a multiplicative inverse, so division by a checked nonzero pivot is defined.
Fixed-pattern ILU(0) factorization and application: the returned and use only input-pattern slots; each multiplier update is made only at a matching pair of input-pattern positions; every matching slot is visited even if its current value is zero; and application traverses every stored strict-lower and strict-upper factor slot once.
Compressed sparse row matrices with stored-entry semantics: a canonical CSR record has no repeated column and no stored zero, so its stored-entry count is .
Forward and backward substitution for triangular linear systems: for lower-triangular with nonzero diagonal, forward substitution uses .
Forward and backward substitution for triangular linear systems: for upper-triangular with nonzero diagonal, backward substitution uses .
Forward and backward substitution are correct, unique, and quadratic in scalar operations: when is lower triangular with nonzero diagonal, forward substitution produces the unique solution of .
Forward and backward substitution are correct, unique, and quadratic in scalar operations: when is upper triangular with nonzero diagonal, backward substitution produces the unique solution of .
Proof
The input has finite arrays and is finite. Validation visits the row intervals and stored entries once; the factorization loops over at most rows, finitely many pattern entries, and finite row-list merges. Every division is preceded by a nonzero-pivot check, and [A1] makes each such division defined. Thus the procedure either returns one of its specified failure statuses or completes with ok.
If the procedure returns ok, each processed pivot is nonzero by its check, so the returned has nonzero diagonal. The definition sets to be unit lower triangular and retains only upper entries in .
Initially the work values occupy exactly the input slots . Each multiplier is written only at a strict-lower slot in , and each update is performed only when both matching row positions are in . No update allocates a new position. Induction over the finite row and pivot loops therefore gives stored patterns and for and , respectively.
The forward recurrence in [F3] applied to unit-lower and the backward recurrence in [F4] applied to are well-defined because and every . By [F5] and [F6] they produce the unique successive triangular-solve outputs specified by the algorithm.
The sets and are disjoint and partition : every has exactly one of or . Hence . Since the unit diagonal of is implicit, this is exactly the factor numeric-slot count.
On success, the outer lower-pattern loop processes every one of the positions once and performs one division there. For a fixed , the update loop visits exactly the indices in ; each visit performs one multiplication and one subtraction. Summing these counts gives exactly divisions and multiplications and subtractions.
Both lists in each intersection are strictly increasing. A two-pointer merge advances at least one pointer at every comparison and stops when one list ends, so it makes at most the sum of the two list lengths, , comparisons. Summing over gives the bound ; validation visits each row interval and stored entry once.
The forward recurrence in [F3] performs one multiplication and subtraction for each stored strict-lower slot, hence of each and no diagonal divisions. The backward recurrence in [F4] performs one multiplication and subtraction for each stored strict-upper slot, hence of each, and one division for each of its rows. Since , the stated application counts follow.
Flexible GMRES with variable right preconditioning
Definition
Let with (The natural numbers (von Neumann)), let (The vector space of by matrices over a field, with entrywise operations), and let . The complex scalars form a field ( is a field, every element is uniquely , and every nonzero element has inverse ). As additional input, take maps . The maps may vary with ; no linearity or fixedness is assumed. In the usual matrix case, for an invertible (Invertible matrices and the general linear group ). Equip each coordinate space used below with the standard Hermitian inner product and its induced Euclidean norm (The standard formulas on and on are inner products, The norm induced by a real or complex inner product). All arithmetic and orthogonalization are exact. Iteration and auxiliary Hessenberg labels below start at ; coordinates of and ambient vectors retain the library's zero-based convention.
The algorithm uses and stores each actual and makes no fixed-matrix assumption.
Set and . If , return
initial-solution($x_0$). Otherwise set . For
, perform:
- Obtain and set .
- For in order, set
- Set . If , return
breakdown($j,x_{j-1}$)with the last fully formed iterate (for it is ); do not normalize or claim a new iterate at this step. - If , set . Let be the standard unit vector at coordinate (coordinate is and all other coordinates are ; The standard list with and for is an ordered basis of ; hence , and is the zero space with basis and dimension ). The iteration labels remain one-based, while matrix slots are zero-based: put with for , , and let satisfy for , , and when . Choose any and set .
If all steps complete without breakdown, return
budget-complete($m,x_m,Z_m$). The finite-dimensional least-squares minimizer
exists because each coordinate space is finite-dimensional by
The standard list with and for is an ordered basis of ; hence , and is the zero space with basis and dimension , and the least-squares theorem
For a linear map between finite-dimensional inner-product spaces, minimises if and only if , equivalently ; minimisers exist and any two differ by an element of applies; the output
relation permits any minimizer. The algorithm has no
convergence test: budget-complete and breakdown assert neither convergence
nor that a breakdown iterate solves . The residual-minimization property
over the actual span of the is proved separately in
Flexible GMRES minimizes over the actual preconditioned-vector span.
Every division is by a positive real norm: the initial case returns
before normalizing , and each later case returns before
normalizing .
Flexible GMRES minimizes over the actual preconditioned-vector span
Statement
Let and , with the standard Hermitian inner product and induced Euclidean norm. Suppose the algorithm Flexible GMRES with variable right preconditioning completes steps without breakdown, producing and . Define , let be the standard unit vector at coordinate , and define by for , . The one-based column label therefore occupies zero-based matrix column . The matrices and use the algorithm's one-based-to-zero-based slot mapping. Then and every satisfies Consequently every least-squares minimizer in the algorithm produces a true-residual minimizer over Moreover, has full column rank, so its least-squares minimizer is unique. The result makes no fixed-preconditioner spectral or convergence claim.
Facts & Assumptions
Given: A system , an initial vector , and a completed -step run of the variable-right-preconditioned flexible GMRES algorithm with no breakdown.
Flexible GMRES with variable right preconditioning: the initialization sets , , and, when , .
Flexible GMRES with variable right preconditioning: each column starts with ; the ordered updates use and ; after them , and a positive value normalizes .
Flexible GMRES with variable right preconditioning: in zero-based matrix coordinates, column of is , and for , ; when , and the algorithm minimizes .
The standard formulas on and on are inner products: on each , is an inner product, linear in its first argument.
The norm induced by a real or complex inner product: the induced norm is .
Rectangular matrix multiplication and the identity matrix , including zero-sized shapes: matrix multiplication is defined by the finite coordinate sums, so its columns act linearly on vectors.
For a linear map between finite-dimensional inner-product spaces, minimises if and only if , equivalently ; minimisers exist and any two differ by an element of : a linear map between finite-dimensional inner-product spaces has a least-squares minimizer, and any two minimizers differ by an element of the map's kernel.
Linear combination of a finite list, and the span as the smallest linear subspace containing : is the smallest linear subspace containing .
is exactly the set of linear combinations of finite lists of elements of , and : a vector belongs to exactly when it is a finite linear combination of elements of .
is a field, every element is uniquely , and every nonzero element has inverse : is a field, so the finite coordinate spaces and matrices in the statement are over a field.
The standard list with and for is an ordered basis of ; hence , and is the zero space with basis and dimension : for every , has the standard basis indexed by and is finite-dimensional; when , its standard unit vector at coordinate has value there and elsewhere.
Proof
Since this run reaches the first step, [F1] gives and . Since is real, , so has norm . Inductively suppose are orthonormal. At the th Gram–Schmidt substep, the current vector is orthogonal to for . The update , with , satisfies and for each . These equalities use linearity in the first argument and orthonormality [F4]. After all , the final is orthogonal to every current basis vector. Nonbreakdown gives ; the same inner-product calculation gives , and its orthogonality follows from that of . Induction proves orthonormality through .
The finite matrix defines a linear map between finite-dimensional inner-product spaces by [F6], [F10], and [F11]. By [F7], least-squares minimizers exist and any two differ by an element of . This kernel is zero: if , its zero-based last row gives , hence . For each one-based row label in descending order, matrix row has coefficient in column ; its other possibly nonzero terms use coordinates with , already shown zero. Thus . Since by no breakdown, we obtain . Thus every zero-based coordinate vanishes, is injective, and its least-squares minimizer is unique.
At the end of column , the successive subtractions give . Since , this is . Assembling these column identities for yields .
The initial residual is . The vector has value in coordinate and in every other coordinate by [F11], so . For any , linearity and step 1.3 give .
For every , orthonormality from step 1.1 and the coordinate inner product [F4] give . Taking the nonnegative square roots defined by [F5] proves norm preservation. Apply it to in step 2.1 to obtain the asserted norm identity.
Put . By [F9], write any as with . For each of the finitely many indices , choose with ; successive finite induction supplies this list. Set and, for , set , where is the standard coordinate vector. By [F3], [F6], and [F11], ; the matrix-product coordinate formula and field distributivity then give by induction on that . Hence , so is contained in the range of . Conversely, [F3] and [F6] give for every , so by [F8] and [F9]. Thus the range of is exactly . By step 3.1, each vector in this affine set has true-residual norm . Therefore the unique least-squares minimizer from step 1.2 gives with minimum true residual over the whole affine span.
5 · Examples, counterexamples and false statements
None yet.
Sources
- Yousef Saad, Iterative Methods for Sparse Linear Systems, 2nd ed., §§10.3.1–10.3.2, printed pp. 301–310
- Richard Barrett et al., Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, 2nd ed., §§3.4.1–3.4.2, printed pp. 38–41
- Yousef Saad, Iterative Methods for Sparse Linear Systems, 2nd ed., §9.4.1, printed pp. 287–289