Professional Documents
Culture Documents
a b c
F (xo, x) 0 1
(2) F. (x, x) 0 2
F3(xc xa) 0 3 X
The system of equations of (1) would be solved as follows. Independently of
any other equations, equation 1 can be solved for the number represented by
xa. Once a number for x is available, equation 2 may be solved for the number
represented by xb. With a number for xb available, equation 3 may be solved
for the number represented by xc. Let Gla be used to represent the solution of
equation 1 for the variable xa, etc. Then, the above sequence of operations may
be represented in functional form as follows"
number
(3) a (xo) x
number
Go() xo
A sequence of substitutions and solutions is said to imply a flow of information.
This flow of information may be described as follows" an equation symbol fol-
lowed by a variable symbol implies the solution of that equation for that var-
iable; a variable symbol followed by an equation symbol implies the substitution
of that variable in that equation. The flow of information is then described by
a sequence of alternating equation symbols and variable symbols called a path.
A path beginning and ending with an equation symbol will be called a chain. For
example, the chain l a263 implies that equation I is solved for xa, which is substi-
tuted in equation 2, which is solved for xa, which is substituted in equation 3.
Thus,
a b c
1 X
(4) 2 X-+ X chain la2b3
3 X-’-> X
A vertical line through a variable to an equation represents a substitution (a
variable symbol followed by an equation symbol). A horizontal line through an
equation to a variable represents a solution of that equation for that variable
(a variable symbol followed by an equation symbol).
For the system of equations of (2), there is no equation which can be solved
independently of the others. However, the solution may proceed either by the
process of iteration or by the process of elimination. Both processes will be shown
to imply the same flow of information.
ANALYSIS OF THE STRUCTURE OF LARGE SYSTEMS OF EQUATIONS 323
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
For either iteration or elimination, the first consideration is for which variable
each equation is to be solved. This variable is called the output variable (or
dependent variable) of that equation. The remaining variables of the equation
are called input variables (or independent variables) of the equation. The list
giving the output variable for each equation is called the output set. For example,
it may be appropriate to solve equation 1 for xb, equation 2 for xc, and equation
3 for xa, which would be described by the output set (lb, 2c, 3a).
An output set must be such that:
1. Each equation has exactly one output variable.
2. Each variable appears as the output variable of exactly one equation.
An equation may contain some variables for which it cannot be solved
uniquely, and there may exist a number of possible output sets meeting the
above requirements. Any output set for which each of the equations can be
solved for the required output variable is called an admissible output set. If a
system of equations is to be solved, then there must be at least one admissible
output set. Later, the manner of proceeding from one output set and its proper-
ties to any other output set and its properties will be described. Thus, for much
of the work, any output set will suffice, provided there exists an admissible output
set.
In (2), either (i, 2c, 3) or (le, 2, 3c) constitutes a valid output set. To
proceed with the illustration, (I, 2c, 3) is arbitrarily chosen. This output
set implies that
()
(5) JG.o(x) xo
G(xo) xo.
Let this output set be used to solve the system of equations of (2) by iteration.
The iteration begins with an arbitrary guess at a number for one of the variables,
say xa 0. Using this number for xa, equation 1 can be solved for a number
represented by xb, (lb). This number is substituted for x into equation 2, (b2),
to solve for a number represented by xc, (2c), which is substituted into equation
3, (c3), to solve for a new number represented by Xa, (3a), which is substituted
back into equation 1, (al). (It will not be considered here whether the iteration
will converge.) This procedure, giving the chain lb2c3al, may be represented in
functional form as
G (x()) x ()
number
(6) O,o (x (’)) xo(’)
number
number
i + 1 --+ i G. (X(i)) Xa
(iT1)
324 D.V. STEWARD
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
Let the same output set, (lb, 2c, 3a), be used to solve the same equations by
elimination. Equation 1 is solved for xb as an expression in x, (lb), which is,
in turn, substituted for xb into equation 2, (b2), to solve for xc, (2c), as an
expression in x,. Thus, x has been eliminated from equations 1 and 2. Now
this expression may be substituted for xc into equation 3, (c3), which eliminates xo,
leaving an equation for x,, (3a), as a function of xa. This equation may be solved
for the exact number represented by Xa. This number is then substituted for xa
into equation 1, (al), to solve for the number represented by x, which is, in
turn, substituted into equation 2 to solve for the number represented by xo.
The chain describing this process is, again, lb2c3al. This process may be repre-
sented in the following functional form:
G() x
symbol number
(7)
Gc(x) G.o(G(x,)) G:(x,) x
symbol
, (.) G (G (.)) (x.)
Note that, for both iteration and elimination, given the same output set (lb,
2c, 3a), the me chain, lb2c3al, representing the same sequence of substitu-
tions, is obtained. Iteration is performed by the substitution of numbers;
elination is performed by the substitution of symbolic expressions.
The chain lb2c3al, obtained above, may be diagrammed as follows:
a b c
1
3 X X
Note that this chain closes back upon itself; that is, the equations represented
by the first and last elements of the chain are the same. Such a chain is called a
loop. The presence of a loop implies that no equation appearing in the loop may
be solved independently of the other equations in the loop. Unknown informa-
tion must be carried around the loop before the equations in the loop can be
solved. For iteration, the unsown information is carried as the error in a num-
ber. For elimination, the unknown information is carried symbolically.
Solving the equations in the loop may begin with any equation appearing in
the loop. In (8), the procedure may have begun with a solution of equation 2
for x, then of equation 3 for x, etc. This sequence would give the loop 2c3alb2.
Equivalent forms of the same loop can be said to exist if, when the last elements
ANALYSIS OF THE STRUCTURE OF LARGE SYSTEMS OF EQUATIONS 325
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
are dropped, the forms contain the same elements in the same cyclic order.
Given any loop, all of its equivalent forms may be quickly generated. Thus,
only one form of a loop need be known. The form of the loop beginning and
ending with the lowest numbered equation is referred to as the canonical form
of the loop. For example, lb2c3al, 2c3alb2, and 3alb2c3 are equivalent forms of
the loop whose canonical form is lb2c3al.
Given different output sets, different loops will be obtained. However, in a
following section, relationships between loops and output sets will be shown,
such that, given any output set and its loops, any other output set and its loops
may be directly generated.
3. A FIRST OUTPUT SET
The method of obtaining a first output set is considered in this section. The
method of obtaining the loops, given an output set, is considered in the next
section. In a following section, relationships between loops and output sets
are shown, such that, given one output set and its loops, any other output set
and its loops may be directly generated.
The following theorem is proved: Given a system of equations containing as
many variables as equations, if there does not exist an output set, then there exists
a subset of the equations containing fewer variables than equations.
Some observations are made first. Given that the system of equations has a
subset of equations containing fewer variables than equations, usually, but not
always, there does not exist a unique solution. For, usually, at least one equation
of the subset is not independent, or else the variables are overspecified. If the
variables are not overspecified, then, at best, all of these variables might be
eliminated from the remaining equations. Then, the remaining equations would
contain more variables than equations. Such a system of equations cannot usually
be solved uniquely. However, consider the exception:
326
D.V. STEWARD
ANALYSIS OF THE STRUCTURE OF LARGE SYSTEMS OF EQUATIONS 327
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
one be in each column. There may exist many output sets satisfying these
conditions. Only one need be found.
It must now be shown that this process cannot fall into an infinite loop. Each
time the process passes through step 2, a new equation is encountered. Each
time the process passes through step 1, a new output variable is assigned. There
is a finite number of variables and a finite number of equations. Thus, infinite
loops are impossible.
For example, assume that, at some time, the process arrives at step 1 with
the following condition"
a b c d e f g
1 X X
2 Xf X
3 X X X
(10) 4 X
5 X X,,,::,
v’6 X X,,,::,
7 X X X
Starting with step 1, the following condition is reached"
a b c d e f g
/1
2 / T x
X--X---X
(11) /4 Xf
5 X X@
6 X X,,,,:,
7 X,f, X X
This condition gives the output set (le, 2b, 3g, 4a, 5d, 6f, 7c). Note that the
output has been moved along the path g3ela4, from an unassigned variable to
an unassigned equation. Note also that this is a special case of the assignment
problem.
4. GENERATION OF LOOPS
The method of generating loops, given a system of equations and an output
set, will be demonstrated.
Consider, as a new example, the following three equations with the output
set (la, 2b, 3c)
a b c
Fl (x,, xc) 0 1 X X
(12) F2(xa,x,,xc)-0 2 X Xe X
F3(xb, x) 0 3 X Xe
328 D. . STEWARD
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
(13) 2
(With reference to graph theory, it can be seen that, if the non-zero elements
are set to Boolean l’s, (13) represents an adjacency matrix. In a following
section on "Partitioning," the Boolean form will be used. However, elsewhere
the interest will be not simply in the existence of chains, but in the tracing of
chains. The letters representing the variables need not be included, since the
output set is known. However, the letters are included here for clarity.)
A chain from i to j and a chain from j to / imply the existence of a chain
from i to k. In this way, chains describing sequences of substitutions may be
built. This leads to the following definition of the multiplication of chains"
(14) (i, j). (j. k) iq, jg..., k;
that is, if the last element of the left chain matches the first element of the right
chain, the first element of the right chain is dropped, and the chains are joined
to form the product. If the last element of the left chain does not match the
first element of the right chain, the product does not exist. For example
1a2.263 1a263
(15) 1a2b3 3c I l a2b3c 1
lla2.3cl (does not exist).
The analysis will not, at this time, deal with chains which contain subchains
which form a loop. For example, the chain l a263c2b4 has the subchain 263c2,
which is a loop. A chain containing no subchain which is a loop is referred to as
a proper chain. To the rules above, defining multiplication of chains, is added a
ANALYSIS OF THE STRUCTURE OF LARGE SYSTEMS OF EQUATIONS 329
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
rule that states" If the product formed according to the rules above would form
an improper chain, then that product is said not to exist. For example,
la2b3.3c2b
" (does not exist, since la2b3c2b4 would contain 2b3c2 as a subchain).
The number of distinct variables represented by elements in a chain is called
the order of the chain. As has been shown, a first-order chain is a linlc.
It must be allowed that an element of the matrix may be a set of chains, as
there may be several chains which extend from i to j. The addition of two such
elements will be implied to mean the union of these sets. Multiplication will be
implied to mean the Cartesian product of sets using the above product of chains
(that is, the set of products of all combinations of one chain taken from the left
set times one chain taken from the right set).
The set of all second-order chains from i to j is the set of chains iikj, for
all ]. The definitions of addition and multiplication of elements cited above are
applied to the usual definition of multiplication of matrices to define the multi-
plication of link matrices. Then, the matrix containing all second-order chains
is the square of the link matrix. Similarly, all nth order chains occur in the nth
power of the link matrix. If there are n equations, powers of the link matrix
greater than n are empty, as no proper chain can intersect more than n equa-
tions. Loops are chains from i to i, and thus appear on the diagonal. Thus,
0 la2 0
[a-] 0 0 2b3
3cl 3c2 0
In the example above, there are two distinct loops which, stated in canonical
form, are 263c2 and la2b3cl. These loops can be displayed as follows:
a b c a b c
1 Xq X 1 X( X
la2b3ci
(17) 2 2 X--X X
3 X--- Xq
5, LOOPS AND OUTPUT SETS
The foregoing has demonstrated the method of obtaining an output set, and
the method, given the output set, of obtaining the loops associated with that
output set. Relationships between loops and output sets are considered now,
such that, given any output set and its loops, any other output set and its loops
may be directly generated.
A system of equations involving only one loop is considered first"
a b c
1 X--*X
output set (lb, 2c, 3a)
(18) 2 X--- Xq loop lb2c3al
3 X X
Let the output of equation 1 be moved from b to a. Now, both equation 1 and
equation 3 have x as an output. Thus, the output of equation 3 must be moved
from a to c. This leaves both equation 3 and equation 2 with the same output
variable, xc. Thus, the output of equation 2 must be moved from c to b. But
b was vacated by the first move in equation 1. Thus, the procedure is complete,
and the new output set can be displayed as follows:
a b c
1 X+-- X
T output set (la, 2b, 3c)
(19) 2 X’- X loop la3c2bl
3 X
Note that the output relabelling has been carried backwards around the loop.
The new loop, 1a3c2b1, is the reverse of the loop around which the relabelling
was carried. The new output set, (la, 2b, 3c), is obtained by replacing the out-
put variable of each equation that appears in the new loop by the variable ap-
pearing immediately after that equation in the loop.
It is clear that any transformation from one output set to another must carry
the relabelling of outputs around one or more loops.
ANALYSIS OF THE STRUCTURE OF LARGE SYSTEMS OF EQUATIONS 331
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
There may be more than one loop. Some manner of transforming each of the
loops by relabelling the output around one of the loops, called the relabelling
loop, must be established. First, consider the following example:
a b c
1 X, X
The outputs around the loop 2b3c2 will be relabelled. Again, the loop around
which the output is relabelled, 2b3c2, is transformed into its reverse, as follows"
a b c
X ’< X
la21 >X
I.
X?
original loop la2b3cl
reverse of
2b31
X
3b2 >i
2c3 3cl relabelling loop 2b3c2
Common pieces of the paths of the two loops now cancel, and what had been
the loop la2b3cl must now follow along the opposite side of the relabelling loop
2b3c2. The new loop is now:
a b c
1 X, X
(22)
2
la2
X
1 X
]2cl
X loop la2cl
X, X
Thus, the transformation of loops is as follows"
2b3c2 2c3b2 (relabelling loop transforms into its reverse)
(23)
1a2b3c1 --> la2cl
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
332
D. V, STEWARD
ANALYSIS OF THE STRUCTURE OF LARGE SYSTEMS OF EQUATIONS 333
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
6. PARTITIONING
F (x. x, x) 0
F (x ) 0
Fa(x, x], x) 0
(25) F4(x,,) 0
F (x, x) 0
F (x, x) 0
’ (xo, x., x) 0
These equations can be partitioned into the following partially ordered sequence
of solutions of smaller systems of equations"
334 D.V. STEWARD
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
Xa X,c Xe Xg
F(x.) o Xa Fl (Xa xc Xe) 0
F(x, x, x) 0
’(xo, xo, ) 0
(26)
Xb Xf
Xd
/, (x,, x) 0
The work may begin either by solving equation 4 for xa, or by solving equations
2 and 6 simultaneously for variables xb and x]. With xb obtained from the so-
lution of equations 2 and 6, equation 5 may be solved for xd. With xa obtained
from the solution of equation 4, and x from the solution of equations 2 and 6,
equations 1, 3, and 7 may be solved simultaneously for x, x,, xg.
Note that this is a partial ordering or precedence relation. The simultaneous
solution of equations 2 and 6 could proceed at the same time as the solution of
equation 4; or, the simultaneous solution of equations 1, 3, and 7 could proceed
at the same time as the solution of equation 5. Given much larger systems of
equations than the trivial example presented, and a computer with the ability
to perform many arithmetic operations simultaneously, it would be very de-
sirable to have a constructive technique for recognizing partitions when they
exist. The following is an application of the method of this paper to this problem.
To partition, those equations having loops in common are grouped together.
Clearly, there will then be no loops in the information flow between these groups
of equations. Therefore, the solutions of these groups of equations obey a prece-
dence relationship.
To partition, those equations having loops in common must be determined,
but the loops need not be identified, nor must improper loops be excluded. Thus,
each link in. the link matrix can be replaced by a 1 to obtain a Boolean (ad-
jacency) matrix. Then, l’s are added to the diagonal so that the sum will be
computed powers of the matrix. Matrix multiplication is now performed with
Boolean arithmetic (that is, 0.0 0.1 1.0 0, 1.1 1, 0 0 0, 0 1 +
1 0 1 1 1). Squaring of this matrix continues, obtaining sums through
the 2nd, 4th, 8th, etc., powers of the original matrix, either until the matrix does
not change, or until the power of the matrix equals or exceeds the order of the
matrix. The resulting matrix has a 1 in the ij element if and only if there is a
path, of any length, from equation i to equation j. Equation k, for example, is
in a common loop with if and only if ak ak 1; that is, there exists a path
from to k and a path from k to 1. The procedure thus begins with/c 1 and
determines all those equations which are in a common loop with /. These
equations are then eliminated from further consideration, and k is advanced to
the next higher equation which has not already been placed in some common
ANALYSIS OF THE STRUCTURE OF LARGE SYSTEMS OF EQUATIONS 335
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
loop. This process is continued until all equations are exhausted. The operation
is readily performed on a computer with Boolean commands.
This grouping of equations is independent of the output set from which the
link matrix was derived, for, as shown previously, to change from one output
set to another, the output is moved around loops, thus moving the outputs only
within these groups.
For the above example (25) and output set of (11), the following Boolean
matrix is obtained"
1 2 3 4 5 6 7
1 0 1 0 0 0 1
0 0
0 1
(27) B= 4 1 0 0
0 1 0
0 0
0 0 1
1 2 3 4 5 6 7
0 1 0 0 0 1
0 0 0 1
(28) B= 4 0 1 0 1
0 0 0 0
1 0 1 1
0 1 0 0 1
group of equations. Similarly, the groups of equations (2, 6), (4), and (5) are
obtained.
Next, the precedence relationships among these groups of equations must be
determined. To do this, the "inclusive-OR" of the columns representing equations
in the same group is taken, followed by the "inclusive-OR" of the rows repre-
senting equations in the same group. This process eliminates the chains between
the equations within a group, and leaves simply the chains between groups of
equations. For the example above,
1, 3, 7 2, 6 4 5
1, 3, 7
(29)
-
systems under iteration are considered.
First, consider the iterative properties of a single loop, using the example of a
loop which appears in (8) and the output set (lb, 2c, 3a). The exact value of
x, plus an error e is first substituted into equation 1. Solving around the loop,
a new value, x, Ee, is computed. After n such iterations, x Ene is obtained.
Solving for E indicates that, in general, for a single loop,
(A1) E
out, i]
where a.. and aout,i are the respective coefficients of the input and output
variables of equation i, and where i, in turn, ranges over the equations in the
loop.
If[El < 1, the iteration converges. If]E > 1, the iteration diverges. But
note that, ff the direction of the loop is reversed, the roles of input and output
are reversed, giving the reciprocal of E. Thus, if the original direction of the loop
caused divergence, the reverse direction will cause convergence, and vice versa.
If E -1, the answer is the average of two successive iterations. The case
wherein E 1 is equivalent to the determinant being zero--that is, the answer
(ff it exists) is not unique.
Consider now the case having more than one loop in the set, and in which
iterations proceed on several ariables simultaneously. The following set of
equations illustrates this case.
a a b
(A2) a a acX b
(a a aa ba.
An output set must be assigned, as well as an order in which the equations are
solved. The iterative properties are functions of these assignments. For the ith
equation in the order, all those wfiables not assigned as output in the first i
equations become input from the previous iteration.
For (A2), the diagonal terms will be selected as outputs, and 1, 2, 3 as the
order. Thus, the terms above the diagonal become input from the previous
iteration.
If, for each variable, the current values of the variables plus an error are
substituted, the following is obtained"
a(x + ) + a(x + ) + a(x + ) b
where the ’s are inputs from the previous iteration, and the e’s are computed
for this iteration. Note that the i’s appear above the diagonal.
Subtracting the original equations, the following is obtained"
-t- albb -t- alcc
alaea 0
(A4) aa -t- a a 0
The ei’s are computed in the present iteration, and are the following functions
of the i’s:
(As)
where
ale
bac
ala
(6)
b =(_a(_a
bc= (--a( a a
b ( ab(/k (_ /k
aib(_ /k-- )
[b (--a(aa) a)(_ a2a( a o a
(AS) L 2
,
The set of all chains which occur in this reduced system is given by L where n
is the order of L. Note that L will have only O’s below the diagonal.
Let E be a matrix showing those equations which use the variables computed
in the previous iteration. For the example,
1 2 3
(A9) E b
1 la 0 0
(A10) F 2 0 2b 0
3 0 0 3c
The element c. contains all of the paths from variable i to variable j. The co-
efficient b. can be obtained as follows:
Z: II
all paths all equations
ain, k
where ai,,k is the coefficient of the input variable of equation ]c of the path, and
aout, is the coefficient of the output variable of equation ] of the path. The
input variable appears to the left of the equation in the path; the output variable
appears to the right of the equation in the path.
Consider bb in the example. The paths bla3c and bla2b3c can be displayed
as follows=
(A14)
and
(A15) bc (--
APPENDIX BmELIMINATION
For a single loop, quite clearly, each substitution of a symbolic unknown--
that is, each elimination step--reduces the order of the loop by one. Thus, an
nth order loop may be solved after n 1 substitutions carrying an unknown.
However, in a group of equations with more than one loop, a substitution may
decrease the order of several loops simultaneously, or may even increase the
number of loops. A manner of obtaining the new loop structure, given the loop
structure and a substitution to be made, will be shown.
Let the substitution be represented by evke, meaning that equation e. is
solved for variable v, which is substituted into equation e, to eliminate vk from
e,. Equation e is unchanged by the substitution. Equation e, will now have all
of the variables that appear in either e, or e, except v, which will be eliminated.
It is assumed that only one variable is eliminated at a time.
The following definitions are established"
A, B, C, D a list of entries
(A) a member of a list
(A)’ next entry in a list, if a next entry exists
O(A),
P
substitute e
-
order of (A) (number of variables appearing)
e wherever e. appears
permute loop so that e is first and last element
ANALYSIS OF THE STRUCTURE OF LARGE SYSTEMS OF EQUATIONS 341
Downloaded 11/28/14 to 129.120.242.61. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php
(t1)
(t2)
(R3)
(evke)
(eve)
e ( (A)
(A) ] [0 (A)i
^
(A ] h [O (A
(A)
>
2]
2]
- (B)’
RPe (A) ---. (C)’
the last element of the left path is a variable symbol, that element is not dropped
and the product does exist.
As an example, consider the following system of equations and the substi-
tution 2b1"
a b c d
1 Xq X X
(B 1) 2 X X X X evke 2bl.
3 X X
4 X X
Here,
A B C D Rule
la2bl la2b 2
la4cl la4cl 1
la4c2bl la4c2b 4
(B2) la2b4cl la2b4cl 5
la4c3d2bl la4c3dl la4c3d2b 3
2b4c2 2b4c2 7
2b4c3d2 2b4c3d2 4c3dl 6
After substitution, the loops are
la4cl
1a2b4c1
la4c3dl
(B3) 2b4c2
2b4c3d2
la2b4c3dl,
which is the loop structure of
a b c d
1 X X X
(B4) 2 X X X X
3 X X
4 X X X
ACKNOWLEDGMENTS
This paper is essentially the author’s thesis for the degree of Master of Science,
Department of Mathematics, Stanford University. I would like particularly to
thank Mr. Wesley H. Harker, whose encouragement sparked my enthusiasm
and gained support for this work at the General Electric Company, and Pro-
fessor George E. Forsythe of Stanford University and Dr. Richard W. Hamming
of Bell Telephone Laboratories, my thesis advisors, for much helpful criticism.