next up previous contents
Next: The Node-tearing Implementation Up: Node-tearing Nodal Analysis Previous: Node-tearing Nodal Analysis

The Node-tearing Algorithm

To describe node-tearing in rigorous mathematical terms, let the set denote the nodes of a graph and let denote the edges in , or . Partition the node set into two arbitrary subsets and , and partition the edge set into two subsets and such that:

  1. contains all edges in that touch nodes in ,
  2. contains all other edges of .
Two conditions exist to ensure that the partitioned graph is suitable for tearing. The topological condition specifies the form into which we partition the graph, and the edge-coupling condition specifies limits on the connectivity of edges in graph partitions. Before defining the topological condition concerning the connected nature of the graph, we introduce the concept of a section graph.

Definition --- Section Graph Given a graph , let , then a section graph is defined as:

where: is incident only with [34].

The topological condition for graph connectivity requires that the section graph can be partitioned into m, disconnected sub-graphs such that:

Given the topological condition, we can define the two partitions of the node set N:

 where: ¯

is the set of nodes in the mutually independent sub-blocks

is the set of nodes in the coupling equations

In the case of block-diagonal-bordered form matrices, equates to the diagonal blocks, and equates to those block-diagonal-bordered matrix rows in the lower border and the last diagonal block.

The edge-coupling condition simply requires that the edges in are not connected to edges in and . Consequently, has no edges in common with , , and there are no edges directly interconnecting any nodes in and , . Connectivity between and , , is not direct and must go through nodes in . Reference [34] contains the straight forward proof that these conditions yield a block-diagonal-bordered form matrix when the corresponding graph is ordered by node-tearing.

In addition to ordering matrices into block-diagonal-bordered form using node-tearing, we require that the number of coupling equations, , is minimized over all distinct partitions of . The tearing optimization problem attempts to minimize given that:

  1. the topological condition holds,
  2. the edge coupling condition holds,
  3. , .
The last constraint for the tearing optimization problem permits some control of the maximum size of diagonal blocks, , which can prove quite useful when tearing a graph for factoring on multi-processors. By modifying this parameter, control can be exercised over the shape of the ordered sparse matrix --- yielding narrow bandwidth blocked-diagonal-bordered form matrices when is small and limiting the size of the borders in a block-diagonal-bordered matrix when is large. The effects of varying the value of is illustrated in section 8.1. This optimization problem belongs to the family of NP-complete problems [34]. We expect to apply node-tearing to order large sparse matrices into block-diagonal-bordered form, so the use of an exact exponentially-bounded-complexity algorithm is not feasible, and the following efficient heuristic algorithm has been developed,

The technique chosen to solve the graph optimization problem is based on examining the contour of the graph [34], by developing a contour tableau to identify independent sub-graphs. A contour-tableau consists of three columns as illustrated in figure 13 and a separate contour-tableau is developed for each diagonal block. The leftmost column contains the iterating sets or the potential elements of a set of nodes in the sub-graph . The middle column contains the adjacency set, which contains the set of nodes adjacent to, but not including any elements in the corresponding iterating set. The remaining column contains the contour number or the cardinality of the corresponding adjacency set.

 
Figure 13: Sample Contour Tableau for the Diagonal Block  

The contour tableau is constructed by selecting the initial iterating set element and placing in . Next, all nodes adjacent to , , are stored in : then is placed in . The next iterating set is constructed by forming the union of the previous iterating set and the next iterating node:

The adjacency set is updated by the formula:

and

What remains to be described are the methods to select an initial node, select the next node, and to select an independent graph partition from the contour tableau. Because the algorithm is attempting to minimize , it can be shown that the selection of both the initial node and the next node should always be the node with the smallest number of adjacent nodes or select such that

If there are ties, then a node is selected arbitrarily. Lastly, the criteria to select an independent graph partition from the contour tableau requires identifying the iterating set that has a local minimum value of , . This selection criteria is obvious because at any location in the contour tableau, three disjoint sets are specified:

  1. --- the iterating set,
  2. --- the adjacency set,
  3. --- the remaining nodes in .
In this representation, no node in is adjacent to a node in , and represents the coupling equations between the two sets. The number of elements in the set varies as a function of i. One constraint in this optimization problem is to minimize the number of coupling equations, , so a greedy algorithm that uses the heuristic for building the independent partition, , by minimizing the cardinality of should yield an acceptable solution in a polynomial algorithm. Moreover, when a partition is selected, nodes remaining in are placed directly into the set ,

because represents the nodes adjacent to but not included within the set . According to the topological condition, these nodes must be part of the coupling equations.

An example illustrating the node-tearing technique is presented in appendix B.



next up previous contents
Next: The Node-tearing Implementation Up: Node-tearing Nodal Analysis Previous: Node-tearing Nodal Analysis



David P. Koester
Sun Oct 22 15:31:10 EDT 1995