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

Tiexiang Li, Eric King Wah Chu*, Wen-Wei Lin, Peter Chang Yi Weng

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

19 Scopus citations


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).

Original languageEnglish
Pages (from-to)373-383
Number of pages11
JournalJournal of Computational and Applied Mathematics
Issue number1
StatePublished - 1 Jan 2013


  • Continuous-time algebraic Riccati equation
  • Doubling algorithm
  • Krylov subspace
  • Large-scale problem

Fingerprint Dive into the research topics of 'Solving large-scale continuous-time algebraic Riccati equations by doubling'. Together they form a unique fingerprint.

Cite this