We study an iterative matrix conditioning algorithm due to Osborne (1960). The goal of the algorithm is to convert a square matrix into a balanced matrix where every row and corresponding column have the same norm. The original algorithm was proposed for balancing rows and columns in the $L_2$ norm, and it works by iterating over balancing a row-column pair in fixed round-robin order. Variants of the algorithm for other norms have been heavily studied and are implemented as standard preconditioners in many numerical linear algebra packages. Recently, Schulman and Sinclair (2015), in a first result of its kind for any norm, analyzed the rate of convergence of a variant of Osborne's algorithm that uses the $L_{\infty}$ norm and a different order of choosing row-column pairs. In this paper we study matrix balancing in the $L_1$ norm and other $L_p$ norms. We show the following results for any matrix $A = (a_{ij})_{i,j=1}^n$, resolving in particular a main open problem mentioned by Schulman and Sinclair.
1) We analyze the iteration for the $L_1$ norm under a greedy order of balancing. We show that it converges to an $\epsilon$-balanced matrix in $K = O(\min\{\epsilon^{-2}\log w,\epsilon^{-1}n^{3/2}\log(w/\epsilon)\})$ iterations that cost a total of $O(m + Kn\log n)$ arithmetic operations over $O(n\log w)$-bit numbers. Here $m$ is the number of non-zero entries of $A$, and $w = \sum_{i,j} |a_{ij}|/a_{\min}$ with $a_{\min} = \min\{|a_{ij}|:\ a_{ij}\neq 0\}$.
2) We show that the original round-robin implementation converges to an $\epsilon$-balanced matrix in $O(\epsilon^{-2}n^2\log w)$ iterations totalling $O(\epsilon^{-2}mn\log w)$ arithmetic operations over $O(n\log w)$-bit numbers.
3) We demonstrate a lower bound of $\Omega(1/\sqrt{\epsilon})$ on the convergence rate of any implementation of the iteration.
[1]
Hans Schneider,et al.
Max-Balancing Weighted Directed Graphs and Matrix Scaling
,
1991,
Math. Oper. Res..
[2]
W. Press,et al.
Numerical Recipes: The Art of Scientific Computing
,
1987
.
[3]
C. Reinsch,et al.
Balancing a matrix for calculation of eigenvalues and eigenvectors
,
1969
.
[4]
L. Khachiyan,et al.
On the Complexity of Matrix Balancing
,
1997
.
[5]
Daniel Kressner,et al.
Numerical Methods for General and Structured Eigenvalue Problems
,
2005,
Lecture Notes in Computational Science and Engineering.
[6]
J. Grad,et al.
Matrix Balancing
,
1971,
Comput. J..
[7]
U. Rothblum,et al.
Line-sum-symmetric scalings of square nonnegative matrices
,
1985
.
[8]
Leonard J. Schulman,et al.
Analysis of a Classical Matrix Preconditioning Algorithm
,
2015,
J. ACM.
[9]
J. Demmel,et al.
Balancing sparse matrices for computing eigenvalues
,
2000
.
[10]
William H. Press,et al.
Numerical recipes: the art of scientific computing, 3rd Edition
,
2007
.
[11]
D. Hartfiel.
Concerning diagonal similarity of irreducible matrices
,
1971
.
[12]
E. E. Osborne.
On Pre-Conditioning of Matrices
,
1960,
JACM.
[13]
Robert E. Tarjan,et al.
Faster parametric shortest path and minimum-balance algorithms
,
1991,
Networks.