You are on page 1of 22

Partitioning and Tearing Systems of Equations

Author(s): Donald V. Steward


Source: Journal of the Society for Industrial and Applied Mathematics: Series B, Numerical
Analysis, Vol. 2, No. 2 (1965), pp. 345-365
Published by: Society for Industrial and Applied Mathematics
Stable URL: http://www.jstor.org/stable/2949789 .
Accessed: 20/10/2014 22:56

Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at .
http://www.jstor.org/page/info/about/policies/terms.jsp

.
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of
content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms
of scholarship. For more information about JSTOR, please contact support@jstor.org.

Society for Industrial and Applied Mathematics is collaborating with JSTOR to digitize, preserve and extend
access to Journal of the Society for Industrial and Applied Mathematics: Series B, Numerical Analysis.

http://www.jstor.org

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
J. SIAMNumer. Anal.
Ser. B, Vol. 2, No. 2
Printedin U.S.A., 1965

PARTITIONING AND TEARING SYSTEMS OF EQUATIONS*

DONALD V. STEWARDf

Introduction. Kron [1] has developed a technique for tearing large, sparse
linear systems of algebraic equations into smaller systems, then putting
the solutions of these smaller systems together to form the solution of the
original problem. This can result in a great savings over solving the whole
system in one piece. The trick is to find where to tear so that on the one
hand the remaining pieces are small and easily solvable, but on the other
hand not so much violence is done to the equations so that the task of
putting their solutions back together becomes too difncult. Kron's pro?
cedure for solving the pieces and putting their solutions together is based
upon representing systems of equations as electric networks. He makes his
choice of where to tear from his insight into these networks and the physical
processes the equations represent. In the hands of someone such as Kron
who has an understanding of the methods and good insight into the prob?
lem, this technique has had outstanding success. The widespread use of
Kron's technique has perhaps been limited severely for lack of practitioners
skilled in this art of determining effective ways of tearing specific problems.
Many problems are too large to submit to such insight. It is the purpose of
this paper to contribute to the development of procedures which can be
performed on a computer for analyzing the structures of the systems of
equations themselves as an aid in choosing how to break them up for easier
solution. The methods developed here require only that we consider what
variables occur in each equation, but not how they appear. Thus, the tech?
niques are not limited to linear systems.

An example of partitioning and tearing. Let us consider the problem of


solving n equations in n unknowns. The number of operations required to
solve a system of equations can go up very much more rapidly than linearly
with the number of equations (e.g., as nz for a full system of linear equa?
tions). A great savings of effort can usually be made if it is possible to take
advantage of the sparseness to find how the system of equations can be
solved by solving simultaneously just one subset of the equations at a time.
We call a partition the division of the set of equations into subsets, which
we call blocks, so that each block in the partition is the smallest set of equa?
tions which includes all of the equations which must be solved simultane-
* Received
by the editors January 21, 1965, and in revised form May 7, 1965.
f Social Systems Research Institute and Mathematics Research Center, United
States Army, University of Wisconsin, Madison, Wisconsin. This work was done with
the aid of a National Science Foundation grant and U. S. Army Contract No. DA-11-
022-ORD-2059.
345

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
346 DONALD V. STEWARD

Fig. 1

ously with any equation in the block. Then the blocks can be solved one at
a time. Such a partition is unique [7].
For example, let us consider the system of 26 equations in Fig. 1 which
comes from a model of the United States economy [2]. Here an x in position
i, j indicates that equation i contains variable j. The variable may appear
in the equation either linearly or nonlinearly. We call this the structural
matrix. (The structural matrix may be considered to be an incidence matrix
mapping the set of variables onto the set of equations.) By reordering the
equations and variables, we can put the structural matrix in block tri?
angular form, as in Fig. 2. (By block triangular we imply that we have
square blocks on the diagonal and all zeros above the diagonal.) This system
of 26 equations can thus be solved as a sequence of smaller sets of equations,
as in Fig. 3. The circles contain the blocks of equations which must be solved

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
PARTITIONING AND TEARING SYSTEMS OF EQUATIONS 347

