初級Mathマニアの寝言

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

特異値分解

この記事では線形代数の基本定理とも言われるほど応用上非常に重要な特異値分解について解説します。今はやりのデータサイエンスでもかなり使われています。

対称行列のスペクトル分解

特異値分解は対称行列のスペクトル分解に密接に関係しているので、まずは対称行列のスペクトル分解について説明します。

実数を成分に持つ正方行列  A=(a_{ij})\in {\bf R}^{n\times n}対称行列だとしましょう。すなわち、 a_{ij}=a_{ji} です。このとき、\begin{align} Av_i = \lambda_i v_i \end{align} となる  \lambda_i\in {\bf R} 0 \neq v_i\in {\bf R}^n が存在します。ただし、 i=1, 2,\ldots, n です。よく知られているように、このような  \lambda_i A固有値 v_i A の固有値  \lambda_i に対応する固有ベクトルと呼びます。行列  A が対称なので、固有ベクトルの集合  \{ v_1,v_2,\ldots, v_n\} {\bf R}^n の正規直交基底とすることができます。いま、\begin{align} V &:= \begin{pmatrix} v_1 & v_2 & \cdots & v_n \end{pmatrix},\quad D:= {\rm diag} (\lambda_1,\lambda_2,\ldots, \lambda_n) \end{align} とすると、\begin{align} A = VDV^T\end{align} となります。右辺の  VDV^T を対称行列  Aスペクトル分解と言います。より詳しくは、以下の記事を参照してください。

特異値分解

次に、 A\in {\bf R}^{m\times n} m\neq n でも良い場合を考えてみましょう。正方でない、つまり  m\neq n の場合は、 A の固有値や固有ベクトルを考えることができないので  A をスペクトル分解することができません。しかし、 A^TA {\bf R}^{n\times n} に入っているので正方であり、しかも対称行列です。よって、 A^TA のスペクトル分解を考えることができます。

対称行列  A^TA のスペクトル分解を\begin{align} A^TA = VDV^T\end{align}としましょう。ただし、 D は対角行列で対角成分に  A^TA の固有値  \lambda_i が並び、 V\in {\bf R}^{n\times n} の各列ベクトルは  A^TA の固有ベクトル  v_i からなる  {\bf R}^n の正規直交基底  \{v_1, v_2,\ldots, v_n\} で構成されているとします。ただし、 \lambda_1\geq \lambda_2\geq \cdots \geq \lambda_n とします。このとき、\begin{align} \langle Av_i, Av_j\rangle = \lambda_j \langle v_i, v_j \rangle = \begin{cases} \lambda_i\quad (i=j)\\ 0\quad\,\,\,\,\,\, (i\neq j) \end{cases} \end{align} となります。ただし、 \langle \cdot, \cdot \rangle はユークリッド内積です。したがって、 \{Av_1, Av_2,\ldots, Av_n\} は直交しており、ゼロでないベクトルは  {\rm Im}\,A\subset {\bf R}^m の基底を構成します。また、 i=j とすると\begin{align} ||Av_i||^2 = \lambda_i \end{align} となるので  \lambda_i\geq 0 が分かります。よって、 {\rm rank}\,A=k だとすると、\begin{align} \lambda_i = 0\quad (k<i\leq n)\end{align} となります。したがって、\begin{align} u_i:= \frac{Av_i}{||Av_i||} = \frac{1}{\sqrt{\lambda_i}} Av_i\quad (1\leq i\leq k) \end{align} は  {\rm Im}\,A\subset {\bf R}^m の正規直交基底を構成します。もし、 k<m の場合は、この正規直交基底を  {\bf R}^m の正規直交基底へ延長することもできます。実際に、この正規直交基底をなすベクトル  u_1,u_2,\ldots,u_k に一次独立な  m-k 個のベクトルをもってきて次の記事で解説したグラム・シュミットの直交化法を利用することで  {\bf R}^m の正規直交基底  \{u_1,u_2,\ldots,u_m\} を作ることができます。

