初級Mathマニアの寝言

数学は色々なところで応用可能であり、多くの人が数学の抽象的な概念の意味や意義を鮮明に知ることができれば今まで以上に面白い物や仕組みが生まれるかもしれません。このブログは数学を専門にしない人のために抽象的な概念の意味や意義を分かりやすく説明することを目的としています。数学を使って何かしたい人のお役に立てたら幸いです。

多様体上の接続と平行移動

この記事では多様体上の接続と平行移動という概念について解説します。なお、この記事を理解するためには多様体、接空間、ベクトル場といった概念を理解しておく必要がありますが、それらについては以下の記事を参考にしてください。

多様体上のアファイン接続

多様体上のアファイン接続という概念は多様体上の異なる2点の接空間を関係付ける(つなげる)概念であり、以下のように定義されます。                                                                                              

f:id:ogyahogya:20180824135857p:plain

ここで、 \mathfrak{X}(M) M 上の滑らかなベクトル場全体の集合です。定義の(i)と(ii)から  \nabla_X Y Y について  {\bf R}-線形で、(iii)と(iv)から  \nabla_X Y X について  C^{\infty}(M)-線形であることが分かります。また、(ii)は  \nabla がライプニッツ則を満たすことを意味しています。

アファイン接続の定義はかなり抽象的であるため、異なる接空間のつながり方を定めていることがイメージしにくいと思います。そこで、以下で詳しくアファイン接続が接空間をつなげている様子を見ていきたいと思います。そのために、まず共変微分が具体的には何なのかを考えます。

ユークリッド空間の場合の共変微分

まず、多様体がユークリッド空間の場合には、方向微分は共変微分になることを説明します。

多様体  M がユークリッド空間  {\bf R}^n の場合を考えましょう。ユークリッド空間  {\bf R}^n 上の任意の滑らかなベクトル場  X, Y \in \mathfrak{X}({\bf R}^n) が与えられているとします。このとき、 Y の点  p\in {\bf R}^n での  X に沿った方向微分(ガトー微分)とは、

で紹介したように、\begin{align} ({\rm D}_X Y)(p):={\rm D}_{X(p)} Y(p) = \lim_{t\rightarrow 0} \frac{Y(p+tX(p)) -Y(p)}{t} \end{align} のことです。ベクトル場のベクトル場に沿った方向微分は共変微分と同じ形をしている以下の性質を満たします

f:id:ogyahogya:20180903104939p:plain

方向微分が上の性質を満たすことの証明はどれも簡単ですが、(ii) と (iii) を証明しておきます。まず (ii) の証明をします。任意の  p\in {\bf R}^n に対して \begin{align} ({\rm D}_X (fY))(p) = \lim_{t\rightarrow 0} \frac{ (fY)(p+tX(p)) -(fY)(p)}{t} \end{align} が成り立ちますが、右辺は \begin{align} \lim_{t\rightarrow 0} \frac{ f(p+tX(p))Y(p+tX(p)) -f(p)Y(p+tX(p))}{t} + \lim_{t\rightarrow 0} \frac{f(p)Y(p+tX(p)) -f(p)Y(p)}{t} \end{align} のことですので (ii) が成り立ちます。次に (iii) の証明をします。 ベクトル場  Z は滑らかなのでガトー微分とフレッシェ微分が一致して \begin{align} {\rm D}_X Z(p) = {\rm D} Z(p)[X(p)] \end{align} が成り立ちます。フレッシェ微分 (ここでは普通のヤコビ行列)  {\rm D} Z(p) は線形ですので、 \begin{align} {\rm D}_{X+Y} Z(p) = {\rm D} Z(p) [X(p)+Y(p)] = {\rm D} Z(p)[X(p)] + {\rm D} Z(p)[Y(p)] = {\rm D}_X Z(p) + {\rm D}_Y Z(p) \end{align} となるので (iii) が成り立ちます。

任意の  X, Y\in \mathfrak{X}({\bf R}^n) に対して方向微分  {\rm D}_X Y \mathfrak{X}({\bf R}^n) の要素となるので、多様体  M がユークリッド空間の場合は方向微分は共変微分になっているということが確認できました。つまり、ユークリッド空間の場合は方向微分によってアファイン接続が定義できるということです。

ユークリッド空間の部分多様体の場合の共変微分

次に、多様体がユークリッド空間の部分多様体の場合には、方向微分は共変微分にならず、方向微分の接空間への射影が共変微分になることを説明します。

局所座標を使わない説明

上と同じように多様体  M= {\bf R}^n で任意の滑らかなベクトル場  X, Y \in \mathfrak{X}({\bf R}^n) が与えられているとします。そして、 U をユークリッド空間  {\bf R}^n の部分多様体だとします。ベクトル場  X, Y {\bf R}^n 上で与えられていますが、  U 上に制限して  X, Y\in \mathfrak{X}(U) だとも考えることができます。このとき  X Y に沿った方向微分  {\rm D}_X Y \mathfrak{X}(U) に入っているでしょうか? 一般には入っていません。つまり、 X(p),\, Y(p) は多様体  U の点  p での接空間  T_p U の要素ですが、 {\rm D}_X Y (p) は接空間  T_p U の要素にはなっていないことがあります。これは、 {\rm D}_X Y(p)\in T_p {\bf R}^n は言えますが、  {\rm D}_X Y(p) \in T_p U は言えないということです。 X,Y\in \mathfrak{X}(U) なら  {\rm D}_X Y\in \mathfrak{X}(U) が言えないので  {\rm D}_X Y を共変微分とは言えないということになります。

しかし、 T_p{\bf R}^n = T_p U \oplus (T_p U)^{\perp} と直交直和分解すると、 {\rm D}_X Y(p)                                                                                            \begin{align} {\rm D}_X Y(p) = {\rm P}_p ({\rm D}_X Y(p)) + {\rm P}^{\perp}_p({\rm D}_X Y(p)) \end{align} と一意に分解することができます。ここで、\begin{align} {\rm P}_p: T_p {\bf R}^n \rightarrow T_p U \end{align} は射影です。この事実を利用して\begin{align} \nabla_X Y(p):={\rm P}_p ({\rm D}_X Y(p)) \end{align} と \nabla を定義すると  \nabla_X Y は共変微分の性質 (i)~(iv) を満たします。つまり、方向微分の接空間への射影は共変微分になり、これによってアファイン接続が定義できました。ここまでの議論を図示すると以下のような感じです。

f:id:ogyahogya:20180903104954p:plain

局所座標と曲線を使った説明

次に、多様体がユークリッド空間の部分多様体の場合で、ユークリッド空間上のベクトル場を与えられた曲線から定められる速度ベクトル場に沿った方向微分は共変微分には一般にはならないことを局所座標を用いて確認します

多様体  {\bf R}^n と任意の滑らかなベクトル場  X \in \mathfrak{X}({\bf R}^n) を考えます。そして、 M をユークリッド空間  {\bf R}^n m (< n) 次元の部分多様体だとして、 M 上の曲線  c:(a,b)\rightarrow M が与えられているとします。

曲線  c は局所座標  (x_1,x_2,\ldots, x_m) を用いて  c(t)=(x_1(t),x_2(t),\ldots,x_m(t)) と書けます。部分多様体  M の曲線  c 上ではベクトル場  X と速度ベクトル場  \dot{c} は \begin{align} X(c(t)) &= \sum_{i=1}^m f_i(x_1(t),x_2(t),\ldots, x_m(t)) \left( \frac{\partial}{\partial x_i}\right)_{c(t)} \\ \dot{c}(t) &= \sum_{i=1}^m \dot{x}_i(t) \left(\frac{\partial}{\partial x_i}\right)_{c(t)} \end{align} と書けます。つまり、 X(c(t)) \in T_{c(t)} M,\, \dot{c}(t)\in T_{c(t)} M です。

これからベクトル場  X\in \mathfrak{X}({\bf R}^n) を曲線の速度ベクトル場  \dot{c}\in \mathfrak{X}(c) に沿って方向微分します。ここで、 \mathfrak{X}(c) は曲線  c 上の滑らかなベクトル場全体の集合です。曲線  c 上では  X\in \mathfrak{X}(c) になることを注意してください。ベクトル場のベクトル場に沿った方向微分の性質 (i)~(iv) を用いると方向微分  {\rm D}_{\dot{c}} X(c(t)) は以下のように計算できます。

f:id:ogyahogya:20180905095706p:plain

つまり  X(c(t)), \dot{c}(t)\in T_{c(t)}M ですが、  {\rm D}_{\dot{c}}X(c(t))\in T_{c(t)}M とは以下の理由で言えません。                                                                                            

f:id:ogyahogya:20180904120225p:plain

さらに、 c:(a,b)\rightarrow M がベクトル場  X の積分曲線、つまり  \dot{c}(t) = X(c(t)) だとすると、上の計算結果より\begin{align} {\rm D}_{\dot{c}} \dot{c}(c(t)) = \sum_{j=1}^m \ddot{x}_j(t) \left( \frac{\partial}{\partial x_j}\right)_{c(t)} + \sum_{i=1}^m \sum_{j=1}^m \dot{x}_i(t)\dot{x}_j(t) {\rm D}_{(\frac{\partial}{\partial x_i})_{c(t)}}\left( \frac{\partial}{\partial x_j}\right)_{c(t)} \end{align}が得られます。以下の具体例で具体的に見るように、この  {\rm D}_{\dot{c}}\dot{c}(c(t)) は局所座標を用いた曲線の2回微分  \ddot{c}(t)、つまり加速度ベクトルに等しいです。したがって曲線  c:(a,b)\rightarrow M の速度ベクトル  \dot{c}(t) T_{c(t)} M に入っていますが、加速度ベクトル  \ddot{c}(t) は一般には  T_{c(t)} M に入っていないということが分かりました。 

具体例

ここまでの内容を具体的に見てみます。例として、多様体  M を以下の単位球面とします。この球面の上半分を局所座標  (x_1, x_2) を用いてパラメータ表示します。

f:id:ogyahogya:20180831150820p:plain

この球面上に曲線  c があり、この曲線に沿ったベクトル場  \dot{c} があるとします。このとき、ベクトル場  \dot{c} を同じベクトル場  \dot{c} に沿って共変微分するとどうなるか具体的に見てみます。

そのために、まず点  c(t)\in M での接ベクトル  \dot{c}(t) が\begin{align} \dot{c}(t) = \dot{x}_1(t) \left(\frac{\partial}{\partial x_1}\right)_{c(t)} + \dot{x}_2(t) \left(\frac{\partial}{\partial x_2}\right) _{c(t)} \end{align} と書けたことを思い出しましょう。つまり、接空間  T_{c(t)} M は \begin{align} T_{c(t)} M={\rm span}\, \{\left(\frac{\partial}{\partial x_1}\right)_{c(t)}, \left(\frac{\partial}{\partial x_2}\right)_{c(t)} \} \end{align} と書けました。しかし、 \left(\frac{\partial}{\partial x_i}\right)_{c(t)} という書き方は接ベクトルの微分作用素としての側面を強調した書き方のため分かりにくいかもしれません。接ベクトルを矢印のベクトルとして理解するために、 T_{c(t)} M {\bf R}^3 の2次元の部分空間を同一視して考えましょう。つまり、 T_{c(t)} M を2次元のユークリッド空間だと考えましょう。