Variables

Fig. 2

simultaneously; the arrows indicate the sequence in which the blocks must
be solved. Thus, the largest block of equations which we must solve simul?
taneously has been reduced from 26 to 17.
Now we might ask whether by removing one or more elements from a
block a further partition of the set of equations in the block could be made.
This we call tearing. To tear an element is to remove it from the structural
matrix. If, for example, we tear variable w in equation 16, the block of 17
equations can be partitioned again such that the largest block remaining is
now only 4 equations. See Figs. 4 and 5. Other elements whose tearing would
leave a largest block of 4 equations are 9q, Sp, It, and Vlx.
A tearing, i.e., a set of elements to be removed from the structural matrix,
is not unique. We will be interested in ways of exploring the properties of

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
348 DONALD V. STEWARD

Fig. 3

various tearings. Choice of the best tearing of a system depends not only
on the structural matrix of the system of equations, but also on how the
variables appear in the equations, which is not considered here. Generally
we will be interested in seeking first those tearings which will leave the
smallest blocks remaining. If it occurs that a tearing makes a significant de-
crease in the size of the blocks remaining, this may be sufficient to override
many considerations of the difficulty of solving the equations in the form
required.
Kron's technique normally implies what we will call strong tearing:
sufficient elements are removed that the pieces may be solved in any order,
i.e., such that the structural matrix may be put into block diagonal form.
Here we will deal with weak tearing, i.e., only sufficient elements are torn so
that the remaining pieces (blocks) can be solved one at a time in some
partially ordered sequence, i.e., such that the structural matrix may be put
into block triangular form. This weaker condition causes less violence to
the equations but still offers the advantages of solving the system only a
piece at a time.
In tearing we do violence to the equations. We must then account for the
effect of the elements which have been torn.
Some means of solving torn systems. Although this paper is primarily
concerned with the problem of where to tear to get the smallest remaining
blocks, as motivation we will suggest a few means which can be used to take
advantage of tearing in solving systems of equations.
Buckner [3] has described in conventional terms how Kron accounts for

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
PARTITIONING AND TEARING SYSTEMS OF EQUATIONS 349

Fig. 4

the torn elements in reconstructing the solution of linear systems from the
solutions of their parts. (See Appendix.) The methods for partitioning
and tearing developed here have other applications than to Kron's tech?
nique. Partitions and tears are defined here for nonlinear as well as linear
systems.
For either nonlinear or linear systems tearing might be used to imply an
iteration scheme. For example, if we were to assume a value for variable w
in equation 16, we could solve the remaining equations in the block to obtain
a new value for variable iv which could be used in the next iteration. Within
each iteration the largest set of equations to be solved simultaneously would
be 4 equations. The specific equations involved would have to be considered
to establish more precisely how much computation would be involved, and
what the convergence properties of the iteration would be.

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
350 DONALD V. STEWARD

&?

Fig. 5

If the solution of the remaining equations is sufficiently insensitive to the


value of the variable represented by the torn element, it may be possible
just to set the value of that variable to a constant.
Dynamic programming techniques may be used to optimize torn systems
[4], [5].
A most interesting application of the theory of partitioning and tearing
is to aid in the development of large models. On the one hand to develop
small, simple models, one needs to understand the phenomenon well enough
to know what is extraneous, and how to abstract the most significant fea-
tures. Thus, one may be inclined to prepare a large model which include^
all the effects known, hoping to use the model to assist in the determination
of which effects are most important. However, errors in a large model can
propagate in such a way that the errors actually show up far from where
they were caused. Then one has a model he can neither debug nor under?
stand. It is desirable to find means to isolate parts of the model which can
be studied independently of other parts of the model. Indeed, how to choose
one facet of a problem to study at a time such that there is minimum inter-
ference from the outside is at the heart of the researcher's art, Partitioning
and tearing is being studied as a tool to help extend this art into areas where
the immensity of the problem puts it beyond the grasp of the researcher
and into the domain of data processing. (A model of 26 equations is hard
enough to comprehend. However, a model of the United States economy
is presently being developed containing over 300 equations [6].)

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
AND TEARING SYSTEMS OF EQUATIONS
PARTITICWSTING 351

