一种经典矩阵预处理算法的近线性运行时间
最优化与控制
2025-03-21 v1 数据结构与算法
数值分析
数值分析
摘要
1960年,Osborne提出了一种简单的矩阵平衡迭代算法,具有出色的数值性能。如今,它是Python、Julia、MATLAB、EISPACK、LAPACK等主流软件包中特征值计算及其他线性代数子程序之前的默认预处理程序。尽管被广泛使用,但Osborne算法的运行时间长期以来一直缺乏理论保证:首个多项式时间保证仅在近十年才获得,而近期近线性运行时间仍局限于与Osborne算法存在重要差异的变体,这些差异使它们更易于分析但在经验上更慢。在本文中,我们通过证明Osborne的原始算法——实践中事实上的预处理器——实际上具有近线性运行时间,解决了理论与实践之间这一长期存在的差距。该运行时间保证(1)在输入大小上是最优的,最多相差一个对数因子;(2)是Osborne算法首个不会主导特征值计算等下游任务运行时间的运行时间;(3)改进了Osborne算法所有其他变体的理论运行时间。
引用
@article{arxiv.2503.16312,
title = {Near-Linear Runtime for a Classical Matrix Preconditioning Algorithm},
author = {Xufeng Cai and Jason M. Altschuler and Jelena Diakonikolas},
journal= {arXiv preprint arXiv:2503.16312},
year = {2025}
}