具体的には以下のように  T_{c(t)} M を2次元のユークリッド空間だと考えることができます。上の図で示した写像  q:{\bf R}^2\rightarrow M を用いて曲線  c を\begin{align} c(t) = q(x_1(t),x_2(t))=q(x(t)) \end{align} と書きます。そうすると、接ベクトル  \dot{c}(t) は\begin{align} \dot{c}(t) = \dot{x}_1(t)\frac{\partial q}{\partial x_1}(x(t))+\dot{x}_2(t)\frac{\partial q}{\partial x_2}(x(t)) \end{align} となります。ここで、\begin{align} \frac{\partial q}{\partial x_1}(x(t)) = \begin{pmatrix} 1 \\ 0 \\ -\frac{x_1(t)}{\sqrt{1-x_1^2(t)-x_2^2(t)}} \end{pmatrix}, \,\,\,\, \frac{\partial q}{\partial x_2}(x(t)) = \begin{pmatrix} 0 \\ 1 \\ -\frac{x_2(t)}{\sqrt{1-x_1^2(t)-x_2^2(t)}} \end{pmatrix} \end{align} です。したがって、 T_{c(t)} M を2次元のユークリッド空間だと考えてるということは  \frac{\partial}{\partial x_i} \frac{\partial q}{\partial x_i} と同一視するということを意味しています。

さらに、接ベクトル  \dot{c}(t) t について微分して加速度ベクトル  \ddot{c}(t) を計算すると以下のようになります。\begin{align} \ddot{c}(t) = \sum_{i=1}^2 \left( \ddot{x}_i(t) \frac{\partial q}{\partial x_i}(x(t))+\dot{x}^2_i(t)\frac{\partial^2 q}{\partial x_i^2}(x(t)) \right) +2\dot{x}_1(t)\dot{x}_2(t)\frac{\partial^2 q}{\partial x_1\partial x_2}(x(t)) \end{align}ここで、 {\rm D}_{\frac{\partial}{\partial x_i}} \left(\frac{\partial}{\partial x_j} \right) = \frac{\partial^2 q}{\partial x_i \partial x_j} なので、\begin{align} \ddot{c}(t) = {\rm D}_{\dot{c}}\dot{c}(c(t)) \end{align} となることを確認できました。

もっと詳しく加速度ベクトル  \ddot{c}(t) を調べます。表記を簡単にするために、 q_i:= \frac{\partial q}{\partial x_i} と書いて、 e:= q_1\times q_2 q_1 q_2 の外積によって  e を定義すると、 q_1, q_2, e {\bf R}^3 の基底ベクトルになるため \begin{align} \frac{\partial^2 q}{\partial x_i \partial x_j}(x(t)) = \Gamma^1_{ij}(x(t))q_1(x(t))+\Gamma^2_{ij}(x(t))q_2(x(t)) + v_{ij} e \end{align} と書くことができます。ここで、 \frac{\partial^2 q}{\partial x_1 \partial x_2}=\frac{\partial^2 q}{\partial x_2 \partial x_1} なので  \Gamma^k_{12} = \Gamma^k_{21},\, v_{12}=v_{21} が成り立ちます。したがって、加速度ベクトルは \begin{align} \ddot{c}(t) =& \sum_{i=1}^2(\ddot{x}_i(t) + \dot{x}_1^2(t) \Gamma_{11}^i + 2\dot{x}_1(t)\dot{x}_2(t) \Gamma_{12}^i + \dot{x}_2^2(t) \Gamma_{22}^i) q_i\\ &+ (\dot{x}_1^2(t)v_{11} + 2\dot{x}_1(t) \dot{x}_2(t)v_{12} + \dot{x}_2^2(t) v_{22} ) e \end{align} となります。この式から一般には加速度ベクトル  \ddot{c}(t) には  e 方向の成分があることが分かります。よって、ベクトル  e の定義から  e q_1, q_2 は直交しているため、 e の成分がゼロにならない限り  \ddot{c}(t) は接空間  T_{c(t)} M からはみ出るということを意味しています。

加速度ベクトル  \ddot{c}(t) e の成分がゼロになると実は \ddot{c}(t) は接空間  T_{c(t)} M の要素だということになりますが、一般にはならないことを念のため数値的に確認します。まず、 e=q_1\times q_2 なので \begin{align} e = \begin{pmatrix} \frac{x_1(t)}{\sqrt{1-x_1^2(t)-x_2^2(t)}} \\ \frac{x_2(t)}{\sqrt{1-x_1^2(t)-x_2^2(t)}} \\ 1 \end{pmatrix} \end{align} となります。また、\begin{align} \frac{\partial^2 q}{\partial x_1^2} = \begin{pmatrix} 0 \\ 0 \\ \frac{x_2^2-1}{(1-x_1^2-x_2^2)^{3/2}} \end{pmatrix},\,\, \frac{\partial^2 q}{\partial x_2^2} = \begin{pmatrix} 0 \\ 0 \\ \frac{x_1^2-1}{(1-x_1^2-x_2^2)^{3/2}} \end{pmatrix},\,\,  \frac{\partial^2 q}{\partial x_1 \partial x_2} = \begin{pmatrix} 0 \\ 0 \\ -\frac{x_1x_2}{(1-x_1^2-x_2^2)^{3/2}} \end{pmatrix} \end{align}となります。したがって、\begin{align} \frac{\partial^2 q}{\partial x_1^2} &= \frac{x_1(1-x_2^2)}{1-x_1^2-x_2^2}q_1 + \frac{x_2(1-x_2^2)}{1-x_1^2-x_2^2}q_2 -\frac{1-x_2^2}{\sqrt{1-x_1^2-x_2^2}}e \\ \frac{\partial^2 q}{\partial x_2^2} &= \frac{x_1(1-x_1^2)}{1-x_1^2-x_2^2}q_1 + \frac{x_2(1-x_1^2)}{1-x_1^2-x_2^2}q_2 -\frac{1-x_1^2}{\sqrt{1-x_1^2-x_2^2}}e \\ \frac{\partial^2 q}{\partial x_1 \partial x_2} &= \frac{x_1^2 x_2}{1-x_1^2-x_2^2}q_1 + \frac{x_1x_2^2}{1-x_1^2-x_2^2}q_2 -\frac{x_1x_2}{\sqrt{1-x_1^2-x_2^2}}e \end{align}です。よって、 (x_1(t),x_2(t))=(1/2,0) のとき、\begin{align} \frac{\partial^2 q}{\partial x_1^2} &= \frac{2}{3}q_1 -\frac{2\sqrt{3}}{3}e \\ \frac{\partial^2 q}{\partial x_2^2} &= \frac{1}{2}q_1 -\frac{\sqrt{3}}{2}e \end{align} となって、\begin{align} \Gamma_{11}^1 = \frac{1}{2},\,\, \Gamma_{11}^2 = 0,\,\, \Gamma_{22}^1= \frac{1}{2},\,\, \Gamma_{22}^2 = 0,\,\, \Gamma_{12}^1=\Gamma_{12}^2=0,\,\, v_{11}= -\frac{2\sqrt{3}}{3},\,\, v_{22} = -\frac{\sqrt{3}}{2},\,\, v_{12} = 0  \end{align} が得られます。つまり、加速度ベクトル  \ddot{c}(t) e 成分は \begin{align} -\frac{2\sqrt{3}}{3} \dot{x}_1^2(t) -\frac{\sqrt{3}}{2}\dot{x}_2^2(t) \end{align} となって、 \dot{x}_1(t)=\dot{x}_2(t)=0 でない限り  e 成分はゼロにならないことが分かりました。これは一般には  \ddot{c}(t)\not\in T_{c(t)}M であることを意味しています。

ユークリッド空間の部分多様体の場合における平行と平行移動の概念

上の説明よりユークリッド空間  {\bf R}^n 上のベクトル場  X\in \mathfrak{X}({\bf R}^n) m 次元部分多様体  M 上の曲線  c の速度ベクトル場  \dot{c}\in \mathfrak{X}(c) に沿って方向微分すると\begin{align} {\rm D}_{\dot{c}}X(c(t)) \not\in T_{c(t)} M \end{align} でした。そこで、上で説明した射影  {\rm P}_{c(t)}: T_{c(t)}{\bf R}^n \rightarrow T_{c(t)} M を用いて\begin{align} \nabla_{\dot{c}(t)} X(c(t)) := {\rm P}_{c(t)} ( {\rm D}_{\dot{c}} X(c(t)) ) \end{align} を定義します。すると、 \nablaアファイン接続となります。射影  {\rm P}_{c(t)} は線形なので\begin{align} \nabla_{\dot{c}} X(c(t)) = \sum_{j=1}^m \frac{df_j}{dt}(c(t)) \left( \frac{\partial}{\partial x_j}\right)_{c(t)} + \sum_{i=1}^m \sum_{j=1}^m \dot{x}_i(t) f_j(t) \nabla_{(\frac{\partial}{\partial x_i})_{c(t)}}\left( \frac{\partial}{\partial x_j}\right)_{c(t)} \end{align} となりますが、ある滑らかな関数  \Gamma_{ij}^k:M\rightarrow {\bf R} を用いて\begin{align} \nabla_{(\frac{\partial}{\partial x_i})_{c(t)}}\left( \frac{\partial}{\partial x_j}\right)_{c(t)} = \sum_{k=1}^m \Gamma_{ij}^k(c(t)) \left( \frac{\partial}{\partial x_k}\right)_{c(t)} \end{align}と書けますので、\begin{align} \nabla_{\dot{c}} X(c(t)) = \sum_{k=1}^m \left( \frac{df_k}{dt}(c(t)) + \sum_{i=1}^m \sum_{j=1}^m \Gamma_{ij}^k(c(t)) \dot{x}_i(t) f_j(t) \right) \left( \frac{\partial}{\partial x_k}\right)_{c(t)} \end{align}となります。これがゼロになるとき、つまり、\begin{align} \nabla_{\dot{c}} X(c(t)) = 0 \end{align} が成り立つときにベクトル場  X\in \mathfrak{X}({\bf R}^n) がアファイン接続  \nabla に関して曲線  c に沿って平行であると言います。また、 \nabla_{\dot{c}} X(c(t))=0\begin{align}  \frac{df_k}{dt}(c(t)) + \sum_{i=1}^m \sum_{j=1}^m \Gamma_{ij}^k(c(t)) \dot{x}_i(t) f_j(t)=0 \quad (k=1,2,\ldots, m) \end{align} のことであることに注意しましょう。ただし、 c(t)=(x_1(t),x_2(t),\ldots, x_m(t)) X(c(t))= \sum_{i=1}^m f_i(x_1(t),x_2(t),\ldots,x_m(t)) \left(\frac{\partial}{\partial x_i}\right)_{c(t)},\, \dot{c}(t) = \sum_{i=1}^m\dot{x}_i(t)\left(\frac{\partial}{\partial x_i}\right)_{c(t)} です。この微分方程式は\begin{align}\frac{d}{dt} \begin{pmatrix} f_1 \\ \vdots \\ f_m \end{pmatrix} = -
\begin{pmatrix} \sum_{i=1}^m\Gamma_{i1}^1\dot{x}_i & \cdots & \sum_{i=1}^m\Gamma_{im}^1\dot{x}_i \\ \vdots & & \vdots \\ \sum_{i=1}^m\Gamma_{i1}^m\dot{x}_i & \cdots & \sum_{i=1}^m\Gamma_{im}^m\dot{x}_i \end{pmatrix}\begin{pmatrix} f_1 \\ \vdots \\ f_m \end{pmatrix} \end{align} と書けるのでベクトル場  X の成分  f_1, f_2,\ldots, f_m に関して線形の微分方程式となっていることが分かります。したがって、点  c(a)\in M における接ベクトル  v\in T_{c(a)} M を任意に与えると、曲線  c に沿って平行なベクトル場であって、 X(c(a))=v を満たすものが、初期条件  X(c(a))=v のもとでの上の線形微分方程式の解として一意に定まります。このようにして定まる  X(c(b))\in T_{c(b)} M を曲線  c に沿って  v c(a) から  c(b) まで平行移動して得られる接ベクトルと言います。

このように平行と平行移動の概念が定義されました。しかし、この定義を満たしたときに平行と呼ぶ理由や、平行の定義に曲線が登場する理由は自明ではないと思います。そこで以下では、これらの理由を説明します。