Fx(xa) ,0 1 (x)
"? 2
F2(V V *~*?

F3(xb'xc)=0 3 L?

Fig. 6

= ? 1 ?*~x
Fl (xa> V
=0 2
F2(xb, xc) l
?^
= ? 3 x ?>
F3(V V ?
Fig. 7

A model may be studied by setting the variable represented by the torn


element equal to observed historical data to account for the interdepend-
encies while each of the parts are being studied. Then we are using the
simultaneous solution implicit in the worldly phenomenon itself to help us
isolate parts of our model.

The basic concepts from which the algorithms will be derived. As a basis
for our consideration of partitioning and tearing we will review here briefly
the concept of "information flow" developed in [7].
Let us consider the system of equations in Fig. 6. Here we may solve
equation 1 for xa, equation 2 for xb, and equation 3 for xc, one at a time in
that order. Information flow is indicated by the lines in the diagram. The
vertical lines indicate the substitution of the solution of one equation into
another. Horizontal lines indicate the use of a variable in the solution of
an equation. The circles indicate the variables to be solved for.
Now, for the system of equations in Fig. 7, the information flow forms a
loop and the equations must be solved simultaneously. (What we call a
loop is usually referred to in the graph theory literature as a cycle.)
We call the variable for which an equation is to be solved the output
variable. To solve the system of equations we must first make a choice of
one output variable for each equation such that no variable becomes the
output of more than one equation. This choice we call the output set. (The
output set is a one-to-one mapping of the set of equations onto the set of
variables, which may be represented by a set of ordered pairs.) The output
set is not unique. In fact, given an output set, if we determine the loops
associated with that output set, all other possible output sets may be ob-

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
352 DONALD V. STEWARD

a b c
1 x->?

3 ?
Fig. 8

tained by carrying the output relabeling around the loops [7]. In the above
example by carrying the outputs around the loop we get the new output set
of Fig. 8 with the loop now going in the opposite direction.
To obtain the blocks of the partition, i.e., the sets of equations which
must be solved simultaneously, we must associate together in the same
block all those equations appearing in the same loop. Clearly, if equations
i and j are connected by a loop and equations j and k are connected by
another loop, then we must associate equations i, j, and k in the same block.
(This generates an equivalence class.) Once all the equations which are
joined by a loop are confined within the same block, then clearly the blocks
themselves are not joined by loops. The blocks may therefore be solved in
some sequence. Thus, the problem of partitioning becomes one of deter-
mining what equations are associated together into blocks by loops, and
determining the sequence in which these blocks may be solved. The problem
of tearing then concerns how loops may be broken by removing elements
in the structural matrix so as to obtain smaller blocks.
The partition is independent of the output set which happened to be used
because any other output set can be obtained by carrying the outputs
around loops, and the loops are confined within the blocks [7].

An algorithm for partitioning. Let us consider the example of Fig. 9


which is small enough that we can actually follow through the operations
as we explain the algorithm for partitioning.
As discussed above we first choose an output set. We circle one x in
each row such that only one x is circled in each column (see Fig. 10). An
algorithm for this is given in [7].
The output set represents a one-to-one mapping of the set of equations
onto the set of variables. The structural matrix represents a mapping of the
set of variables onto the set of equations. Together they imply a mapping
of the set of equations onto itself. For example, the solution of equation 2,
variable d, can be substituted into the other equations in which variable d
appears, i.e., equations 5 and 11. Therefore we have paths from equation 2
to equations 5 and 11. This mapping of the set of equations onto itself can
be represented by a directed graph. The adjacency matrix for this graph can
be obtained by permuting the columns to bring the circles to the diagonal.

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
PARTITIONING AND TEARING SYSTEMS OF EQUATIONS 353

Fig. 9

abcdefghijkl

10
11
12

Fig. 10

A column which was labeled by a variable is then relabeled by the equation


which has that output variable. The elements in this column then show what
other equations contain this variable. We remove the circled elements on
the diagonal to eliminate direct paths from an equation to itself. Thus we
see in Fig. 11 that we have paths from equation 2 to equations 5 and 11.
We may replace the problem of finding loops drawn on the structural
matrix with finding loops in the directed graph represented by this ad-
jacency matrix. Thus we consider only the equations in the loop and ignore
the variables.
The algorithm proceeds as follows:
(1) We look for a row with no predecessors, i.e., no x in the row, and
eliminate that row and the column corresponding to it. We repeat this
process until there are no further rows without predecessors.

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
354 DONALD V. STEWARD

From
12 34 5 678 9 10 11 32
1
2
3
4
5
To 6
7
8
9
10
11
12

Fig. 11

(2) Now any path we trace following predecessors must lead into a loop.
Since the graph is finite and by step 1 there is no row without a predecessor,
such a path must eventually repeat a row. Retracing the path from this
row gives a loop.
The union of two rows is a row which contains an x or + in each off-
diagonal element in which either row had an x or ~f, i.e., the "or" of the
two rows minus the diagonal element. (We add +?s to the figure rather
than x's to distinguish elements added by the algorithm from the original
elements.)
(3) When we find a loop, we replace the set of rows in the loop by one
row which is the union of the rows replaced. This we call collapsing the
rows in the loop. Similarly we collapse the columns corresponding to these
rows.
When a row without a predecessor is eliminated, that row and the rows
which tcollapsed to form it represent the equations in a block. The order in
which rows without predecessors are eliminated gives an order in which these
blocks may be solved.
We will illuminate these rules by beginning with Fig. 11 and proceeding
step by step until we finish with Fig. 12.
(1) Row 4 has no x, so we eliminate row and column 4. We indicate that
a row or column has been eliminated by writing an x next to it. We put a
1 in the "order" column to record the sequence in which the row was
eliminated.
(2) Row 7 has no x, so we eliminate row and column 7 and put a 2 in the
"order" column.
(3) :There are no more rows with no x in the row. Thus, we begin tracing
a path with row 1, choosing always the first x encountered in the row. This

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
PARTITIONING AND TEARING SYSTEMS OF EQUATIONS 355

x x XXX x x x x x x
order into 1 2 3 4 5 7 8 9 10 11 12
4

5
1

3
2

x 10
x 11
x 12
Fig. 12

gives the path 1, 10, 1, which implies 1 and 10 are in a loop. We collapse
row 10 into row 1 by adding +'s to row 1 to make it the union of rows 1 and
10. We do not put a + on the diagonal. Similarly we collapse column 10
into column 1. We then eliminate row and column 10. We place a 1 in the
"into" column next to row 10 to show it was collapsed into 1.
(4) Beginning with row 1 we trace the path 1, 5, 2, 5. This implies the
loop involving equations 5 and 2. We collapse 5 into 2.
(5) Beginning at row 1 we trace the path 1, 2, 9, 1. Thus, we collapse 2
and 9 into 1.
(6) We trace the path 1, 11, 1, so we collapse 11 into 1.
(7) We trace the path 1, 12, 6, 12, so we collapse 12 into 6.
(8) Row 6 has no x, so we put a 3 in its "order" column and ehminate
row and column 6.
(9) Row 1 has no x so we put a 4 in its "order" column and eliminate
row and column 1.
(10) We trace the path 3, 8, 3, so we collapse 8 into 3.
(11) Row 3 has no x so we assign a 5 to its "order" column and eliminate
row and column 3.
Now all rows and columns have been eliminated.
We can now read off from the "order" and "into" columns how the
equations are grouped into blocks and an ordering for solving the blocks.
The first block contains just equation 4; the second block contains just
equation 7. The third block contains equations 6 and 12 as 12 collapsed into
6. The fourth block contains equations 1, 2, 9, 10, 11, and 5 as 5 collapsed
into 2 and 2 in turn collapsed into 1. The fifth block contains equations
3 and 8.
From this information we can rewrite the structural matrix in block tri-

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
356 DONALD V. STEWARD

Fig. 13

Fig. 14

angular form. The equations in a block are grouped together and the blocks
are ordered as above. The variables are ordered by mapping the ordered
equations onto the variables with the output set, i.e., the variables are
ordered so that the output elements are on the diagonal. See Fig. 13.
From the block triangular form of the structural matrix we can draw the
precedence diagram. The elements below the diagonal indicate the prece-
dences. Block A is preceded by block B if a variable appearing in an equa?
tion in block A occurs as the output variable of an equation in block B.
Thus, we may draw the precedence diagram in Fig. 14.

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
PARTITIONING AND TEARING SYSTEMS OF EQUATIONS 357

The precedence diagram is unique. The block triangular matrix may be


written with the blocks in any order which satisfies the partial ordering of
the precedence diagram, and the equations within a block can be written
in any order.
This algorithm was suggested by reading the paper of Sargent and
Westerberg [8] and by an unpublished algorithm the author had developed
for finding loops in scheduling networks. The algorithm goes very quickly
and can easily be done by hand or on the computer. When doing the algo?
rithm by hand it is found to be quite convenient to eliminate rows and
columns by marking over them with a see-through color felt pen.
An earlier, much slower algorithm based upon taking powers of a Boolean
matrix has been programmed in ALGOL for the Burroughs 220 and in
FORTRAN for the Control Data 1604 [9].

An Algorithm for Tearing. We partition first. Then we consider whether


we can tear elements in a block so it can be partitioned further. While
tearing we consider only a block at a time. We wish to display how the
removing of elements from the structural matrix will break loops so as to
leave smaller blocks. The choice of what tears to use will depend upon how
small the remaining blocks are, and numerical considerations derived from
how the variables occur in the actual equations themselves.
Let us illustrate the tearing procedure by using as an example the block
of equations 1, 2, 5, 9, 10, 11 in the above example. Let us look at the
adjacency matrix of Fig. 11 and extract just the rows and columns repre-
senting the equations in the block. See Fig. 15.
For tearing, we actually trace the loops which appear in a block. A
method for doing this tracing is as follows. We begin with an arbitrary row
and trace all possible paths along predecessors until a row is repeated.
When a row is repeated a loop has been found. (This is equivalent to de-
veloping a maximal tree for the graph. Then each added branch introduces
a loop.)
For example, we begin with row 1 and trace a path, choosing in each row
the first predecessor, until we repeat a row. Thus we trace 1, 10, 1, giving

From
12 5 910 11
1
2
To 5
9
10
11

Fig. 15

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
358 DONALD V STEWARD

the loop 1, 10 which we label A. Now we go back to the previous row and
begin tracing with the next predecessor the branch 10, 5, 2, 5. This gives
the loop 5, 2, which we label B. When we go back to 2 we find 2 does not
have another predecessor, so we go back another step to 5, etc. When we
have thus exhausted all predecessors of all rows, we are through. If a loop
is repeated, it is not assigned a new label. In this way we develop the loops
(A: 1, 10), (B: 5, 2), (C: 10, 5, 9), (D: 1, 11, 2, 5, 9, 10). See Fig. 16.
Now let us consider an undirected graph in which the points represent
these loops. Two points are connected if the loops they represent have an
equation in common. The loops we just found would be represented by the
points in the graph in Fig. 17.
All the equations in a loop must be in the same block. Thus, if an equa?
tion occurs in two loops, then all of the equations in either loop must be in
the same block. If this graph is connected, then all of the equations in the

Fig. 16

A 1, 10

1,11,2,5,9,10 D C 10,5,9

B 5,2
Fig. 17

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
PARTITIONING AND TEARING SYSTEMS OF EQUATIONS 359

loops represented by points in the graph must be in the same block. To


obtain smaller blocks we must break loops such that removing the points
corresponding to the broken loops reduces the number of equations associ?
ated with each connected component.
If we remove, i.e., tear, any element which is not an output, we break all
loops that go through that element.
Given a particular output set we cannot test the elements in the output
set itself for tearing because removing such an element requires making ad-
justments to the rest of the output set. Thus, it is necessary to make a test
with a particular output set, then to move the outputs around loops to
obtain a new output set not containing the original outputs so the original
output elements may be tested. Reference [7] discusses how to determine
the new loops when the output has been carried around a loop.
Let us consider (see Fig. 18) a matrix in which the rows correspond to
the loops, and the columns correspond to the equations. #'s are used to
indicate the equations which appear in each loop. (Fig. 18 is an incidence
matrix mapping the set of equations onto the set of loops.)
If two loops have an equation in common, then there exists a block
which contains all the equations appearing in either loop. If we remove ele?
ment lg from the structural matrix, loop D will be broken. This leaves
loops A, B, and C. Together, these loops imply a block containing equations
1, 2, 5, 9 and 10. Thus tearing lg decreases the size of the largest block only
from 6 to 5 equations.
Now instead of placing an x in column j of row i to indicate that equation
j appears in loop i, we insert the number of the equation following j in the
loop. This then gives us information about the correspondence between
elements in this matrix and elements in the structural matrix. The incidence
matrix in Fig. 18 would be modified as in Fig. 19.
Now we look for the appearance of the same number more than once in
the same column. This identifies an element of the structural matrix whose
tearing will break each loop in which this common number appears. The
element of the structural matrix so identified is determined as follows. The
equation is given by the column number of the incidence matrix. The vari?
able is the output variable of the equation whose number appears in that
column. For example, the 5 occurring twice in column 2 of the incidence

Fig. 18

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
360 DONALD V. STEWARD

12 5 9 X) 11
A
B
C

Fig. 19

h a 1 c k d g i f e j b

,tom element

Fig. 20

Fig. 21

matrix implies that tearing the element of the structural matrix in


equation 2 variable k (the output variable of equation 5) would break
loops B and D. This would leave loops A and C. Since loops A and C each
have an entry in column 10, then there is a block containing all the equa?
tions occurring in both loops A and C, i.e., 4 equations.
The two 9's in column 5 or the two 10's in column 9 imply that tearing
either 5e or 9/ would break loops C and D. This leaves loops A and B.

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
PARTITIONING AND TEARING SYSTEMS OF EQUATIONS 361

Since A and B do not have an equation in common, they represent inde-


pendent blocks. Thus, tearing either 5e or 9/ would leave 2 blocks of 2
equations each.
Tearing element 5e from the structural matrix, we may then partition
by the algorithm above. The structural matrix with this block partitioned
is shown in Fig. 20.
The precedence diagram is shown in Fig. 21, where we just indicate the
equation numbers in the circles rather than write out the functions as
we did in Fig. 14.
This example does not test the elements in the output set as possible tear
elements. In this case, no further good tears result from testing the output
elements.

Previous related work. In a previous paper [7] the author developed a


theory of partitioning based upon the notion of information flow. This
information flow is fundamental to any means of solving systems of equa?
tions, whether the equations be linear or nonlinear, whether the method
used be elimination or iteration. This approach involves the assignment of
an output set before determining the loops.
For linear systems the author's partitioning algorithm is equivalent to
obtaining permutations P and Q on the rows and columns, respectively, of
the matrix A such that PAQ is block triangular. Harary [10] earlier had
solved this problem subject to the restriction that the same permutations
are made to rows and columns, i.e., such that PAP~l is block triangular.1
This is unnecessarily restrictive for inverting matrices. The key to removing
this restriction is the assignment of an output set. Otherwise, the author's
original algorithm [7] is equivalent to Harary's.
Following Harary's approach, Dulmage and Mendelsohn [12] introduced
the use of bipartite graphs and added the assignment part of the algorithm
to solve the PAQ problem in a way equivalent to that used by the author.2
Harary, and Dulmage and Mendelsohn base their methods on the graph
which describes the permutation group generating the terms of the deter-
minant of the matrix. Although their methods are derived from linear
concepts, the author's derivation justifies the application of their results
to nonlinear systems.
Sargent and Westerberg [8] use an algorithm for partitioning which sug?
gested to the author the algorithm in this paper. In the Sargent and Wester-
1 Harary [11] points out that this similarity transformation preserves the eigen?
values so that the eigenvalues of A may be obtained from the union of the sets of
eigenvalues of the blocks on the diagonal of PAP~X.
2 Their work and the author's were done independently and appeared the same
month in different journals.

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
362 DONALD V. STEWARD

berg partitioning problem the assignment of an output set is avoided be?


cause the formulation of the problem implies the output set.
Sargent and Westerberg [8] have developed an interesting approach to
tearing, using dynamic programming to build up sequences of equations
which minimize the number of loops at each stage. However, it appears to
require a large amount of computer time and memory space even compared
to the algorithm herein suggested. Further consideration of this comparison
appears appropriate.
Signal flow graphs [13] have had an essentially separate life from the
above line of work, but involve similar concepts. Signal flow graphs arise
in electrical engineering. Some of their methods have been developed
independently in the mathematical literature [14].

Conclusions and the need for further work. The algorithm for partitioning
presented is extremely fast and the computing time does not appear to
increase very rapidly with the number of equations. It may be a quite
practical algorithm for hand computation of systems involving perhaps
50 to 100 equations.
The situation is not so rosy with the present tearing algorithm. The
number of loops to be traced can grow very rapidly with the number of
equations. The tracing and analysis of so many loops can become un~
manageable even on the computer if the blocks get too large. (The block of
17 equations in Fig. 2 was manageable by hand, but a block of twice that
size proved to be too burdensome by hand to be considered practical.) The
speed of the partitioning algorithm may make it practical to remove one
element of the structural matrix at a time and partition. Further work is
required to develop techniques which do not require the explicit generation
of the loops.

Acknowledgment. I am indebted to Louis Rall and Ben Noble of the


Mathematics Research Center, U. S. Army, and to Charles Holt and Guy
Orcutt of the Social Systems Research Institute, whose encouragement and
support made this work possible.

Appendix. Accounting for the torn element in linear equation systems.


Buckner [3], in an unpublished note, and less elaborately in two published
works [15], [16], describes in matrix terms Kron's method of piecing to-
gether the solution of linear systems. This mathematical method also
appears in Householder [17]. The derivation will be repeated here in the
context of this paper. (Buckner also relates this to Kron's network methods,
which we will not consider here.)
Consider inverting a matrix A of order n. Assume that A can be repre?
sented by the sum of a matrix B which is easily inverted, and a matrix

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
PARTITIONING AND TEARING SYSTEMS OF EQUATIONS 363

A ~ B which has rank r small as compared to n. Then we will show that we


may invert A by inverting B and a matrix of order r.
Consider the equation

Ax = /.

We may write this as:


- = /.
[B + (A B)]x

Then

Bx = / - (A
-
B)x,
x = B'1/ - -
B~\A B)x.

Since A ? B is of rank r, it may be represented [18] by the product of two


matrices, an n-by-r matrix K and an r-by-n matrix L. Then

x = B~'f - B^KLx.
(1)

Consider the r X 1 system Lx and let

(2) y = Lx.

Substituting x from (1) into (2),


-
y = LB'1/ LB^Ky.
Solving for y,

y = (Ir + LBT1K)-1LB-lf,

where Ir is the identity matrix of order r and Ir + LB~XK is a system of


order r. Substituting y for Lx in (1),

x = #-y - + LB-lK)~lLB~lf
B-'Ktfr
= [B'1 - B-'K^r + LB-'Ky'LB-1]/

Then
A-1 = B~l - B-'Ktfr + LE-1K)'1LE'1.

Thus A-1 is BT1 plus a correction matrix which requires B~ and the inverse
of a system of order r.
Now it should be shown that if A and B~x are nonsingular then
(Ir + LB"XK) is nonsingular. This is proved by demonstrating that if
z is a vector of r components, then

(Ir + LB~xK)z = 0
(4)
implies that z = 0.

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
364 DONALD V. STEWARD

Multiplying (4) by K we get

Kz + KLB~lKz = 0,

Kz + - = 0,
(A B)B~1Kz

Atf-fe = 0.

Since A and B-1 are nonsingular, then Kz = 0. From (4),

z + L?-1K2 = ^ = 0.

Let us apply this to tearing one element. Consider that tearing (removing)
one element in A leaves a matrix B which is block triangular. Assume that
the torn element of A is ai3-. Then A ? B has just the element atj and is
otherwise zero. Now let

A - B = KL, K = a^*, L = En

where E* is a column vector with a 1 in row i and zero otherwise, Ej is a


row vector with a 1 in column j and zero otherwise. Then B~1E% is the ith
column of B_1, which we denote by b'z; E jBT1 is the^th row of B~x, which
we denote by V; and EjB~xE% is the element in row j and column i of
= 1/(1 + a,,**) and
B*1, which we denote by 6*. Then (Jr + LB^K)'1

<**
A"1 = B"1 '|&-*-y-|,
1 + Oiy6'?

where I b'l-b3' I is a matrix of order n and rank 1.

REFERENCES
[1] G. Kron, Diakoptics, Macdonald, London, 1963.
[2] L. R. Klbin and A. S. Goldberger, An Econometric Model of the United States
1929-1952, North-Holland, Amsterdam, 1955.
[3] H. F. Buckner, Remarks on the method of tearing, unpublished.
[4] G. L. Nemhauser and D. J. Wilde, Strategies for optimizing macrosystems,
presented to the American Institute of Chemical Engineers, Las Vegas,
September 26, 1964.
[5] D. F. Rudd and D. V. Steward, On information flow and process design calcula-
tions, Ibid.
[6] L. Klein and G. Fromm, The SSRC-Brookings quarterly econometric model of the
United States: model properties, presented at the Annual Meeting of Allied
Social Science Association, Chicago, December 26-30, 1964.
[7] D. V. Steward, On an approach to techniques for the analysis of the structure of
large systems of equations, SIAM Rev., 4 (1962), pp. 321-342.
[8] R. W. H. Sargent and A. W. Westerberg, Speed-up in chemical engineering
design, Trans. Instn. Chem. Engrs., 42 (1964), pp. T190-T197.
[9] C. C. Holt, R. Shirey, D. Steward, J. L. Midler and A. H. Stroud, Program
SIMULATE, A User's and Programmer's Manual, Social Systems Re?
search Institute, University of Wisconsin, Madison, 1964.

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions
PARTITIONING AND TEARING SYSTEMS OF EQUATIONS 365

[10] F. Harary, A graph theoretic approach to matrix inversion by partitioning,


Numer. Math., 4 (1962), pp. 128-135.
[11] -, A graph theoretic method for the complete reduction of a matrix with a view
toward finding its eigenvalues, J. Math. and Phys., 38 (1959/60), pp. 104-
111.
[12] A. L. Dulmage and N. S. Mendelsohn, On the inversion of sparse matrices,
Math. Comput., 16 (1962), pp. 494-496.
[13] C. S. Lorens, Flowgraphs: For the Modeling and Analysis of Linear Systems,
McGraw-Hill, New York, 1964.
[14] S. Parter, The use of linear graphs in Gauss elimination, SIAM Rev., 3 (1961),
pp. 119-130.
[15] H. F. Buckner, Numerical methods for integral equations, Survey of Numerical
Analysis, McGraw-Hill, New York, 1962, pp. 448-449.
[16] -, Elektronische Rechenmaschinen in der Starkstromtechnik, Anwendung
elektrischer Rechenanlagen in der Starkstromtechnik, VDE-Verlag
GMBH, Berlin, 1958.
[17] A. S. Householder, Principles of Numerical Analysis, McGraw-Hill, New York,
1953.
[18] R. A. Frazer, W. J. Duncan and A. R. Collar, Elementary Matrices, Cambridge
University Press, Cambridge, 1953, p. 20.

This content downloaded from 75.150.166.157 on Mon, 20 Oct 2014 22:56:49 PM


All use subject to JSTOR Terms and Conditions

You might also like