A Caltech Library Service

Analysis of a Classical Matrix Preconditioning Algorithm

Schulman, Leonard J. and Sinclair, Alistair (2017) Analysis of a Classical Matrix Preconditioning Algorithm. Journal of the ACM, 64 (2). Art. No. 9. ISSN 00045411.

Full text is not posted in this repository. Consult Related URLs below.

Use this Persistent URL to link to this item:


We study a classical iterative algorithm for balancing matrices in the L_∞ norm via a scaling transformation. This algorithm, which goes back to Osborne and Parlett & Reinsch in the 1960s, is implemented as a standard preconditioner in many numerical linear algebra packages. Surprisingly, despite its widespread use over several decades, no bounds were known on its rate of convergence. In this article, we prove that, for any irreducible n × n (real or complex) input matrix A, a natural variant of the algorithm converges in O(n^3 log (nρ/ϵ)) elementary balancing operations, where ρ measures the initial imbalance of A and ϵ is the target imbalance of the output matrix. (The imbalance of A is max_i | log(a_i^(out)/a_i^(in))|, where a_i^(out), a_i^(in) are the maximum entries in magnitude in the ith row and column, respectively.) This bound is tight up to the log n factor. A balancing operation scales the ith row and column so that their maximum entries are equal, and requires O(m/n) arithmetic operations on average, where m is the number of nonzero elements in A. Thus, the running time of the iterative algorithm is O(n^2m). This is the first time bound of any kind on any variant of the Osborne-Parlett-Reinsch algorithm. We also prove a conjecture of Chen that characterizes those matrices for which the limit of the balancing process is independent of the order in which balancing operations are performed.

Item Type:Article
Related URLs:
URLURL TypeDescription
Schulman, Leonard J.0000-0001-9901-2797
Additional Information:© 2017 ACM. Received December 2015; revised November 2016; accepted January 2017. L. J. S. was supported in part by NSF grants 1038578, 1319745, and 1618795 and by the Simons Institute for the Theory of Computing, where most of this work was performed. A. S. was supported in part by NSF grants 1016896 and 1420934. A preliminary version of this work, with weaker results, appeared in STOC’15 [Schulman and Sinclair 2015a].
Funding AgencyGrant Number
Simons Institute for the Theory of ComputingUNSPECIFIED
Subject Keywords:Mathematics of computing → Mathematical analysis; Theory of computation → Design and analysis of algorithms; Numerical linear algebra, preconditioning matrices, matrix balancing, matrix scaling
Issue or Number:2
Record Number:CaltechAUTHORS:20170614-151934720
Persistent URL:
Official Citation:Leonard J. Schulman and Alistair Sinclair. 2017. Analysis of a Classical Matrix Preconditioning Algorithm. J. ACM 64, 2, Article 9 (May 2017), 23 pages. DOI:
Usage Policy:No commercial reproduction, distribution, display or performance rights in this work are provided.
ID Code:78217
Deposited By: Kristin Buxton
Deposited On:14 Jun 2017 22:45
Last Modified:09 Mar 2020 13:19

Repository Staff Only: item control page