Structure-Preserving Doubling Algorithm

Posted: 1781740800000

1. Introduction

Algebraic Riccati Equations arise frequently in optimal control problems such as the Linear Quadratic Regulator (LQR) and H∞H_\inftyH∞​ control. This note briefly summarizes the core concepts of how the Structure-preserving Doubling Algorithm (SDA) solves Algebraic Riccati Equation problems.

SDA is a fast, structure-aware iterative method. Its key idea is to transform the Riccati problem into a structured matrix pencil problem and then repeatedly apply a doubling transformation. This transformation drives stable eigenvalues rapidly toward zero and leads to fast convergence.

For more details, please refer to:

  • A structure-preserving doubling algorithm for continuous-time algebraic Riccati equations
  • Structured doubling algorithms for weakly stabilizing Hermitian solutions of algebraic Riccati equations
  • Structure-Preserving Doubling Algorithms for Nonlinear Matrix Equations

We begin by introducing two common types of Algebraic Riccati Equations:

  • DARE: Discrete-time Algebraic Riccati Equation
  • CARE: Continuous-time Algebraic Riccati Equation

1.1 DARE

The Discrete-time Algebraic Riccati Equation (DARE) commonly appears in discrete-time LQR problems. A common form is

X=ATX(I+GX)−1A+H,X = A^T X (I + G X)^{-1} A + H,X=ATX(I+GX)−1A+H,

where G⪰0G \succeq 0G⪰0 and H⪰0H \succeq 0H⪰0. In the discrete-time LQR setting, these matrices are usually related to the system and cost matrices by

G=BR−1BT,H=Q,G = B R^{-1} B^T, \qquad H = Q,G=BR−1BT,H=Q,

with Q⪰0Q \succeq 0Q⪰0, R≻0R \succ 0R≻0, and the pair (A,B)(A,B)(A,B) assumed to be stabilizable. The stabilizing solution XXX is the solution such that

A(I+GX)−1A(I + GX)^{-1}A(I+GX)−1

is stable, meaning that all eigenvalues lie inside the unit disk.

The corresponding discrete-time LQR problem is

min⁡uJ=12∑k=0∞(xkTQxk+ukTRuk)s.t.xk+1=Axk+Buk.\begin{aligned} \min_{u} \quad & J = \frac{1}{2} \sum_{k=0}^{\infty} \left( x_k^{T} Q x_k + u_k^{T} R u_k \right) \\ \textrm{s.t.} \quad & x_{k+1} = A x_k + B u_k . \end{aligned}umin​s.t.​J=21​k=0∑∞​(xkT​Qxk​+ukT​Ruk​)xk+1​=Axk​+Buk​.​

The optimal control law is

uk∗=−(R+BTXB)−1BTXAxk,u_k^{*} = - (R + B^{T} X B)^{-1} B^{T} X A x_k,uk∗​=−(R+BTXB)−1BTXAxk​,

where XXX is the stabilizing solution of the corresponding DARE.


1.2 CARE

The Continuous-time Algebraic Riccati Equation (CARE) commonly appears in continuous-time LQR problems. A common form is

ATX+XA−XGX+H=0,A^T X + X A - X G X + H = 0,ATX+XA−XGX+H=0,

where G⪰0G \succeq 0G⪰0 and H⪰0H \succeq 0H⪰0. In the continuous-time LQR setting, one usually has

G=BR−1BT,H=CTC,G = B R^{-1} B^T, \qquad H = C^T C,G=BR−1BT,H=CTC,

with CTC⪰0C^T C \succeq 0CTC⪰0, R≻0R \succ 0R≻0, and the pair (A,B)(A,B)(A,B) assumed to be stabilizable. The stabilizing solution XXX is the solution such that

A−GXA - GXA−GX

is stable, meaning that all eigenvalues lie in the open left half-plane.

The corresponding continuous-time LQR problem is

min⁡uJ=12∫0∞(xTCTCx+uTRu)dts.t.x˙=Ax+Bu.\begin{aligned} \min_{u} \quad & J = \frac{1}{2} \int_{0}^{\infty} \left( x^{T} C^{T} C x + u^{T} R u \right) dt \\ \textrm{s.t.} \quad & \dot{x} = A x + B u . \end{aligned}umin​s.t.​J=21​∫0∞​(xTCTCx+uTRu)dtx˙=Ax+Bu.​

