初級Mathマニアの寝言

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

「線形代数を基礎とする応用数理入門」と関係する研究

線形代数を基礎とする応用数理入門に書かれている内容は最新の研究とも密接に関係しています.以下ではそのことを紹介します.

 

深層学習への応用

6.6節「線形システムのモデル低次元化法」は深層学習と関係しており,状態空間モデル (State Space Model: SSM) が組み込まれた深層モデルのパラメータ削減に応用できます.実際に,以下の論文では深層モデルに組み込まれた比較的大きなSSMを6.6節で説明している平衡打ち切り法を利用して小さなSSMに低次元化(パラメータを削減する)し,そこから学習を行うことで,従来の方法よりも少ないパラメータ数に関わらず性能が向上することを示しています.なお,深層モデルのパラメータ数の削減はIoT時代に重要なエッジコンピューティングに役立ちます.

arxiv.org

6.6節「線形システムのモデル低次元化法」で説明した平衡打ち切り法以外にもSSMを低次元化する方法は多数研究されており,例えば以下のようにリーマン多様体上の最適化を利用した低次元化法もあります.

https://www.jstage.jst.go.jp/article/sicejl/60/5/60_375/_pdf/-char/ja

https://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/2167-12.pdf

 

可制御性スコア

6.7節「大規模ネットワークシステムの可制御性スコア」は我々が考案した可制御性スコアについて説明しており,本書以外で説明している本は存在しないはずです.以下の論文で導入した可制御性スコアは外部入力を受ける動的システムの状態ノードの重要性を可制御性の観点から評価する新しい中心性指標です.

arxiv.org

有向グラフのクロン縮約と有効抵抗

2.15.2項「エルミート行列と対称行列の(半)正定値性」のところでシューア補元を説明し,そこでクロン縮約という言葉がさらっと書いてありますが,我々が以下の論文で無向グラフに対して知られていたクロン縮約と有効抵抗の概念を有向グラフに一般化しました.

arxiv.org

「線形代数を基礎とする応用数理入門」と関係するブログ記事

本ブログの内容と以下の本の内容の関係を紹介します(随時更新します).

第1章と第2章の内容と関係するブログ記事

第1章は「本書の内容を理解するための準備」で第2章は「線形代数」となっており,全体を読むための準備という位置付けになっています.第1章で最も難しい部分は1.4節の「距離空間とその位相」という部分だと思われますが,この部分と第2章を読むと以下のブログ記事を理解することが可能になると思われます.

ogyahogya.hatenablog.com

第3章の内容と関係するブログ記事

第3章は「線形代数の応用例」ということで色々なことを書いています.3.1節では離散フーリエ変換と逆離散フーリエ変換を線形代数の言葉を使って説明していますが,これらは離散時間データの取り扱いと関係するものです.連続時間データの取り扱いはフーリエ変換逆フーリエ変換といわれるもので,以下の記事で説明しています.

ogyahogya.hatenablog.com

第4章の内容と関係するブログ記事

第4章は「内積空間上の微分」ということで,内積空間上の微分や方向微分のことを説明していました.内積空間を多様体に変更すると,そこで説明していた方向微分は共変微分というものに一般化されます.このことについては以下の記事で説明しています.

ogyahogya.hatenablog.com

第5章の内容と関係するブログ記事

第5章は「有限次元内積空間上の凸最適化」ということで凸最適化に関する基礎的なことを説明しています.第5章の内容と以下の記事は関係しています.

ogyahogya.hatenablog.com

第6章の内容と関係するブログ記事

第6章は「線形システムの可制御性と可観測性」ということでシステム制御理論と関係する内容となっています.第6章の内容と以下の記事は関連しています.

ogyahogya.hatenablog.com

ogyahogya.hatenablog.com

 

本を出版しました!

線形代数を基礎とする 応用数理入門: 最適化理論・システム制御理論を中心に (SGCライブラリ)という本を出版しました!

このブログで気が向いたら本書の内容をより詳しく説明したりしたいと思います(3年以上ぶりにブログが動き出す気配があります).

特異値分解

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

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

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

実数を成分に持つ正方行列  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教科書 ストラング:線形代数イントロダクション