平行の名前の由来

以下では、 \nabla_{\dot{c}} X(c(t))=0 が成り立つときに平行と呼ぶ理由を調べます。まず、2次元ユークリッド空間  {\bf R}^2 の場合では以下のことが成り立つときに( \nabla_{\dot{c}} X(c(t))=0 が成り立つかは知らなかったとしても)ベクトル場を平行と呼ぶことを自然に感じる人が多いと思います。

f:id:ogyahogya:20180905130052p:plain

上と同じベクトル場  X に加えて曲線  c:(a,b)\rightarrow {\bf R}^2 が与えられたすると、次のようにベクトル場  X はアファイン接続  \nabla (この場合は通常の方向微分から定義される)に関し曲線  c に沿って平行、つまり  \nabla_{\dot{c}} X(c(t)) =0 であることが分かります。

f:id:ogyahogya:20180905145722p:plain

このようにユークリッド空間に直交座標系を入れて考える場合、各点から出る矢印ベクトルがすべて同じ大きさと向きを持つようなベクトル場  X は曲線  c が与えられたときに  \nabla_{\dot{c}} X(c(t))=0 を満たします。

では、ユークリッド空間に直交座標系  (x_1,x_2) ではない以下のような曲線座標系  (y_1,y_2)を導入したらどうなるでしょうか?

f:id:ogyahogya:20180905161505p:plain

共変微分(方向微分)の結果が座標に依存するようでは困るので、直交座標系  (x_1,x_2) のときに  \nabla_{\dot{c}} X(c(t)) = 0 だったら曲線座標系  (y_1,y_2) の場合でも  \nabla_{\dot{c}} X(c(t))=0 と言いたいです。では、どのように曲線座標系  (y_1,y_2) の場合でも  \nabla_{\dot{c}} X(c(t))=0 だと言えるのでしょうか?直交座標系  (x_1,x_2) の場合は  \frac{df_k}{dt}=0 \Gamma_{ij}^k(x_1(t),x_2(t))=0 から  \nabla_{\dot{c}} X(c(t))=0 が言えました。曲線座標系  (y_1,y_2) の場合でも  \frac{dh_k}{dt}=0 \Gamma_{ij}^k(y_1(t),y_2(t))=0 から言えるのでしょうか?一般にはそのようには言えませんが、 \nabla_{\dot{c}} X(c(t))=0 を曲線座標系  (y_1,y_2) で表現したときの  \frac{\partial}{\partial y_1} の成分と  \frac{\partial}{\partial y_2} の成分がゼロになることから言えるということになります。つまり、曲線座標系  (y_1,y_2) の場合ではベクトル場  X がアファイン接続  \nabla に関し曲線  c に沿って平行であるというのは \begin{align} \frac{dh_k}{dt}(y_1(t),y_2(t)) + \sum_{i=1}^2 \sum_{j=1}^2 \Gamma_{ij}^k(y_1(t),y_2(t))\dot{y}_i(t) h_j(t) = 0\quad (k=1,2) \end{align} が成り立つときに言います。直交座標系を使うと  \Gamma_{ij}^k がゼロになりましたが、曲線座標系を使うとゼロにならなくなってしまうことからベクトル場が平行だということを上の微分方程式を満たすときに言おうということになります。なぜかというと、このときに直交座標系の場合と同様に  \nabla_{\dot{c}}X(c(t))=0 になるからです。

平行の概念を曲線を使って考える理由

ここでは、曲線を使わないで2点でのベクトルが平行であるかを議論することは一般には意味がないことを多様体  M が以下の単位球の場合に説明します。

f:id:ogyahogya:20180910123448p:plain

ただし、\begin{align} \frac{\partial p}{\partial v} = \begin{pmatrix} -\cos u \sin v \\ \cos u \cos v \\ 0 \end{pmatrix} \end{align} なので \begin{align} -\frac{\pi}{2}< u < \frac{\pi}{2},\quad -\pi \leq v \leq \pi \end{align} とします。

このとき、 u\neq \pm \frac{\pi}{2} となる  M 上の任意の滑らかなベクトル場  X は\begin{align} X(u,v) = f_1(u,v)e_1+ f_2(u,v)e_2 \end{align} と書けます。また、  M 上に曲線  c があるとすると、この曲線に関する速度ベクトル場は\begin{align} \dot{c} = \dot{u}(t)\frac{\partial}{\partial u} + \dot{v}(t) \frac{\partial}{\partial v} \end{align} となります。共変微分として方向微分の接空間への射影を採用してアファイン接続  \nabla を定めます。そうすると、ベクトル場  X がアファイン接続  \nabla に関して曲線  c に沿って平行である、つまり、 \nabla_{\dot{c}} X(c(t))=0 は\begin{align} \frac{d}{dt}\begin{pmatrix} f_1 \\ f_2 \end{pmatrix} = \begin{pmatrix} 0 & \dot{v} \sin u \\ -\dot{v}\sin u & 0 \end{pmatrix} \begin{pmatrix} f_1 \\ f_2 \end{pmatrix} \end{align}ということになります。

いま、 u=\alpha を定数で  v(t)=t とすると、 \dot{v}(t)=1 なので上の微分方程式の解は\begin{align}\begin{cases}  f_1(u(t),v(t)) = \cos (\lambda t)f_1(u(0),v(0)) +\sin (\lambda t) f_2(u(0),v(0)) \\ f_2(u(t),v(t)) = -\sin(\lambda t) f_1(u(0),v(0)) + \cos (\lambda t) f_2(u(0),v(0)) \end{cases} \end{align} となります。ただし、 \lambda = \sin \alpha です。よって、 f_1(u(0),v(0))=1,\, f_2(u(0),v(0))=0 のとき\begin{align} \begin{cases} f_1(u(\pi),v(\pi)) = \cos (\lambda \pi) \\ f_2(u(\pi),v(\pi)) = -\sin(\lambda \pi) \end{cases} \end{align} となります。つまり、時刻  t=0 で\begin{align} X(u(0),v(0))= \begin{pmatrix} 0 \\ 1\\ 0 \end{pmatrix} \end{align} のベクトルが時刻  t=\pi で \begin{align} X_1:= X(u(\pi),v(\pi))= \cos (\lambda \pi)\begin{pmatrix} 0 \\ -1\\ 0 \end{pmatrix} -\sin(\lambda \pi) \begin{pmatrix} \sin \alpha \\ 0 \\ \cos \alpha \end{pmatrix} \end{align}

となります。このベクトル  X_1 は点  p(\alpha,0) のベクトル  X(\alpha,0) を曲線  c_1(t)=p(\alpha,t) に沿って点  p(\alpha, \pi) まで平行移動したベクトルとなっていることに注意してください。

同様に、 u=\alpha を定数で  v(t)=-t とすると、 時刻  t=0 で\begin{align} X(u(0),v(0))= \begin{pmatrix} 0 \\ 1\\ 0 \end{pmatrix} \end{align} のベクトルが時刻  t=\pi で \begin{align} X_2:=X(u(\pi),v(\pi))= \cos (\lambda \pi)\begin{pmatrix} 0 \\ -1\\ 0 \end{pmatrix} +\sin(\lambda \pi) \begin{pmatrix} \sin \alpha \\ 0 \\ \cos \alpha \end{pmatrix} \end{align}となることが分かります。このベクトル  X_2 は点  p(\alpha,0) のベクトル  X(\alpha,0) を曲線  c_2(t)=p(\alpha,-t) に沿って点  p(\alpha, -\pi) まで平行移動したベクトルとなっています。

上の二つのベクトル  X_1 X_2 \lambda\neq 0 なら異なりますが、\begin{align} p(\alpha,\pi)=p(\alpha,-\pi) = \begin{pmatrix} -\cos \alpha\\ 0 \\ \sin \alpha \end{pmatrix} \end{align} となっており、 X_1 X_2 は同じ点のベクトルとなっています。しかも、この二つのベクトルは両方とも点  p(\alpha,0) のベクトル  X(\alpha,0) を平行移動して得られたベクトルでした。違いは、どの曲線に沿って平行移動したかだけです。

このように、同じ場所の同一のベクトルを異なる曲線に沿って平行移動すると、以下の図のような感じで一般には異なるベクトルが得られるので曲線を使って平行の概念を定義します

f:id:ogyahogya:20180910164339p:plain

一般の多様体の場合の平行と平行移動の概念

ここまでの話は多様体  M をユークリッド空間の部分多様体としてきました。つまり、多様体  M の外の世界もあるとしてきました。外の世界も考えていたので多様体の接空間からはみ出たベクトルを射影して接空間に落とすということも考えることができました。

以下では多様体  M の外の世界は考えないで説明します。つまり、アファイン接続は定義の(i)~(iv)を満たす抽象的な写像のことであり、部分多様体のときの場合のように「方向微分の射影」から定義されません。しかし、抽象的なままでは分かりにくいので部分多様体の場合をイメージしながら理解すれば良いかと思います(多様体がユークリッド空間の部分多様体の場合にも以下の議論は成り立ちますし、応用上はユークリッド空間の部分多様体を考える場合の方が多いと思われますので)。

 m 次元の多様体  M にアファイン接続  \nabla が定義されているとします。このとき、多様体  M の座標近傍  (U; x_1,x_2,\ldots, x_m) で \begin{align} \nabla_{\frac{\partial}{\partial x_i}} \frac{\partial}{\partial x_j} = \sum_{k=1}^m\Gamma_{ij}^k \frac{\partial}{\partial x_k} \end{align} で定まる  m^3 個の滑らかな関数  \Gamma_{ij}^k:U\rightarrow {\bf R} を局所座標系  (x_1,x_2,\ldots, x_m) に関する接続係数と言います。

多様体  M 上の滑らかな曲線  c:[a,b]\rightarrow M に沿って定義されたベクトル場  X\in \mathfrak{X}(c)\begin{align} \nabla_{\dot{c}}X(c(t))=0 \end{align} を満たすとき、 X はアファイン接続  \nabla に関して  c に沿って平行であると言います。これは、多様体  M がユークリッド空間の部分多様体の場合の平行の定義と一致しています。 座標近傍  (U;x_1,x_2,\ldots, x_m) 上で  \nabla_{\dot{c}} X(c(t))=0 を局所座標表示すると、 M が部分多様体の場合のときと同様に、\begin{align}  \frac{df_k}{dt}(c(t)) + \sum_{i=1}^m \sum_{j=1}^m \Gamma_{ij}^k(c(t)) \dot{x}_i(t) f_j(t)=0 \quad (k=1,2,\ldots, m) \end{align} となります。ただし、 c(t)=(x_1(t),x_2(t),\ldots, x_m(t)) X(c(t))= \sum_{i=1}^m f_i(x_1(t),x_2(t),\ldots,x_m(t)) \left(\frac{\partial}{\partial x_i}\right)_{c(t)},\, \dot{c}(t) = \sum_{i=1}^m\dot{x}_i(t)\left(\frac{\partial}{\partial x_i}\right)_{c(t)} です。この微分方程式は\begin{align}\frac{d}{dt} \begin{pmatrix} f_1 \\ \vdots \\ f_m \end{pmatrix} = -
\begin{pmatrix} \sum_{i=1}^m\Gamma_{i1}^1\dot{x}_i & \cdots & \sum_{i=1}^m\Gamma_{im}^1\dot{x}_i \\ \vdots & & \vdots \\ \sum_{i=1}^m\Gamma_{i1}^m\dot{x}_i & \cdots & \sum_{i=1}^m\Gamma_{im}^m\dot{x}_i \end{pmatrix}\begin{pmatrix} f_1 \\ \vdots \\ f_m \end{pmatrix} \end{align} と書けるのでベクトル場  X の成分  f_1, f_2,\ldots, f_m に関して線形の微分方程式となっていることが分かります。したがって、点  c(a)\in M における接ベクトル  v\in T_{c(a)} M を任意に与えると、曲線  c に沿って平行なベクトル場であって、 X(c(a))=v を満たすものが、初期条件  X(c(a))=v のもとでの上の線形微分方程式の解として一意に定まります。このようにして定まる  X(c(b))\in T_{c(b)} M を曲線  c に沿って  v c(a) から  c(b) まで平行移動して得られる接ベクトルと言います。

