Low-rank alternating direction doubling algorithm for solving large-scale continuous time algebraic Riccati equations
Juan Zhang, Wenlu Xun
TL;DR
This work presents a low-rank doubling-based solver for large-scale continuous-time algebraic Riccati equations (CARE) by developing R-ADDA, a low-rank variant of the alternating direction doubling algorithm. The method leverages Cayley transformations and the Sherman–Morrison–Woodbury formula to maintain compact low-rank factors $X_k$ and $Y_k$ and to compute only the $2^{k}$-th approximations, ensuring efficient storage and computation. The authors prove convergence properties that parallel those of ADDA and validate the approach with numerical experiments showing competitive, often superior performance against a competing low-rank solver up to matrix sizes of $n=4096$. The work offers a scalable, structure-preserving tool for large-scale CAREs with potential impact in quadratic optimal control of high-dimensional systems.
Abstract
This paper proposes an effective low-rank alternating direction doubling algorithm (R-ADDA) for computing numerical low-rank solutions to large-scale sparse continuous-time algebraic Riccati matrix equations. The method is based on the alternating direction doubling algorithm (ADDA), utilizing the low-rank property of matrices and employing Cholesky factorization for solving. The advantage of the new algorithm lies in computing only the $2^k$-th approximation during the iterative process, instead of every approximation. Its efficient low-rank formula saves storage space and is highly effective from a computational perspective. Finally, the effectiveness of the new algorithm is demonstrated through theoretical analysis and numerical experiments.