以上より、\begin{align} Av_i &= \sigma_i u_i\quad (1\leq i\leq k)\\ Av_i &=0\quad\,\,\,\,\,\, (k<i\leq n) \end{align} となります。ただし、 \sigma_i:= \sqrt{\lambda_i} です。このことより、  \Sigma:= {\rm diag}(\sigma_1,\sigma_2,\ldots, \sigma_k,0,\ldots, 0)\in {\bf R}^{m\times n} を用いると(作り方から  \sigma_1\geq \sigma_2\geq \cdots \geq \sigma_k>0 であることに注意)、行列  A は\begin{align} A=U\Sigma V^T \end{align} と分解できることが分かります。ただし、\begin{align} U:=\begin{pmatrix} u_1 & u_2 & \cdots & u_m \end{pmatrix}\end{align} で  \{u_1,u_2,\ldots, u_m\} {\bf R}^m の正規直交基底です。この  U\Sigma V^T A特異値分解 \sigma_1, \sigma_2,\ldots, \sigma_k A特異値 U の各列を左特異ベクトル V の各列を右特異ベクトルと言います。特異値分解は、以下のように任意の行列による写像が回転や拡大の写像に分解できることを意味しています。

f:id:ogyahogya:20190819152422p:plain

また、特異値分解は\begin{align} A= \sum_{i=1}^k \sigma_i u_i v_i^T \end{align} というように、 {\rm rank}\, A=k 個分だけランク1の行列を加算することを意味します。この表現を用いると、任意の  x=x_1v_1+x_2v_2+\cdots +x_nv_n\in {\bf R}^n に対して\begin{align} Ax = \sigma_1x_1u_1+\sigma_2x_2u_2+\cdots +\sigma_k x_k u_k \end{align}が成り立つことが分かります。特に、 x_1=x_2=\cdots =x_n=1 なら\begin{align} Ax = \sigma_1u_1+\sigma_2u_2+\cdots +\sigma_k  u_k \end{align}となります。このことを  k=2 A\in {\bf R}^{2\times 2} に対して可視化したのが上の図です。

行列の作用素ノルム

任意の  A\in {\bf R}^{m\times n} に対して\begin{align} ||A||:= \max_{x\in {\bf R}^n\backslash\{0\}} \frac{||Ax||}{||x||} = \max_{||x||=1} ||Ax|| \end{align}とすると  \|\cdot \| はノルムとなります。このノルムを作用素ノルムと言います。以下のように、行列  A の作用素ノルムは最大特異値になります。

f:id:ogyahogya:20191229184335p:plain

f:id:ogyahogya:20191229184349p:plain

例えば、 U^TU=I となる任意の  U\in {\bf R}^{s\times m} の作用素ノルムは  1 になります。なぜなら、任意の  x\in {\bf R}^m に対して\begin{align} ||Ux||^2=x^TU^TUx=||x||^2 \end{align} が成り立つからです。また、サイズの異なる行列  A\in {\bf R}^{m\times n},\, B\in {\bf R}^{n\times p} に対して\begin{align} ||AB||\leq ||A||\cdot ||B|| \end{align}が成り立ちます。なぜなら、任意の  x\in {\bf R}^n に対して\begin{align} ||ABx||\leq ||A||\cdot ||Bx||\leq ||A||\cdot ||B||\cdot ||x|| \end{align} が成り立つからです。さらに、以下が成り立ちます。

f:id:ogyahogya:20191229191417p:plain

証明は以下の通りです。

f:id:ogyahogya:20191229191436p:plain

行列の低ランク近似

与えられた行列  A\in {\bf R}^{m\times n} の最適な近似が特異値分解を利用することで以下のように得られます。この結果はエッカート・ヤング(Eckart-Young)の定理と言われています。

f:id:ogyahogya:20200114120225p:plain

証明は以下の通りです。

f:id:ogyahogya:20191229192723p:plain

f:id:ogyahogya:20191229192733p:plain