平行移動を定める線形微分方程式の中には接続係数  \Gamma_{ij}^k が含まれていて、この接続係数はアファイン接続から定まります。平行移動は異なる2点の接空間の要素である接ベクトルを関係付けていますから、アファイン接続は異なる2点の接空間のつながり方(関係性)を定めているというように考えることができます

参考文献

(1) アファイン接続などの説明の参考にしました。

情報幾何学の基礎 (数理情報科学シリーズ)

情報幾何学の基礎 (数理情報科学シリーズ)

 

(2) 平行の概念を曲線を使って定義する理由の解説を参考にしました。

曲線と曲面の微分幾何

曲線と曲面の微分幾何

 

 (3) 多様体がユークリッド空間の部分多様体である場合には、方向微分の接空間への射影が共変微分になることの説明の参考にしました。

Optimization Algorithms on Matrix Manifolds

Optimization Algorithms on Matrix Manifolds

 

 

 

ガトー微分とフレッシェ微分:方向微分と勾配の一般化

この記事ではノルム空間の間に定義された関数のガトー微分とフレッシェ微分について解説します。この記事の全体を通して  \mathcal{E}, \mathcal{F} {\bf R} 上のノルム空間とします。ここで、ノルム空間とはノルムが定義されたベクトル空間のことです。例えば、 {\bf R}^m m 次元のベクトル空間で任意の  x=(x_1,x_2,\ldots, x_m)\in {\bf R}^m に対して  ||\cdot || ||x||:= \sqrt{x_1^2+x_2^2+\cdots +x_m^2} と定義することで  ||\cdot|| はノルムとなり、 {\bf R}^m m 次元のノルム空間ということになります。

ノルム空間  \mathcal{E}, \mathcal{F} は有限次元かもしれないし、

で紹介したような2乗可積分な関数全体の集合  L^2({\bf R}) のように無限次元かもしれないことに注意してください。

 

全微分と方向微分

まず、 \mathcal{E}={\bf R}^n, \mathcal{F}={\bf R}^m とします。このとき、 f:{\bf R}^n\rightarrow {\bf R}^m p\in {\bf R}^n において全微分可能であるとは線形写像  L:{\bf R}^n \rightarrow {\bf R}^m が存在して、\begin{align} \lim_{h\rightarrow 0} \frac{||f(p+h) -f(p) -Lh||}{||h||} = 0 \end{align} となるときに言います。ここで、 ||\cdot || はユークリッドノルムです。この線形写像  L は存在したら一意に定まって、 f p での微分と言い \begin{align} \frac{\partial f}{\partial x}(p) \end{align} と書きます。行列  \frac{\partial f}{\partial x}(p)\in {\bf R}^{m\times n} f p でのヤコビ行列と言います。特に、 m=1 のときのヤコビ行列を勾配と言います。

また、関数  f:{\bf R}^n\rightarrow {\bf R}^m p\in U での  0\neq h\in {\bf R}^n に沿った方向微分とは\begin{align} \lim_{t\rightarrow 0} \frac{f(p+th)-f(p)}{t} \end{align} のことでした。方向微分とヤコビ行列の間には、ヤコビ行列が存在するなら、 \begin{align} \lim_{t\rightarrow 0} \frac{f(p+th)-f(p)}{t}=\frac{\partial f}{\partial x}(p) h \end{align} という関係があります。特に、 m=1 のときは、\begin{align} hに沿った方向微分 = 勾配とhの内積 \end{align} という関係が得られます。

以下で紹介するガトー微分は方向微分の一般化、フレッシェ微分は勾配の一般化です。その前に、線形写像の連続性と有界性の関係について紹介しておきます。

ノルム空間の間の線形写像の連続性と有界性

ノルム空間の間の関数  f:\mathcal{E}\rightarrow \mathcal{F} が点  x^*\in \mathcal{E}連続であるとは、任意の  \epsilon>0 に対して、ある  \delta>0 が存在して\begin{align} ||x-x^*||<\delta \Rightarrow ||f(x)-f(x^*)||<\epsilon \end{align} が成り立つことでした。ここで、 \Rightarrow の左の  ||\cdot|| \mathcal{E} のノルムで \Rightarrow の右の  ||\cdot|| \mathcal{F} のノルムであることに注意してください。

関数  f:\mathcal{E}\rightarrow \mathcal{F} が線形で、ある  K\geq 0 が存在して、任意の  x\in \mathcal{E} に対して\begin{align} ||f(x)|| \leq K ||x|| \end{align} が成り立つときに関数  f有界線形写像と言います。

ノルム空間の間の線形写像  f:\mathcal{E}\rightarrow \mathcal{F} に対して一般に\begin{align} 連続 \Leftrightarrow 有界 \end{align} が成り立ちます。さらに  \mathcal{E} が有限次元なら常に線形写像  f は有界、つまり連続になります。 \mathcal{E} が無限次元の場合は不連続線型写像 - Wikipediaで説明されているように線形写像  f は連続になるとは限りません。

ガトー微分:方向微分の一般化

ガトー微分は次のように方向微分の一般化です。

f:id:ogyahogya:20180828105037p:plain

通常の方向微分は  \mathcal{E}, \mathcal{F} が有限次元のユークリッド空間になっているガトー微分です。上のガトー微分の定義は  \mathcal{E}, \mathcal{F} が無限次元の関数空間も含んだ定義になっているという違いがあることに注意してください。

ガトー微分  {\rm D}_h f(x) f について線形です。実際に、 f,g:\mathcal{E}\rightarrow \mathcal{F} のガトー微分  {\rm D}_h f(x),\, {\rm D}_h g(x) が存在したとすると、\begin{align} \begin{cases} {\rm D}_h (f+g)(x) = {\rm D}_h f(x) + {\rm D}_h g(x)\\ {\rm D}_h(\alpha f) (x) = \alpha {\rm D}_h f(x) \end{cases} \end{align} が成り立つからです。ここで、 \alpha\in {\bf R} です。

しかし、ガトー微分  {\rm D}_h f(x) は以下の例のように  h について一般には線形ではありません。

f:id:ogyahogya:20180829111952p:plain

上の例は関数  f が不連続でしたが、たとえ  f が連続であってもガトー微分  {\rm D}_h f(x) は以下の例のように  h について一般には線形にはなりません。

f:id:ogyahogya:20180829123734p:plain

フレッシェ微分:勾配の一般化

フレッシェ微分可能は次のように全微分可能の概念の一般化です。

f:id:ogyahogya:20180829170257p:plain

フレッシェ微分  {\rm D} f(x) はガトー微分  {\rm D}_h f(x) とは異なり、 {\rm D} f(x)[h]  h について線形であることに注意してください。また、 \mathcal{E} が有限次元ならフレッシェ微分  {\rm D} f(x) は常に連続となりますので定義に連続という条件は必要ありませんが、 \mathcal{E} が無限次元だと一般には {\rm D} f(x) は連続にならないため連続の条件を定義に入れています。フレッシェ微分可能と全微分可能の定義と比較すると、 \mathcal{E}={\bf R}^n,\, \mathcal{F}={\bf R}^m のときに点  x\in {\bf R}^n でのフレッシェ微分  {\rm D} f(x) はヤコビ行列  \frac{\partial f}{\partial x}(x) ということになり、 m=1 ならフレッシェ微分  {\rm D} f(x) は勾配だということになります。

フレッシェ微分可能の定義の中で  {\rm D}f(x)[h] には名前を付けていませんでしたが、実は次の定理で示すように  {\rm D} f(x)[h] は方向微分 {\rm D}_h f(x) に一致します

f:id:ogyahogya:20180829142043p:plain

f:id:ogyahogya:20180829145725p:plain

上の定理が言ってることは、 f:\mathcal{E}\rightarrow \mathcal{F} \mathcal{E} の開集合のある点  a でフレッシェ微分可能であるための必要条件は、 a f が連続であることを言っています。つまり、上の例で示したように不連続な点でガトー微分は存在することがありましたが、フレッシェ微分は存在しません。