The optimal control law is

u∗=−R−1BTXx.u^{*} = - R^{-1} B^{T} X x .u∗=−R−1BTXx.

2. Preliminaries

Before introducing SDA, we review several basic concepts used in Riccati equation problems, including matrix pencils, generalized eigenvalue problems, Hamiltonian matrices, symplectic matrices, equivalence transformations, and the Cayley transform.


2.1 Matrix Pencil and Generalized Eigenvalue Problem

A matrix pencil is a pair of matrices (N,L)(N,L)(N,L) that defines

N−λL.N - \lambda L.N−λL.

A generalized eigenpair (λ,v)(\lambda, v)(λ,v) satisfies

Nv=λLv,Nv = \lambda Lv,Nv=λLv,

where λ\lambdaλ is the generalized eigenvalue and vvv is the corresponding generalized eigenvector. The generalized eigenvalues are the roots of

det⁡(N−λL)=0.\det(N - \lambda L) = 0.det(N−λL)=0.

The ordinary eigenvalue problem is a special case with L=IL = IL=I.

In Riccati equation problems, the stabilizing solution is usually related to a stable invariant subspace of a structured matrix pencil. The main idea of SDA is to apply a structure-preserving doubling transformation. Under this transformation, stable eigenvalues are squared repeatedly:

λ→λ2→λ4→⋯→λ2k.\lambda \rightarrow \lambda^2 \rightarrow \lambda^4 \rightarrow \cdots \rightarrow \lambda^{2^k}.λ→λ2→λ4→⋯→λ2k.

Therefore, if ∣λ∣<1|\lambda| < 1∣λ∣<1, then

λ2k→0ask→∞.\lambda^{2^k} \rightarrow 0 \quad \text{as} \quad k \rightarrow \infty.λ2k→0ask→∞.

As a result, the invariant subspace problem is transformed into a limiting problem related to a null space or a range space. This is the basic reason why SDA can extract the Riccati solution efficiently.


2.2 Hamiltonian Matrix

For CARE, define the Hamiltonian matrix

H=[A−G−H−AT].\mathcal{H} = \begin{bmatrix} A & -G \\ -H & -A^T \end{bmatrix}.H=[A−H​−G−AT​].

Let

J=[0I−I0].J = \begin{bmatrix} 0 & I \\ -I & 0 \end{bmatrix}.J=[0−I​I0​].

If G=GTG = G^TG=GT and H=HTH = H^TH=HT, then H\mathcal{H}H satisfies

HTJ=−JH.\mathcal{H}^T J = -J \mathcal{H}.HTJ=−JH.

This structure implies that the eigenvalues of H\mathcal{H}H occur in pairs:

(λ,−λ).(\lambda, -\lambda).(λ,−λ).

For CARE, the stabilizing solution corresponds to the stable invariant subspace of H\mathcal{H}H, which is associated with eigenvalues in the open left half-plane.


2.3 Symplectic Matrix

A matrix SSS is called symplectic if

STJS=J.S^T J S = J.STJS=J.

Symplectic structure is the discrete-time analogue of Hamiltonian structure. It is important in DARE and SDA because it preserves the spectral symmetry of the Riccati problem.

For a symplectic matrix, eigenvalues occur in reciprocal pairs:

(λ,λ−1).(\lambda, \lambda^{-1}).(λ,λ−1).

In DARE, the stabilizing solution is related to the invariant subspace corresponding to eigenvalues inside the unit disk.


2.4 Equivalent Transformation

Two pencils (N,L)(N,L)(N,L) and (N~,L~)(\tilde{N},\tilde{L})(N~,L~) are called equivalent if there exist invertible matrices T1T_1T1​ and T2T_2T2​ such that

(N~,L~)=(T1NT2,T1LT2).(\tilde{N}, \tilde{L}) = (T_1 N T_2, T_1 L T_2).(N~,L~)=(T1​NT2​,T1​LT2​).

This transformation preserves the generalized eigenvalues of the pencil. Therefore, it can be used to rewrite a pencil into a more convenient structured form without changing the original spectral problem.