f:id:ogyahogya:20191229192747p:plain

 この定理は以下を意味します。

f:id:ogyahogya:20191230121939p:plain

この定理は行列  A\in {\bf R}^{m\times n} のランクを  k だとしたときに、ランク  k-1 以下で  A に最も近い行列が  A 自身を特異値分解することで得られることを示しており、このことから特異値分解が応用上非常に重要だということになります。例えばデータサイエンスの文脈では、 A はデータを格納した行列ということが多いですが、この  A のサイズが非常に大きい( m, n が非常に大きい)と情報処理が大変になります。このようなときに、 A を特異値分解して、 A に最も近い低ランクな行列を構成する特異値と特異ベクトルを抽出しておけば、データ処理が非常に簡単になります

参考文献

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

世界標準MIT教科書 ストラング:線形代数イントロダクション

世界標準MIT教科書 ストラング:線形代数イントロダクション

 
現代線形代数 ―分解定理を中心として―

現代線形代数 ―分解定理を中心として―

 
Approximation of Large-Scale Dynamical Systems (Advances in Design and Control)

Approximation of Large-Scale Dynamical Systems (Advances in Design and Control)

  • 作者:Athanasios C. Antoulas
  • 出版社/メーカー: Society for Industrial and Applied Mathematics
  • 発売日: 2009/06/25
  • メディア: ペーパーバック
 

 

行列のシュール分解

この記事では、与えられた複素正方行列  A\in {\bf C}^{n\times n}シュール分解を紹介します。また、応用上よく利用される実対称行列のスペクトル分解はシュール分解の特別な場合であることも説明します。

シュール分解

以下のような行列  A\in {\bf C}^{n\times n} の固有値が対角成分に並んだ上三角行列への分解をシュール分解と言います。

f:id:ogyahogya:20191228170359p:plain

ただし、 \dagger は複素共役転置を表します。これの証明は以下の通りです。

f:id:ogyahogya:20191228170423p:plain

f:id:ogyahogya:20191228170434p:plain

f:id:ogyahogya:20191228170501p:plain

f:id:ogyahogya:20191228170527p:plain

証明の中でグラム・シュミットの直交化法を利用しました。グラム・シュミットの直交化法は以下の記事で解説しています。

正規行列:シュール分解によって対角化可能な行列

一般の行列  A\in {\bf C}^{n\times n} はシュール分解によって上三角行列に分解できることを上で示しましたが、 A正規行列、すなわち\begin{align} AA^{\dagger} = A^{\dagger}A \end{align}を満たすなら以下で示すようにシュール分解によって対角化できます。正規行列の例としては、複素数を成分にもつユニタリ行列、エルミート行列、反エルミート行列や実数を成分に持つ直交行列、対称行列、反対称行列があります。

f:id:ogyahogya:20191229105800p:plain

証明は以下の通りです。

f:id:ogyahogya:20191229105830p:plain

f:id:ogyahogya:20191229105847p:plain

f:id:ogyahogya:20191229110038p:plain

f:id:ogyahogya:20191229110046p:plain

エルミート行列

正規行列の特別な場合であるエルミート行列に限定したときに、シュール分解がどうなるかを調べます。そのために、エルミート行列  A\in {\bf C}^{n\times n} のすべての固有値は実数だったことを思い出しましょう。実際に、 Ax= \lambda x\quad (x\neq 0) とすると、\begin{align} x^{\dagger}Ax = \lambda x^{\dagger}x \end{align} となりますが、 x^{\dagger}x は非ゼロの実数で、 (x^{\dagger}Ax)^{\dagger} = x^{\dagger}Axなので左辺も実数なので、 \lambda は実数となります。したがって、エルミート行列  A のシュール分解を考えると、次の結論を得ます。

f:id:ogyahogya:20191229120011p:plain

すなわち、エルミート行列は固有値によって重み付けされた直交射影の和として表現されます。実数の世界での直交射影は