関数  f:\mathcal{E}\rightarrow \mathcal{F} x\in \mathcal{E} でのフレッシェ微分は存在したら一意に定まります。実際に、フレッシェ微分が  {\rm D} f(x) {\rm D}' f(x) というように二通り存在したと仮定します。このとき、フレッシェ微分の定義から \begin{align} \lim_{h\rightarrow 0} \frac{ ||({\rm D} f(x) - {\rm D}' f(x))[h]||}{||h||} = 0 \end{align} が成り立ちます。この関係式から  {\rm D} f(x)={\rm D}'f(x) が言えるのでフレッシェ微分は一意に定まることが言えます。このことは上の関係式より、 \epsilon を十分小さな正数とすると、\begin{align} \frac{ ||({\rm D} f(x) - {\rm D}' f(x))[\epsilon h]||}{||\epsilon h||}=\frac{ ||({\rm D} f(x) - {\rm D}' f(x))[h]||}{||h||} \end{align} の左辺がいくらでもゼロに近くなるということから言えます。なぜなら、右辺は  \epsilon に依らないので、等号が成り立つためには、\begin{align} ||({\rm D} f(x) - {\rm D}' f(x))[h] ||=0 \end{align} が成り立つ必要があるからです。これとノルムの定義から \begin{align} {\rm D} f(x)[h]=  {\rm D}' f(x)[h] \end{align} が任意の  h\in \mathcal{E} に対して成り立つことが分かったので、 {\rm D} f(x)={\rm D}'f(x) となります。

参考文献

ガトー微分とフレッシェ微分の定義を参考にしました。関数が変数の汎関数の最適化問題(変分問題)にガトー微分やフレッシェ微分の概念が役立つことも説明されています。

Optimization by Vector Space Methods (Series in Decision and Control)

Optimization by Vector Space Methods (Series in Decision and Control)

 

 

ベクトル場

この記事では、多様体上のベクトル場について解説します。なお、この記事を理解するためには多様体や接空間などの概念を理解しておくことが必要です。それらについては

を参考にしてください。

 

多様体上のベクトル場

多様体  M 上のベクトル場  X とは、 X: M\ni p\mapsto X(p) \in T_p M という対応のことです。 X(p) をよく  X_p と書きます。この記事では基本的には  X(p) と書くことにして、 X(p) だと読みづらくなると思われるところで  X_p を使うことにします。また、 m 次元多様体  M の座標近傍系が  \{ U_{\alpha}; x_1^{\alpha}, x_2^{\alpha}, \ldots, x_m^{\alpha} \} であるとき、 M 上のベクトル場  X が滑らか(  C^{\infty} 級 )であるとは  X U_{\alpha} 上で  X= \sum_{i=1}^m \xi_i^{\alpha} \frac{\partial}{\partial x_i^{\alpha}} と局所座標表示したときに、成分  \xi_1^{\alpha}, \xi_2^{\alpha}, \ldots, \xi_m^{\alpha} U_{\alpha} 上で滑らかであるときに言います。以下では単にベクトル場と言ったら、滑らかなベクトル場のことを言ってることにします。

ベクトル場を可視化した例を2次元ユークリッド空間  {\bf R}^2 という馴染みのある多様体で与えておきます。 多様体  {\bf R}^2 の(局所)座標は  (x,y) だとします。 このとき、多様体  {\bf R}^2 上のベクトル場  X X(p) = (x^2+y)\left( \frac{\partial}{\partial x} \right)_p + xy \left( \frac{\partial}{\partial y}\right)_p としますと、以下のような感じでこのベクトル場  X を可視化できます。

f:id:ogyahogya:20180824090812p:plain

つまり、 {\bf R}^2 上のベクトル場が与えられると各点に馴染みのある矢印のベクトルがくっついてるというように考えることができます。したがって、天気予報でよく見かける以下のような図は地球の表面の一部を  {\bf R}^2 で表現して風というベクトル場を可視化していると考えることができます。

f:id:ogyahogya:20180824090255p:plain

ベクトル場全体の集合の代数構造

多様体  M 上のベクトル場全体の集合を  \mathfrak{X}(M) と書くことにして、任意の  X, Y\in \mathfrak{X}(M) の和  X+Y を任意の  p\in M に対して\begin{align} (X+Y)(p):= X(p)+ Y(p) \end{align}と定義します。また、任意の  f\in C^{\infty}(M) X\in \mathfrak{X}(M) に対し、 X f 倍を\begin{align} (fX)(p):=f(p)X(p) \end{align} と定義します。このような和と積を  \mathfrak{X}(M) に導入すると、多様体  M 上の滑らかな関数の集合 C^{\infty}(M) は代数学の言葉では環の性質を満たすので、 \mathfrak{X}(M) C^{\infty}(M) 加群ということになります。また関数  f が定数関数、つまり任意の  p\in M に対して  f(p) が一定なものも  C^{\infty} 級の関数だと考えられますので、 \mathfrak{X}(M) は上の和と積で  {\bf R} 上のベクトル空間の構造も入っていることになります。

さらに、任意の  f\in C^{\infty}(M) X\in \mathfrak{X}(M) に対し、\begin{align} (Xf)(p):= X_p f \end{align} と定義します。ここで  fX \mathfrak{X}(M) の要素だったのに対して  Xf C^{\infty}(M) の要素であることに注意してください。

ベクトル場  X は局所座標表示すると、 X= \sum_{i=1}^m \xi_i^{\alpha} \frac{\partial}{\partial x_i^{\alpha}} というように書けたので1階の微分作用素だとみなせます。次に、 X, Y\in \mathfrak{X}(M),  f\in C^{\infty}(M) として  (XY)(f):=X(Y(f)) を定義して  XY を局所座標表示すると2階の微分作用素だとみなせます。同様に  YX も2階の微分作用素だとみなせます。ところが、 XY YX の差  XY-YX は1階の微分作用素となります。つまり、 XY-YX\in \mathfrak{X}(M) となります。

この  XY-YX は重要で、 [X,Y]:=XY-YX\in \mathfrak{X}(M) X YLie(リー)括弧積と呼ばれています。リー括弧積は以下の性質があります。

f:id:ogyahogya:20180824103811p:plain

ただし、上の X, Y, Z \mathfrak{X}(M) の任意の要素です。一般に、 {\bf R} 上のベクトル空間  V [\cdot, \cdot]:V\times V\rightarrow V が与えられときに、リー括弧積の性質(i), (ii), (iii) を満たすならベクトル空間  Vリー代数と呼ばれています。したがって、多様体  M 上のベクトル場全体の集合  \mathfrak{X}(M) はリー代数という代数構造も持ちます。

積分曲線

上で紹介した天気予報でよく出てくる風のベクトル場を可視化した矢印たちを眺めていると曲線が見えてくるかもしれません。以下では、そのような曲線を数学的に考えます。

で説明しているように、多様体  M 上の曲線  c:(a,b)\rightarrow M が与えられると曲線  c の速度ベクトルを考えることができて、速度ベクトルは曲線上の点の接空間の元、つまり接ベクトルになっていました。曲線上の各点の速度ベクトルを集めると曲線上のベクトル場が定義できたことになります。この曲線  c の速度ベクトルを集めてできるベクトル場を  \dot{c} と書くことにします。このとき、曲線  c の積分曲線は以下のように定義されます。

f:id:ogyahogya:20180824112030p:plain

上の  \dot{c}(t)=X(c(t)) が具体的には何ものなのかを見るために、曲線  c の一部が多様体  M の座標近傍  (U; x_1,x_2,\ldots, x_m) 上にあるとして、 \dot{c}(t)=X(c(t)) を局所座標系を使って表してみます。曲線  c U 上で  c(t) = (x_1(t),x_2(t),\ldots, x_m(t)) と書くと、\begin{align} \dot{c}(t) = \sum_{i=1}^m \frac{dx_i}{dt}(t) \left( \frac{\partial}{\partial x_i} \right)_{c(t)} \end{align} となります。また、 X= \sum_{i=1}^m f_i\frac{\partial}{\partial x_i}  X の居所座標表示とすると、\begin{align} X(c(t))=\sum_{i=1}^m f_i(c(t))\left(\frac{\partial}{\partial x_i}\right)_{c(t)} \end{align} と書けます。よって、 \dot{c}(t) = X(c(t)) は局所的には\begin{align} \frac{dx_i}{dt}(t) = f_i(x_1(t),x_2(t),\ldots,x_m(t))\quad (i=1,2,\ldots, m) \end{align} という微分方程式のことであることが分かりました。

微分方程式の解の存在定理より、初期条件  (x_1(0),x_2(0),\ldots, x_m(0)) を与えると、\begin{align} \frac{dx_i}{dt}(t) = f_i(x_1(t),x_2(t),\ldots,x_m(t))\quad (i=1,2,\ldots, m) \end{align} を満たす解  (x_1(t),x_2(t),\ldots, x_m(t)) -\epsilon<t<\epsilon で存在することが分かります。ただし、 \epsilon は十分小さな正の実数です。また微分方程式の解の一意性定理より、 a<t<b (x_1(t),x_2(t),\ldots, x_m(t)) が解で c<t<d (y_1(t), y_2(t),\ldots, y_m(t)) が解で  (x_1(0),x_2(0),\ldots, x_m(0)) = (y_1(0),y_2(0),\ldots, y_m(0)) なら  (a,b)\cap (c,d) で  (x_1(t),x_2(t),\ldots, x_m(t)) = (y_1(t), y_2(t),\ldots, y_m(t)) となります。以上は局所座標を使った議論ですが、局所座標を使わないで同じことを述べると以下のようになります。

f:id:ogyahogya:20180824125617p:plain

参考文献

(1) ベクトル場の説明を参考にしました。

多様体の基礎 (基礎数学5)

多様体の基礎 (基礎数学5)

 

 (2) 微分方程式の解の存在と一意性などについて詳しく書いています。

常微分方程式の安定性 (実教理工学全書)

常微分方程式の安定性 (実教理工学全書)

 

 

可制御可観測な線形システム全体の集合は多様体になる

この記事では、可制御・可観測な線形システム全体の集合は多様体になることを説明します。ここで言う線形システムとは、

で解説した

f:id:ogyahogya:20180511094841p:plain

のことですが、状態方程式表現は行列の三つ組  (A,B,C)\in {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} で決定するので、一つの線形システムは  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} の一点である\begin{align} (A,B,C)\end{align}

のことだ考えられます。そうすると、線形システム全体の集合とは\begin{align} {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n}\end{align}

のこととなります。この線形システム全体の集合の中には、

で解説した可制御な線形システムや可観測な線形システムが含まれることになり、上の解説記事を注意深く読むと可制御な線形システム全体の集合とは、 \begin{align} S_c:=\{ (A,B,C)\, |\, {\rm rank} \begin{pmatrix} B & AB & \cdots & A^{n-1}B \end{pmatrix}=n\} \end{align}

のことであり、可観測な線形システム全体の集合とは、 \begin{align} S_o:=\{ (A,B,C)\, |\, {\rm rank} \begin{pmatrix} C \\ CA \\ \vdots \\ CA^{n-1} \end{pmatrix}=n\} \end{align}

のことだということになります。つまり、この記事では、

\begin{align} S_c\cap S_o\end{align}

という可制御可観測な線形システム全体の集合が多様体になるということを説明します。多様体については、

を参照してください。

多様体の開集合は多様体になる。

結論から先に言うと、可制御可観測な線形システム全体の集合  S_c\cap S_o が多様体であることは、  S_c\cap S_o が多様体である  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} の開集合であることから分かります。そこで、多様体の開集合は多様体になるという事実を解説しておきます。あとで、  S_c\cap S_o {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} の開集合だということを説明します。

そもそも開集合とは何かというと、

で説明したように、位相空間の要素のことでした。位相空間  (X,\mathcal{O}) が与えられると、 X の任意の部分集合  Y に対して、

\begin{align} \mathcal{O}_Y:= \{ U\cap Y\,|\, U\in \mathcal{O} \} \end{align}

とすることで、 \mathcal{O}_Y Y の位相になります。このような  \mathcal{O}_Y X の位相  \mathcal{O} から導かれた  Y相対位相と呼んで、位相空間  (Y,\mathcal{O}_Y) (X,\mathcal{O})部分空間と呼びます。多様体は上のリーマン多様体の記事で定義したように任意の異なる2点を開集合で分離できるという性質を持ったハウスドルフ空間でした。実は、ハウスドルフ空間  X の部分空間  Y もハウスドルフ空間になります。なぜなら、任意の  a, b\in Y,  a\neq b に対して、 X はハウスドルフ空間なので、 a\in U, b\in V, U\cap V=\emptyset となる  X の開集合  U, V が存在して、 U':= U\cap Y, V':=V\cap Y Y の開集合で  a\in U', b\in V', U'\cap V'=\emptyset となるからです。

上のことから、多様体  (X,\mathcal{O}) の開集合  Y \mathcal{O} から導かれた相対位相を導入すると開集合  Y はハウスドルフ空間となります。さらに、多様体  X C^{\infty} 級の座標近傍系が  \{ (U_{\lambda}, \phi_{\lambda})\}_{\lambda\in \Lambda} だとすると、これを  Y に制限した  \{ (U_{\lambda}\cap Y, \phi_{\lambda}|U_{\lambda}\cap Y)\}_{\lambda\in \Lambda} Y C^{\infty} 級の座標近傍系になります。したがって、多様体  X の任意の開集合は  X の位相から導かれた相対位相を導入することで多様体になります

距離空間は位相空間になる

応用上もっとも重要な空間は距離が定められた空間であり、その距離を使って位相を導入できる、つまり、空間の異なる点たちの近さを議論できるようになります。あとで線形システム全体の集合にも距離を導入して位相空間としますので、ここでは簡単に距離空間について説明しときます。

距離空間の定義は以下の通りです。

f:id:ogyahogya:20180513132711p:plain

ベクトル空間にノルムが導入されたノルム空間は距離空間になります。ここで、ノルム空間の定義は以下の通りです。

f:id:ogyahogya:20180513132822p:plain

実際に、ベクトル空間  X にノルム  ||\cdot || が導入されているとすると、 X 上の任意の2点  x,y に対して

\begin{align} d_{\rm norm}(x,y):= ||x-y|| \end{align}

と定めると、 X 上に距離  d_{\rm norm}:X\times X\rightarrow {\bf R} が導入できます。この  d_{\rm norm} をノルム  ||\cdot|| から定められる距離と言います

距離はノルムを使わなくても定義できます。例えば、集合  X の任意の2点  x,y に対して

\begin{align} d(x,y) := \begin{cases} 1\quad (x\neq y\, のとき) \\ 0 \quad (x=y\, のとき) \end{cases} \end{align}

と定めると、 X 上に距離  d が導入できますが、これはあるノルムから定められた距離ではありません。 というのは、ノルムから定められる距離  d_{\rm norm} はノルムの定義の(3)から  d_{\rm norm}(\lambda x, \lambda y) = |\lambda| d_{\rm norm}(x,y) を満たしますが、上の距離  d はこれを満たさないからです。

距離空間  (X,d) に対しては次のように距離  d を用いて位相を導入できます。

f:id:ogyahogya:20180513140632p:plain

f:id:ogyahogya:20180513140643p:plain

f:id:ogyahogya:20180513140820p:plain

