On The Application of The Minimum Degree Algorithm To Finite Element Systems
On The Application of The Minimum Degree Algorithm To Finite Element Systems
3G1. " Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada, N2L
90
APPLICATION OF THE MINIMUM DEGREE ALGORITHM 91
mesh M has a node at each vertex (a point of intersection of lines and/or OR), and
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
may also have nodes on the lines, on OR, and in the interiors of the elements. An
example of such a finite element mesh is given in Figure 1.1.
Now let M have N nodes, labeled from 1 to N, and associate a variable xi with
the ith node.
DEFINITION 1.1 [4]. A finite element system of equations associated with the
finite element mesh M is any N by N symmetric positive definite system Ax b
having the property that Ai # 0 if and only if x and xi are associated with nodes of
the same element. !-1
In one respect this definition is more general than required to characterize
matrix problems arising in actual finite element applications in two dimensions.
Usually M is restricted to consist of triangles or quadrilaterals, with adjacent
elements having a common side. However, just as in [4], we intend to associate
such meshes with matrices which arise when Gaussian elimination is applied to A,
and these matrices require meshes having a less restricted topology in order that
the correspondence be correct in the sense of Definition 1.1.
In a second respect, the above definition is not quite general enough to cover
many matrix problems which arise in finite element applications because more
than one variable is often associated with each node. However, the extension of
our ideas to this situation is immediate, so to simplify the presentation we assume
only one variable is associated with each node. (The code which produced the
numerical results of 5 works for this more general case with no changes.) Thus,
we make no distinction between nodes and variables in this paper.
An outline of the paper is as follows. In 2 we review two closely related
models for symmetric Gaussian elimination, and describe the basic minimum
degree algorithm. In 3 we show how the special structure of finite element matrix
problems can be exploited in the implementation of the minimum degree
algorithm. We also show how the algorithm induces a natural partitioning of the
matrix. In 4 we describe a refinement of the partitioning produced by our version
of the minimum degree algorithm which normally leads to a considerable reduc-
tion in the number of nonnull off-diagonal blocks of the partitioning. This
refinement is important since it reduces storage overhead when the matrix is
processed as a block matrix, with only the nonnull blocks being stored. Section 5
92 ALAN GEORGE AND DAVID R. McINTYRE
ideas of 3 and 4, along with some numerical results. Section 6 contains our
concluding remarks.
2. Models for the analysis of sparse symmetric elimination. Following
George [4] and Rose [10], we now review for completeness some basics of the
elimination process for sparse positive definite matrices. We begin with some
basic graph theory notions and define some quantities we need in subsequent
sections. Much of the notation and the correspondence between symmetric
Gaussian elimination and graph theory is due to the work of Parter [9] and
Rose 10].
An undirected graph G (X, E) consists of a finite nonempty set X of nodes
together with a set E of edges, which are unordered pairs of distinct nodes of X. A
graph G’= (X’, E’) is a subgraph of G (X, E) if X’ c X and E’ c E. The nodes x
and y of G are adjacent (connected) if {x, y} E. For Y X, the adjacent set of Y,
denoted by Adj (Y), is
Adj (Y)={xlx XYand :ly Y(x, y) E}.
When Y is a single node y, we write Adj (y) rather than Adj ({y}). The degree of a
node x, denoted by deg (x), is the number IAdj (x)l, where ]SI denotes the
cardinality of the finite set S. The incidence set of Y, Y c X, is denoted by Inc (Y)
and defined by
Inc (Y)=t{{x, Y}IY e Y and x e Adj (Y)}.
For a graph G (X, E) with IX[ N, an ordering (numbering, labeling) of G is
a bijective mapping a" {1, 2, , N} X. We denote the labeled graph and node
set by G and X" respectively.
A path in G is a sequence of distinct edges {Xo, Xx}, {Xl, x2},’’’, {X-x, x,}
where all nodes except possibly Xo and x, are distinct. If Xo x,, then the path is a
cycle. The distance between two nodes is the length of the shortest path joining
them. A graph G is connected if every pair of nodes is connected by at least one
path. If G is disconnected, it consists of two or more maximal connected
components.
We now establish a correspondence between graphs and matrices. Let A be
an N by N symmetric matrix. The labeled undirected graph corresponding to A is
denoted by G A (XA, E A), and is one for which XA is labeled as the rows of A,
and {x, x}eEAceAi 0, ij. The unlabeled graph corresponding to A is
simply Gawith its labels removed. Obviously, for any N by N permutation matrix
P I, the unlabeled graphs of A and PAP T are identical but the associated
labelings differ. Thus, finding a good ordering of A can be viewed as finding a good
labeling for the graph associated with A.
A symmetric matrix A is reducible if there exists a permutation matrix P such
that PAP T is block diagonal, with more than one diagonal block. This implies G A
is disconnected. In terms of solving linear equations, this means that solving
Ax b can be reduced to that of solving two or more smaller problems. Thus, in
this paper we assume A is irreducible, which means that the graph associated with
A is connected.
APPLICATION OF THE MINIMUM DEGREE ALGORITHM 93
L1A IL’,
1/1 IN-
(2.1) AI=
[i 0] d.
v2
v r2
1212
v/4 I_ 0
L:A .Lf,
A,, =L
It is easy to verify that A LL wherer,
(2.2) L L (N- 1)I.
_
Consider now the labeled graph G A, with the labeling denoted by the
mapping a. The deficiency Def (x) is the set of all pairs of distinct nodes in Adj (x)
which are not themselves adjacent. Thus,
Def (x)= {{y, z }[y, z e Adj (x), y z, y Adj (z)}.
For a graph G (X, E) and a subset C X, the section graph G(C) is the subgraph
G (C, E (C)), where
E(C)={{x, y}l{x, y}eE, x e C, y e C}.
Given a vertex y of a graph G, define the y-elimination graph Gy by
Gy {X\{y}, E\Inc (y) U Def (y)}.
The sequence of elimination graphs G, G,. ,
Gr- is then defined by GI Gx
and Gi (Gi-),, 2, 3,. ,
N- 1.
The elimination graph G,, 0 < < N, is simply the graph associated with the
matrix HI; i.e., G G H’. We define Go G a, and note that G_ consists of a
single node. The recipe for obtaining G from Gi-x, which is to delete x and its
incident edges, and to then add edges so that Adj (x) is a clique, is due to Parter
[9]. A clique is a set of nodes all of which are adjacent to each other.
This graph model has many advantages for describing and analyzing sparse
matrix computations. However, except for rather small examples, it is not easy to
94 ALAN GEORGE AND DAVID R. McINTYRE
planar with increasing and become difficult to draw and interpret. For our class of
matrix problems, which are associated with planar mesh problems, we can define a
sequence of finite element meshes M Mo, M1, , Mn such that G can easily
be constructed from M, 0, 1, , N- 1.
Formally, a mesh M (X, S) is an ordered pair of sets, with X a (possibly
empty) set of nodes and $ a set of mesh lines, where each mesh line either joins
two nodes, is incident to only one node (forming a loop), or else forms a nodeless
loop. Let M0 (Xo, So) be the original finite element mesh M, with nodes of the
mesh forming the set Xo, and the lines joining the nodes comprising the set So. A
boundary mesh line is a member of S shared by only one element.
Starting with Mo, the mesh Mi (Xi, S), i= 1, 2,..., N, is obtained from
Mi-l (Xi-l, Si-1) by
(a) deleting node x and its nonboundary incident mesh lines,
(b) repeatedly deleting mesh lines incident to a node having degree equal to
one.
Here the degree of a node y in a mesh is the number of times mesh lines are
incident to y. When x is eliminated from M_I and xi has incident boundary lines,
these boundary lines are simply "fused" to form a new line of S, as depicted in the
transformations Ms --> M6 and M12 --> M13 in Fig. 2.1. The application of step (b) is
illustrated in the transformation M6 M7 and M --> M12.
We now describe how to obtain Gi from Mi. Since the node sets are identical,
we need only describe how to construct E. Since the sequence M is generated by
removing nodes and/or mesh lines, the meshes of the sequence are all planar,
having faces (elements) with nodes on their periphery and/or in their interior as
shown in Fig. 2.1. Also recall that by Definition 1.1, Go is a graph such that each
set of nodes Co_Xo associated with an element (interior to and/or on the
periphery of a face of M0) forms a clique. This construction is illustrated in Fig.
2.2.
The construction of G from M is essentially the same. The graph G is one
having the same node set Xi as M, and which has an edge set Ei such that each set
of nodes C X associated with the same mesh element forms a clique.
Using this mesh model, every numbering of M Mo determines a sequence
of meshes M, 1, 2, , N which precisely reflect the structure of the part of
the matrix remaining to be factored (Hi). The mesh Mr consists of a single
element, devoid of nodes, whose boundary is OR. Thus, symmetric Gaussian
elimination on finite element matrices can be viewed in terms transforming finite
element meshes, by a sequence of node and line removals, to a single elemett
As mentioned before, our mesh model has the advantage that the meshes
are planar and therefore easy to visualize and interpret. In addition, people
involved in the application of the finite element method are accustomed to
thinking in terms of elements, super-elements, substructures etc. [1], [13]. The
graph model, on the other hand, even if initially planar, rapidly becomes non-
planar as the elimination proceeds, and is less easy to visualize, it has the
advantage that there is some well established notation and terminology for the
description and manipulation of graphs. Our attitude is that the connection
between the models is so close that statements about one can immediately be
recast in terms of the other. We will therefore use both models in this paper,
APPLICATION OF THE MINIMUM DEGREE ALGORITHM 95
choosing the one which appears to transmit the information in the most lucid
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
manner.
We now describe the minimum degree algorithm using the graph theory
model. Let Go (Xo, Eo) be an unlabeled graph. The minimum degree algorithm
labels X (determines the mapping a) according to the following pseudo-ALGOL
program:
for i= 1, 2,...,N do
1) Find y Xi-1 such that deg (y)-<_ deg (x) for all x Xi-1.
2) Set a-l(y) and if < N form Gi from
3 7 6
13
10 14
16 11
M
I
-!
M M3 M4
Mlo
matrix problems, the local behavior of the minimum degree algorithm can be
_
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
Thus, if Q/ Q\{x} ,
in C will be reduced by one, and nodes not in C will have their degrees unchanged.
then the node of minimum degree in G/I is in Q/I.
Repeatedly using Lemma 3.2, we conclude that the minimum degree algorithm
will choose nodes in Q until it is exhausted. I-1
COROLLARY 3.4. In terms of the mesh model Lemma 3.2 and Theorem 3.3
imply that nodes in the interior of an element, or those on the boundary o]’ an element
which forms part of OR and are not in any other element, will all be eliminated before
other nodes associated with that element.
THEOREM 3.5. Let C1 and C2 be two cliques in G, O<-i <N, with
98 ALAN GEORGE AND DAVID R. McINTYRE
First, if Ki+l ,
d- 1 if y Ki+l, and deg (y)_->d for y sXi+l\Ki+x.
there is nothing to prove, so suppose Ki+x .
want to show that after x is eliminated, yielding Gi+ (X/+l, Ei+I), that deg (y)=
Now the
elimination of x renders {C1 LI C2}\{x} a clique, but since Adj (x) C1 [.J C2, nodes
Then if the minimum degree algorithm chooses x Ki at the i-th step, then it numbers
the remaining nodes of K/I K \{x} next, in arbitrary order.
The proof is similar to that of Theorem 3.5 and is omitted.
Theorems 3.3 and 3.5, and Corollary 3.6 have important practical implica-
tions. It is easy to recognize when their hypotheses apply, and they allow us to
immediately number sets of nodes by doing only one minimum degree search.
Thus, after each minimum degree search, a set of r_>-1 nodes will be
numbered, inducing a partitioning of X. We will denote this partitioning by
{[1, i2, /3, ", p}, where LI’= i X and i [") 0OtSj for # j. Figures
3.1 a b contain an L-shaped triangular mesh Mo together with a few of the meshes
M, 0 =< -< N, generated by the minimum degree algorithm. Figure 3.2 shows the
matrix structure of L +L corresponding to the ordering, with the column
partitioning indicated by the vertical lines.
APPLICATION OF THE MINIMUM DEGREE ALGORITHM 99
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
MI8 M25
M3o M37
FIG. 3.1a. A selectionolmeshes/rom the sequence Mk, k 0, 1,. , N.
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
100
M47
M6o
M57
0, 1,.
ALAN GEORGE AND DAVID R. MclNTYRE
, N.
APPLICATION OF THE MINIMUM DEGREE ALGORITHM 101
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
FIG. 3.2. Structure o[L + L 7 corresponding to the ordering produced ]’or the mesh o]’Fig. 3.1. The
partitioning is indicated by vertical lines. The character * represents nonzeros o]’ L which correspond
to nonzeros in A, while represents Jill.
This motivates our reordering algorithm for each partition i. We reorder the
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
since often three element sides are involved, as in M60, Fig. 3. lb. We consider this
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
problem later.)
Mk Mk +1,1
FIG. 4.3. An example of a typical i, <- <= p.
Let G (X, E) be the unlabeled graph corresponding to A, and let (
(X, ) be the subgraph of G obtained by interpreting the mesh M as a graph. Let
G, be the section graph G(i) (see 2). Now the element model makes it
abundantly clear that in general Ge,, consists of a single node, or a simple chain,
usually the latter. The graph Gyp is a special case, typically consisting of three
chains connected by virtue of a small shared clique or two chains connected by a
cycle.
Our reordering algorithm is straightforward, and although we do not know
how it can be improved, we have no proof that it is optimal. It essentially
involves the generation of two rooted spanning trees of Ge,,, the first of which is
generated in such a way that the distance from any node x to the root r in the
tree is the same as the distance from x to r in G,. This can easily be done by
generating the tree in a breadth-first manner, rather than in a depth-first manner
[8].
Our reordering algorithm consists of two general phases, which we now
informally describe. Here rl, r:,. , rl,l are the consecutive integers assigned to
the members of i by the minimum degree algorithm.
Phase 1. Choose any node x in G, and generate a breadth-first spanning
tree T1 for Ge,,, rooted at x. Any node y at the last level of the tree is chosen as a
starting node for stage 2.
Phase 2. In this phase, 9 is a stack which is originally empty, and is only
utilized if Ge,, is not a chain.
1) Label the node y provided by Phase 1 as r.
2) For each 2, 3,. , I[ do the following:
a) If x,-1, the last labeled node, has only one unlabeled node y adjacent
to it, then label it r.
b) If Adj (x,,-1) has more than one unlabeled node, of those not already in
9, label one r and place the remainder on the stack 9. If all nodes in
Adj (x,-1) are also in 9, choose one of those and label it r.
c) If the members of Adj (x,_) are all numbered, pop the stack until an
unlabeled node y is popped, and label it r.
APPLICATION OF THE MINIMUM DEGREE ALGORITHM 105
Figure 4.4 illustrates the reordering algorithm. Phase I generates the tree T1
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
rooted at x, and chooses the node y as the starting node for Phase 2. Step a) of
Phase 2 is executed until node g is labeled. At the next step node h is placed in Yt
and c is labeled. At the next step, the. unlabeled nodes of Adj (c) are {h, x}, but
since h is already in the stack, node x is labeled, and then step a) of Phase 2
operates until node a is labeled. Since Adj (a) is all labeled, node h is obtained
from Yt and labeled, followed by nodes i, j and k via steps a) and c) of Phase 2.
g ! e Tt
d Y
Mesh nodes
13 12 11 10 5
Starting node for Phase 2
FIG. 4.4. Relabeling of Gi.
.
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
Clique
Node Membership Clique Set o
2 2, 5 C: {1, 7, 6}
3 2, 6 C: {2, 3, 4}
4 2, 4 C: {5, 8, 9, 10}
5 3, 5, 7 C4: {4, 10}
6 1, 6, 7 C: {2, 5}
7 1, 8 C6: {3, 6}
8 3, 8 C7: {5, 6}
9 3 C8: {7, 8}
10 3,4
FIG. 5.1. The graph Go represented by its clique set o and clique membership list.
3) Set c, {(r_\{c[-lll O.r}}U{r\r}.
4) Update the degrees of the nodes in / (the new clique), and their clique
membership lists.
5) Increment r and go to step 1).
Our code consists of two phases, the first is simply the minimum degree
algorithm, modified to exploit what we know about the behavior of the algorithm,
as described by Theorems 3.3 and 3.5. The second phase performs the reordering
of each partition member as described in 4. Although this splitting into two
phases is not necessary (since each could be reordered as it is generated), it was
done to keep the code modular, and to ease maintenance and subsequent possible
enhancements.
Our code accepts as initial input a collection of node sets corresponding to the
elements (cliques)of the finite element mesh. This mesh changes as the algorithm
proceeds, so its representation must be such that merging cliques (elements) is
reasonably efficient and convenient. The data structure we used to represent the
graphs is depicted in Fig. 5.2. At any stage of the algorithm, the nodes of each
clique along with some storage management information are stored in consecutive
locations in a storage pool (POOL). A pointer array HDR of length -< NCLQS
(the initial number of elements) is used to point to the locations of the elements in
POOL. Finally, a rectangular array C is used to store the clique membership lists;
APPLICATION OF THE MINIMUM DEGREE ALGORITHM 107
row of C contains pointers into HDR corresponding to cliques which have node
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
as a member.
8 9
MESH 3
() () PO()L
123
134
2 5
234567
47
3
516 8 311 5
6
361 5
678 5
8 4
5
7
5
6
5
7
8
5
7
5
6
8
5
8
7
8
9
FIG. 5.2. Example showing the basic data structure for storing cliques of a finite element mesh.
Step 3)of the algorithm above obviously implies an updating operation of the
arrays C, HDR and POOL to reflect the new clique structure of the graph which
has seen some of its cliques coalesce into a single new one, along with the removal
of some nodes. In general, the node-sets corresponding to each clique to be
merged will be scattered throughout POOL, and none of them may occupy
enough space so that the new clique to be created could overwrite them. To avoid
108 ALAN GEORGE AND DAVID R. McINTYRE
excessive shuffling of data, we simply allocate space for the new clique from the
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
last-used position in POOL, and mark the space occupied by the coalesced cliques
as free. When space for a new element can no longer be found in POOL, a storage
compaction is performed. See [8, pp. 435-451 for a description of these standard
storage management techniques.
Our first objective is to study the behavior of our ordering algorithm. We ran
our code on N by N finite element matrix problems arising from n by n
right-triangular meshes of the form shown in Fig. 5.3. We ran our code for
n 5(5)35 to study the behavior of various quantities as a function of N (n + 1)2.
The results of our runs are summarized in Tables 5.1-5.3. The "overhead"
column in Table 5.1 refers to the number of pointers etc. used by our data
structure for L. In our implementation of an IBM 360/75, we used a 32 bit word
for both pointers and data. On many machines with a larger wordlength, it would
make sense to pack two or perhaps more pointers per word. Thus, in other
implementations the overhead for our data structure compared to the storage
required for the actual components of L would be much less than appears in Table
5.1.
The overhead and primary column entries in Table 5.1 do not quite add up to
the corresponding entry in the total column because we included various other
auxiliary vectors and space for the right side b in the total storage count.
The following observations are apparent from the data in Tables 5.1-5.3.
1) The overhead storage appears to grow linearly with N, and the total
storage requirement for all data associated with solving the matrix problem grows
as N log N. This has two important practical implications. First, it implies that
(overhead storage)/ (total storage) 0 as N c, in contrast to most sparse matrix
solvers for which this ratio is some constant a, usually with a > 1. The second
implication is perhaps even more important. It is well known that for this problem,
the use of bandmatrix methods (i.e., a banded ordering) implies that total storage
requirements grow as N3/2. Indeed, the best ordering known to the authors (the
APPLICATION OF THE MINIMUM DEGREE ALGORITHM 109
O(NlogN).
TABLE 5.1
Storage statistics for the ordering produced by the minimum degree algorithm followed by the
improvement described in 4.
2) The entries in Table 5.2 suggest rather strongly that the execution time of
our ordering code for this problem grows no faster than N log N. Similar experi-
ments with other mesh problems demonstrate the same behavior.
3) Table 5.3 contains some interesting statistics about the partitioning
induced by the repeated applications of Theorems 3.3 and 3.5 in our ordering
,
algorithm. It appears that is approaching a "limit" near N/2, and that the
number of off-diagonal blocks in each "block column" is approaching about 4.
Again, similar experiments with other mesh problems indicate that this behavior
is not unique to our test problem.
We now turn to a comparison of our ordering algorithm with an alternative.
For comparison, we used the recently developed ordering algorithm due to Gibbs
et al. [5], along with a solver which exploits the variation in the bandwidth of the
TABLE 5.2
Execution time in seconds on an IBM 360/75 for the ordering algorithm described in 3 and 4.
Ordering
Back- Back- Total Soln.* plus
Time time
Time for Time for Total Fact. Fact. solve solve Soln. solution
N Phase Phase time N log N mult. time mult. time time Nx/ time
5 36 .35 .20 .55 .0043 578 .04 370 .03 .07 .324 .62
10 121 1.15 .50 1.65 .0028 5739 .22 2078 .09 .31 .233 1.96
15 256 2.37 1.08 3.45 .0024 21919 .61 5798 .20 .81 .198 4.26
20 441 4.23 1.84 6.07 .0023 56501 1.30 11918 .34 1.64 .177 7.71
25 676 6.57 2.84 9.41 .0021 107474 2.36 20184 .54 2.90 .165 12.31
30 961 9.69 4.01 13.70 .0021 242548 4.36 34380 .77 5.13 .172 18.83
35 1296 13.23 5.39 18.62 .0020 360937 6.14 48504 1.06 7.20 .154 25.82
Scaled by 10 -3.
110 ALAN GEORGE AND DAVID R. McINTYRE
TABLE 5.3
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
matrix, as suggested by Jennings [7]. In our tables, we denote results for this
ordering-solver combination by BAND, as opposed to the results of our ordering
algorithm/linear equation solver package, which we denote by BMD (block-
minimum-degree).
From Table 5.4 the total storage for the solution of the test problem, using the
band ordering, appears to grow as O(Nx/--N), as expected for these meshes. The
storage overhead is only =N. However, in contrast, the total storage used for the
solver which uses the BMD ordering appears to grow only as O(N log N), despite
the larger overhead. Extrapolating the results of the tables suggests that the
storage for the BMD ordering will be less than band storage for N > 2000, with
the saving reaching 50% by the time N is around 15,000.
TABLE 5.4
Storage statistics for BAND program.
TABLE 5.5
Execution time in seconds on an IBM 360/75 for BAND program.
Ordering Ordering
Total
Soln.*
time Back- Back- plus
Ordering Fact. Fact. solve solve soln. time solution
N time N 1.05 mult. time mult. time time _N time
Scaled by 10- 3.
TABLE 5.6
Ratio ofBMD/ BAND for various quantities.
and if only factorization and solution time is considered, our scheme looks
Downloaded 12/27/12 to 150.135.135.70. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
REFERENCES
[1] P. O. ARALDSEN. The application of the superelement method in analysis and design of ship
structures and machinery components, National Symposium on Computerized Structural
Analysis and Design, George Washington University, Washington, D.C., 1972.
[2] C. BERGE, The Theory of Graphs and its Applications, John Wiley, New York, 1962.
[3] GARRETT BIRKHOFF AND ALAN GEORGE, Elimination by nested dissection, Complexity of
Sequential and Parallel Algorithms, J. F. Traub, ed., Academic Press, New York, 1973, pp.
221-269.
[4] ALAN GEORGE, Nested dissection of a regular finite element mesh, this Journal, 10 (1073), pp.
345-363.
[5] N. E. GIBBS, W. G. POOLE AND P. K. STOCKMEYER, An algorithm ]’or reducing the bandwidth
and profile of a sparse matrix, this Journal, 13 (1976), pp. 235-251.
[6] M. J. L. HUSSEY, R. W. THATCHER AND M. J. M. BERNAL, Construction and use of finite
elements, J. Inst. Math. Appl., 6 (1970), pp. 262-283.
[7] A. JENNINGS, A compact storage scheme/’or the solution of symmetric linear simultaneous
equations, Computer J., 9 (1966), pp. 281-285.
[8] D. E. KNUTH, The Art of Computer Programming, vol. I, Fundamental Algorithms, Addison-
Wesley, Reading, MA, 1968.
9] S.V. PARTER, The use ollinear graphs in Gauss elimination, SIAM Rev., 3 (1961), pp. 364-369.
10] D. J. ROSE, A graph-theoretic study of the numerical solution of sparse positive definite systems of
linear equations, Graph Theory and Computing, R. C. Read, ed., Academic Press, New York,
1972.
[11] ANDREW H. SHERMAN, Yale sparse matrix package user’s guide, Lawrence Livermore
Laboratory Rept. UCID-30114, Livermore, CA, 1975.
[12] B. SPEELPENNING, The generalized element method, unpublished manuscript.
[13] K. L. STEWART AND J. BATY, Dissection of structures, J. Struct. Div., ASCE, Proc. paper No.
4665 (1966), pp. 75-88.
[14] JAMES H. WILKINSON, The Algebraic Eigenvalue Problem, Clarendon Press, Oxford, England,
1965.
15] O.C. ZIENKIEWICZ, The Finite ElementMethod in Engineering Science, McGraw-Hill, London,
1970.