で説明しましたが、少し修正すると複素数に対しても成り立ちますので、 u_iu_i^{\dagger} u_i が張る1次元部分空間への直交射影だということになります。

対称行列

エルミート行列の特別な場合である実数を成分に持つ対称行列に限定したときに、シュール分解がどうなるかを調べます。そのために、対称行列  A\in {\bf R}^{n\times n} の固有値は実数であり、固有ベクトルとして実ベクトルを常に選ぶことができることを思い出しましょう。実際に、固有値が実数であることはエルミート行列のところの議論と同じですし、固有ベクトルを実ベクトルとして選ぶことが可能なのは以下のように示せます。

f:id:ogyahogya:20191229123736p:plain

f:id:ogyahogya:20191229123811p:plainしたがって、対称行列  A のシュール分解を考えると、次の結論を得ます。

f:id:ogyahogya:20191229123906p:plainすなわち、エルミート行列の場合と同様に、対称行列は固有値によって重み付けされた直交射影の和として表現されます。ただし、ここの直交射影は

で説明した直交射影とまったく同じです。


参考文献

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

これならわかる工学部で学ぶ数学

これならわかる工学部で学ぶ数学

  • 作者:千葉 逸人
  • 出版社/メーカー: プレアデス出版
  • 発売日: 2009/01/01
  • メディア: 単行本
 
現代線形代数 ―分解定理を中心として―

現代線形代数 ―分解定理を中心として―

 
世界標準MIT教科書 ストラング:線形代数イントロダクション

世界標準MIT教科書 ストラング:線形代数イントロダクション

 

グラム・シュミットの直交化法とQR分解

この記事では、グラム・シュミットの直交化法QR分解について解説します。

グラム・シュミットの直交化法

ベクトル  a_1, a_2, \ldots, a_n\in {\bf R}^n は一次独立だとします。このとき、 \{a_1,a_2,\ldots,a_n\} {\bf R}^n の基底となります。しかし、 \{a_1,a_2,\ldots,a_n\} {\bf R}^n正規直交基底ではないかもしれません。グラム・シュミットの直交化法は  {\bf R}^n の任意の基底  \{a_1,a_2,\ldots,a_n\} から以下のように正規直交基底を構成する方法です。\begin{align} q_1 &:=\frac{a_1}{||a_1||}\\ q_k &:= \frac{a_k-P_{q_1,\ldots,q_{k-1}}(a_k)}{||a_k-P_{q_1,\ldots,q_{k-1}}(a_k)||}\quad (k=2,\ldots,n) \end{align}

ただし、 P_{q_1,\ldots,q_{k-1}} {\rm Im}\, Q_{k-1} 上への直交射影で、\begin{align}Q_{k-1}:= \begin{pmatrix} q_1 & q_2 & \cdots & q_{k-1} \end{pmatrix}\in {\bf R}^{n\times (k-1)}\end{align}

です。ベクトル  q_i の作り方から  Q_{k-1}^TQ_{k-1}=I となるので、直交射影  P_{q_1,\ldots,q_{k-1}}

で説明したように、\begin{align}P_{q_1,\ldots,q_{k-1}} = Q_{k-1}Q_{k-1}^T=q_1q_1^T+q_2q_2^T+\cdots+ q_{k-1}q_{k-1}^T \end{align} となります。

 {\bf R}^2 の場合のグラム・シュミットの直交化法は次のような感じでイメージできます。

f:id:ogyahogya:20191228102436p:plain

 {\bf R}^3 の場合は次のような感じです。

f:id:ogyahogya:20191228102519p:plain

 QR分解

ベクトル  a_1, a_2, \ldots, a_n\in {\bf R}^n は一次独立だとして、\begin{align} A:= \begin{pmatrix} a_1 & a_2 & \cdots & a_n \end{pmatrix}\in {\bf R}^{n\times n} \end{align} だとします。グラム・シュミットの直交化法により、 c_k:=||a_k-P_{q_1,\ldots,q_{k-1}}(a_k)|| とすると、以下のように行列  A を分解できます。