工学系の研究論文は、距離空間を扱うことが多く、位相について何も言わなくても暗黙のうちに上の意味での距離  d から定められる位相  \mathcal{O}_d が導入されていることがほとんどです。この記事でも距離空間の位相は上のように距離  d から定義された位相を導入するとします。

線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} は多様体になる

線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} が多様体になることを確認しておきます。

まず、線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n}  は次の和(+)とスカラー倍( \cdot)でベクトル空間になります。

\begin{align}  (A_1,B_1,C_1)+(A_2,B_2,C_2) &:=(A_1+A_2,B_1+B_2,C_1+C_2)  \\  \lambda \cdot (A,B,C)&:= (\lambda A,\lambda B, \lambda C) \end{align}

次に、ベクトル空間である線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} に以下のノルムを導入します。任意の  (A,B,C)\in {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} に対して、

\begin{align} ||(A,B,C)||:= ||A||_F +||B||_F + ||C||_F \end{align}

この  ||\cdot ||_Fフロベニウスノルムと呼ばれており、任意のサイズの行列  M に対して

\begin{align} ||M||_F:= \sqrt{\sum_{i,j} m_{ij}^2} \end{align}

というように各成分の2乗和の平方根で定義され、行列の集合のノルムとしてよく使われています。上で説明したように、線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} には

\begin{align} d( (A_1,B_1,C_1), (A_2,B_2,C_2) ) &:= ||(A_1,B_1,C_1)- (A_2,B_2,C_2)|| \\ &=||A_1-A_2||_F + ||B_1-B_2||_F+||C_1-C_2||_F\end{align}

というように上のノルムを用いて距離が定義できて距離空間となります。したがって、上で説明したように、この距離  d を用いて線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} には位相  \mathcal{O}_d が定義でき位相空間になります。

この位相空間  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} がハウスドルフ空間 (任意の異なる2点が開集合で分離できる位相空間) になることは任意の  p_1:=(A_1,B_1,C_1), p_2:=(A_2,B_2,C_2)\in {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} とすると、 B(p_1; d(p_1,p_2)/2), B(p_2; d(p_1,p_2)/2) \in \mathcal{O}_d

\begin{align} B(p_1; d(p_1,p_2)/2)\cap B(p_2; d(p_1,p_2)/2) =\emptyset \end{align}

となることから分かります。さらに、 {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} の座標近傍は {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} 自身と行列の3つ組をベクトル化することと同値な微分同相写像  \psi: {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n}\rightarrow {\bf R}^{n(n+m+p)} の組だけの集合  \{({\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n}, \psi)\} であり、これは  C^{\infty} 級の座標近傍系なので線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} は多様体になります。

可制御可観測な線形システム全体の集合  S_c\cap S_o は多様体になる

可制御可観測な線形システム全体の集合  S_c\cap S_o が多様体になることは  S_c S_o が線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} の開集合であることから従います。なぜなら、 S_c S_o が多様体  {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n} の開集合なら位相空間の定義から  S_c\cap S_o も開集合となり、多様体の開集合は上で説明したように多様体になるからです。

可制御な線形システム全体の集合  S_c が開集合であることを示します。可観測な線形システム全体の集合  S_o が開集合であることも同様に示せます。 S_c が開集合であるとは、任意の  (A,B,C)\in S_c とすると、ある \delta > 0 が存在して、

\begin{align} B( (A,B,C); \delta ) \subset S_c \end{align}

となることを意味しているので、これを示します。 (A,B,C)\in S_c だとすると

\begin{align} \begin{pmatrix} B & AB & \cdots & A^{n-1} B \end{pmatrix} \end{align}

の行ベクトル  v_1, v_2, \ldots, v_n\in {\bf R}^{1\times nm} は1次独立です。つまり、

\begin{align} (\lambda_1, \lambda_2, \ldots, \lambda_n)\neq (0, 0, \ldots, 0)\quad \Rightarrow \quad  \lambda_1 v_1+\lambda_2v_2+\cdots +\lambda_n v_n \neq 0 \end{align}

が成り立ちます。行ベクトル  v_1,v_2\ldots, v_n たちは行列  A, B の各成分の和と積から構成されているので、

\begin{align}  f_i: {\bf R}^{n\times n}\times {\bf R}^{n\times m}\times {\bf R}^{p\times n}\rightarrow {\bf R}^{1\times nm}\quad {\rm s.t.}\quad v_i= f_i(A,B,C) \end{align}

となる連続関数  f_1,f_2,\ldots, f_n が存在します。連続関数のスカラー倍や連続関数同士の和も連続関数となるので、

\begin{align} f(A,B,C):= \lambda_1 f_1(A,B,C) + \lambda_2 f_2(A,B,C)+\cdots +\lambda_n f_n(A,B,C) \end{align}

で定義された関数  f も連続関数となります。よって、任意の  \epsilon>0 に対して、ある  \delta>0 が存在して、 \begin{align} d( (A,B,C), (A',B',C') ) < \delta \Rightarrow \| f(A,B,C)-f(A',B',C') \|_F < \epsilon \end{align}

となります。これより、 \epsilon を適切に選ぶことで

\begin{align} \begin{pmatrix} B' & A'B' & \cdots & A'^{n-1} B' \end{pmatrix} \end{align}

の行ベクトルが1次独立にできることを示せれば、ある \delta > 0 が存在して、

\begin{align} B( (A,B,C); \delta ) \subset S_c \end{align}

となることが示せたことになります。いま  v_1,v_2,\ldots, v_n が1次独立だったことに注意すると、

\begin{align} \exists \alpha>0\quad {\rm s.t.}\quad ||f(A,B,C)||_F=\alpha \end{align}

が成り立ちます。さらに、\begin{align} | \|f(A',B',C') \|_F - \|f(A,B,C)\|_F | < \| f(A,B,C)-f(A',B',C') \|_F < \epsilon \end{align}

が成り立つので、\begin{align} \| f(A,B,C)\|_F -\epsilon< \| f(A',B',C') \|_F<\| f(A,B,C)\|_F +\epsilon  \end{align}

が成り立ちます。よって、\begin{align} \alpha -\epsilon< \| f(A',B',C') \|_F<\alpha +\epsilon \end{align} が成り立つので、 \epsilon 0<\epsilon<\alpha が成り立つように選ぶと、\begin{align} \| f(A',B',C')\|_F \neq 0 \end{align} が成り立ちます。これは、関数  f の作り方から、\begin{align} \begin{pmatrix} B' & A'B' & \cdots & A'^{n-1} B' \end{pmatrix} \end{align} の行ベクトルが1次独立であることを意味しているので、証明完了です。

このように可制御可観測な線形システムの全体の集合  S_c\cap S_o は多様体になって、特に開集合であることが分かりました。  S_c\cap S_o は開集合なので、ある一つの可制御可観測な線形システムの十分小さな近傍内のすべての線形システムは可制御可観測だということになります。実は、可制御可観測な線形システムの全体の集合  S_c\cap S_o は線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m} \times {\bf R}^{p\times n} の中で稠密であることも示すことができます。つまり、線形システム全体の集合  {\bf R}^{n\times n}\times {\bf R}^{n\times m} \times {\bf R}^{p\times n} の任意の開集合を  U としたとき、 (S_c\cap S_o)\cap U\neq \emptyset が成り立ちます。このことより、一様にランダムに線形システム  (A,B,C) を生成すると、可制御可観測なシステムが得られる可能性が極めて高いということや、可制御可観測でないシステムに微小な摂動が加わっただけで可制御可観測なシステムになるということが言えます。言い換えると、可制御可観測なシステムであっても、実際上はほとんど可制御可観測とは言えないようなシステムもあるということであり、

で紹介したような指標を使って可制御性や可観測性の大きさを測ることが応用上は重要だということになります。

参考文献

記事を書くにあたって以下の本を参考にしました。

(1) 距離空間とかの部分を参考にしました。

集合・位相入門

集合・位相入門

 

 (2) 第2章の定理11の可制御な線形システム全体の集合は開集合であることの証明を参考にしました。

現代の最適制御理論〈上〉 (1974年) (数学叢書〈23〉)

現代の最適制御理論〈上〉 (1974年) (数学叢書〈23〉)

 

 

 

arXivについて

この記事はarXivについてのメモです。

arXivとは

arXivとは理数系の英語の原稿を無料で読むことができる以下のウェブサイトです。

https://arxiv.org/

arXivは以下のような特徴を持ちます。

1) arXivは査読がないので誰でもすぐに掲載できます。一方で、専門誌は査読があるので投稿から掲載まで1年以上かかったりします。

2) 多くの場合、専門誌に投稿した論文もarXivに投稿できます。

arXivへの投稿は研究成果の優先権の確保になるので、似たようなことをやってる人がいそうな場合はできるだけarXivに投稿した方が良さそうです。最新の成果も速く広まりますし。

arXivに画像入りの論文を投稿するときの注意

arXivには、基本的にtexのソースファイルを投稿することになりますが、画像を入れるときは、画像のファイルも投稿することになります。texや画像のファイルを投稿すると、arXivがpdfを作ってくれますが、texで

\usepackage[dvipdfmx]{graphicx}

使っていたらダメ(arXivが生成したpdfは、本来あるはずの画像が消滅した内容になっている)です。

画像を載せるためには、\usepackage[dvipdfmx]{graphicx}ではなく

\usepackage[pdftex]{graphicx}

を使うと良いです(TeXworksだと、これ使うとエラーになんだけど、arXivでは問題なくpdfを作ってくれる)。また、elsevierが提供しているクラスファイルelsarticle.clsを利用している場合、texの中に\usepackage[dvipdfmx]{graphicx}等の図を載せるための命令を書かなくても図は載るので、tex中に\usepackage[dvipdfmx]{graphicx}等の命令を書かないでarXivにelsarticle.clsもアップロードすれば画像を載せることができます

arXivに投稿する画像の入ったepsファイルのサイズを小さくする方法

arXivにアップロードするファイルは一つあたり400KB、合計で1MBの制限があるらしく、制限に引っかかるためepsファイルをアップロードできないことが多いです。そのため、epsファイルのサイズを小さくする方法を知っていると良いです。小さくする方法はたくさんありますが、一例をあげると、epsファイルを「GSview」で開き、Fileからconvertを選びResolution(解像度)を300に設定すると、見た目はほとんど変わらないで良い感じに小さくなったepsファイルが出来上がります。また、epsファイルをpdfファイルに変換してもサイズが小さくなります。epsファイルのpdfファイルへの変換はオンライン上でもできて、例えば以下でもできます。

convertio.co

arXivに投稿した自分の原稿はこんな感じです。

1) 与えられた行列に最も近いグラフラプラシアンを構成する方法を提案した論文。

[1802.06482] Optimal Graph Laplacian

2) 多数のリーダーがいるマルチエージェントシステムのリーダーの数を減らしたときに、リーダーを入れ替えた方がもとのシステムのパフォーマンスに近くなるか否かを論じた論文。結論は、入れ替えない方が近い。

[1802.06479] Optimal leader selection and demotion in leader-follower multi-agent systems

3) 安定な線形システムの H^2 ノルムの意味では最強のモデル低次元化法を提案した論文。 H^2 ノルムの意味ではこれより良い結果になる方法はない。

[1803.01523] Riemannian optimal model reduction of stable linear systems

4) IEEE Transactions on Automatic Control に掲載された論文。このように掲載済みの論文も出版社がarXivにアップすることを許している場合がある(出版社によっては掲載してから2年たったら許すとかがある)。ここで説明している正定値対称行列全体の集合のリーマン幾何学は制御理論だけでなく、信号処理、情報幾何などの研究でも役立つと思われる。

[1803.04097] Structure-preserving $H^2$ optimal model reduction based on Riemannian trust-region method

5) リーマン多様体上の最適化手法を用いた状態遷移行列に対称性をもつ連続時間線形システムの同定法

