H∞制御理論_理論的解説2:代数リカッチ方程式

#代数リカッチ方程式
代数リカッチ方程式(ARE:algebraic Riccati equation)についてまとめていきたいと思います．

A,Q,Rをnn実行列とし，Q,Rを対称とする．

```math
A^*X+XA+XRX+Q=0
```
を代数Riccati方程式という．R項がなければ，リアプノフ方程式と一致します．

```math
H=
\left(
    \begin{array}{ccc}
      A&R\\
      -Q&-A^*\\
    \end{array}
  \right)\\
```
をハミルトン行列という．
行列Aの固有値を$\sigma(A)$と表現する

```math
J=
\left(
    \begin{array}{ccc}
      0&I\\
-I&0\\
    \end{array}
  \right)\\
```
という行列を導入する．
左から掛けると：列を入れ替え＋右列の符号反転
右から掛けると：行を入れ替え＋下行の符号反転

```math
J^2=-I\\
J^{-1}=-J\\
J^{-1}\left(
    \begin{array}{ccc}
      a&b\\
c&d\\
    \end{array}
  \right) J 
=
\left(
    \begin{array}{ccc}
     -d&c\\
b&-a\\
    \end{array}
  \right)\\

```

```math
J^{-1}HJ = -H^*
```
よって，Hと-H^*の固有値は一致する．
$\lambda \in \sigma (H) $とすると $- \bar{\lambda} \in \sigma(H) $
といえる．

###安定化解について
制御問題のリカッチ方程式は，R項にBが入り（$R$->$-BR^{-1}B$）

```math
A^*X+XA-XBR^{-1}BX+Q=0
```
の解に対し

```math
u=-R^{-1}B^TXx
```
というフィードバックが最適かつ，安定ことを言いますが，ここでいう安定とは，フィードバック後のA行列

```math
A+B(-R^{-1}B^TX)
```
が安定であることをいう．

```math
A^*X+XA+XRX+Q=0
```
この式でいうと

```math
A+RX
```
が安定行列であることをいう．

###不変部分空間について
不変部分空間とは，

```math
Ax \in S( \forall x \in S)
```
が成立するとき，空間$S$は$A$について不変部分空間となっているという．

ジョルダン分解・一般固有ベクトルを知っていれば，何も難しくない．
$A$の$\lambda_1$に$v_1,v_2,v_3$(手前ほど低次)
$\lambda_2$に$v_4,v_5$
とすると，ジョルダン分解より

```math
(A-\lambda_1 I)v_1 = 0\\
(A-\lambda_1 I)v_2 = v_1\\
(A-\lambda_1 I)v_3 = v_2\\
```
が成立し，

```math
Av_2 = \lambda_1 v_2 +  v_1
Av_3 = \lambda_1 v_3 +  v_2\\
```
となる．
つまり，$v_2$だけでは，Aに対し閉じないが，$v_2,v_1$で作った空間は$A$に対し閉じることを意味する．
同様のことが，$v_3$にも言える．

不変部分空間は

```math
span(v1)\\
span(v1,v2)\\
span(V1,v2,v3)\\
span(v1,v3)はAv3はv2が必要のためout\\
span(v4)\\
span(v4,v5)\\
span(v1,v4)\\
span(v1,v4,v5)\\
span(v1,v2,v4)\\
...
```

例

```math
A=
\left(
    \begin{array}{ccc}
     3. &  0.  & 1. & 0.\\
   0. & -1.&   0.  & 0.\\
  -2. &  0.&   0. &  0.\\
   0. &  0.  & 0. &  3.\\
    \end{array}
  \right)

```
とすると

```math
Q^{-1}AQ=diag(1,2,-1,3)\\
Q = \left(
    \begin{array}{ccc}
   -1. &  1.  & 0. &  0.\\
   0.&   0. &  1. &  0.\\
   2. & -1. &  0. &  0.\\
   0.  & 0. &  0. &  1.\\
    \end{array}
  \right)
```
よって，固有ベクトルを

```math
v_1 = \left(
    \begin{array}{ccc}
   -1.\\
   0.\\
   2. \\
   0. \\
    \end{array}
  \right)\\

v_2= \left(
    \begin{array}{ccc}
   - 1. \\
      0.\\
   -1.\\
   0.\\
    \end{array}
  \right)\\

v_3= \left(
    \begin{array}{ccc}
   0. \\
  1. \\
   0. \\
    0.\\
    \end{array}
  \right)\\

v_4 = \left(
    \begin{array}{ccc}
    0.\\
   0.\\
    0.\\
    1.\\
    \end{array}
  \right)\\
```
を用意できる．
この時，$v_1$と$v_2$の線形結合で生成できる空間を$span(v_1,v_2)$とすると

