Proofs: Multifrontal method
These are the human proofs of Multifrontal method, at full length.
The multifrontal method computes the Cholesky factor, the update matrices it needs are on top of the stack, and Liu's child order minimizes the stack peak full
This proof shows: correctness, termination.
Setting. is symmetric positive definite, already permuted, and . In exact arithmetic, write for the structure of column ; the implementation computes the symbolic structure, which can only be larger, and the argument below holds for it word for word. The elimination tree has , or none when . is the subtree rooted at , , and line numbers refer to the pseudocode of the page.
Lemma 1 (structure inheritance). If and , , then (symbolically). Consequently for , and if with , then is an ancestor of .
Proof. In the elimination graph model (fill-in), when is eliminated its later neighbours and are joined, so when is eliminated. Applying this with gives the inclusion. For the last claim, follow parents from : each step goes to the smallest element of the current structure, and by the inclusion, stays in the structure until it is reached, since the parents increase and stay at most .
Lemma 2 (symbolic recurrence). .
Proof. "": gives symbolically, and Lemma 1 gives . "": a later neighbour of at its elimination is either an original neighbour, or was joined to when some with was eliminated. By Lemma 1, is a descendant of . Let be the child of on the path. Repeated use of Lemma 1 along the path from to keeps , which exceeds every vertex of the path, in the structures, so .
column_structures applies this recurrence in increasing ; children have smaller indices, so their structures are complete when used. elimination_tree is Liu's algorithm, and the tests check against an exact factorization.
Lemma 3 (the stack discipline). In a postorder, processing the subtree of a non-root leaves the stack as it was plus one item, the update matrix on top. Hence, when is processed, the top items are exactly the update matrices of its children.
Proof. Induction on the height of . Its children's subtrees each add one item by induction. Lines L6 and L7 pop exactly these items, and line L10 pushes , which is nonempty because . Roots push nothing.
Theorem 1 (correctness). For every , the update matrix is
and line L8 computes column of exactly.
Proof. Induction along the postorder. Lines L4 to L7 build
where is extend-add: entries are added at matching global indices. This is well defined because by Lemma 1. By the induction hypothesis, the first column of is for . Cholesky requires , and by Lemma 1 the nonzero terms have , hence . So the two sums agree, and and are correct. Line L9 subtracts from the trailing block, which gives the formula for . The children's contributions restricted to cover every , because for each such the rows of beyond lie in by Lemma 1 applied along the path.
The mode is the same argument with , and update . In rational arithmetic it agrees exactly with the dense , which the tests check.
Termination. The loop at line L3 visits each of the columns once, and every inner loop is over finite index sets.
Lemma 4 (stack storage; Liu). Let be the storage of , let be the storage of the front , and let the children of be visited in this order. Then the peak storage over the processing of is
Ordering the children by decreasing minimizes over all orders.
Proof. The recurrence follows from Lemma 3. During , the updates of wait on the stack. At , all children's updates and the front coexist; the code allocates the front before popping. For optimality, compare two adjacent children before with prefix . The terms are against for the swapped order. If , then and , so first is no worse, and no other term changes. Bubble-sorting any order into the decreasing order therefore never increases the peak. Since is nondecreasing in each , choosing the best order bottom up gives the least peak over all postorders.
The tests check the recurrence against the measured peak and the optimality against brute force over all child orders on small trees.
Floating point. Each computed entry of is minus the products , summed in an order fixed by the tree and the extend-adds, and then divided by . The standard analysis of Cholesky (Higham, Chapter 10) bounds every summation order by the same , so if the factorization runs to completion, with . The tests check this elementwise with exact rational residuals.