  This paper introduces a new algorithm for solving large-scale continuous-time
algebraic Riccati equations (CARE). The advantage of the new algorithm is in
its immediate and efficient low-rank formulation, which is a generalization of
the Cholesky-factored variant of the Lyapunov ADI method. We discuss important
implementation aspects of the algorithm, such as reducing the use of complex
arithmetic and shift selection strategies. We show that there is a very tight
relation between the new algorithm and three other algorithms for CARE
previously known in the literature -- all of these seemingly different methods
in fact produce exactly the same iterates when used with the same parameters:
they are algorithmically different descriptions of the same approximation
sequence to the Riccati solution.
