Proofs: Minimum degree ordering
These are the human proofs of Minimum degree ordering, at full length.
Minimum degree returns a permutation that greedily minimizes the current degree, the quotient graph computes the same degrees in bounded storage, and the approximate degree is an upper bound full
This proof shows: correctness, termination.
Let be the graph of a symmetric pattern, , . Line numbers refer to the pseudocode of the page. The elimination graphs are and , obtained from by deleting the -th eliminated vertex and joining all its neighbours into a clique. is the neighbourhood of in and .
Lemma 1 (the elimination graph models Cholesky; Parter, Rose). Let be symmetric positive definite and assume no exact cancellation. Eliminating the first unknowns leaves a Schur complement whose graph is , and column of the Cholesky factor has its off-diagonal nonzeros exactly at the neighbours . Hence the number of off-diagonal nonzeros of is , and the fill is the number of clique edges that were not already present.
Proof. One step of elimination replaces by . The entry of is nonzero exactly when and are both neighbours of the pivot, so the pattern of is the old pattern on the remaining vertices together with a clique on the neighbours of the pivot, unless a sum cancels exactly. The column of is , whose pattern is the neighbourhood of the pivot.
Without the no-cancellation assumption the same argument gives inclusion: the true pattern of is contained in the symbolic one. The tests check both, inclusion always and equality for random values, against an exact in rational arithmetic.
Termination and permutation. The heap holds pairs . Invariant: for every uneliminated the heap holds the pair . It holds initially, and after an elimination only the neighbours of the pivot change degree, and line L7 pushes their new pairs. A popped pair is used only if is uneliminated and equals its current degree; otherwise it is discarded. Each used pair eliminates a new vertex, and each iteration removes one pair from a heap that receives at most pairs in total, so the loop ends, and by the invariant it ends only after all vertices are appended. Each vertex is appended once, so the output is a permutation.
Lemma 2 (greedy choice). The vertex appended at line L4 minimizes over the uneliminated vertices, with ties broken by the smallest index.
Proof. By the invariant, the heap minimum over the valid pairs is , and stale pairs either have an eliminated vertex or a degree that is no longer current, so they are skipped. Stale pairs that are smaller than every valid pair are popped first and discarded.
Lemma 3 (quotient graph; George and Liu). In the quotient graph version, each uneliminated variable keeps a set of variables and a set of elements, and each live element keeps a set of variables. Invariants after eliminations:
- if and only if ;
- for uneliminated : if and only if or for some live element ;
- for every .
Consequently .
Proof. Initially there are no elements and . Suppose the invariants hold and is eliminated. By (2), , the new element's list. The new graph adds the clique on , which (2) now records through . The absorbed elements satisfy , so every pair they covered is still covered. Removing from loses only pairs inside the clique , and removing loses only edges at the deleted vertex. So (2) holds. For (1), is added to exactly for , and the absorbed elements are removed from all lists. For (3), lists never grow, is pruned by when joins , and an absorbed element's list is contained in its absorber's.
Hence the exact-degree quotient version computes the same degrees as the elimination graph and, with the same tie-breaking, returns the same order; the tests confirm this on 150 random graphs.
Lemma 4 (storage). The quantity never increases, so it never exceeds its initial value .
Proof. When is eliminated, , because each absorbed contains , which is not in . The lists and , , are freed, and is added, so this part does not increase . The pruning of the only removes entries.
Lemma 5 (the approximate degree). Let be eliminated, let , let be the number of uneliminated variables after the step, and suppose was an upper bound for the old degree of . Then the new value
satisfies , the exact new degree, with equality when .
Proof. The first term bounds any degree. For the second, , so . For the third, by Lemma 3, , where , , and is disjoint from and from every by invariant (3). So the union is a disjoint union of , and the union of the sets , whose size is at most the sum, with equality when at most one is present, that is, when . Then the third term is exact and the other two are upper bounds, so the minimum is exact.
The degrees used by AMD are therefore upper bounds, exact in the common case of at most two adjacent elements. The ordering produced need not equal the exact minimum degree ordering.
Theorem (no fill on forests). If is a forest, minimum degree produces no fill.
Proof. A forest has a vertex of degree at most . Eliminating a vertex of degree or adds no edge and leaves a forest. By Lemma 2 the vertex chosen has degree at most at every step.
What the greedy rule does not give. Minimum degree does not minimize fill. Let consist of two cliques and and a vertex adjacent to and . Vertex is the unique vertex of degree , so it is eliminated first and creates the fill edge . The ordering eliminates only simplicial vertices and has no fill, so the graph is chordal and its minimum fill is . Computing the minimum fill is NP-hard (Yannakakis, 1981), so no polynomial greedy rule can be optimal unless P = NP.