f:id:ogyahogya:20191228114946p:plain

f:id:ogyahogya:20191228115047p:plain

このように、行列  A を直交行列  Q と 上三角行列  R へ分解することを  AQR分解と言います。QR分解の構成から、QR分解することはグラム・シュミットの直交化をすることと同値ですので、 A の各列ベクトルが一次独立なら常に  A のQR分解を実行することができます。

注意1

 m\geq n でベクトル  a_1, a_2, \ldots, a_n\in {\bf R}^m は一次独立だとします ( m<n の場合は一次独立にならないので考えません)。 m=n の場合は上と同じなので、 m>n の場合の注意を書いときます。

 m>n の場合も上のグラム・シュミットの直交化法はまったく同じように実行できて、 a_1, a_2, \ldots, a_n\in {\bf R}^m から正規直交ベクトル  q_1, q_2, \ldots, q_n\in {\bf R}^m を得ることができます。このとき\begin{align} A:= \begin{pmatrix} a_1 & a_2 & \cdots & a_n \end{pmatrix}\in {\bf R}^{m\times n} \end{align} は\begin{align} A=QR \end{align} というようにQR分解できます。ただし、 R m=n の場合と同じ  n\times n の上三角行列ですが、\begin{align} Q:= \begin{pmatrix} q_1 & q_2 & \cdots & q_n \end{pmatrix}\in {\bf R}^{m\times n} \end{align}は各列が正規直交しているものの、 m>n なので直交行列とは言えません。このような各列が正規直交している行列全体の集合をシュティーフェル多様体と言い、色々な応用で出てきます。

注意2

 m\geq n でベクトル  a_1, a_2, \ldots, a_n\in {\bf C}^m は一次独立だとします。注意1との違いはベクトルの成分が実数ではなく、複素数だということです。この場合もグラム・シュミットの直交化法が適用できます。ただし、ノルムの定義や直交射影に若干の変更が必要です。すなわち、 x\in {\bf R}^m の場合のノルムは(陽に書いていませんでしたが)\begin{align} ||x||^2 = x_1^2+x_2^2+\cdots +x_m^2 \end{align} だとしていましたが、 x\in {\bf C}^m のノルムは\begin{align} ||x||^2 = |x_1|^2+|x_2|^2+\cdots +|x_m|^2 \end{align} に変更する必要があります。また、直交射影は\begin{align} P_{q_1,\ldots,q_{k-1}} =Q_{k-1}Q_{k-1}^{\dagger} \end{align} と変更されます。ただし、 \dagger は複素共役転置を表しています。この変更のもとで、\begin{align} A:= \begin{pmatrix} a_1 & a_2 & \cdots & a_n \end{pmatrix}\in {\bf C}^{m\times n} \end{align} は\begin{align} A=QR \end{align} というようにQR分解できます。ただし、 Q\in {\bf C}^{m\times n} は各列が正規直交しており、 R\in {\bf C}^{n\times n} は上三角行列です。さらに、 m=n の場合には  Q\in {\bf C}^{n\times n} はユニタリ行列となります。

参考文献

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

世界標準MIT教科書 ストラング:線形代数イントロダクション

世界標準MIT教科書 ストラング:線形代数イントロダクション

 

 

 

射影行列

この記事では射影行列について解説します。

射影行列の定義と性質

行列  P:{\bf R}^n\rightarrow {\bf R}^n射影行列であるとは、\begin{align} P^2 =P \end{align} を満たすときに言います。

行列  P:{\bf R}^n\rightarrow {\bf R}^n が射影行列のとき、\begin{align} Q:= I_n-P \end{align} も射影行列であり(  I_n n\times n の単位行列)、\begin{align} PQ=QP =0 \end{align} であり、\begin{align} {\bf R}^n = {\rm Im}\, P\oplus {\rm Im}\, Q\end{align} が成り立ちます。さらに、\begin{align} {\rm Ker}\, P = {\rm Im}\, Q\end{align} が成り立ち、\begin{align} {\bf R}^n = {\rm Im}\, P\oplus {\rm Ker}\, P\end{align} となります。