[1804.10379] Riemannian optimal system identification method of linear continuous-time systems with symmetry

 

グラフラプラシアン

この記事では、電力網のネットワーク、交通網のネットワーク、人間関係のネットワーク、神経ネットワーク、遺伝子ネットワークのようなネットワークシステムの性質を解析する際に重要なグラフラプラシアンについて解説します(枝に向きのないネットワークだけ解説します)。

グラフ、隣接行列、次数行列

下図のように節点と枝から構成されるネットワークを数学的に表現するには、グラフという概念が役立ちます。

f:id:ogyahogya:20180119164435p:plain

グラフとは、節点の集合  V と枝の集合  E\subset V\times V の組  (V, E) のことです。例えば上のネットワークだと節点集合が \{1, 2, 3, 4, 5, 6\} で枝集合が  \{(1,2), (1,3), (1,5), (2,1),(2,3), (3,1), (3,2), (3,6), (4,5), (4,6), (5,1), (5,4), (6,3),(6,4)\} です。このように  (i,j)\in E なら  (j,i)\in E が成り立つグラフを正確には無向グラフといいます(この記事では、無向グラフだけを説明します)。節点は頂点、枝は辺とも呼ばれます。

上のグラフはそれぞれの枝が同等の重要度を持っているとすると、次のような行列で表現できます。

f:id:ogyahogya:20180123123124p:plain
つまり、上のグラフは枝  (1,2) が存在するので行列の  (1,2) 成分と  (2,1) 成分のところを1として、枝  (1,4) は存在しないので行列の  (1,4) 成分と  (4,1) 成分を0としています。他の成分も同様に定義すると、上のような対称行列が得られます。逆に上の対称行列から上のグラフが構成できます。もしグラフのそれぞれの枝で重要度が異なる(重み付きグラフという)なら、重要度に応じて1以外の正の実数を行列の成分に定義することで重み付きグラフを対称行列によって表現できます。

より数学的には、 グラフ  G=(V,E) の枝と重み(重要度)との対応関係を表す関数  w:E\rightarrow {\bf R}_+ をグラフ G 上の重み関数といいます(  {\bf R}_+ は正の実数の集合)。ただし、 (i,j)\in E なら  w ( (i,j) )=w( (j,i) ) を満たします。この重み付きグラフを  (G,w) と書きます。このような重み付きグラフ  (G,w)を行列によって表現した対称行列  A=(a_{ij})隣接行列といい、次のように定義されます。

f:id:ogyahogya:20180123162009p:plain

通常のグラフ  G はすべての  (i,j)\in E に対して  w( (i,j) )=1 となる重み付きグラフのことです。

重み付きグラフ  (G,w) が与えられたとき、節点  i\in V次数 d_i:= \sum_{j=1}^n a_{ij} で定義します。ただし、 n はそのグラフの節点の数です。次のように各節点の次数を対角上に並べた対角行列を重み付きグラフ  (G,w)次数行列と呼びます。\begin{align}
D={\rm diag}( d_1, d_2,\ldots, d_n)
\end{align}

例えば上のグラフが与えられたとすると、次数行列は  D={\rm diag} (3, 2, 3, 2, 2, 2) です。

グラフラプラシアン、接続行列

重み付きグラフ  (G,w) が与えられたとします。このとき、隣接行列  A と次数行列  D を用いて定義される次の行列  L\in {\bf R}^{n\times n} を重み付きグラフ  (G,w)グラフラプラシアンといいます。\begin{align}
L:=D-A
\end{align} グラフラプラシアンの定義からグラフラプラシアン  L\in {\bf R}^{n\times n} は固有値 0 を少なくとも一つもち、1をすべての成分に並べたベクトル  {\bf 1}\in {\bf R}^n は固有値 0 に対応する固有ベクトルとなります。なぜなら、 L{\bf 1} = 0 となるからです。

グラフラプラシアンは接続行列と呼ばれる行列によっても特徴付けられます。接続行列を定義するために、重み付き無向グラフ  (G,w)枝に一意な番号と任意に向きを付けます。例えば、はじめに与えた例のグラフの枝に次のように番号と向きをつけてみましょう。

f:id:ogyahogya:20180124100158p:plain

 この枝に番号と向きの付いたグラフは次の行列と対応付けることができます。

f:id:ogyahogya:20180124104614p:plain
つまり、枝が節点から出るときに 1 を、枝が節点に入るときに -1 を、どちらでもないときに 0 を割り当てるというルールで枝に番号と向きの付いたグラフを行列表現できます。このような行列を接続行列といい、正確には次のように定義されます。
f:id:ogyahogya:20180124114512p:plain
重み付き無向グラフの接続行列を定義したとき、各枝には番号が付いています。したがって、枝の上に定義されていた重み関数  w:E\rightarrow {\bf R}_+ から各枝に付いている番号の上の関数  w_e w_e = w( (i,j) ) = w( (j,i) ) (  e= (i,j) = (j,i) ) というように定義されます
 
重み付き無向グラフ  (G,w) のグラフラプラシアン  L\in {\bf R}^{n\times n} と接続行列  B\in {\bf R}^{n\times m} は、枝の番号の上に定義された関数  w_e を用いて次の関係で結ばれます。
f:id:ogyahogya:20180124122305p:plain
この等式は枝に任意に向きを付けた接続行列から、グラフラプラシアンという枝の向きに独立な行列を構築できることを意味しています。また、この等式から重み付き無向グラフ  (G,w)グラフラプラシアンは固有値 0 を少なくとも一つ持つ半正定値対称行列であることが即座に分かります。この等式の証明は以下の通りです。

f:id:ogyahogya:20180124164228p:plain

f:id:ogyahogya:20180124164354p:plain

f:id:ogyahogya:20180124164514p:plain

 グラフラプラシアンという名前の由来

グラフラプラシアンという名前はベクトル解析で登場するラプラシアンという作用素に由来します。ここでは重みのない無向グラフ  (G,w) 、つまり任意の  (i,j)\in E に対して  w( (i,j) ) =1 となる無向グラフのグラフラプラシアンがどのようにラプラシアンに関係しているかを説明します。

まず、グラフラプラシアン  L\in {\bf R}^{n\times n} のベクトル  \psi\in {\bf R}^n への作用は次のようになることに注意します。

f:id:ogyahogya:20180125133359p:plain

次に、以下のような向きと重みのない格子グラフを考えます。

この格子グラフの節点を格子座標  (x,y) で表し、節点の集合を  V とすると、上図のようにグラフの境界から離れた節点の次数は4なので、グラフラプラシアン  L の節点集合上の関数  \phi: V\rightarrow {\bf R} への作用は、グラフラプラシアンのベクトルへの作用のアナロジーで、\begin{align}
(L\phi)(x,y) = 4\phi (x,y) -\phi(x+1,y) -\phi(x-1,y)-\phi(x,y+1)-\phi(x,y-1)
\end{align}となると考えられます。
さらに今度は同じ記号を使ってユークリッド空間  {\bf R}^2 上のテイラー展開可能な関数 \phi: {\bf R}^2\rightarrow {\bf R} を考えます。このとき、  h を非常に小さいとして、 \phi(x+h,y) \phi(x,y+h) を点  (x,y)\in {\bf R}^2 の周りでテイラー展開すると、\begin{align}
\phi(x+h,y) &= \phi(x,y) + h\frac{\partial \phi}{\partial x}(x,y) + \frac{h^2}{2!}\frac{\partial^2 \phi}{\partial x^2}(x,y)+\cdots \\ \phi(x,y+h) &= \phi(x,y) + h\frac{\partial \phi}{\partial y}(x,y) + \frac{h^2}{2!}\frac{\partial^2 \phi}{\partial y^2}(x,y)+\cdots
\end{align}となるので、\begin{align}
\frac{\partial^2 \phi}{\partial x^2}(x,y) &\approx \frac{\phi(x+h,y)+\phi(x-h,y)-2\phi(x,y)}{h^2} \\ \frac{\partial^2 \phi}{\partial y^2}(x,y) &\approx \frac{\phi(x,y+h)+\phi(x,y-h)-2\phi(x,y)}{h^2}
\end{align}となります。よって、\begin{align}
\frac{\partial^2 \phi}{\partial x^2}(x,y)+ \frac{\partial^2 \phi}{\partial y^2}(x,y) \approx \frac{\phi(x+h,y)+\phi(x-h,y)+\phi(x,y+h)+\phi(x,y-h)-4\phi(x,y)}{h^2}
\end{align}となりますが、 {\bf R}^2 上のラプラシアン  \Delta \Delta= \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2} なので、\begin{align}
(\Delta \phi)(x,y) \approx \frac{\phi(x+h,y)+\phi(x-h,y)+\phi(x,y+h)+\phi(x,y-h)-4\phi(x,y)}{h^2}
\end{align}となります。したがって、グラフラプラシアン  L はラプラシアン  \Delta の(-1)倍の離散化とみなせます

グラフラプラシアンの名前の由来のもう少し深いところ

上で説明したように、グラフ理論のグラフラプラシアンとベクトル解析のラプラシアンには密接な関係があります。ここでは先ほどと同様に重みのない無向グラフを対象として、もう少し深いつながりを見たいと思います。

ベクトル解析のラプラシアン  \Delta は\begin{align} \Delta = {\rm div} ({\rm grad}) \end{align}のことです。ここで、 {\rm grad} は勾配(gradient)の作用素、 {\rm div} は発散(divergence)の作用素を表します。つまり、ラプラシアンは勾配と発散の合成によって表現されます。

このことと同様なことがグラフラプラシアンでも言えて、接続行列の転置が勾配に対応し、接続行列が発散に対応します。つまり、\begin{align} L = BB^T \end{align} が成り立ちます。この関係式は上で既に証明しています(今は重みなしで考えているので  w_1=w_2=\cdots =w_m=1 であることに注意)。つまり、上で証明したグラフラプラシアンと接続行列の関係式は、ベクトル解析のラプラシアンが勾配と発散によって関係づけられていることから自然な関係式なのだということが分かります。

まず、接続行列の転置  B^T\in {\bf R}^{m\times n} が勾配  {\rm grad} に対応することを示します。  B^T \phi = (\phi_1,\phi_2,\ldots, \phi_n)\in {\bf R}^n に作用させると、第k成分は\begin{align} (B^T\phi)_k = \sum_{i=1}^n B_{ik} \psi_i \end{align} となります。接続行列  B の行は節点、列は枝に対応していたので、 k=(i,j)\in E で節点iから節点jに行く向きが付いてると  B の第k列の第i成分は1、第j成分は-1になります。よって、\begin{align} (B^T\phi)_k = \phi_i-\phi_j \end{align}となり、節点集合上に定義された関数の差、つまり、勾配として  (B^T\phi)_k を見ることができます。さらに、 B^T\phi 自身は枝上に定義された関数として解釈できます。したがって、ベクトル解析の勾配はスカラー場(関数)をベクトル場(関数)にしましたが、グラフ上の勾配(接続行列の転置)は節点集合上の関数を枝集合上の関数にすると解釈できます

次に、接続行列  B\in {\bf R}^{n\times m} が発散  {\rm div} に対応することを示します。 \psi = (\psi_1,\psi_2,\ldots, \psi_m)\in {\bf R}^m として  B を作用させると、\begin{align} (B\psi)_i = \sum_{k=1}^m B_{ik}\psi_k \end{align} となりますが、接続行列の定義から、これは\begin{align} (B\psi)_i = \sum_{節点iから出る枝k} \psi_k -\sum_{節点iに入る枝k}\psi_k \end{align}を意味しています。例えば、以下のような感じです。

f:id:ogyahogya:20180126111510p:plain

これは、ベクトル解析の発散のイメージそのものです。ベクトル解析の発散のイメージについては、

EMANの物理学・電磁気学・ガウスの定理の証明

