Sylvester equation

From Wikipedia, the free encyclopedia
(Redirected from Roth's Removal Rule)
Jump to navigation Jump to search

In mathematics, in the field of control theory, a Sylvester equation is a matrix equation of the form:[1]

AX+XB=C.

It is named after English mathematician James Joseph Sylvester. Then given matrices A, B, and C, the problem is to find the possible matrices X that obey this equation. All matrices are assumed to have coefficients in the complex numbers. For the equation to make sense, the matrices must have appropriate sizes, for example they could all be square matrices of the same size. But more generally, A and B must be square matrices of sizes n and m respectively, and then X and C both have n rows and m columns.

A Sylvester equation has a unique solution for X exactly when there are no common eigenvalues of A and −B. More generally, the equation AX + XB = C has been considered as an equation of bounded operators on a (possibly infinite-dimensional) Banach space. In this case, the condition for the uniqueness of a solution X is almost the same: There exists a unique solution X exactly when the spectra of A and −B are disjoint.[2]

Existence and uniqueness of the solutions

[edit | edit source]

Using the Kronecker product notation and the vectorization operator vec, we can rewrite Sylvester's equation in the form

(ImA+BTIn)vecX=vecC,

where A is of dimension n×n, B is of dimension m×m, X of dimension n×m and Ik is the k×k identity matrix. In this form, the equation can be seen as a linear system of dimension mn×mn.[3]

Theorem. Given matrices An×n and Bm×m, the Sylvester equation AX+XB=C has a unique solution Xn×m for any Cn×m if and only if A and B do not share any eigenvalue.

Proof. The equation AX+XB=C is a linear system with mn unknowns and the same number of equations. Hence it is uniquely solvable for any given C if and only if the homogeneous equation AX+XB=0 admits only the trivial solution 0.

(i) Assume that A and B do not share any eigenvalue. Let X be a solution to the abovementioned homogeneous equation. Then AX=X(B), which can be lifted to AkX=X(B)k for each k0 by mathematical induction. Consequently, p(A)X=Xp(B) for any polynomial p. In particular, let p be the characteristic polynomial of A. Then p(A)=0 due to the Cayley–Hamilton theorem; meanwhile, the spectral mapping theorem tells us σ(p(B))=p(σ(B)), where σ() denotes the spectrum of a matrix. Since A and B do not share any eigenvalue, p(σ(B)) does not contain zero, and hence p(B) is nonsingular. Thus X=0 as desired. This proves the "if" part of the theorem.

(ii) Now assume that A and B share an eigenvalue λ. Let u be a corresponding right eigenvector for A, v be a corresponding left eigenvector for B, and X=uv*. Then X0, and AX+XB=A(uv*)(uv*)(B)=λuv*λuv*=0. Hence X is a nontrivial solution to the aforesaid homogeneous equation, justifying the "only if" part of the theorem. Q.E.D.

As an alternative to the spectral mapping theorem, the nonsingularity of p(B) in part (i) of the proof can also be demonstrated by the Bézout's identity for coprime polynomials. Let q be the characteristic polynomial of B. Since A and B do not share any eigenvalue, p and q are coprime. Hence there exist polynomials f and g such that p(z)f(z)+q(z)g(z)1. By the Cayley–Hamilton theorem, q(B)=0. Thus p(B)f(B)=I, implying that p(B) is nonsingular.

The theorem remains true for real matrices with the caveat that one considers their complex eigenvalues. The proof for the "if" part is still applicable; for the "only if" part, note that both Re(uv*) and Im(uv*) satisfy the homogenous equation AX+XB=0, and they cannot be zero simultaneously.

Roth's removal rule

[edit | edit source]

Given two square complex matrices A and B, of size n and m, and a matrix C of size n by m, then one can ask when the following two square matrices of size n + m are similar to each other: [AC0B] and [A00B]. The answer is that these two matrices are similar exactly when there exists a matrix X such that AX − XB = C. In other words, X is a solution to a Sylvester equation. This is known as Roth's removal rule.[4]

One easily checks one direction: If AX − XB = C then

[InX0Im][AC0B][InX0Im]=[A00B].

Roth's removal rule does not generalize to infinite-dimensional bounded operators on a Banach space.[5] Nevertheless, Roth's removal rule generalizes to the systems of Sylvester equations.[6]

Numerical solutions

[edit | edit source]

A classical algorithm for the numerical solution of the Sylvester equation is the Bartels–Stewart algorithm, which consists of transforming A and B into Schur form by a QR algorithm, and then solving the resulting triangular system via back-substitution. This algorithm, whose computational cost is 𝒪(n3) arithmetical operations,[citation needed] is used, among others, by LAPACK and the lyap function in GNU Octave.[7] See also the sylvester function in that language.[8][9] In some specific image processing applications, the derived Sylvester equation has a closed form solution.[10]

See also

[edit | edit source]

Notes

[edit | edit source]
  1. ^ This equation is also commonly written in the equivalent form of AX − XB = C.
  2. ^ Bhatia and Rosenthal, 1997
  3. ^ However, rewriting the equation in this form is not advised for the numerical solution since this version is costly to solve and can be ill-conditioned.
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Bhatia and Rosenthal, p.3
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ The syl command is deprecated since GNU Octave Version 4.0
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

References

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]

Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).