arrow
Return

Near-Linear Runtime for a Classical Matrix Preconditioning Algorithm

delete2026-02-01
delete0
PRE
AI
X
Xufeng Cai *
J
Jason M. Altschuler
J
Jelena Diakonikolas
DOI:10.1145/3779224delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
In 1960, Osborne proposed a simple iterative algorithm for matrix balancing with outstanding numerical performance. Today, it is the default preconditioning procedure before eigenvalue computation and other linear algebra subroutines for square non-symmetric matrices in mainstream software packages such as Python, Julia, MATLAB, EISPACK, LAPACK, and more. Despite its widespread usage, Osborne's algorithm has long resisted theoretical guarantees for its runtime: the first polynomial-time guarantees were obtained only in the past decade, and recent near-linear runtimes remain confined to variants of Osborne's algorithm with important differences that make them simpler to analyze but empirically slower. In this paper, we address this longstanding gap between theory and practice by proving that Osborne's original algorithm-the de facto matrix balancing preconditioner in practice-in fact has a near-linear runtime. This runtime guarantee (1) is optimal in the input size up to at most a single logarithm, (2) is the first runtime for Osborne's algorithm that does not dominate the runtime of downstream tasks like eigenvalue computation, and (3) improves upon the theoretical runtimes for all other variants of Osborne's algorithm.
Keywords:
Osborne's algorithm
matrix balancing
near-linear runtime
convex optimization
coordinate descent
cyclic algorithms

Journal

J
Journal of the ACM
IF:
2.5
Papers:
20
Citations:
0

Organization

U
university of wisconsin madison
Scholars:
3.8W
Papers: 2.9W
Citations: 53
University of Wisconsin System cover
University of Wisconsin System
Scholars:
6.7W
Papers: 5.8W
Citations: 382