An operation performed by `rcop' is the same as multiplication on the left or right by a matrix obtained by changing one 0 in an identity matrix to a nonzero number. For example, adding 3 times the first column to the last in a matrix with 5 columns is the same as multiplying on the right by the matrix, call it J, obtained by changing the entry in the upper right corner of the 5x5 identity matrix from 0 to 3. In order to conclude that this operation gives a matrix equivalent to the original one, it suffices to prove that J is unimodular. (Then J is a product of tilts, so AJ is A multiplied on the right by a succession of tilts, or, what is the same, it is a matrix obtained from A by a sequence of operations in which a column is added to or subtracted from an adjacent column.) You can prove that J is unimodular using Matlab by entering the following commands:
Note that when the identity matrix is reached, it is the upper left 5x5 corner of a matrix G (you can look at all of G simply by entering the command G at the Matlab prompt) that also containes matrices M and N for which MJN is the identity matrix. Verify this by entering [D,M,N] = unhat(G) followed by M*J*N.
Try several examples to convince yourself that changing any 0 in any identity matrix to a nonzero number gives a unimodular matrix. You might be able to discover patterns in M and N and perhaps prove that every such matrix is unimodular. Once this is proved, it follows that `rcop' always gives a new matrix equivalent to the old one. (See Exercise 18 on page 24.)
Return to Chapter 2.