ここで、 \oplus は以下の記事で紹介した直和を表しています。

 Q が射影行列、 PQ=QP=0 は明らかなので、まずは  {\bf R}^n = {\rm Im}\, P\oplus {\rm Im}\, Q が成り立つことを示します。任意の  x\in {\bf R}^n x=I_n x =(P+Q)x=Px+Qx\in {\rm Im}\, P+{\rm Im}\, Q となるので  {\bf R}^n={\rm Im}\, P+{\rm Im}\, Q が成り立ちますので  {\rm Im}\, P\cap {\rm Im}\, Q=\{0\} が成り立つことを確かめたら良いです。そこで、任意の  x\in {\rm Im}\, P\cap {\rm Im}\, Q をとってみると、ある  x_1, x_2\in {\bf R}^n によって  x = Px_1 = Qx_2 が成り立ちますので、  P^2x_1 =PQx_2 = 0 が成り立つことが分かります。また、 P^2=P なので  Px_1=0 となり、 Px_1 = x なので  x=0 が成り立つことになり、 {\rm Im}\, P\cap {\rm Im}\, Q=\{0\} が示せました。次に、 {\rm Ker}\, P = {\rm Im}\, Q が成り立つことを示します。任意の  x\in {\rm Ker}\,P をとると、 Px =0 なので  x=(I_n-P)x=Qx\in {\rm Im}\,Qとなり、 {\rm Ker}\,P\subset {\rm Im}\, Q が分かります。また、 PQ=0 なので  {\rm Im}\,Q\subset {\rm Ker}\, P が成り立つので、 {\rm Ker}\, P = {\rm Im}\, Q が言えました。

上のことは  {\bf R}^n 上の射影行列が与えられたら  {\bf R}^n の直和分解が得られることを示していますが、逆に  {\bf R}^n の直和分解が与えられたら射影行列が定まります。

 {\bf R}^n= V_1\oplus V_2 ならば、 V_1 = {\rm Im}\, P,  V_2= {\rm Im}\, Q となる射影行列  P, Q が一意に定まり、 Q=I_n-P となります。言い換えると、 {\bf R}^n= V_1\oplus V_2 ならば、任意の  x\in {\bf R}^n x=x_1+x_2,\,x_1\in V_1,\, x_2\in V_2 と一意に表されますが、 x x_1 に移す写像  P x x_2 に移す写像  Q が一意に定まります。この  P V_2 に沿った  V_1 への射影行列、  Q V_1 に沿った  V_2 への射影行列と言います。
上の  P, Q の存在は、 {\bf R}^n = V_1\oplus V_2 より、任意の  x\in {\bf R}^n はある  x_1\in V_1 x_2\in V_2 によって  x=x_1+x_2 と一意に分解できることから  P(x) := x_1 \in V_1,  Q(x) := x_2\in V_2 とおくと、 P^2=P, Q^2=Q, Q=I_n-P が成り立つことから分かります。一意性は、 x = P_1 x +Q_1x = P_2 x+ Q_2x と書いてみると、 P_1=P_2, Q_1=Q_2 となることから分かります。

以上のことから次のことが言えます。

行列  P が射影行列であるということは  P {\rm Ker}\,P に沿った  {\rm Im}\,P への射影行列であることを意味します。
したがって、射影行列は以下のようにベクトル空間を直和分解する写像のように思えます。

f:id:ogyahogya:20190329101707p:plain

直交射影行列

ユークリッド空間  {\bf R}^n には内積  (x,y):=x^T y が定義されているとします。射影行列  P:{\bf R}^n\rightarrow {\bf R}^n が対称行列、つまり、 P^T=P のとき、 P直交射影行列と言います。行列  P が直交射影行列だとすると、ユークリッド空間  {\bf R}^n は次のように  {\rm Im}\, P {\rm Ker}\,P に直交直和分解されます。

f:id:ogyahogya:20190329104634p:plain

