Every matrix is equivalent to a strongly diagonal matrix. Two strongly diagonal matrices are equivalent only if they are equal. Therefore, you can determine whether two given matrices are or are not equivalent by finding strongly diagonal matrices equivalent to each and seeing whether these strongly diagonal matrices are the same.
The function `ifdiag' applies rules 4, 5, and 6 of Section 2 to a diagonal matrix in hat format. Together with `algo' it gives a way to apply all the rules of the algorithm of Section 2.
The function `quicke' (quick extended) will find the strongly diagonal matrix D equivalent to A and unimodular matrices M and N for which MAN = D. It is called by a command of the form [D,M,N] = quicke(A). (If you just want to see the strongly diagonal matrix equivalent to A, you can give the command quicke(A).)
The algorithm of Chapter 2 tends to produce strongly diagonal matrices because it tends to put small positive numbers in the diagonal entries. If the diagonal matrix it produces is not strongly diagonal, application of one of the rules 4, 5, or 6 can be seen as a way of ``disturbing the equilibrium'' of the diagonal matrix (making it no longer diagonal) after which a renewed application of the algorithm will move it to a more stable equilibrium---that is, a more nearly strongly diagonal matrix. This point of view leads to an interesting type of experiment you can perform in finding the strongly diagonal matrix equivalent to a given matrix.
The computation of the kxk minors of a matrix can be a long task, not only because the computation of each determinant is a bit of a job, but also because there can be many of them. For example, a 4x4 matrix has 16 3x3 minors. With Matlab, the kxk minors of an mxn matrix can be found with the single command minors(A,k), using the Matlab function minors. This command returns a matrix with one row whose entries are the kxk minors of the mxn matrix A, whenever k is a positive integer that is not greater than m and not greater than n.
Another method of finding the strongly diagonal matrix D equivalent to A is to use `minors' to find the product of the first k diagonal entries of D, as in the proof in Section 3.
There is another silly game you can play to get some idea of the meaning of strongly diagonal form.
Return to Table of Contents.