A Compact Storage Scheme for the Solution of Symmetric Linear Simultaneous Equations
A method is presented for the computer solution of symmetric linear simultaneous equations which takes advantage of the presence of zero elements away from the leading diagonal but which is more flexible than diagonal band storage. The equations are solved by a form of compact elimination. A routine based on the method has been programmed in Atlas Autocode and used in some analyses of building frameworks. It is found to be economical both in use of store and computing time. In the solution of
... ny types of problem, linear simultaneous equations arise which are both symmetric and sparce. In particular, network and field problems can give rise to equations of this sort. Several alternative methods of storage which make use of low densities of non-zero left-hand side coefficients have been used; they can be broadly classified into diagonal band, submatrix and sparse matrix storage. The most commonly used methods for the analysis of large structural systems are submatrix storage schemes, which can either involve large submatrices in a predetermined pattern, for instance tridiagonal (Wilson, 1959) , or have smaller submatrices in a pattern controlled dynamically by means of layout parameters (Livesley, 1960) . The use of large submatrices may result in a large number of zero elements being stored within the submatrices and a restriction on the equations to the predetermined layout, whereas the more general approach with smaller submatrices requires complex programming. Submatrix methods are useful where magnetic tapes are needed as a backing store; however, with the advent of computers with large fast-access stores, the need to subdivide matrices for the purpose of storage transfer is not significant for a large range of problems. If submatrix methods are not used, then it is noted that diagonal band storage is very simple to program for direct solution, but the restriction imposed by having a constant bandwidth could in some cases be very inconvenient. If the equations are solved by iterative methods then the basic operation is one of multiplication. It is fairly easy to adapt this to any method of storage including forms of sparse matrix storage (Khabaza, 1963) . Where comparisons have been made between direct and iterative methods for banded matrices (Wilson, 1959; Clough, Wilson and King, 1963) it appears that iterative methods will only tend to be more efficient when the bandwidth is large and the number of right-hand sides small. However, the number of iterations required for reasonable accuracy is dependent on the method of iteration chosen, the order of variables, the nature of the initial trial vector and the convergence characteristics of the problem, so that any comparison between direct and iterative methods is always open to revision under different circumstances. An increase in the efficiency of the programming technique used for either method is also a factor which would affect the comparison. The method adopted in this paper is a direct solution method using a non-standard form of storage for the matrix of left-hand side coefficients. The method is almost as versatile as a sparce matrix storage scheme in dealing with arbitrary patterns of non-zero elements, while at the same time retaining most of the simplicity inherent in the method of direct solution when using a diagonal band storage scheme. Matrix formulation of equations A set of symmetric linear simultaneous equations may be represented in matrix notation by AX = (1) where A is an n X n symmetric array of L.H.S. coefficients and each column of the n x m matrix B represents a set of R.H.S. coefficients. The variables which relate to each set of R.H.S.'s are represented by columns in the n X m matrix X. When considered in a matrix context the L.H.S. and R.H.S. coefficients of the equations become elements of the matrices A and B respectively. Methods of direct solution perform linear operations on the rows of the matrices A and B so that B is transformed into X (which normally has no zero elements). In the method to be presented the storage for matrix B is a conventional two-dimensional array, but the storage for A is of non-standard type. The method has been applied to the solution of positive definite systems of equations in which row and column interchange facilities are not required for direct solution. Method of storage The method adopted for matrix A is to store all the elements below the leading diagonal in sequence by rows, but with all elements preceding the first non-zero element in each row left out.