|
前章で,状態方程式から安定性を調べる方法を学んだ。すなわち,対象が安定であるとは さて,状態フィードバックによって安定化可能である条件は「可安定性」と呼ばれるが,これを直接明らかにするのは容易ではない。そこで,状態フィードバックによって |
特異値分解(singular-value decomposition)
——————————————————————————————————————–
定理
をサイズ
の行列(
)とする。このとき,サイズ
の直交行列
とサイズ
の直交行列
が存在して
(1) ![]()
が成り立つ。ここで,サイズ
の行列
は,次を満たす(
は,
がサイズ
の行列であることを示す(
は行数と列数の区切)。)。
(2) ![]()
(3) ![]()
を満足するものである。
証明
だから,仮定
より,
は
個の正固有値と
個の零固有値をもち,互いに直交する固有ベクトルをもつ。そこで,
の固有値の正の平方根を,大きい順に,
のように表し,対応する固有ベクトル
を
を満足するようにとることができる。いま,
を式3のように,また
(4) ![]()
とおくと,
は直交行列となり,つぎが成り立つ。
(5) ![]()
(6) ![]()
式6の第2式の左から,
をかけて
(7) ![]()
また,
とおくと,式6の第1式から
を得る。そこで,
を
が直交行列となるように選ぶと
(8) ![]()
が成り立つ。これより,式1を得る。
——————————————————————————————————————–
——————————————————————————————————————–
例題 行列
の特異値分解は
(9) ![Rendered by QuickLaTeX.com \begin{equation*} A= \underbrace{ \left[\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right] }_{U} \underbrace{ \left[\begin{array}{ccc} \sqrt{2} & 0 & 0 \\ 0 & 1 & 0 \end{array}\right] }_{\Sigma} \underbrace{ \left[\begin{array}{ccc} 0 & 1 & 0 \\ \frac{1}{\sqrt{2}} & 0 & -\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & 0 & \frac{1}{\sqrt{2}} \end{array}\right]^T }_{V^T} \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-094ad853e40d20871e2bb59827a7a28d_l3.png)
のように与えられることを確かめなさい。
解答
のサイズは
であるが,
のサイズは
であるので,
を計算すると
となる(サイズ
の行列
の特異値を手計算で求めるには,
と
のが同じ非零固有値をもつことから,サイズの小さいほうの固有値計算を行えばよい。)。これから,
の固有値は
で,その正の平方根
が特異値であるが,定理??の
の対角成分の特異値は大きい順に並べる約束であるので
(10) ![Rendered by QuickLaTeX.com \begin{equation*} \underbrace{ \left[\begin{array}{cc} 1 & 0 \\ 0 & 2 \end{array}\right] }_{AA^T} \underbrace{ \left[\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right] }_{U} = \underbrace{ \left[\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right] }_{U} \underbrace{ \left[\begin{array}{cc} 2 & 0 \\ 0 & 1 \end{array}\right] }_{\Sigma_1^2} \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-1c6751fd19e4519cddf20df4ebf93762_l3.png)
のように,
と
が決まる。つぎに,
については,視察によって
(11) ![Rendered by QuickLaTeX.com \begin{equation*} \underbrace{ \left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 1 \\ 0 & 1 & 1 \end{array}\right] }_{A^TA} \underbrace{ \left[\begin{array}{ccc} 0 & 1 & 0 \\ x & 0 & -y \\ y & 0 & x \end{array}\right] }_{V} = \underbrace{ \left[\begin{array}{ccc} 0 & 1 & 0 \\ x & 0 & -y \\ y & 0 & x \end{array}\right] }_{V} \underbrace{ \left[\begin{array}{ccc} 2 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{array}\right] }_{{\rm diag}\{\Sigma_1^2,0\}} \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-9396a30d4e002b6668c2989cc5a0caf5_l3.png)
としてよい。ここで
と
が直交しており,
の制約がある。式(11)から
が出て,
と定まる。
——————————————————————————————————————–
それでは,階段化アルゴリズムについて述べる。
——————————————————————————————————————–
アルゴリズム<階段化アルゴリズム(staircase algorithm)>
入力パラメータ ![]()
出力パラメータ ![]()
ステップ1 初期化
とおく。
ステップ2
の階数決定
を
に更新し,
に対して,つぎの特異値分解を行い,
の階数
と
を求める。
(12) ![]()
(13) ![Rendered by QuickLaTeX.com \begin{equation*} \Sigma^{(j)}= \left[\begin{array}{cc} \Sigma_1^{(j)} & 0 \\ 0 & 0 \end{array}\right] \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-d67d8188ec3c7b3a7eb6718aa908076b_l3.png)
もし
または
ならば,
と設定して終了する。そうでないときは,ステップ3へ行く。
ステップ3 座標変換
を,
を用いて
(14) ![]()
と設定し,
と
を,次式から求める。
(15) ![]()
ステップ4
の切り出し
を
に更新し,
に対してつぎの分割を行い,
を得て,ステップ2へ戻る。
(16) ![]()
——————————————————————————————————————–
——————————————————————————————————————–
例題
階段化アルゴリズムを用いて,つぎの可安定性を調べなさい。
(17) ![Rendered by QuickLaTeX.com \begin{equation*} A= \left[\begin{array}{ccc} 0 & 0 & 0 \\ 0 & -1 & 1 \\ 0 & 0 & 0 \end{array}\right] ,\ B= \left[\begin{array}{cc} 1 & 0 \\ 0 & 1 \\ 0 & 1 \end{array}\right] \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-b92241244023641047fc6798268d28eb_l3.png)
解答 階段化アルゴリズムの各ステップは,つぎのように計算される。
ステップ1:
とおく。
ステップ2:
とし,
に対する特異値分解
(18) ![Rendered by QuickLaTeX.com \begin{equation*} B^{(1)}= \underbrace{ \left[\begin{array}{ccc} 0 & 1 & 1 \\ \frac{1}{\sqrt{2}} & 0 & -\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & 0 & \frac{1}{\sqrt{2}} \end{array}\right] }_{U^{(1)}} \underbrace{ \left[\begin{array}{cc} \sqrt{2} & 0 \\ 0 & 1 \\ 0 & 0 \end{array}\right] }_{\Sigma^{(1)}} \underbrace{ \left[\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right]^T }_{V^{(1)T}} \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-a067f8aaad77ff4216766cffc9192713_l3.png)
から,
の階数
と
が求まる。
ステップ3:
かつ
なので,ステップ4へ行く。
ステップ4:
とし,
を求めると
(19) ![Rendered by QuickLaTeX.com \begin{equation*} A^{(2)}= \left[\begin{array}{cc|c} 0 & 0 & 1 \\ 0 & 0 & 0 \\ \hline 0 & 0 & -1 \end{array}\right] \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-d83528baa9a88d1f937bdd46679d77ba_l3.png)
となり,
とする。
ステップ5:
とする。
に対する分割から,
を得る。
ステップ2′:
とする。
は零行列なので,その階数は
である。
ステップ3′:
なので,
のように設定する。
以上から,式(24)は,つぎのように得られた。
(20) ![Rendered by QuickLaTeX.com \begin{equation*} \left[\begin{array}{cc} T^TB & T^TAT \end{array}\right]= \left[\begin{array}{ccc} B_1 & A_1 & X \\ 0 & B_2 & A_2 \end{array}\right]= \left[\begin{array}{cc|cc|c} 0 & \sqrt{2} & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 & 0 \\ \hline 0 & 0 & 0 & 0 & -1 \end{array}\right] \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-a81d3b6a6d9c8a5d2db3d43e85f23312_l3.png)
ここで,
は零行列で,
より,条件S0が成り立つ。よって,
は可安定である。
——————————————————————————————————————–
まず,可安定性と可制御性は座標変換により不変であることを示す。
——————————————————————————————————————–
定理
が可安定対[可制御対]ならば,
も可安定対[可制御対]である。
証明
次系
に対する
による安定化可能性は,座標変換後の
に対する
による安定化可能性と等価である。実際
(21) ![]()
が成り立ち,閉ループ系の固有値は,座標変換によって不変だからである。
可制御性については,シルベスターの公式
(
は
の列数)
を用いて
(22) ![]()
が成り立つことから,定理の主張を得る。
——————————————————————————————————————–
この定理に基づいて,可安定性や可制御性の判別をしやすいように座標変換行列
を選ぶことを考える。すなわち,
次系
に対して,つぎを満足するように座標変換できるかどうかを調べる。
(23) ![Rendered by QuickLaTeX.com \begin{equation*} \left[\begin{array}{c} \dot{x}_1'(t) \\ \dot{x}_2'(t) \end{array}\right] = \underbrace{ \left[\begin{array}{cc} A_{\#} & X \\ 0 & A_k \end{array}\right] }_{TAT^{-1}} \left[\begin{array}{c} x_1'(t) \\ x_2'(t) \end{array}\right] + \underbrace{ \left[\begin{array}{c} B_{\#} \\ 0 \end{array}\right] }_{TB} u(t) \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-0a5ef4ada18aa82e6fd7b2b111ee0cd0_l3.png)
ただし,
は可制御対とする。このブロック線図を描いてみればわかるように,状態
は入力
の影響を受けることはない。したがって,可制御性は成立しないこと,そして
が安定行列かどうかが可安定性と関係していることは想像がつくであろう。以下では,この判定法が導かれること示す。
「式(23)のように座標変換できれば,
が安定行列のとき可安定性が成り立ち,そうでないときは可安定性は成り立たない。また,式(23)のように座標変換できなければ,可制御性が成り立っている。」
つぎの結果は,階段化アルゴリズムを用いて得られる。
——————————————————————————————————————–
定理
サイズ
の行列
とサイズ
の行列
に対して,つぎのように変換する直交行列
が存在する。
(24) ![Rendered by QuickLaTeX.com \begin{equation*} \left[\begin{array}{cc} T^TB & T^TAT \end{array}\right]= \left[\begin{array}{c|cccc|c} B_1 & A_1 & X & \cdots & X & X \\ 0 & B_2 & A_2 & \cdots & X & X \\ \vdots & & \ddots & \ddots & \vdots & \vdots \\ 0 & 0 & \cdots & B_{k-1} & A_{k-1} & X \\ \hline 0 & 0 & \cdots & 0 & B_k & A_k \end{array}\right] \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-db4cfa0ec23f03913864a3823ca46710_l3.png)
ここで,
は正整数,また
のサイズを
とするとき(
),つぎが成り立つ(
は横長の形状となり,行フルランクをもつ。また,
は横長で,行フルランクをもつ行列または零行列のどちらかである。)。
(25) ![]()
(26) ![]()
(27) ![]()
このとき,
が可制御対であるための必要十分条件は
条件C0: 式(24)において,![]()
が成り立つことである。また,
が可安定対であるための必要十分条件は、つぎが成り立つことである。
条件S0: 式(24)において,
のとき,
は安定行列
——————————————————————————————————————–
のとき,式(23)のような形式が得られていることは,式\(ref{eq3.4.3})の
を上の
と読み替えれば明らかであろう。また,可安定性と可制御性と相違は,前者が
ばかりでなく
を許すところにあることに注意する。可制御性の条件C0と可安定性の条件S0の妥当性は,あとで示す。
それでは,まず可制御性について,新しい条件を追加した定理を述べる。
——————————————————————————————————————–
定理 可制御性が成り立つための等価な条件
定義: 任意初期状態を,任意有限時間内に,任意状態に移動可能
条件C1: ![]()
条件C2: ![]()
条件C3:
を選んで,
の固有値を任意に設定可能
条件C4:
(
は
のすべての固有値)
条件C5:
(
は
のすべての固有値)
ここで,条件C4を満足する
の固有値
は可制御固有値,満足しない固有値は不可制御固有値と呼ばれる。
——————————————————————————————————————–
前節までに,定義
条件C1
条件C2
条件C3を示したので,以下では,条件C3
条件C0
条件C4
条件C5
条件C2を示す。
——————————————————————————————————————–
証明 <条件C3
条件C0>
とすると,式(24)を用いて
(28) ![]()
となり,閉ループ系において
の固有値はそのまま残るが,C3に矛盾である。
証明 <条件C0
条件C4>
を任意の複素数とする。
に,式24を適用すると
(29) ![Rendered by QuickLaTeX.com \begin{equation*} \left[\begin{array}{c|cccc|c} B_1 & A_1-\lambda I_{m_1} & X & \cdots & X & X \\ 0 & B_2 & A_2-\lambda I_{m_2} & \cdots & X & X \\ \vdots & & \ddots & \ddots & \vdots & \vdots \\ 0 & 0 & \cdots & B_{k-1} & A_{k-1}-\lambda I_{m_{k-1}} & X \\ \hline 0 & 0 & \cdots & 0 & B_k & A_k-\lambda I_{m_k} \end{array}\right] \end{equation*}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-4a8adf165577c57e462e2e087bc9a257_l3.png)
を得る。ここで,
は横長の形状となり,行フルランク(行数に等しい階数)をもつので
(30) ![]()
に,シルベスターの公式を適用して
(31) ![]()
を得る。この階数が
より小さくなるのは,式(29)から明らかなように,
が
の固有値に等しい場合である。したがって,
は
の固有値について調べれば十分である。すなわち,条件C4を得た。
証明 <条件C4
条件C5>
条件C4は,
を
次元ベクトルとして
(32) ![]()
すなわち
(33) ![]()
と等価である。
証明 <条件C5
条件C2>
条件C5より
(34) ![]()
を得て
(35) ![]()
が成り立つ。これは条件C2を意味する。
——————————————————————————————————————–
それでは,可安定性が成り立つための条件について考えよう。可制御であれば可安定であるので,問題は,不可制御で可安定の場合をどのように特徴付けるかである。不可制御であれば条件C0が不成立なので,
となり,
の固有値だけは状態フィードバックによってどうすることもできない。このとき可安定であるためには,
が安定行列であることを前提とするしかない。これは条件S0そのものであり,可安定性の条件としての妥当性が得られた。
このことを踏まえて,可安定性の条件はつぎのように表される。
——————————————————————————————————————–
定理 可安定性が成り立つための等価な条件
定義 状態フィードバックにより安定化可能
条件S1:
(
は
のすべての不安定固有値)
条件S2:
\quad (〃)
証明 定義
条件S0だから,条件S1
条件S2との等価性を示せばよい。そのために,
のとき,式(29)の行列のランクが落ちるのは
(36) ![]()
(37) ![]()
の部分で,
が
の固有値に一致した場合である。したがって,条件S0を保証するためには,
に
のすべての不安定固有値を入れて,式(37)を調べ,列フルランクとなればよい。すなわち,条件C4
条件C5において,
は
のすべての不安定固有値という条件をつければよい。
——————————————————————————————————————–
上の可制御性と可安定性のさまざまな条件のうち,理論展開では条件C5とS2が,数値計算では条件C0,C4と,条件S0,S1がよく用いられる(条件C5
条件C4と条件S2
条件S1による判定法は,PBH(Popov-Blevitch-Hautus)法と呼ばれる。)。
例えば,可制御性は状態フィードバックにより不変であることを示そう。
——————————————————————————————————————–
定理
が可制御対ならば
も可制御対である。
証明 条件C5より,任意の
に対して
(38) ![]()
成り立つので,これを仮定して
(39) ![]()
を示せばよい。実際,
より
(40) ![]()
を得るが,このような
は,仮定(38)より,
でなければならない。
——————————————————————————————————————–