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.
Sparse symmetric-indefinite block LDL* with threshold tests and failure status
Definition
The exact-arithmetic branch is specified first; the finite-precision branch below implements the same declared pivots by certified real-component kernels. Input a Hermitian , an ordering and its simultaneous permutation matrix in the convention of Permutation matrices, partial pivoting, and the pivot-growth factor, an ordered partition of all permuted positions into consecutive blocks of size or , and a threshold . The partition is exhaustive and disjoint; for it is empty and is the unique empty permutation matrix (the extension of the referenced row convention to dimension zero). Apply once and initialize the exact active matrix , , and the block-diagonal output array . Scalar complex absolute values mean exact complex moduli; below means entrywise absolute value, and vector inequalities are componentwise. Form the structural graph from Undirected structural graph of a Hermitian matrix, then relabel its vertex by ordered position ; use the graph and fill convention of Structural graphs and ordered symmetric elimination on this position-labeled graph. At stage , let be the next declared block, which is the leading active block, and let be the remaining positions after . Write the current active matrix as with the blocks indexed by . For a block , write and require and For a block , is the Hermitian principal block Require , and let and , with an empty maximum equal to zero. Accept the pair only if componentwise, where scalar absolute values are complex moduli. If a declared block fails its test, return pivot-failure.
For each accepted block in the exact branch, compute , store in the block of and in the block of , and update the active trailing matrix to . In the symbolic graph, let be the union of the active graph neighbors of the vertices in , restricted to ; remove and connect every pair of distinct vertices in . Retain all positions allowed by this symbolic update, including positions whose current numerical value is zero. If a block fails its test, return pivot-failure with no factor arrays. On completion return the stored arrays , including the empty arrays in dimension zero. The exact branch makes no universal growth bound.
For the finite-precision branch, additionally supply the kernel's floating-point format with unit roundoff and a nonnegative integer certificate budget for each declared block. The input entries must be stored values in that format. In this branch, independently initialize the stored active matrix , , and . At each declared block call Certified real-component Hermitian one-by-one and two-by-two LDL* kernels on with threshold , unit roundoff , a fresh controller budget , and the same symbolic block-neighbor clique. Budgets are local to their calls; unused units do not carry to another stage. On kernel success, store its returned pivot in the block of , store in the block of , and continue on its Hermitian . On any kernel failure, return its range-failure, pivot-failure or pivot-inconclusive status together with the outer stage index ; discard scratch data for that block and return no factor arrays. On completion return together with its pivot certificates. Only certified admissible blocks are accepted; unresolved determinant or threshold tests are inconclusive. No general complex division, automatic pivot existence or universal factor-growth guarantee is assumed.
Remarks
Block LDL* residual errors propagate with actual block growth ↗ proves that a successful exact-arithmetic run returns a unit lower block-triangular and block-diagonal with , including the empty case. Its proof derives the block congruence directly from the update instructions; the identity is a correctness result, not an additional instruction.
Depends on
Used by
Dependency tree · two levels
9 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
- Jennifer Scott and Miroslav Tůma, Algorithms for Sparse Linear Systems, Chapter 7, §§7.2.4 and 7.3 (standard reference, not scraped)
- Timothy A. Davis, Siva Rajamanickam, and Wissam M. Sid-Lakhdar, A survey of direct methods for sparse linear systems, §11 (standard reference, not scraped)