```math
span(v_1,v_2) = 
= \left(
    \begin{array}{ccc}
    a\\
   0.\\
    b\\
    0.\\
    \end{array}
  \right)\\
a,b \in Q:任意
```
のような空間になります．今回は，すべての固有値を相違にしたため，すべて1次の固有ベクトルになります．

不変部分空間は

```math
span(v_1)\\
span(v_2)\\
span(v_3)\\
span(v_4)\\
span(v_1,v_2)\\
span(v_1,v_3)\\
span(v_1,v_4)\\
span(v_2,v_3)\\
span(v_2,v_4)\\
span(v_3,v_4)\\
```
となる．


#リカッチ方程式のすべての解について
$V(2n*n)$を$H（2n*2n）$の$n$次元不変部分空間とする．

```math
V=Im
\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)

```
とする．

```math
X=X_2X_1^{-1}
```
はリカッチ方程式の解となる．

###証明
不変部分空間のため，$H$に$Im$の基底を掛けても，基底の線形結合になるので，

```math
\left(
    \begin{array}{ccc}
      A&R\\
      -Q&-A^*\\
    \end{array}
  \right)

\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)

=
\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)
\Lambda

```

を満たす，$\Lambda$が存在する．$X_1^{-1}$を右から掛けると

```math
\left(
    \begin{array}{ccc}
      A&R\\
      -Q&-A^*\\
    \end{array}
  \right)

\left(
    \begin{array}{ccc}
      I\\
X\\
    \end{array}
  \right)

=
\left(
    \begin{array}{ccc}
      I\\
X\\
    \end{array}
  \right)

X_1\Lambda X_1^{-1}

```
左から

```math
\left(
    \begin{array}{ccc}
      -X&I\\
    \end{array}
  \right)
```
を掛けると，右辺は0になるので

```math
\left(
    \begin{array}{ccc}
      -X&I\\
    \end{array}
  \right)
\left(
    \begin{array}{ccc}
      A&R\\
      -Q&-A^*\\
    \end{array}
  \right)

\left(
    \begin{array}{ccc}
      I\\
X\\
    \end{array}
  \right)

=0
```
展開すると

```math
A^*X+XA+XRX+Q=0
```
となるので，上で定義した$X$がリカッチの解となる．

###A+RXの安定

```math
\left(
    \begin{array}{ccc}
      A&R\\
      -Q&-A^*\\
    \end{array}
  \right)

\left(
    \begin{array}{ccc}
      I\\
X\\
    \end{array}
  \right)

=
\left(
    \begin{array}{ccc}
      I\\
X\\
    \end{array}
  \right)

X_1\Lambda X_1^{-1}

```
1列目を展開すると

```math
A+RX=X_1 \Lambda X_1^{-1}
```
したがって，解が安定かどうかは，$\Lambda$が安定かどうかと同値になる．
Vは固有ベクトル空間，ハミルトン行列の固有値がすべて相違な場合$\Lambda$は対角行列で，対角成分はハミルトン行列の固有値になる．
よって，$\Lambda$が安定かどうかは，「Vの固有ベクトルの選択時に固有値の実部が負のものを選択するかどうか」と同じことになる．

###Vの基底の表現による変化はない
Vの基底の取り方で$X_1,X_2$の表現が変わるが，どのようにとっても$X$は変わらない

```math
V=Im(\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)
*P)
```
としても，

```math
X= (X_2P)(X_1P)^{-1} = X_2 P P^{-1}X_1 = X
```
となるので変わらない．


###解の安定性　⇔ 使用する固有ベクトルの固有値の実部が負###
ということになります．

$H$は正の固有値を持つ固有ベクトルn-m個，負の固有値を持つ固有ベクトルn-m個，虚軸上固有値を持つ固有ベクトル2m個
であるため，負の固有値を持つ固有ベクトルを使って$V$を構成すれば解が得られます．

#解の存在条件
虚軸上固有値を持つ固有ベクトルを一つでも持つと，安定解は存在しません．この条件を「安定性質」といいます．
また，$X_1^{-1}$が存在しないor$X_1$が非正則の時も計算できません．この条件を「補充性質」といいます．

どちらも，満たすとき，$X$は$H$より一意に決定されるため，次のように表します

```math
X= Ric(H)
```
また，$H$は上の2条件を満たすとき

```math
H \in dom(Ric)
```
と表現します．


#Xのエルミート性
今のところ使わないため，後回し

#補充性質の言い換え
安定性質を満たすとして

補充性質 ⇔ $(A,R)$が可安定であること

###証明
補充性質を満たせば,
$X= Ric(H)$は安定解になり，$A+RX$が安定行列となるので，$(A,R)$は可安定といえる．

