5. OUTPUT 5.1 Program Iessages--Output for the first sample problem is shown in Figure 3. The output begins with a set of program messages. These messages are produced automatically at various points in the execution of the program without any direct instruction by the user. First, there is a listing of the control cards as they are executed. Note that after the matrix is read in, there is a statement of the dimensions of the prob- lem and the number of entries specified. The row dimension is the actual size of the square LCP matrix plus 3 extra rows used for computational purposes. The column dimenison is the number of columns in the A matrix, i.e. the quantity variables in our sample problem. After the SOLVE statement, a two line message is printed for each inversion. This indicates the iteration number, the number of trans- formations and the number of entries in the transformation matrix and the inversion type prior to performing the inversion. The inversion type is an indication of the reason for re-inverting at that particular moment. A type "0" inversion, which is the case in the sample problem, is the usual type of inversion, and is caused by a request from the algorithm for a new inverse. The two inversions that occur in this program are generated when: a) work is initiated to find a feasible solution for the primal subproblem Ax = b; and b) when upon reaching a feasible solution, the basis is extended to include dual variables (See Appendix D for further explanation). The algorithm may also call for an invert if it has difficulty in identifying a proper pivot element. There are two other types of inversions: a) type "1" which is caused by reaching a multiple of the inversion frequency set by the user or the program (default is every 10000 iterations). For a large problem requiring considerable time, it is advisable to invert routinely in the interest of maintaining computational accuracy; b) type "2" inversion is the result of running out of available storage for the transformation matrix. A new inverse will generally be more compact, and thus the program can be allowed to proceed. After the inversion is carried out, a message is printed to that effect, the number of slack variables in the current basis is indicated, followed by a "poor column" count and an update of the transformations