Solving large-scale continuous-time algebraic Riccati equations by doubling
Loading...
Date
Journal Title
Journal ISSN
Volume Title
Publisher
DOI
10.1016/j.cam.2012.06.006
Abstract
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 A(k) = A(k-1)(2) - (DkSk-1)-S-(1)[D-k((2))](T), with D-k((1)) and D-k((2)) being low-ranked and S-k(-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 = 20 209 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)). (C) 2012 Elsevier B.V. All rights reserved.