リアプノフ関数

リアプノフ関数 (英: Lyapunov function)は、ロシアの数学者であるアレクサンドル・リアプノフにちなんで命名された関数であり、数学において、力学系や自励系を成す常微分方程式系 (以下、単に自励系と呼ぶ) における不動点の安定性を証明するために用いられる。安定性理論や制御理論において非常に重要な数学的ツールとなっている。なお、リアプノフ関数は前もって一般的な定義が定められているわけではなく、対象となる常微分方程式系と平衡点が与えられた場合に、後述するようなある性質を満たす関数をその系および平衡点のリアプノフ関数と呼ぶのである。これと同様の概念がマルコフ連鎖における一般状態空間でも現れ、この場合は通常リアプノフ-フォスター関数と呼ばれる。 ある平衡点の安定性を証明できる可能性のある関数をリアプノフ候補関数と呼ぶ。リアプノフ候補関数を構成する、あるいは見出す一般的な方法は存在しない。また、リアプノフ(候補)関数を見つけることができないという事実が安定性の欠如を確定するものでもない。つまり、リアプノフ関数を見つけることができないということは、そのシステムが不安定ということを意味しない。力学系においては、保存則がリアプノフ候補関数を構成する上で多用される。 リアプノフ(候補)関数に直接関係している、自励系に関するリアプノフの基礎定理は、自励系の平衡点の安定性を証明する上で有用なツールである。 ただし、自励系に関するリアプノフの基礎定理は平衡点の安定性を証明するための十分条件を与えるツールであるが、必要条件を与えるものではないことに十分注意する必要がある。ある平衡点に対してリアプノフ関数を見出すことは運によると言える。ある平衡点に対するリアプノフ候補関数のテストは、試行錯誤によることになる。同程度に安定な領域は、たいてい2次元平面上で曲線をたどるので、コンピューターによって描かれるリアプノフ指数のイメージは視覚的に魅力的で非常にポピュラーである。 g : R n → R n {\displaystyle g:\mathbb {R} ^{n}\to \mathbb {R} ^{n}} y ˙ = g ( y ) {\displaystyle {\dot {y}}=g(y)\,} を任意の自励系とする。 0 = g ( y ∗ ) {\displaystyle 0=g(y^{*})\,} となる点 y ∗ {\displaystyle y^{*}\,} を平衡点 (equilibrium) と呼ぶ。 なお、ここで座標変換 x = y − y ∗ {\displaystyle x=y-y^{*}\,} を行えば、 x ˙ = g ( x + y ∗ ) = f ( x ) {\displaystyle {\dot {x}}=g(x+y^{*})=f(x)\,} f ( 0 ) = 0 {\displaystyle f(0)=0\,} となり、新しい座標系では f ( x )   {\displaystyle f(x)\ } は原点に平衡点を持つとできるので、以降論議を簡単にするために、平衡点は原点にあるものとする。 V : R n → R {\displaystyle V:\mathbb {R} ^{n}\to \mathbb {R} } を連続微分可能な実数値関数とする。 V {\displaystyle V} が、原点 0 {\displaystyle 0} において局所的に正値関数である場合、リアプノフ候補関数と呼ぶ。ここで、 V   {\displaystyle V\ } が原点において局所的に正値関数であるとは、 0 {\displaystyle 0} のある近傍 B {\displaystyle {\mathcal {B}}} において、 V ( 0 ) = 0 {\displaystyle V(0)=0\,} V ( x ) > 0 ∀ x ∈ B ∖ { 0 } {\displaystyle V(x)>0\quad \forall x\in {\mathcal {B}}\setminus \{0\}} が成り立つこととする。 V {\displaystyle V} が正値関数であるという条件は、 lim x → 0 V ( x ) | x | ≥ 0 {\displaystyle \lim _{x\to 0}{\frac {V(x)}{|x|}}\geq 0} ということを保証する。なぜならば、この値が負になるためには、 B {\displaystyle {\mathcal {B}}} 内に V ( x ) < 0   {\displaystyle V(x)<0\ } となる点 x   {\displaystyle x\ } が存在しなければ不可能だからである。一方、 V ( x ) = | x | 2   {\displaystyle V(x)=|x|^{2}\ } とおけば確かに V   ( x ) {\displaystyle V\ (x)} は原点において局所的に正値関数であるが、 lim x → 0 V ( x ) | x | = 0 {\displaystyle \textstyle \lim _{x\to 0}{\frac {V(x)}{|x|}}=0} となるので、上式の値が 0 {\displaystyle 0} の場合もあり得ることが分かる。 また、 x ˙ = f ( x ) {\displaystyle {\dot {x}}=f(x)\,} を原点に平衡点を持つ自励系とし、 V   {\displaystyle V\ } をその自励系の原点についてのリアプノフ候補関数とすると、自励系の任意の解 x ( t )   {\displaystyle x(t)\ } に沿って(以降、パラメーター t   {\displaystyle t\ } を時刻と見なすこととする) V ( x ( t ) )   {\displaystyle V(x(t))\ } の時間微分は次のようになる。 V ˙ ( x ( t ) ) = ∂ V ∂ x ⋅ d x ( t ) d t = ∇ V ⋅ x ˙ ( t ) = ∇ V ⋅ f ( x ( t ) ) {\displaystyle {\dot {V}}(x(t))={\frac {\partial V}{\partial x}}\cdot {\frac {dx(t)}{dt}}=\nabla V\cdot {\dot {x}}(t)=\nabla V\cdot f(x(t))} 自励系であれば V ˙ {\displaystyle {\dot {V}}} の値は t   {\displaystyle t\ } に無関係に x   {\displaystyle x\ } だけで決まるので、 V ˙ {\displaystyle {\dot {V}}} を x   {\displaystyle x\ } の関数と見なして良いことを注意しておく。 リアプノフ候補関数がさらに下記に述べるような諸条件を満たす場合、リアプノフ関数と呼ぶ。 リアプノフ安定な平衡点、漸近的に安定な平衡点についての定義はリアプノフ安定の項を参照のこと。 x ˙ = f ( x ) {\displaystyle {\dot {x}}=f(x)\,} を原点に平衡点を持つ自励系とし、 V   {\displaystyle V\ } を原点についてのリアプノフ候補関数とする。 もし、 0 {\displaystyle 0} のある近傍 B {\displaystyle {\mathcal {B}}} で V   {\displaystyle V\ } が 局所的に正値関数であり、さらに V ˙ {\displaystyle {\dot {V}}} が局所的に準負値関数であれば、つまり V ˙ ( 0 ) = 0 {\displaystyle {\dot {V}}(0)=0} V ˙ ( x ) ≤ 0 ∀ x ∈ B ∖ { 0 } {\displaystyle {\dot {V}}(x)\leq 0\quad \forall x\in {\mathcal {B}}\setminus \{0\}} であれば、その平衡点はリアプノフ安定である。 もし、 0 {\displaystyle 0} のある近傍 B {\displaystyle {\mathcal {B}}} で V   {\displaystyle V\ } が 局所的に正値関数であり、さらに V ˙ {\displaystyle {\dot {V}}} が局所的に負値関数であれば、つまり V ˙ ( 0 ) = 0 {\displaystyle {\dot {V}}(0)=0} V ˙ ( x ) < 0 ∀ x ∈ B ∖ { 0 } {\displaystyle {\dot {V}}(x)<0\quad \forall x\in {\mathcal {B}}\setminus \{0\}} であれば、その平衡点は漸近安定である。 もし、 V   {\displaystyle V\ } が (定義域に渡って) 大域的に正値関数であり、動径方向に極限値を持たず、さらに V ˙ {\displaystyle {\dot {V}}} が大域的に負値関数であれば、つまり V ˙ ( 0 ) = 0 {\displaystyle {\dot {V}}(0)=0} V ˙ ( x ) < 0 ∀ x ∈ R n ∖ { 0 } {\displaystyle {\dot {V}}(x)<0\quad \forall x\in \mathbb {R} ^{n}\setminus \{0\}} であれば、その平衡点は大域的に漸近安定である。 ここで、正値関数 V   {\displaystyle V\ } が動径方向に極限値を持たない (radially unbounded) とは、 | x | → ∞ ⇒ V ( x ) → ∞ {\displaystyle |x|\to \infty \Rightarrow V(x)\to \infty } が成り立つことを言う (これは norm-coercivity とも呼ばれる)。この対偶を取ると、 V ( x ) < ∞ ⇒ | x | < ∞ {\displaystyle V(x)<\infty \Rightarrow |x|<\infty } となるので、自励系の任意の解 x ( t )   {\displaystyle x(t)\ } に沿って V ( x ( t ) )   {\displaystyle V(x(t))\ } が任意の時刻 t   {\displaystyle t\ } で有限値を取ることが言えれば、 | x ( t ) |   {\displaystyle |x(t)|\ } も有限値を取ることが言える。 また、平衡点が大域的に漸近安定であるとは、自励系の任意の解 x ( t )   {\displaystyle x(t)\ } が平衡点に収束することを言う。 R {\displaystyle \mathbb {R} } における次のような常微分方程式を考える。 x ˙ = − x {\displaystyle {\dot {x}}=-x} この場合、速度ベクトルは常に原点の方向を向く。従って原点からの距離は、時刻と共に減少することになるので、これはリアプノフ関数の自然な候補となる。 R ∖ { 0 } {\displaystyle \mathbb {R} \setminus \{0\}} 上で V ( x ) = | x | {\displaystyle V(x)=|x|} と置けば[疑問点 – ノート]、 V ˙ ( x ) = V ′ ( x ) f ( x ) = s i g n ( x ) ⋅ ( − x ) = − | x | < 0 {\displaystyle {\dot {V}}(x)=V'(x)f(x)=\mathrm {sign} (x)\cdot (-x)=-|x|<0} これは確かに原点が漸近的に安定でことを示している。 常微分方程式 リアプノフ安定 制御理論 不動点 Weisstein, Eric W. "Lyapunov Function". mathworld.wolfram.com (英語). Khalil, H.K. (1996), Nonlinear systems, Prentice Hall Upper Saddle River, NJ  この記事は、クリエイティブ・コモンズ・ライセンス 表示-継承 3.0 非移植のもと提供されているオンライン数学辞典『PlanetMath』の項目Liapunov functionの本文を含む Example of determining the stability of the equilibrium solution of a system of ODEs with a Lyapunov function Some Lyapunov diagrams