PARA'04 State-of-the-Art
in Scientific Computing
June 20-23, 2004 (Home page)
Updated: 20 February 2004
Modifying a given elimination ordering to reduce fill
Pinar Heggernes and Yngve Villanger
University of Bergen
Norway
Abstract:
When factorizing sparse symmetric positive definite matrices, computing
a permutation of the given matrix to minimize the number of added nonzero
entries, called fill, is essential. Unfortunately this problem is NP-hard, and
therefore various heuristics, like Minimum Degree and Nested Dissection, are
widely used to produce good, although not optimal, permutations. Graph theory
is a convenient and established tool for sparse matrix computations. For a
given symmetric matrix A, its associated graph G=G(A) is simply the graph of
which A is an adjacency matrix. Computing a permutation of A is equivalent to
computing a vertex ordering of G, called an elimination ordering. Thus,
finding a permutation of A to minimize the number of fill entries is
equivalent to finding an elimination ordering of G to minimize the number of
added fill edges. It is a well known fact that the graph of the Cholesky
factor L of A, G(L) is a chordal graph. An elimination ordering (and the
resulting fill) is minimal if no fill edges can be removed without destroying
chordality. Since computing minimum fill is NP-hard, extensive research has
been done on computing minimal fill, and several polynomial time algorithms
exist for this. Unfortunately minimal fill can in general be far from minimum.
However, elimination orderings that both are minimal and produce low fill are
highly desirable for sparse matrix computations. It has been observed in
several papers that Minimum Degree quite often produces minimal elimination
orderings.
In this paper we show how to modify a given elimination ordering to obtain
an ordering that is both minimal and that results in fewer fill edges than
the original ordering. Given an elimination ordering alpha and a chosen k,
we show how to locally reorder sequences of k consecutive vertices of alpha
to achieve fewer fill edges. We say that alpha is k-optimal if no such
enhancement is possible. An interesting result that we show is that Minimum
Degree is 2-optimal, but not 3-optimal. Thus even Minimum Degree orderings
are possible to use as starting elimination orderings to achieve better
orderings. Our general algorithm is the following: Start with a given
elimination ordering. Make it minimal by removing unnecessary fill edges
using one of the existing algorithms for this purpose. Then compute a
reordering of it so that the resulting ordering becomes k-optimal. Now the
resulting ordering is not necessarily minimal, because making an ordering
k-optimal does not only remove edges, it may also add edges. However we know
that it has fewer fill edges than the original ordering. Then we continue with
a second iteration, making the last ordering minimal by removing edges, and
reordering to make it k-optimal. We run new iterations as long as we achieve
better orderings. We stop iterating when the resulting k-optimal ordering is
also minimal and thus no fill edges can be removed further. For fast
implementation and high quality orderings it is important to choose a good k.
We show with practical tests that fill can be reduced considerably from the
given ordering, even when the given ordering is a good ordering, like a
Minimum Degree ordering. We observe that the process stops after a few
iterations. We experiment with different k values to balance between running
time and good orderings.
Home page
Jerzy Wasniewski
2004-02-20