255x Filetype PDF File size 0.30 MB Source: people.kth.se
Lecture notes in numerical linear algebra
Numerical methods for Lyapunov equations
Methods for Lyapunov equations
This chapter is about numerical methods for a particular type of equa-
tion expressed as a matrix equality.
TheLyapunovequationisthemostcom-
Definition 4.0.1. Consider two square matrices A,W ∈ Rn×n. The problem mon problem in the class of problems
to find a square matrix X ∈ Rn×n such that called matrix equations. Other examples
of matrix equations: Sylvester equation,
Stein equation, Riccati equation.
AX+XAT=W (4.1)
is called the Lyapunov equation.
Different algorithms are suitable for different situations, depending Traditionally driven by certain prob-
on the properties of A and W, and we work out two algorithms. For lems in system and control, the Lya-
punov equation now appears in very
dense A, the Bartels-Stewart algorithm is one of the most efficient ap- large number of fields. The develop-
proaches. The Bartels-Stewart algorithm is derived in Section 4.2. For ments and improvements of numerical
sparse and large-scale A and if W is of low-rank, Krylov-type methods methods have (and continues to be) rec-
ognizedasimportantinnumericallinear
maybemoreefficient (Section 4.3). algebra.
Someapplications are given in Section 4.4 and in the exercises.
Anaive approach In the field of systems and control
the equation (4.1) is sometimes called
Equation (4.1) is a linear system of equations, expressed in a some- the continuous-time Lyapunov equation,
what unusual form. We will now see that (4.1) can be reformulated for disambiguation with a different
matrix equation called the discrete-time
as a linear system of equations in standard form, by using techniques Lyapunov equation. Many of the algo-
called vectorization and Kroneckerproducts. If B ∈ Rn×m withcolumns rithms we present here can be adapted
b ,...,b = B, the vectorization operation is defined as the stacking for discrete-time Lyapunov equations.
1 m
of the columns into a vector,
⎡b ⎤
⎢ 1⎥
⎢ ⎥ nm
vecB∶=⎢ ⋮ ⎥ ∈ R .
⎢ ⎥
⎢ ⎥
⎢bm⎥
⎣ ⎦
For two matrices A ∈ Rn×m and B ∈ Rj×k, the Kronecker product (⊗) is In matlab, the vec-operation can be
defined as ⎡a B ⋯ a B⎤ computed with b=B(:) and the in-
⎢ 11 1m ⎥ verse operation can be computed with
⎢ ⎥ nj×mk
A⊗B=⎢ ⋮ ⋱ ⋮ ⎥∈R . B=reshape(b,n,length(b)/n). The Kro-
⎢ ⎥
⎢ ⎥ necker product is implemented in
⎢an1B ⋯ anmB⎥
⎣ ⎦ kron(A,B).
Lecture notes - Elias Jarlebring - 2017 version:2017-03-06, Elias Jarlebring - copyright 2015-2017
1
Lecture notes in numerical linear algebra
Numerical methods for Lyapunov equations
With this notation we can derive a very useful identity. For matrices
A,B,X of matching size, we have
vecAXB=BT⊗AvecX (4.2)
Byvectorizing the Lyapunov equation (4.1) we have
vecAX+XAT = vecW Apply (4.2) twice, once with A = I
I ⊗ A+A⊗IvecX = vecW (4.3) and once with B = I.
The equation (4.3) is a linear system of equations on the standard
matrix-times-vector form. The connection between (4.1) and (4.3) is
useful, mostly for theoretical purposes. For instance, we can easily
characterize the existance and uniqueness of a solution.
Theorem4.1.1(Existanceanduniquenessofsolution). Letλi,i = 1,...,n
be the eigenvalues of A.
(i) The equation (4.1) has a unique solution X ∈ Rn×n if and only if
λi ≠ −λj, for all i, j = 1,...,n.
(ii) In particular, if A is strictly stable (that is λi < 0, for all i = 1,...,n),
then (4.1) has a unique solution.
The eigenvalues of a strictly stable ma-
Proof. This is an exercise. trix have negative real part.
Anaive computational approach based on (4.3)
It is tempting to approach the problem of solving the Lyapunov equa-
tion (4.1) by applying a generic method for linear systems of equations
Bz=wto(4.3), −1
vecX=I⊗A+A⊗I vecW. (4.4)
Suppose for simplicity that we have a numerical method that can
solve a linear system of equations with N with ON3 operations (such
as a primitive implementation of Gaussian elimination). Since (4.3) is
a linear system with N = n2, the computational complexity of such an
approach is
t n = On6. (4.5) Ageneric method for linear systems ap-
naive plied to (4.3), will have high computa-
Some gains in complexity are feasable by using more advanced ver- tional complexity.
sions of Gaussian elimination to solve (4.3), or exploiting sparsity in
I ⊗ A+ A⊗I. These improved variants will not be computationally
competitive for large n in comparison to the algorithms in the follow-
ing sections.
Although this approach is not competitive for large n, it can be
useful for small n, and (as we shall see below) as a component in a
numerical method for large n.
Lecture notes - Elias Jarlebring - 2017 version:2017-03-06, Elias Jarlebring - copyright 2015-2017
2
Lecture notes in numerical linear algebra
Numerical methods for Lyapunov equations
Bartels-Stewart algorithm
Frompreviouslecturesweknowthatthereareefficientalgorithmsthat The Bartels-Stewart algorithm, initially
can compute the Schur decomposition of a matrix. It turns out that presented for slightly more general
this can be used as a precomputation such that we obtain a triangular problems in [1] and is one of the lead-
ing methods for dense Lyapunov equa-
Lyapunov equation. The resulting equation can be efficiently solved tions. It is implemented in matlab in the
in direct way with a finite number of operations, by using a type of commandlyap.
substitution.
Recall that all real matrices have a real Schur decomposition: There For efficiency reasons, we here work
with the real Schur form, where in con-
exists matrices Q and T such that trast to the complex Schur form, the com-
plex triangular matrix is replaced by a
A=QTQT, real block triangular matrix with blocks
of size one or two as in (4.6)
where Q is an orthogonal matrix and T ∈ Rn×n a block-triangular ma-
trix, where ⎡T ⋯ T ⎤
⎢ 11 1,r⎥
⎢ ⎥
T=⎢ ⋱ ⋮ ⎥ (4.6)
⎢ ⎥
⎢ ⎥
⎢ T ⎥
⎣ r,r⎦
and T ∈Rnj×nj, n ∈1,2, j = 1,...,r and ∑r n =n.
jj j j=1 j
We multiply the Lyapunov equation (4.1) from the right and left
with Q and QT respectively,
QTWQ = QTAXQ+QTXAQ= (4.7a) Use QQT = I.
= QTAQQTXQ+QTXQQTAQ= (4.7b)
= TY+YTT (4.7c)
where Y = QTXQ. We introduce matrices and corresponding blocks
such that
C C Z Z R R
QTWQ= 11 12 ,Y = 11 12 , T = 11 12 , (4.8)
C C Z Z 0 R
21 22 21 22 22
where the blocks are such that Z ,C ,T = R ∈ Rnr×nr (the size of
22 22 rr 22
the last block of T). This triangularized problem can now be solved
with (what we call) backward substitution, similar to backward sub-
stitution in Gaussian elimination. By separating the four blocks in the
equation (4.7), we have four equations
General idea: Solve (4.9b)-(4.9d) explic-
C = R Z +R Z +Z RT +Z RT (4.9a) itly. Insert the solution into (4.9a) and
11 11 11 12 21 11 11 12 12 repeat the process for the smaller equa-
C = R Z +R Z +Z RT (4.9b) tion which is a Lyapunov equation with
12 11 12 12 22 12 22 n−nr×n−nr
unknown Z ∈R .
C = R Z +Z RT +Z RT (4.9c) 11
21 22 21 21 11 22 12
C = R Z +Z RT. (4.9d)
22 22 22 22 22
Duetothechoiceofblocksizes, the last equation of size nr×nr, which
can be solved explicitly since nr ∈ 1,2:
Lecture notes - Elias Jarlebring - 2017 version:2017-03-06, Elias Jarlebring - copyright 2015-2017
3
Lecture notes in numerical linear algebra
Numerical methods for Lyapunov equations
• If nr = 1, the equation (4.9d) is scalar and we obviously have
C
Z = 22 . (4.10)
22 2R
22
The eigenvalues of R22 are eigenvalues
• If nr = 2 we can still solve (4.9d) cheaply since it is a 2×2 Lyapunov of A. Therefore the small Lyapunov
equation. For instance, we can use the naive approach (4.4), i.e., equation (4.9d) has a unique solution if
(4.1) has a unique solution.
vecZ =I⊗R +R ⊗I−1vecC . (4.11)
22 22 22 22
Insert the now known matrix Z into (4.9b) and transposed (4.9c),
22
yields
˜ T
C ∶=C −R Z = R Z +Z R (4.12a)
12 12 12 22 11 12 12 22
˜ T T T T T
C ∶=C −R Z = R Z +Z R . (4.12b)
21 21 12 22 11 21 21 22
The equations (4.12) have a particular structure that can be used to
directly compute the solutions Z and Z . An explicit procedure for
12 21
the construction of the solution (4.12) is given by the following result.
Lemma4.2.1. Consider two matrices C,D partitioned in blocks of size n1 ×
np, n2 ×np, ..., np−1 ×np according to
⎡ X ⎤ ⎡ D ⎤
⎢ 1 ⎥ ⎢ 1 ⎥
⎢ ⎥ N×nr ⎢ ⎥ N×np
X=⎢ ⋮ ⎥∈R , D=⎢ ⋮ ⎥∈R
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢Xp−1⎥ ⎢Dp−1⎥
⎣ ⎦ p−1 ⎣ ⎦
where Cj,Dj ∈ Rnj×np and N = ∑j=1 nj. Let U ∈ Rn×n be a block triangular The block triangular matrix U is
matrix partitioned as X and D. For any R22 ∈ Rnp×np, we that if X satisfies ⎡ ⎤
U ⋯ U
the equation ⎢ 11 1,p−1 ⎥
⎢ ⎥
U=⎢ ⋱ ⋮ ⎥
T ⎢ ⎥
D=UX+XR22, (4.13) ⎢ Up−1,p−1⎥
⎣ ni×nj ⎦
where U ∈R .
then Xj, p−1,p−2,...,1 satisfy i,j
T ˜
p−1 UjjXj+XjR22 = Dj (4.14)
˜
where Dj ∶= Dj −∑i=j+1UjiXi.
Similar to the approach we used to compute Z , X can expressed
22 j
and computed explicitly from a small linear system
−1 ˜
vecX = I ⊗T +R22⊗I vecW (4.15)
j jj j
By solving (4.15) for j = p −1,...,1, for both equations (4.12)a and
(4.12)b we obtain solutions Z and Z . Insertion of (the now known
12 21
solutions) Z , Z and Z into (4.9a) gives a new Lyapunov equation
12 21 22
of size n−np and the process can be repeated for the smaller matrix.
Lecture notes - Elias Jarlebring - 2017 version:2017-03-06, Elias Jarlebring - copyright 2015-2017
4
no reviews yet
Please Login to review.