In SDA, equivalence transformations are used to convert the Riccati equation into a structured pencil form. The doubling iteration is then applied while preserving the Hamiltonian or symplectic structure.


2.5 Mobius Transform and Cayley Transform

A Mobius transform is a mapping of the form

μ=aλ+bcλ+d,\mu = \frac{a\lambda + b}{c\lambda + d},μ=cλ+daλ+b​,

where

ad−bc≠0.ad - bc \neq 0.ad−bc=0.

The Cayley transform is a special Mobius transform. For γ>0\gamma > 0γ>0, it can be written as

μ=λ+γλ−γ.\mu = \frac{\lambda + \gamma}{\lambda - \gamma}.μ=λ−γλ+γ​.

This transform maps the open left half-plane to the open unit disk:

Re(λ)<0⟺∣μ∣<1.\text{Re}(\lambda) < 0 \quad \Longleftrightarrow \quad |\mu| < 1.Re(λ)<0⟺∣μ∣<1.

Therefore, the Cayley transform converts a continuous-time stability condition into a discrete-time stability condition. This is useful for applying SDA to CARE, because CARE can first be transformed into a discrete-time structured pencil problem.

3. Doubling Algorithm for the DARE Problem

This section introduces SDA for solving the discrete-time algebraic Riccati equation. The main idea is to represent the DARE by a structured symplectic pencil and then apply a doubling transformation. During the iteration, the pencil keeps the same structure, while the stable eigenvalues are repeatedly squared and driven rapidly toward zero.


3.1 Standard Symplectic Form

For the DARE

X=ATX(I+GX)−1A+H,X = A^T X (I + G X)^{-1} A + H,X=ATX(I+GX)−1A+H,

the associated symplectic pencil can be written in the Standard Symplectic Form (SSF) as

N=[A0−HI],L=[IG0AT].N = \begin{bmatrix} A & 0 \\ -H & I \end{bmatrix}, \qquad L = \begin{bmatrix} I & G \\ 0 & A^T \end{bmatrix}.N=[A−H​0I​],L=[I0​GAT​].

This form is important because it is closed under the doubling transformation. That is, after one doubling step, the transformed pencil can still be written in the same SSF form, but with updated matrices.

Starting from

(A0,G0,H0)=(A,G,H),(A_0, G_0, H_0) = (A, G, H),(A0​,G0​,H0​)=(A,G,H),

each iteration produces a new triple

(Ak+1,Gk+1,Hk+1),(A_{k+1}, G_{k+1}, H_{k+1}),(Ak+1​,Gk+1​,Hk+1​),

while preserving the same symplectic structure.


3.2 Squaring Principle

The key idea of the doubling method is eigenvalue squaring. Suppose that

Nv=λLv,Nv = \lambda Lv,Nv=λLv,

where λ\lambdaλ is a generalized eigenvalue of the pencil (N,L)(N,L)(N,L). After one doubling step, the corresponding eigenvalue is mapped to

λ↦λ2.\lambda \mapsto \lambda^2.λ↦λ2.

After kkk doubling steps, the eigenvalue becomes

λ↦λ2k.\lambda \mapsto \lambda^{2^k}.λ↦λ2k.

Therefore, if ∣λ∣<1|\lambda| < 1∣λ∣<1, then

∣λ∣2k→0.|\lambda|^{2^k} \rightarrow 0.∣λ∣2k→0.

Thus, the doubling step separates the stable and unstable spectral components rapidly. This spectral separation is the key mechanism behind SDA for the DARE problem.


3.3 Doubling Recurrence for DARE

The SDA iteration starts from

(A0,G0,H0)=(A,G,H).(A_0, G_0, H_0) = (A, G, H).(A0​,G0​,H0​)=(A,G,H).

For k=0,1,2,…k = 0,1,2,\ldotsk=0,1,2,…, define