「$(A,R)$が可安定であれば，$X_1$が正則である」示せれば証明完了である．
$X_1$が正則であるは$Ker(X_1) = 0$ということ．
まず，$Ker(X_1)$が$\Lambda$不変部分空間を示す．

```math
\left(
    \begin{array}{ccc}
      A&R\\
      -Q&-A^*\\
    \end{array}
  \right)

\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)

=
\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)
\Lambda

```
より

```math
AX_1+RX_2 = X_1 \Lambda\\
```
$x \in Ker(X_1)$を掛けたりしてやると，次のようになる．

```math
x^*X_2^*AX_1x + x^*X_2^*RX_2x=x^*X_2^*X_1 \Lambda x\\
\therefore x^*X_2^*RX_2x=x^*X_2^*X_1 \Lambda x\\
\therefore x^*X_2^*RX_2x=x^*X_1^*X_2 \Lambda x (X_2^*X_1は対称行列のため)\\
\therefore x^*X_2^*RX_2x=0\\
\therefore RX_2x = 0(Rは半正定または半負定より)
```
さらに

```math
AX_1x+RX_2x = X_1 \Lambda x\\
\therefore X_1 \Lambda x = 0
```
よって，$\Lambda x \in Ker(X_1)$(ただし，$x \in Ker(X_1)$としたとき)

よって$Ker(X_1)$が$\Lambda$不変部分空間であることが示された．

```math
\Lambda x = \lambda x
```
とする．$x \in Ker(X_1)$とする

```math
\left(
    \begin{array}{ccc}
      A&R\\
      -Q&-A^*\\
    \end{array}
  \right)

\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)

=
\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)
\Lambda

```
より

```math
-Q X_1 -A^*X_2 = X_2 \Lambda\\
```
左からxを掛けて

```math
-Q X_1x -A^*X_2x = X_2 \Lambda x\\
\therefore -Q X_1x -A^*X_2x = X_2  \lambda x\\
\therefore (A^*+\lambda I)X_2x=0\\
\therefore x^*X_2^*(A+\bar{\lambda}I)=0\\
\therefore x^*X_2^*
\left(
    \begin{array}{ccc}
A+\bar{\lambda}I  & R\\
  \end{array}
  \right)
=0\\

```
(A,R)の可安定性より，$X_2x = 0$となる．xの定義より$X_1x = 0$も成立している．
これだと，

```math
\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)
x=0
```
が成立する．これは，

```math
Im(\left(
    \begin{array}{ccc}
      X_1\\
X_2\\
    \end{array}
  \right)
```
の列フルランクという性質に反する（固有ベクトルをn個持ってきているのだから，列フルランク）．
よって，$x \in Ker(X_1)$となる，$x$は存在しない．


###(A,R)の可安定性より，X_2x = 0となる　ここについて
ここは，可制御行列の行フルランクの性質に由来する．

```math
\left(
    \begin{array}{ccc}
A+\bar{\lambda}I  & R\\
  \end{array}
  \right)
```
が行フルランクでないとすると

```math
x^*
\left(
    \begin{array}{ccc}
A+\bar{\lambda}I  & R\\
  \end{array}
  \right)=0
```
となる，xが存在する．よって

```math
x^*A=\lambda x^*\\
x^*R = 0
```
が成立する．

可制御行列に，xを掛けると

```math
x^*
\left(
    \begin{array}{ccc}
      B&AB&A^2B\\
    \end{array}
  \right)
=
\left(
    \begin{array}{ccc}
      x^*B&x^*AB&x^*A^2B\\
    \end{array}
  \right)\\
=
\left(
    \begin{array}{ccc}
      0&0&0\\
    \end{array}
  \right)\\
```
よって，可制御行列が行フルランクではない．つまり(A,R)の可安定性に反する

#特殊なハミルトン行列の場合

あとまわし






#内関数
$N \in RH_{\infty}$とする．Nの共役なシステムを$ \tilde{N}$とする．

```math
\tilde{N}=
\left(
    \begin{array}{c|c}
      -A^*&-C^*\\ \hline
      B^*&D^*\\
    \end{array}
  \right)\\
```
とする．
この時，

```math
\tilde{N}N  = I
```
となるとき，Nは内関数と呼ばれる．

```math
\tilde{N}N=
\left(
    \begin{array}{c|c}
      -A^*&-C^*\\ \hline
      B^*&D^*\\
    \end{array}
  \right)

\left(
    \begin{array}{c|c}
      A&B\\ \hline
      C&D\\
    \end{array}
  \right)\\
=

\left(
    \begin{array}{cc|c}
      -A^*&-C^*C&-C^* D\\ 
      0&A&B\\\hline
      -B^*&D^*C&D^*D\\
    \end{array}
  \right)\\
```

$x=Tz$とすることで，座標変換できます．

