Solving large-scale continuous-time algebraic Riccati equations by doubling

作者:

Highlights:

摘要

We consider the solution of large-scale algebraic Riccati equations with numerically low-ranked solutions. For the discrete-time case, the structure-preserving doubling algorithm has been adapted, with the iterates for A not explicitly computed but in the recursive form Ak=Ak−12−Dk(1)Sk−1[Dk(2)]⊤, with Dk(1) and Dk(2) being low-ranked and Sk−1 being small in dimension. For the continuous-time case, the algebraic Riccati equation will be first treated with the Cayley transform before doubling is applied. With n being the dimension of the algebraic equations, the resulting algorithms are of an efficient O(n) computational complexity per iteration, without the need for any inner iterations, and essentially converge quadratically. Some numerical results will be presented. For instance in Section 5.2, Example 3, of dimension n=20209 with 204 million variables in the solution X, was solved using MATLAB on a MacBook Pro within 45 s to a machine accuracy of O(10−16).

论文关键词:15A24,65F50,93C05,Continuous-time algebraic Riccati equation,Doubling algorithm,Krylov subspace,Large-scale problem

论文评审过程:Received 21 July 2011, Revised 22 May 2012, Available online 11 June 2012.

论文官网地址:https://doi.org/10.1016/j.cam.2012.06.006