  The iterative scaling procedure (ISP) is an algorithm which computes a
sequence of matrices, starting from some given matrix. The objective is to find
a matrix 'proportional' to the given matrix, having given row and column sums.
In many cases, for example if the initial matrix is strictly positive, the
sequence is convergent. In the general case, it is known that the sequence has
at most two limit points. When these are distinct, convergence can be slow. We
give an efficient algorithm which finds these limit points, invoking the ISP
only on instances for which the procedure is convergent.
