Alphabeta Math
AlgorithmAlgorithm: AI-adaptedProof: Not applicablePipeline-generated
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 A∈Cn×n, an ordering π=(v0,…,vn−1) and its simultaneous permutation matrix P 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 1 or 2, and a threshold θ∈(0,1]. The partition is exhaustive and disjoint; for n=0 it is empty and P is the unique empty permutation matrix (the extension of the referenced row convention to dimension zero). Apply P once and initialize the exact active matrix S=PAP∗, L=In, and the block-diagonal output array Dblk=0. Scalar complex absolute values mean exact complex moduli; ∣(Dr−1)∣ 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 vi by ordered position i; use the graph and fill convention of Structural graphs and ordered symmetric elimination on this position-labeled graph. At stage r, let Jr be the next declared block, which is the leading active block, and let Rr be the remaining positions after Jr. Write the current active matrix as S=(DrBr∗BrCr), with the blocks indexed by Jr,Rr. For a 1×1 block Jr={t}, write Dr=[dr] and require dr=Stt≠0 and max⁡i∈Rr∣Sit∣≤θ−1∣dr∣. For a 2×2 block Jr={s,t}, Dr=SJr,Jr is the Hermitian principal block Dr=(SssSstSst‾Stt). Require det⁡Dr≠0, and let c1=max⁡i∈Rr∣(Br)i1∣ and c2=max⁡i∈Rr∣(Br)i2∣, with an empty maximum equal to zero. Accept the pair only if (∣(Dr−1)ij∣)i,j=12(c1c2)≤θ−1(11) componentwise, where scalar absolute values are complex moduli. If a declared block fails its test, return pivot-failure(r).

For each accepted block in the exact branch, compute Mr=BrDr−1, store Dr in the Jr×Jr block of Dblk and Mr in the Rr×Jr block of L, and update the active trailing matrix to Cr−BrDr−1Br∗. In the symbolic graph, let N(Jr) be the union of the active graph neighbors of the vertices in Jr, restricted to Rr; remove Jr and connect every pair of distinct vertices in N(Jr). 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(r) with no factor arrays. On completion return the stored arrays (P,L,Dblk), 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 0<u<1 and a nonnegative integer certificate budget br for each declared block. The input entries must be stored values in that format. In this branch, independently initialize the stored active matrix S=PAP∗, L^=In, and Dblk=0. At each declared block call Certified real-component Hermitian one-by-one and two-by-two LDL* kernels on (Dr,Br,Cr) with threshold θ, unit roundoff u, a fresh controller budget br, 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 Dr in the Jr×Jr block of Dblk, store M^r in the Rr×Jr block of L^, and continue on its Hermitian S^r+1. On any kernel failure, return its range-failure, pivot-failure or pivot-inconclusive status together with the outer stage index r; discard scratch data for that block and return no factor arrays. On completion return (P,L^,Dblk) 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 L and block-diagonal Dblk with PAP∗=LDblkL∗, 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