```math
\left(
    \begin{array}{c|c}
      A &B\\ \hline
      C&D\\
    \end{array}
  \right)
\\

= 
\left(
    \begin{array}{c|c}
      T^{-1}AT &T^{-1}B\\ \hline
      CT&D\\
    \end{array}
  \right)
\\
```
と変換できます．
ここで，

```math
A^*X+XA+C^*C=0
```
を満たす対称行列$X$を用いて

```math
T=
\left(
    \begin{array}{ccc}
      I&-X\\ 
      0&I\\
    \end{array}
  \right)
\\

T^{-1}=
\left(
    \begin{array}{ccc}
      I&X\\ 
      0&I\\
    \end{array}
  \right)
\\
```
で，変換すると

```math
\tilde{N}N=

\left(
    \begin{array}{cc|c}
      -A^*&0&-C^*D+XB\\ 
      0&A&B\\\hline
      -B^*&B^*X+D^*C&D^*D\\
    \end{array}
  \right)\\
```

よって

```math
B^*X+D^*C = 0\\
D^*D=I\\
```
となれば，Nは内関数である．

何に使うかというと，ノルム保存の性質が大きい，
信号qをNに加えた時，出力はN(s)qである．
各周波数でのノルムは$\|N(jw)q \|$である．

```math
\|N(jw)q(jw) \|=
\sqrt{q(jw)^*N(jw)^*N(jw)q(jw)}=\|q(jw) \|
```

$N(jw)^*N(jw)$がIになるのが，内関数の特徴である．

例
http://stlab.ssi.ist.hokudai.ac.jp/yuhyama/lecture/linearsys/st5-4up.pdf

```math
N=\frac{s-1}{s+1}\\
= \left(
    \begin{array}{c|c}
      -1& \sqrt{2}\\ \hline
-\sqrt{2}&1\\
    \end{array}
  \right)\\

\tilde{N} =\frac{s+1}{s-1}\\
=\left(
    \begin{array}{c|c}
      1&- \sqrt{2}\\ \hline
-\sqrt{2}&1\\
    \end{array}
  \right)\\
```

分母と，分子の極の実部の正負が反転しているような，伝達関数がインナー関数です．

#追加：リカッチ方程式解Xの正定性・半正定条件
タイトル通り，解の正定性・半正定性の条件を導出します．

リアプノフ方程式の解を使用します．
https://qiita.com/hiRina/items/db4866716bbd5c83d4fa


```math
AX+XA^* = C
```
の解は

```math
X=\int^{\infty}_{0} e^{At}(-C)e^{A^*t}dt
```

###証明

```math
X=\int^{\infty}_{0} e^{At}(-C)e^{A^*t}dt
```
とすると，リアプノフ方程式を満たすという流れで証明します．

```math
\begin{eqnarray}
A^*X+XA &=& \int^{\infty}_{0} \{ A^* e^{At}(-C)e^{A^*t} +  e^{At}(-C)e^{A^*t} A \}dt\\
&=& \int^{\infty}_{0} \frac{d}{dt} \{  e^{At}(-C)e^{A^*t} \}dt\\
&=& [  e^{At}(-C)e^{A^*t} ]^{\infty}_0
&=&C
\end{eqnarray}
```
よって

```math
AX+XA^* = C
```
を成立させました！QED

###リカッチ方程式の解

```math
A^*X+XA+XRX+Q=0
```
先ほどの式において，

````math
C=-Q-XRX
```
とおけば同じ，式になります（*の位置が違いますが）．

Xは時不変と考えられるため，同様に解が

```math
X=\int^{\infty}_{0} e^{At}(Q+XRX)e^{A^*t}dt
```
で得られることになります．

この式より$X$の正定性・半正定性・負定性・半負定性は

```math
Q+XRX
```
の正定性・半正定性・負定性・半負定性に依存することがわかります．
**$Q,R$共に正定ならば，$X$も正定になります．**

ここは，個人的に考えた部分なので間違っている可能性あり．おかしければ教えてください．
さらに，追加，

```math
X=\int^{\infty}_{0} e^{At}(Q+XRX)e^{A^*t}dt
```
としたが，$A$が安定でないと，計算が発散する．
よって，

```math
A^*X+XA+XRX+Q=0\\
\therefore (A^*X+XRX)+(XA+XRX)-XRX+Q=0\\
\therefore (A^*+XR)X+X(A+RX)-XRX+Q=0\\
\therefore (A+RX)^*X+X(A+RX)-XRX+Q=0\\
```
と変形し，$A+RX$は安定行列になるように，リカッチ方程式を解けば，

$X$の正定性・半正定性・負定性・半負定性　は

```math
Q-XRX
```
の正定性・半正定性・負定性・半負定性に依存することになります．

$Q>0,R<0$なら，$X>0$になります．