シルベスター方程式

数学、制御理論におけるシルベスター方程式（シルベスターほうていしき、英: Sylvester equation）とは、次の形式の行列方程式である。 A X + X B = C {\displaystyle AX+XB=C} ここで行列 A,B,C は与えられており、等式を満たすような行列 X が求めるべき解である。全ての行列の成分は複素数であるとする。方程式が意味を持つために、行列は適当なサイズでなければならない。例えば、全ての行列が同一サイズの正方行列である等である。より一般には、A と B がそれぞれサイズ n , m の正方行列であれば、X と C はいずれも n 行 m 列の行列でなければいけない。 シルベスター方程式が一意的な解 X を持つのは、行列 A と −B が共通する固有値を持たないとき、またそのときに限る。 より一般的には、方程式 AX + XB = C は（次元が有限とは限らない）バナッハ空間上の有界作用素間の等式であるとして考察されてきた。この場合も解についての条件はほとんど同じである：方程式が一意的な解 X を持つのは、A と −B のスペクトルが交わりを持たないとき、またそのときに限る。 クロネッカー積および vec作用素 vec {\displaystyle \operatorname {vec} } の記法を用いると、シルベスター方程式は次のように書き直せる。 ( I m ⊗ A + B T ⊗ I n ) vec ⁡ X = vec ⁡ C {\displaystyle (I_{m}\otimes A+B^{T}\otimes I_{n})\operatorname {vec} X=\operatorname {vec} C} ここで A {\displaystyle A} は n × n {\displaystyle n\!\times \!n} 行列、 B {\displaystyle B} は m × m {\displaystyle m\!\times \!m} 行列、 X {\displaystyle X} は n × m {\displaystyle n\!\times \!m} 行列、 I k {\displaystyle I_{k}} は k × k {\displaystyle k\times k} の単位行列である。この形に書くと、方程式は m n × m n {\displaystyle mn\times mn} 係数行列による線型方程式系と見ることができる。 命題 複素数成分の n × n {\displaystyle n\times n} 行列 A {\displaystyle A} と B {\displaystyle B} が与えられたとき、シルベスター方程式が任意の C {\displaystyle C} に対して一意的な解 X {\displaystyle X} を持つための必要十分条件は A {\displaystyle A} と − B {\displaystyle -B} が共通の固有値を持たないことである。 証明 X ↦ A X + X B {\displaystyle X\mapsto AX+XB} で定まる線型写像 S : M n → M n {\displaystyle S:M_{n}\rightarrow M_{n}} を考える。 (i) A {\displaystyle A} と − B {\displaystyle -B} が共通の固有値を持たないとする。このときそれらの固有多項式 f ( z ) {\displaystyle f(z)} と g ( z ) {\displaystyle g(z)} の最大公約数は定数 1 {\displaystyle 1} である。よって複素係数多項式 p ( z ) {\displaystyle p(z)} と q ( z ) {\displaystyle q(z)} を、 p ( z ) f ( z ) + q ( z ) g ( z ) = 1 {\displaystyle p(z)f(z)+q(z)g(z)=1} が成り立つようにとることができる（ベズーの補題）。ケイリー・ハミルトンの定理より、行列多項式として f ( A ) = 0 = g ( − B ) {\displaystyle f(A)=0=g(-B)} であるので、 g ( A ) q ( A ) = I {\displaystyle g(A)q(A)=I} 。 X {\displaystyle X} を S ( X ) = 0 {\displaystyle S(X)=0} の任意の解とする。このとき A X = − X B {\displaystyle AX=-XB} であり、この等式を X = q ( A ) g ( A ) X {\displaystyle X=q(A)g(A)X} の右辺に繰り返し適用して X = q ( A ) g ( A ) X = q ( A ) X g ( − B ) = 0 {\displaystyle X=q(A)g(A)X=q(A)Xg(-B)=0} 。よって写像 S {\displaystyle S} の核の次元は0であり、階数・退化次数の定理より S {\displaystyle S} は可逆となるから、任意の C {\displaystyle C} に対し一意的な解 X {\displaystyle X} が存在する。 (ii) 逆に、 s {\displaystyle s} が行列 A {\displaystyle A} と − B {\displaystyle -B} の共通の固有値であるとする。 s {\displaystyle s} は転置行列 A T {\displaystyle A^{T}} の固有値でもあることに注意すると、零ベクトルでないベクトル v {\displaystyle v} , w {\displaystyle w} で A T w = s w {\displaystyle A^{T}w=sw} , B v = − s v {\displaystyle Bv=-sv} を満たすものが存在する。行列 C {\displaystyle C} を C v = w ¯ {\displaystyle Cv={\overline {w}}} となるよう選ぶ。右辺は w {\displaystyle w} の複素共役である。 このとき A X + X B = C {\displaystyle AX+XB=C} には解 X {\displaystyle X} が存在しない。なぜなら、複素数体上の双線型形式（半双線型形式ではない）を ⟨ c 1 , c 2 ⟩ := ∑ i = 1 n c 1 , i c 2 , i {\displaystyle \langle c_{1},c_{2}\rangle :=\sum _{i=1}^{n}c_{1,i}c_{2,i}} と定めて ⟨ ( A X + X B ) v , w ⟩ = ⟨ C v , w ⟩ = ⟨ w ¯ , w ⟩ > 0 {\displaystyle \langle (AX+XB)v,w\rangle =\langle Cv,w\rangle =\langle {\overline {w}},w\rangle >0} を考えると、この最左辺は ⟨ X v , A T w ⟩ + ⟨ X B v , w ⟩ = ⟨ X v , s w ⟩ + ⟨ − s v , w ⟩ = 0 {\displaystyle \langle Xv,A^{T}w\rangle +\langle XBv,w\rangle =\langle Xv,sw\rangle +\langle -sv,w\rangle =0} となって矛盾するからである。 複素数成分行列 A , B , C {\displaystyle A,B,C} （サイズはそれぞれ n × n , m × m , n × m {\displaystyle n\!\times \!n,m\!\times \!m,n\!\times \!m} ）が与えられたとき、次の2つの n + m 次正方行列 [ A C 0 B ] {\displaystyle {\begin{bmatrix}A&C\\0&B\end{bmatrix}}} , [ A 0 0 B ] {\displaystyle {\begin{bmatrix}A&0\\0&B\end{bmatrix}}} が互いに相似なのはどのようなときか問うことができる。この必要十分条件は AX − XB = C を満たす行列 X、言い換えるとシルベスター方程式の解が存在することである。これはロスの除去法則（Roth's removal rule）として知られている。 次のことは簡単に確認できる：もし AX − XB = C であれば、 [ I n X 0 I m ] [ A C 0 B ] [ I n − X 0 I m ] = [ A 0 0 B ] {\displaystyle {\begin{bmatrix}I_{n}&X\\0&I_{m}\end{bmatrix}}{\begin{bmatrix}A&C\\0&B\end{bmatrix}}{\begin{bmatrix}I_{n}&-X\\0&I_{m}\end{bmatrix}}={\begin{bmatrix}A&0\\0&B\end{bmatrix}}} ロスの除去法則はバナッハ空間上の無限階有界作用素へ一般化することはできない。 シルベスター方程式の解を求める古典的なアルゴリズムにBartels–Stewartアルゴリズム（英語版）がある。これは A {\displaystyle A} と B {\displaystyle B} をQR法によってシューア標準形に変形し、三角行列に対する後退代入によって解を得るものである。このアルゴリズムの算術処理には O ( n 3 ) {\displaystyle {\mathcal {O}}(n^{3})} （ランダウのO-記法）の計算量が必要[要出典]であり、GNU OctaveにおけるLAPACKの lyap 関数でも計算量は同じである（この言語での sylvester 関数も参照のこと）。いくつかの特殊な画像処理への応用においては、導出されるシルベスター方程式は閉じた形で解が書ける。 リアプノフ方程式 代数的リッカチ方程式（英語版）