金谷健一:線形代数セミナー ‐射影,特異値分解,一般逆行列‐

2026-02-12

概要

「まえがき」から引用する。

(前略)市販の線形代数のほとんどすべては,そのような広範囲の学生を対象とし,主に数学者によって書かれている. それに対して,本書は主として,音声・言語を含むパターン認識・処理,信号・画像処理,コンピュータビジョン,コンピュータグラフィクスなどのパターンん情報処理を学ぶ学生や,研究・開発を行う研究者を対象としている.(後略)

章末には問題があり、巻末には解答がある。本書では、転置を \( \top \) で表している。

感想

スペクトル分解

p.18 から引用する。

\( \boldsymbol{A} \) の固有値を \( \lambda_1, \dots, \lambda_n \) とし,対応する固有ベクトルの正規直交系を \( \{ \boldsymbol{u}_i \}, i = 1, \dots, n\)とすると, \( \{ \boldsymbol{u}_i \} \) は \( \mathcal{R}^n \) の正規直交基底となる.(中略)\( \boldsymbol{A} \) は次のように表せる。 \[ \boldsymbol{A} = \lambda_1 \boldsymbol{u}_i \boldsymbol{u}_i^\top + \dots + \lambda_n \boldsymbol{u}_n \boldsymbol{u}_n^\top \] すなわち,対称行列はその固有値と固有ベクトルによって表すことができる.これをスペクトル分解(spectral decomposition)と呼ぶ (固有値は「スぺクトル」(spectrum)と呼ばれることによる).あるいは,固有値分解(eigenvalue decomposition)とも呼ばれる.

固有値のことをスペクトルともいう、という事実を本書で初めて知った。スペクトル分解については線形代数学に基づくデータ分析法にも記載がある。 また、行列プログラマーでは、スペクトルが固有値とは異なる文脈で使われている例もある。

特異値と特異ベクトル

pp.28-29 から引用する。

零行列 \( \boldsymbol{O} \) (すべての要素が 0 の行列)ではない任意の \( m \times n \) 行列 \( \boldsymbol{A} \neq \boldsymbol{O} \) に対して

\[ \boldsymbol{Av} = \sigma\boldsymbol{u}, \boldsymbol{A^\top u} = \sigma\boldsymbol{v}, \sigma > 0, \boldsymbol{u} \neq \boldsymbol{0},\boldsymbol{v} \neq \boldsymbol{0} \]

となる正数 \( \sigma \) を特異値(singular value)と呼び,\( m \) 次元ベクトル \( \boldsymbol{u} (\neq \boldsymbol{0}) \),\( n \) 次元ベクトル \( \boldsymbol{v} (\neq \boldsymbol{0}) \)をそれぞれ, 左特異ベクトル(left singular vector),右特異ベクトル(right singular vector),合わせて特異ベクトル(singular vector)と呼ぶ. そのような特異値と特異ベクトルの組の個数 \( r \) は行列 \( \boldsymbol{A} \) のランク( = 線形独立な列の数,線形独立な行の数)だけ存在する(後述).

そのような \( \boldsymbol{u, v, } \sigma \) の組を \( r \) 個見つけるにはどうすればよいだろうか。続いて本書では理論的な導出方法として、\( \boldsymbol{A A^\top , A^\top A} \) の固有値と固有ベクトルを計算する 方法が解説されている。しかし、実際の計算ではどうだろうか。本書の p.29 に次の記述がある。

実際に特異値と特異ベクトルを求めるには,\( \boldsymbol{A A^\top , A^\top A} \) の固有値と固有ベクトルを計算する必要はない. 精度よく高速に計算できる,反復による数値解法のソフトウェアツールがいろいろ提供されている.代表的なものは,ハウスホルダー法によって二重対角行列(bidiagonal matrix)に変換し, ゴラブ・ラインシュ法(Golub-Reinsch method)を適用する方法である.

このゴラブとは、行列プログラマーに出ているジーン・ゴラブのことだろうか。

特異値分解

pp.29-30「3.2 特異値分解」 の節を一部抜粋する。pp.30 では次の式が掲げられている。(式 3.4)

\[ \boldsymbol{A} = \sigma_1\boldsymbol{u}_1 \boldsymbol{v}_1^\top + \dots + \sigma_r\boldsymbol{u}_r \boldsymbol{v}_r^\top, \sigma_1 \ge \dots \ge \sigma_r \gt 0 \]

ここで、\( \boldsymbol{A} \) は、\( m \times n \) 行列、\( \boldsymbol{u_i, v_i, } \sigma_i \) はそれぞれ左特異ベクトル、右特異ベクトル、特異値である。

これを受けて、次のように本節が締めくくられている。

このように,任意の行列はその特異値と特異ベクトルによって表すことができる.これを特異値分解(singular decomposition)と呼ぶ。

行列プログラマーでは特異値分解を行列を使って表しているので、比べてみるのがいいだろう。

数式の記述

数式表現はMathJax4 を用いている。

誤植

『線形代数セミナー』正誤表(kyoritsu-pub.sakura.ne.jp) に載っていない誤植である。

p.2 (脚注を除いて)下から4行目、正規直交規定とあるが、正しくは《正規直交基底》だ。

p.121 の文献 [6] の著者が兵藤甲一となっているが、正しくは《兵藤申一》である。

書誌情報

書名 線形代数セミナー ‐射影,特異値分解,一般逆行列‐
著者 金谷健一
発行日 2018 年 7 月 31 日 初版 1 刷
発行元 共立出版
定価 2300 円(本体)
サイズ A5版
ISBN 978-4-320-11340-4
NDC
その他 川口市立図書館で借りて読む