Other `rcop' operations.

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:

These instructions have the following effects: The first defines J to be the 5x5 identity matrix, since eye(n) is Matlab's punning name for the nxn identity matrix. The second modifies the entry in row 1 and column 5 of J, making it a 3. The third creates the augmented matrix with J in the upper left corner. The fourth applies one step of the algorithm of Section 7 to the augmented matrix and shows the upper left 5x5 corner of the resulting matrix. (The semicolon suppresses the printing of the result of the command G = algo(G). The command unhat(G) causes the printing of the upper left corner of the new G because it is the first of the three outputs of unhat(G).) Of course you will use the up arrow key to repeat the command G = algo(G); unhat(G), rather than typing it over and over. You will find that the algorithm terminates with the 5x5 identity matrix. Thus, J is equivalent to an identity matrix, which is what it means to say that J is unimodular.

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.