A Sherman--Morrison--Woodbury approach to solving least squares problems with low-rank updates
Stefan Güttel, Yuji Nakatsukasa, Marcus Webb, Alban Bloor Riley
TL;DR
This work generalizes the Sherman--Morrison--Woodbury framework to update the Moore--Penrose pseudoinverse under a low-rank change $A+UV^T$, producing a practical algorithm (WoodburyLS) for updated least-squares problems. The key contribution is the explicit update formula $(A+UV^T)^ abla = (I-M) A^ abla + (I-M)(A^TA)^{-1} VU^T$, with $M=(A^TA)^{-1}X(I+Y^T(A^TA)^{-1}X)^{-1}Y^T$, $X=[V, A^T U]$, and $Y=[(A+UV^T)^T U, V]$, which is generically a rank-$2r$ correction. WoodburyLS solves the updated problem using only $2r$ solves for $(A^TA)^{-1}X$ and $2r$ solves for $A^TA$, plus the base $A$-solve, enabling substantial speedups when a QR factorization of $A$ is available (roughly $O(n/r)$ over the naive approach). Numerical tests show 20x–130x speedups with backward errors near machine precision, validating the method’s practical impact for deflation in Gauss--Newton-like LS steps and other repeated low-rank updates.
Abstract
We present a simple formula to update the pseudoinverse of a full-rank rectangular matrix that undergoes a low-rank modification, and demonstrate its utility for solving least squares problems. The resulting algorithm can be dramatically faster than solving the modified least squares problem from scratch, just like the speedup enabled by Sherman--Morrison--Woodbury for solving linear systems with low-rank modifications.