Ak+1=Ak(I+GkHk)−1Ak,A_{k+1} = A_k (I + G_k H_k)^{-1} A_k,Ak+1​=Ak​(I+Gk​Hk​)−1Ak​,
Gk+1=Gk+AkGk(I+HkGk)−1AkT,G_{k+1} = G_k + A_k G_k (I + H_k G_k)^{-1} A_k^T,Gk+1​=Gk​+Ak​Gk​(I+Hk​Gk​)−1AkT​,
Hk+1=Hk+AkT(I+HkGk)−1HkAk.H_{k+1} = H_k + A_k^T (I + H_k G_k)^{-1} H_k A_k.Hk+1​=Hk​+AkT​(I+Hk​Gk​)−1Hk​Ak​.

Under suitable assumptions, the matrices GkG_kGk​ and HkH_kHk​ remain symmetric positive semidefinite during the iteration. In addition, if the associated symplectic pencil has no eigenvalues on the unit circle, then

Ak→0,A_k \rightarrow 0,Ak​→0,

and

Hk→X⋆,H_k \rightarrow X_\star,Hk​→X⋆​,

where X⋆X_\starX⋆​ is the stabilizing solution of the DARE.

Therefore, the stabilizing DARE solution can be obtained by iterating the above recurrence until HkH_kHk​ converges.

A rigorous convergence proof can be found in Section 3.4 of Structure-Preserving Doubling Algorithms for Nonlinear Matrix Equations.

4. Structure-preserving Doubling Algorithm for the CARE Problem

SDA can also be applied to the continuous-time algebraic Riccati equation. The main idea is to transform the CARE problem into a DARE-like structured pencil by using the Cayley transform and equivalence transformations. Once the pencil is written in SSF, the same doubling recurrence used for DARE can be applied.


Step 1: Form the Hamiltonian Matrix

Consider the CARE

ATX+XA−XGX+H=0.A^T X + X A - X G X + H = 0.ATX+XA−XGX+H=0.

The associated Hamiltonian matrix is

H=[A−G−H−AT].\mathcal{H} = \begin{bmatrix} A & -G \\ -H & -A^T \end{bmatrix}.H=[A−H​−G−AT​].

The stabilizing solution of the CARE is related to the stable invariant subspace of H\mathcal{H}H.


Step 2: Apply the Cayley Transform

Choose γ>0\gamma > 0γ>0 such that H−γI\mathcal{H} - \gamma IH−γI is invertible. Define the Cayley-transformed pencil

N=H+γI,L=H−γI.N = \mathcal{H} + \gamma I, \qquad L = \mathcal{H} - \gamma I.N=H+γI,L=H−γI.

Equivalently, using the block form of H\mathcal{H}H, we have

N=[A+γI−G−H−AT+γI],L=[A−γI−G−H−AT−γI].N = \begin{bmatrix} A + \gamma I & -G \\ -H & -A^T + \gamma I \end{bmatrix}, \qquad L = \begin{bmatrix} A - \gamma I & -G \\ -H & -A^T - \gamma I \end{bmatrix}.N=[A+γI−H​−G−AT+γI​],L=[A−γI−H​−G−AT−γI​].

The generalized eigenvalue relation

Nv=μLvNv = \mu LvNv=μLv

corresponds to the Cayley transform

μ=λ+γλ−γ,\mu = \frac{\lambda + \gamma}{\lambda - \gamma},μ=λ−γλ+γ​,

where λ\lambdaλ is an eigenvalue of H\mathcal{H}H. This transform maps the open left half-plane to the open unit disk:

Re(λ)<0⟹∣μ∣<1.\text{Re}(\lambda) < 0 \quad \Longrightarrow \quad |\mu| < 1.Re(λ)<0⟹∣μ∣<1.

Therefore, the continuous-time stable invariant subspace of H\mathcal{H}H is converted into a discrete-time stable invariant subspace of the pencil (N,L)(N,L)(N,L).


Step 3: Transform the Pencil into SSF

The Cayley-transformed pencil (N,L)(N,L)(N,L) is not yet in the Standard Symplectic Form used in the DARE case. To apply the same doubling recurrence, we apply equivalence transformations to rewrite it into an equivalent SSF pencil.

That is, there exist invertible matrices T1T_1T1​ and T2T_2T2​ such that

N~=T1NT2=[A^00−H^0I],\tilde{N} = T_1NT_2 = \begin{bmatrix} \widehat{A}_0 & 0 \\ -\widehat{H}_0 & I \end{bmatrix},N~=T1​NT2​=[A0​−H0​​0I​],