行列  P が直交射影行列ではなく、単なる射影行列だと  {\bf R}^n={\rm Im}\, P\oplus {\rm Ker}\,P にはなりますが、これが直交直和とは限らないことが \begin{align} P= \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix} \end{align} の上の例から分かります。
一次独立なベクトルたちが張る空間への直交射影行列は次のように表現できます。

f:id:ogyahogya:20190329123501p:plain

特に、 a_1,a_2,\ldots,a_m が正規直交していると、 {\rm Im}\, A への直交射影行列  P A^TA=I なので\begin{align} P = AA^T=a_1a_1^T+a_2a_2^T+\cdots +a_ma_m^T \end{align} となり、任意の  x\in {\bf R}^n に対して、\begin{align} Px = (a_1^Tx)a_1+(a_2^Tx)a_2+\cdots +(a_m^Tx)a_m \end{align} となります。したがって、  Px x を各  a_k 軸へ直交射影したベクトルの和として表現されます。例えば、 x\in {\bf R}^2 Px は次のように  a_1 軸と  a_2 軸へ  x を直交射影したベクトルの和ということになります。

f:id:ogyahogya:20191228105747p:plain

行列  P が直交射影行列ならば P^TP = P となるので以下が成り立つことが分かります。

f:id:ogyahogya:20190329132436p:plain

つまり、任意のベクトル  x\in{\bf R}^n の直交射影  Px の大きさは  x の大きさ以下になります。行列  P が直交射影ではなく、単なる射影行列だとこのようなことは言えません。実際に、次のような例があります。

f:id:ogyahogya:20190329140132p:plain

この直交射影の概念は、以下の記事の中でも利用しているようにシステム制御理論でもよく使われます。

参考文献

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

UP応用数学選書10 射影行列・一般逆行列・特異値分解 新装版

UP応用数学選書10 射影行列・一般逆行列・特異値分解 新装版

 

 

ベクトル空間の直和分解

この記事では、ベクトル空間の直和分解について解説します。

ベクトル空間の和と直和

ベクトル空間  V の二つの部分空間  V_1, V_2 が与えられているとします。このとき、 V_1\cup V_2 V の部分空間でないかもしれませんが、\begin{align} V_1+V_2 := \{ x_1 + x_2\,|\, x_1\in V_1, x_2\in V_2 \} \end{align} は  V の部分空間になっています。この  V_1+V_2 V_1\cup V_2 を含む最小の部分空間になっており、 V_1 V_2 の和と言います。基底を構成するベクトルの数をカウントすることで、\begin{align} \dim (V_1+V_2) = \dim V_1 + \dim V_2 - \dim (V_1\cap V_2) \end{align} が成り立つことが分かります。

もし、 V=V_1+V_2 かつ  V_1\cap V_2=\{0\} が成り立つならば、  V V_1 V_2直和であると言ったり、 V_1 V_2直和分解されると言ったりして、\begin{align} V= V_1\oplus V_2 \end{align} と書き、 V_2 V_1補空間と言います ( V_1 V_2 の補空間)。 V= V_1\oplus V_2 であることと、 V=V_1+V_2 かつ  \dim V=\dim V_1 + \dim V_2 が成り立つことは同値です。また、 V= V_1\oplus V_2 であることと、任意の  x\in V が\begin{align} x = x_1 + x_2,\quad x_1\in V_1,\, x_2\in V_2 \end{align} として一意に表せることは同値です。

不変部分空間による直和分解と行列の分解