あたりを参考にしてください。

以上をまとめると、以下の対応関係が得られます。

f:id:ogyahogya:20180125165128p:plain

先ほどまで、勾配、発散、ラプラシアンはユークリッド空間上の関数に作用させていましたが、リーマン多様体上の関数に対しても勾配、発散、ラプラシアンが定義でき、上のような対応関係が得られます。リーマン多様体については、以下を参考にしてください。

ogyahogya.hatenablog.co

参考文献

記事を書くにあたって参考にした文献です。

(1) 重み付きグラフとグラフラプラシアンの定義のところを参考にしました。グラフ理論の初歩的な内容の解説と、初歩的なグラフ理論の制御工学の問題への応用が分かりやすく説明してあります。

マルチエージェントシステムの制御 (システム制御工学シリーズ)

マルチエージェントシステムの制御 (システム制御工学シリーズ)

  • 作者: 東 俊一,永原 正章,石井 秀明,林 直樹,桜間 一徳,畑中 健志
  • 出版社/メーカー: コロナ社
  • 発売日: 2015/08/28
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る
 

 (2) ベクトル解析の勾配、発散、ラプラシアンがグラフ理論の接続行列の転置、接続行列、グラフラプラシアンにそれぞれ対応しているという解説を参考にしました。この本は電気回路のネットワークの性質をグラフ理論の概念を使って色々解析しています。面白いです。

線形代数とネットワーク

線形代数とネットワーク

 

 (3) リーマン多様体上の関数への勾配、発散、ラプラシアンの作用素が詳しく説明されています。

ラプラシアンの幾何と有限要素法 (朝倉数学大系)

ラプラシアンの幾何と有限要素法 (朝倉数学大系)

 

 

最小平均二乗誤差推定値は条件付き期待値

この記事では、下図のように  y を観測してパラメータ  x を推定しようとしたとき、推定したいパラメータ  x と推定値  \hat{x} の二乗誤差  ||x-\hat{x}||^2 の期待値が最小となる推定値(最小平均二乗誤差推定値 \hat{x}条件付き期待値  E(x|y) で与えられ、この推定値は不偏推定値になることを説明します。f:id:ogyahogya:20171108130548p:plain

ここでは、 x\in {\bf R}^n,  y\in {\bf R}^p,  \hat{x}\in {\bf R}^n として、 ||\cdot|| をユークリッドノルムとします。

推定したいパラメータ  xと観測値  y は確率変数だと考える。そうすると、推定値  \hat{x} も確率変数だと考えるのが自然になる。

この記事の中では、推定したいパラメータ  xと観測値  y は確率変数だと考えます。そのとき、推定値  \hat{x} も確率変数だと考えるのが自然になります。これらの理由を以下で説明します。

推定したいパラメータ  x は全知全能の神様にとっては確定値かもしれませんが、「 x \hat{x} か?」と思っている人にとっては確定値ではなく、確率的にしか決められないものかもしれません。推定したいパラメータ  x は確率的に定まるものだと考えることは、数学的には、 x は確率変数だと考えることに相当します。確率変数は下の記事で紹介しています。

ogyahogya.hatenablog.com

推定したいパラメータ  x が確率変数だと考えると、観測値  y も確率変数だと考えることが自然なことが多いです。実際に、観測値は  y=x+v というように、確率変数である  x に確率変数である雑音  v が加算されたものかもしれず、もしそうなら観測値  y  は確率変数となるためです。他にも  y x の関数として表現される多くの場合に、 y は確率変数ということになります。

推定値  \hat{x} は観測値  y の関数だと考えて、関数  f を用いて  \hat{x} = f(y) という関係があると考えるのが自然です。なぜなら、推定値  \hat{x} は観測値  y を参考にして決定するはずだからです。したがって、観測値  y が確率変数なら  \hat{x} も確率変数だと考えることができます(関数  f が可測関数という連続関数を含む応用上とても広いクラスの関数なら、 y が確率変数のときに  f(y) も確率変数となる)。

なぜ  E(||x-\hat{x}||^2) を最小化するのか

この記事の冒頭で、二乗誤差  ||x-\hat{x}||^2 の「期待値」を最小にする  \hat{x} は条件付き期待値  E(x|y) だということを紹介すると書きましたが、なぜ二乗誤差  ||x-\hat{x}||^2 そのものではなく、その「期待値」を最小にする  \hat{x} を考えるのでしょうか?その理由は、二乗誤差  ||x-\hat{x}||^2 \hat{x}=x のときに最小値0となりますが、ここでは  x を確率変数だと考えるため  \hat{x}=x とすることができない上に、 x が不明なので、どうやって  ||x-\hat{x}||^2 を小さくできるかも分からないためです。そのため、代わりに二乗誤差の期待値  E(||x-\hat{x}||^2) の最小化を考えるのです。

 E(||x-\hat{x}||^2) を最小化するとは、もっと正確にはどういうことなのか

二乗誤差の期待値  E(||x-\hat{x}||^2) は関係式  \hat{x}=f(y) の関数  f が与えられたら、次のように計算できます。

\begin{align*} E(||x-\hat{x}||^2) &= E(||x-f(y)||^2) \\ &= \int_{ {\bf R}^p } \int_{ {\bf R}^n} ||x-f(y)||^2 p(x,y) dx dy \end{align*}

この式を見れば分かるように、二乗誤差の期待値  E(||x-\hat{x}||^2) は同時確率分布  p(x,y) が与えられたら関数  f の関数なので、 E(||x-\hat{x}||^2)

\begin{align*} R(f) := E(||x-\hat{x}||^2) \end{align*}

と書けます。このように、二乗誤差の期待値  E(||x-\hat{x}||^2)を最小化するということは、同時確率分布  p(x,y) が任意に与えられたときに関数  R(f) を最小化する関数  f を求めることを意味しています。

※関数  R は関数  f の関数だということから、汎関数(関数の関数)だということになります。

汎関数  R(f) を最小にする関数  f(y) は条件付き期待値  E(x|y) になる

二乗誤差の期待値  E(||x-\hat{x}||^2) 、つまり汎関数  R(f) の最小化を考えてみましょう。まず、 R(f)

\begin{align*} R(f)  &= \int_{ {\bf R}^p } \int_{ {\bf R}^n} ||x-f(y)||^2 p(x,y) dx dy \\ &=\int_{ {\bf R}^p } R_c(f)  p(y) dy \end{align*}

となることに注意します。ここで、

\begin{align*} R_c(f):= \int_{ {\bf R}^n} ||x-f(y)||^2 p(x|y) dx =E(||x-f(y)||^2 | y) \end{align*}

です。

実は、 R(f) を最小にする  f R_c(f) を最小にする  f は一致します。したがって、 R(f) を最小化する  f の代わりに、 R_c(f) を最小化する  f を求めれば良いということになります。

実際に、 R_c(f) を計算してみると以下のようになります。\begin{align*} R_c(f) &= E(||x-f(y)||^2 | y) \\ &= E(|| (x-E(x|y)) + (E(x|y)-f(y))||^2 | y) \\ &= E(||x-E(x|y)||^2 | y) + ||E(x|y)-f(y)||^2 \\ &\geq E(||x-E(x|y)||^2 | y) \end{align*}

最後の不等式で等号が成り立つのは  f(y) = E(x|y) のときなので、 R_c(f) を最小にする関数  f(y) は条件付き期待値  E(x|y):= \int_{{\bf R}^n} x p(x|y) dx だということが分かります。よって、最小平均二乗誤差推定値は  \hat{x} = E(x|y) となります。

※上の証明の中で突然  E(x|y) が出てきました。これは、最小平均二乗誤差推定値は  \hat{x} = E(x|y) となることを知っていないと思いつかないかもしれません。このことを知らないとして、関数  R_c を最小にする関数  f を求めるためには微分  \frac{\partial R_c}{\partial f}=0 を満たす f を求めれば良さそうです。実際に、このへんの話はカルマンフィルタ関係の本によく載っているのですが、多くの本のなかで微分  \frac{\partial R_c}{\partial f}=0 を満たす f を求めています。が、実はこの微分といっているものは通常の微分だと考えることができません。なぜなら  f は数値ではなく関数だからです。ということで、微分  \frac{\partial R_c}{\partial f} を計算するといっても通常の意味の微分は計算できません。では、どうするかというと汎関数  R_c変分(汎関数微分)を計算し、その変分がゼロになる関数  f が答えだということになります。つまり、力学でオイラー・ラグランジュ方程式を導出する際にラグランジアンの作用積分の変分を計算したように、汎関数  R_c の変分を計算すれば良いということになります。では実際に汎関数  R_c の変分を計算してみましょう。汎関数   R_c の点  f における  h 方向への微分は

\begin{align*} \delta R_c(f)[h] := \lim_{\epsilon\rightarrow 0} \frac{R_c (f+\epsilon h) -R_c(f)}{\epsilon} \end{align*} となります(上記の  \delta R_c(f) がゼロとなる関数  f を見つけることを変分問題  \delta R_c(f)=0 と書く)。 汎関数  R_c(f) の定義から、

\begin{align*} R_c(f+\epsilon h) -R_c(f) = \int_{{\bf R}^n} \left( 2\epsilon (x-f(y))^T h(y) + \epsilon^2 ||h(y)||^2 \right) p(x|y) dx \end{align*}

となります。よって、

\begin{align*} \delta R_c(f)[h] &= 2 \int_{ {\bf R}^n} (x-f(y))^T h(y) p(x|y) dx \\ &= 2(E(x|y)-f(y))^T h(y) \end{align*}

ということになります。したがって、 f(y)=E(x|y) のとき  \delta R_c(f)=0 となることが分かりました。

最小平均二乗誤差推定値  \hat{x} = E(x|y) は不偏推定値

 一般に、推定したいパラメータ  x と推定値  \hat{x} の誤差の期待値  E(x-\hat{x}) がゼロになるとき推定値  \hat{x} は推定したいパラメータ  x の不偏推定値だと言います。つまり、推定したいパラメータの期待値と推定値の期待値が一致しているときに、その推定値は不偏だと言うのです。

最小平均二乗誤差推定値  \hat{x}=E(x|y) は次のように不偏推定値だということが分かります。

\begin{align*} E(\hat{x}) &= E( E(x|y)) \\ &= \int_{{\bf R}^p} \left( \int_{{\bf R}^n} x p(x|y) dx \right) p(y) dy \\ &= \int_{{\bf R}^p} \int_{{\bf R}^n} x p(x,y) dx dy \\ &= \int_{ {\bf R}^n} x \int_{ {\bf R}^p} p(x,y) dy dx\\ &= \int_{{\bf R}^n} x p(x) dx = E(x) \end{align*}

参考文献

記事を書くにあたって参考にした文献です。

 (1) 理論的なことがしっかり書いてる。

応用カルマンフィルタ

応用カルマンフィルタ

 

この記事の中では、二乗誤差  ||x-\hat{x}||^2 の期待値の最小化を考えましたが、この本の中では、他にも絶対誤差の期待値や一様誤差の期待値の最小化も考えられており、条件付き確率分布  p(x|y)ガウス分布に従うなら、絶対誤差と一様誤差の期待値の最小値を与える関数は二乗誤差の期待値の最小値を与える条件付き期待値  E(x|y) に一致することが説明されています。ということで、条件付き期待値  E(x|y) は他の評価指標を使っても最も良い推定値になることがあるということが分かります。

ガウス分布は、以下の記事で説明したように中心極限定理と密接に関連した確率分布で応用上よくでてきます。

ogyahogya.hatenablog.com(2) 上の参考文献と同じ著者の本。汎関数の変分を計算すべきところを普通の微分のように計算しているのは誤りであることに注意。この本のように英語の本でも普通の微分のように計算しているものが多々あります。。。

非線形カルマンフィルタ

非線形カルマンフィルタ