and

L~=T1LT2=[IG^00A^0T].\tilde{L} = T_1LT_2 = \begin{bmatrix} I & \widehat{G}_0 \\ 0 & \widehat{A}_0^T \end{bmatrix}.L~=T1​LT2​=[I0​G0​A0T​​].

Therefore, the transformed pencil is

N~−μL~.\tilde{N} - \mu \tilde{L}.N~−μL~.

Since T1T_1T1​ and T2T_2T2​ are invertible, this equivalence transformation preserves the generalized eigenvalues of the original pencil (N,L)(N,L)(N,L). Hence, the SSF pencil has the same Cayley-transformed eigenvalues.

After this step, the CARE problem has been transformed into a DARE-compatible structured pencil problem. The matrices

(A^0,G^0,H^0)(\widehat{A}_0,\widehat{G}_0,\widehat{H}_0)(A0​,G0​,H0​)

are obtained by carrying out the equivalence transformations explicitly. Their formulas are given in the next step.


Step 4: Full Algorithm

Choose an appropriate parameter γ>0\gamma > 0γ>0 and define

Aγ=A−γI.A_{\gamma} = A - \gamma I.Aγ​=A−γI.

Initialize the SSF triple by applying the Cayley transform and equivalence transformations:

A^0=I+2γ(Aγ+GAγ−TH)−1,\widehat{A}_{0} = I + 2\gamma(A_{\gamma} + G A_{\gamma}^{-T}H)^{-1},A0​=I+2γ(Aγ​+GAγ−T​H)−1,
G^0=2γAγ−1G(AγT+HAγ−1G)−1,\widehat{G}_{0} = 2\gamma A_{\gamma}^{-1}G(A_{\gamma}^T + H A_{\gamma}^{-1}G)^{-1},G0​=2γAγ−1​G(AγT​+HAγ−1​G)−1,
H^0=2γ(AγT+HAγ−1G)−1HAγ−1.\widehat{H}_{0} = 2\gamma(A_{\gamma}^T + H A_{\gamma}^{-1}G)^{-1}H A_{\gamma}^{-1}.H0​=2γ(AγT​+HAγ−1​G)−1HAγ−1​.

For k=0,1,2,…k = 0,1,2,\ldotsk=0,1,2,…, apply the same doubling recurrence as in the DARE case:

A^k+1=A^k(I+G^kH^k)−1A^k,\widehat{A}_{k+1} = \widehat{A}_{k}(I + \widehat{G}_{k}\widehat{H}_{k})^{-1}\widehat{A}_{k},Ak+1​=Ak​(I+Gk​Hk​)−1Ak​,
G^k+1=G^k+A^kG^k(I+H^kG^k)−1A^kT,\widehat{G}_{k+1} = \widehat{G}_{k} + \widehat{A}_{k}\widehat{G}_{k}(I + \widehat{H}_{k}\widehat{G}_{k})^{-1}\widehat{A}_{k}^{T},Gk+1​=Gk​+Ak​Gk​(I+Hk​Gk​)−1AkT​,
H^k+1=H^k+A^kT(I+H^kG^k)−1H^kA^k.\widehat{H}_{k+1} = \widehat{H}_{k} + \widehat{A}_{k}^{T}(I + \widehat{H}_{k}\widehat{G}_{k})^{-1}\widehat{H}_{k}\widehat{A}_{k}.Hk+1​=Hk​+AkT​(I+Hk​Gk​)−1Hk​Ak​.

Stop the iteration when H^k\widehat{H}_{k}Hk​ converges, i.e.,

∥H^k−H^k−1∥≤ε∥H^k∥.\|\widehat{H}_{k} - \widehat{H}_{k-1}\| \leq \varepsilon \|\widehat{H}_{k}\|.∥Hk​−Hk−1​∥≤ε∥Hk​∥.

Under suitable spectral separation assumptions, the doubling iteration satisfies

A^k→0,\widehat{A}_{k} \rightarrow 0,Ak​→0,

and

H^k→X∗,\widehat{H}_{k} \rightarrow X_{*},Hk​→X∗​,

where X∗X_{*}X∗​ is the stabilizing solution of the CARE.

Last Updated on Jul 1st 2026