今、 {\bf C} を複素数全体の集合として、 A\in {\bf C}^{n\times n} とします。ベクトル空間  V\subset C^n A-不変部分空間であるとは、 任意の  x\in V に対して  Ax\in V が成り立つときに言います。

 W_1, W_2\subset {\bf C}^n A-不変部分空間として  {\bf C}^n {\bf C}^n=W_1\oplus W_2 と直和分解されるとしましょう。ただし、 \dim W_1 = r, \dim W_2 = n-r とします。このとき、ある可逆な行列  P\in {\bf C}^{n\times n} が存在して\begin{align} P^{-1}AP = \begin{pmatrix} A_1 & 0 \\ 0 & A_2 \end{pmatrix} \end{align} と書けます。ただし、 A_1\in {\bf C}^{r\times r}, A_2 \in {\bf C}^{(n-r)\times (n-r)} です。実際に、ある一次独立なベクトル  p_1,p_2,\ldots, p_n\in {\bf C}^n を用いて W_1={\rm span}\, \{p_1,p_2,\ldots, p_r\}, W_2={\rm span}\, \{p_{r+1},p_{r+2},\ldots, p_n\} と書くことができ、\begin{align} A \begin{pmatrix} p_1& p_2 & \cdots & p_n \end{pmatrix} =\begin{pmatrix} p_1& p_2 & \cdots & p_n \end{pmatrix} \begin{pmatrix} A_1 & 0 \\ 0 & A_2 \end{pmatrix} \end{align} と表現できることから分かります。

逆に、\begin{align} P^{-1}AP = \begin{pmatrix} A_1 & 0 \\ 0 & A_2 \end{pmatrix} \end{align} が成り立つと、 A-不変部分空間  W_1, W_2 が存在して  {\bf C}^n = W_1\oplus W_2 が成り立つことが分かります。

ここで説明した不変部分空間の概念は以下の記事で説明したようにシステム制御理論の中でもよく使われています。

内積空間の直交直和分解

ベクトル空間  V には内積  (\cdot,\cdot) が導入されているとします。つまり、 V は内積空間とします。ベクトル空間  V の部分集合  U が与えられたとすると、 V の内積を用いて  V の部分空間\begin{align} U^{\perp}:= \{ x\in V\,|\, (x,y)=0,\,\,\forall y\in U\} \end{align}が定義できます。この  U^{\perp} U直交補空間と言います。 U V の部分空間だとすると、\begin{align} V = U\oplus U^{\perp} \end{align} が成り立ちます。

内積空間の例であるユークリッド空間の直交直和分解

ユークリッド空間  {\bf R}^n には内積  (x,y):=x^Ty が定義されているとして、ユークリッド空間  {\bf R}^n から  {\bf R}^m への線形写像  A: {\bf R}^n\rightarrow {\bf R}^m が与えられているとします。つまり、 A\in {\bf R}^{m\times n} です。線形写像  A が与えられているので、\begin{align} {\rm Im}\, A &:= \{ Ax\,|\, x\in {\bf R}^n\} \\ {\rm Ker}\,A &:= \{x\in {\bf R}^n\,|\, Ax=0\} \end{align} が定義できます。 {\rm Im}\, A A の像空間と言い、 {\rm Ker}\, A A の核と言います。 {\rm Im}\,A {\bf R}^m の部分空間であり、 {\rm Ker}\, A {\bf R}^n の部分空間になっています。

線形写像の像空間と核という概念を使うと、ユークリッド空間は次のように直交直和分解できます。\begin{align} {\bf R}^m &= {\rm Im}\, A \oplus ({\rm Im}\,A)^{\perp} \\ {\bf R}^n &= {\rm Ker}\, A\oplus ({\rm Ker}\,A)^{\perp} \end{align}これと\begin{align} {\rm Ker}\, A^T = ({\rm Im}\, A)^{\perp} \end{align} より、以下のような感じで考えることができます。

f:id:ogyahogya:20190325113613p:plain

上のユークリッド空間の直交直和分解と\begin{align} {\rm rank}\, A:= \dim ({\rm Im}\, A) = {\rm rank}\, A^T \end{align} より、次元定理\begin{align} n = {\rm rank}\,A + \dim {\rm Ker} A \end{align} が得られます。

参考文献

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

線型代数学(新装版) (数学選書)

線型代数学(新装版) (数学選書)

 

 

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

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

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

多様体上のアファイン接続という概念は多様体上の異なる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)