基礎数理 A ノート 鈴木貴 1 平成 26 年 7 月 25 日 1 大阪大学大学院基礎工学研究科システム創成専攻数理科学領域 前書き 本ノートは数理科学コース 2 年生に対して, 平成 26 年度に実施している基 礎数理 A の講義録である. この講義は [2] を教科書とし, [1] を演習書として 使用しているが, 両書は何分にも膨大であり, 平面的に読んでいるだけでは内 容が身につかない.そこでシラバスと教科書・演習書の間に位置するものと して, このノートを公開することにした.受講生は適宜参照の上講義・演習の 生の時間を想起され, TA の支援も受けて予習・復習に活用されたい. i 目次 第 1 章 ガウスの消去法 1.1 行列の LU 分解 1.2 微分方程式の数値計算 2014. 4.11 . . . . . . . . . . . . . . . . . . . . . . 2 2 . . . . . . . . . . . . . . . . . 6 2014. 4. 18 第 2 章 連立一次方程式の理論 2.1 2.2 10 長方行列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 基本部分空間 2014. 4. 25 . . . . . . . . . . . . . . . . . . . . . . 13 第 3 章 正射影と最小二乗法 18 . . . . . . . . . . . . . . . . . . . . . . . 18 3.1 直交部分空間 3.2 3.3 グラム-シュミットの直交化法 擬似逆行列 2014. 5. 9 2014. 5. 22 第 4 章 行列式 4.1 行列式 2014. 5. 30 . . . . . . . . . . . . . 22 . . . . . . . . . . . . . . . . . . . . . . . . 27 2014. 5. 16 33 . . . . . . . . . . . . . . . . . . . . . . . . . . 33 第 5 章 固有値と固有ベクトル 5.1 5.2 5.3 35 固有値問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 対角化 2014. 6. 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2014. 6. 13 . . . . . . . . . . . . . . . . . . . . 44 複素行列の対角化 第 6 章 正定値行列 6.1 2 次形式 6.2 有限要素法 2014. 6. 20 50 . . . . . . . . . . . . . . . . . . . . . . . . . 50 2014. 6. 27 . . . . . . . . . . . . . . . . . . . . . . . . 56 第 7 章 行列の数値計算 7.1 7.2 7.3 相対誤差 59 . . . . . . . . . . . . . . . . . . . . . . . . . 59 固有値の計算・反復法 . . . . . . . . . . . . . . . . . . . . . . 61 反復法 2014. 7. 11 . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2014. 7. 4 第 8 章 線形計画法とゲームの理論 8.1 線形計画法 8.2 8.3 双対定理 66 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 . . . . . . . . . . . . . . . . . . . . . . . . . 68 ミニマックス定理 2014. 7. 25 . . . . . . . . . . . . . . . . . . . . 72 2014. 7. 18 1 第 1 章 ガウスの消去法 1.1 行列の LU 分解 2014. 4.11 例題 1.1.1 ガウスの消去法で 2u + v + w 4u + v = 1 = −2 −2u + 2v + w = 7 を解く. 太字をピポットとして 1 1 0 −2 1 7 1 1 −2 −4 2 8 1 1 −2 −4 −4 −4 2 1 4 1 −2 2 2 1 → 0 −1 0 3 2 1 → 0 −1 0 0 と変形し, 2u + v + w −v − 2w = 1 = −4 −4w = −4 を得て, 下から後退代入すれば u v w x = −1 = 2 = 1 注意 1.1.1 各ステップでピポットが常に 0 とならなければ一意解を得る. 計算回数 2 第 1 方程式の長さを n とする. 第 1 ステップ第 1 段の計算は, 第 1 行にか ける乗数をきめ(1 回)第 2 行の第2成分以降の(掛け算)+ (引き算)で (n − 1) 回. 計 n 回が第 1 列の 2 番目の数を 0 とするのに必要. 従って第 1 列 のすべてを処理するのに n(n − 1) = (n2 − n) 回. 第 2 ステップは n を n − 1 として同じ操作.以下繰り返すから, 後退代入 に入るまでの計算回数は (n2 − n) + . . . + (k 2 − k) + . . . + (12 − 1) = n ∑ k2 − k=1 n ∑ k k=1 1 1 n(n + 1)(2n + 1) − n(n + 1) 6 2 1 = n(n + 1){(2n + 1) − 3} 6 1 1 = n(n + 1)(n − 1) = (n3 − n) 3 3 = 次に後退代入に入ると, 最初の変数は 1 回, 次は 2 回, .... 従って n ∑ k= k=1 1 n(n + 1) 2 以上から全体の計算回数は 1 3 1 n3 (n − n) + n(n + 1) ≈ (n ≫ 1). 3 2 3 LU 分解 係数行列の各ステップを見る: 2 1 1 A= 4 1 0 −2 2 1 2 1 1 1 → A1 = 0 −1 −2 = −2 0 3 2 1 ここで 0 1 0 0 2 1 0 4 1 1 −2 2 1 0 1 1 0 0 E1 = −2 1 0 1 0 1 において太字はそれぞれ第 1 行を (−2), 1 倍して第 2, 第 3 行に加える操作に 対応している. E1 は下三角行列で, これを用いると第 1 ステップは A1 = E1 A と表すことができる. 同様に第 2 ステップは 3 2 1 1 A1 = 0 −1 −2 0 3 2 2 1 1 1 0 → A2 = 0 −1 −2 = 0 1 0 0 −4 0 3 すなわち 1 1 −1 −2 3 2 0 0 3 1 1 E2 = 0 0 A2 = E2 A1 , 2 0 0 0 0 1 0 1 と表すことができる. ここで最終的に得られた 2 1 1 A2 = 0 −1 −2 0 −4 0 は上三角行列で, これを U と書くと, これらの結果は U = E2 E1 A, A = LU, L = (E2 E1 )−1 としてまとめることができる.E1 , E2 は下三角なので L も同様.また対角 成分は 1 である. A = LU を行列の LU 分解という. 定理 1.1.1 0 のピポットが現れない限り, 正方行列 A は下三角行列 L, 上三 角行列 U との積 LU で表される. 注意 1.1.2 Ax = b を LU x = b と書けば, 前進代入で U x = L−1 b, 次に後退 代入で x = U −1 L−1 b と解ける.従って 1. ガウスの消去法を 1 回おこなうと, 行列 A の LU 分解ができる. 2. いったん LU 分解ができると Ax = b は前進代入と後退代入で解ける. このときの計算回数は 1 2 × n(n + 1) ≈ n2 , 2 行の入れ換え 4 n ≫ 1. 2v 3u + 4v = b1 = b2 ではピポットが見つからないので行の入れ換えを行う: ( ) ( ) 0 2 3 4 → 3 4 0 2 ここで ( 3 0 4 2 ) ( = と書けば ( P = 0 1 1 0 )( 0 1 1 0 0 2 3 4 ) ) が第 1 行, 第 2 行を入れ換える行列であることがわかる. 例題 1.1.2 1 3 2 1 3 2 1 3 → → 2 6 9 0 0 5 0 2 2 8 8 0 2 4 0 0 2 4 5 例題 1.1.3 1 3 2 1 3 2 6 9 → 0 0 3 9 8 0 0 2 5 2 2 番目の例では 0 のピポットが現れ, その下のすべての要素も 0 となってい る.行の入れ換えをしてもガウスの消去法が続行できない. 行を入れ換える行列... 交換行列 1 0 0 0 0 0 0 1 P = 0 0 1 0 0 1 0 0 ... 第 2 行と第 4 行を入れ換える. 交換行列は各行・各列にただ 1 つの 1 の要素があって他は 0. このような行 列の積も同様. 定理 1.1.2 特異でない正方行列 A はその行の並べ換えを表す交換行列 P に よって P A = LU, L:下三角, U :上三角とできる.L の対角成分は 1 である. 5 注意 1.1.3 (部分選択) 100 × 100 の方程式では 1 3 · 1003 ≈ 30 万回の計算. それぞれに丸め誤差があり, 有効数字を考慮する必要がある. .345 + .00123 → .346 例題 1.1.4 ( A= 1. 1. 1. 1.0001 ) ( ′ , A = .0001 1. 1. 1. ) A の行列式は ≈ 0. A の要素が少し変化しただけでも Ax = b の解は大き く変わってしまう. A′ の行列式は ≈ −1. 理論的には A′ の要素が少し変化しただけでは A′ x = b の解は大きくは変わらない. しかしガウスの消去法をこのまま実行すると, ピポットが小さいので計算 に大きな丸め誤差を生み出す. 特に不都合がおこらない限り, 行の入れ換えをしてピポットの絶対値が最 大なものを選び出すようにプログラミングする.... 部分選択による消去法. 問題 1.1.1 (練習問題 1.2.7) ガウスの消去法によって次の方程式を解き, そ の操作を行列の LU 分解によって表せ. u+v+w u + 2v + 2w 2u + 3v − 4w = 6 = 11 = 3 (注意)(E2 E1 )−1 = E1−1 E2−1 問題 1.1.2 (練習問題 1.5.2) 次の特異な方程式に消去をおこない, 解が存在 するための b1 , b2 の条件を求めよ. u+v 3u + 3v = b1 = b2 問題 1.1.3 (練習問題 1.5.11) ガウスの消去法で次の行列の逆行列を求めよ. 1 12 13 A = 12 13 14 1 4 1 3 1 5 次に第 2 桁の丸め誤差で計算を試みよ. 1.2 微分方程式の数値計算 2014. 4. 18 u = u(x) を未知関数, f (x) を非同次項として 2 階の線形微分方程式 − d2 u = f (x) dx2 6 0≤x≤1 (1.1) を考える.定数 C, D に対して Cx + D を解 u(x) に加えても (1.1) をみたす. 二つの自由度 C, D を消去して解を一意的に定めるため, 境界条件 u(0) = u(1) = 0 (1.2) を課す. u(x) の物理的な意味は定常状態を記述する温度分布である.[0, 1] が熱の導 体である棒で, f (x) は分布した熱源を表している. 有限差分法による近似計算では [0, 1] を n 等分し h = 1/n とおく: x0 = 0 < x1 = h < x2 = 2h < . . . < xn = nh = 1 近似方程式をたて, u(x) の分点 xk = kh での値の近似 uk (k = 0, 1, . . . , n) を 求めて折れ線で結ぶ.h ↓ 0 として (1.1)-(1.2) の解の形状を求める. 近似方程式は (1.2) より u0 = un = 0 (1.3) とする.(1.1) において微分を差分商に置き換える: du u(x + h) − u(x) u(x) − u(x − h) ≈ Dh u(x) = , Dh u(x) = dx h h d2 u dx2 の近似を Dh Dh または Dh Dh u(x) でとる: Dh Dh u(x) = = = Dh Dh u(x) = = Dh u(x + h) − Dh u(x) h 1 {(u(x + h) − u(x)) − (u(x) − u(x − h))} h2 u(x + h) + u(x − h) − 2u(x) h2 Dh u(x) − Dh u(x − h) h u(x + h) + u(x − h) − 2u(x) h2 この方法は x, x ± h の 3 分点を平等に用いるので合理的...3 点差分 3 点差分で 2 階微分を置き換える:(1.1) より −uk+1 + 2uk − uk−1 = h2 f (kh) (1 ≤ k ≤ n − 1) (1.4) ...f (x) は分点の値しか使用しない. (1.4) は n − 1 個の線形方程式.(1.3) から u0 , un を定めれば, 未知数は u1 , . . . , un−1 の n − 1 個.例えば n = 6 の場合 2 −1 u1 f (h) −1 2 −1 u2 f (2h) u3 = h2 f (3h) −1 2 −1 −1 2 −1 u4 f (4h) −1 2 u5 f (5h) 7 となる. 2 −1 A= −1 −1 2 2 −1 −1 2 −1 −1 2 −1 は三重対角行列でガウスの消去法は早い. 2 2 −1 0 2 −1 −1 → −1 2 −1 −1 2 −1 −1 2 3 −1 2 −1 2 −1 −1 2 −1 −1 2 −1 A は対称行列で消去法を行った先も対称行列.メモリーを半分にできる.n×n, 対称, 三重対角, 正定値行列のガウスの消去法による計算の手間は, 各ステッ プで 2 回... 計 2n 回, 後退代入で 2n 回, 合計 4n 回.例えば n = 100 の場合, · 1003 ≈ 30 万, 4 × 100 = 400. 空間 2 次元の中心差分だと 5 重対角.多重 対角の場合も計算回数はほぼ同じ.ただし, 三重対角, 対称であっても逆行列 1 3 は詰まっている. 注意 1.2.1 A はさらに正定値: 2 Ax · x ≥ δ |x| . ただし δ > 0 は定数, ·, | · | は内積とノルム.このことから A = LDU と分解されることがわかる.ただし L は下三角, 対角部分はすべて 1. U は 上三角, 対角成分はすべて 1. λ1 λ2 D= · · , λ1 , . . . , λn−1 ≥ δ. λn−1 問題 1.2.1 (練習問題 1.6.4) 差分方程式 (1.4) を h = 14 , f (x) = 4π 2 sin 2πx のときに行列で表して, uk (k = 1, 2, 3) を求めよ.次に (1.1) の解(真の解) u = sin 2πx の分点での値と比較せよ. 問題 1.2.2 (練習問題 1.4.7) 1 0 0 L = −1 1 0 , 0 −1 1 1 −1 U = 0 1 0 0 8 0 −1 , 1 2 b = −3 4 A = LU の場合に Ax = b を前進代入と後退代入で解け. 9 第 2 章 連立一次方程式の理論 2.1 長方行列 A= a11 · · am1 ... a1n ... · ... · . . . amn は (m, n) 行列.線形写像 A : Rn → Rm と同一視できる.線形連立方程式 Ax = b, x1 · x = · , b = · xn b1 · · · (2.1) bm は m > n のとき「方程式の数」>「未知数」... 過剰決定系, 逆に m < n のと き 「方程式の数」<「未知数」... 不足決定系. (2.1) の解の存在と一意性につ いて考える. 1. R(A) = {Ax | x ∈ Rn } ⊂ Rm を行列 A の値域 (レインジ)という.Rm の線形部分空間である.明ら かに Ax = b が解を持つ ⇔ b ∈ R(A). 2. N (A) = {x ∈ Rn | Ax = 0} ⊂ Rn を行列 A の核(カーネル)という.N (A) も Rn の線形部分空間であ る.x0 を Ax = b の特殊解, x をその一般解とする:Ax0 = b, Ax = b. このとき A(x − x0 ) = Ax − Ax0 = b − b = 0 より, x − x0 ∈ N (A). すなわち Ax = b の一般解はその特殊解 + N (A) の元である. 10 例題 2.1.1 1 5 2 において 0 4 4 ( u v ) b1 = b2 b3 (2.2) 1 0 A= 5 4 2 4 は (3, 2) 行列.m = 3 > n = 2... 過剰決定系. (2.2) の左辺は 0 1 u 5 + v 4 . 4 2 一般に Ax = b が解をもつ ⇔ b は A の列ベクトルの線形結合 R(A) は A の列ベクトルで張られるので A の列空間ともいう. 例題 2.1.2 1 2 −1 1 3 2 6 9 5 → 0 0 0 0 −3 3 0 3 3 1 3 2 3 1 → 0 0 0 0 6 2 3 3 3 0 2 1 0 行の変換をおこなって 0 でないピポットを取り出してガウスの消去法を続 けると, 最終的に上台形行列になる. ∗ · · · · ∗ · · · ∗ · · · · · · · ∗ · · これとき行列は対角成分 1 の下三角行列 L の作用を受ける. 1 3 3 2 1 0 0 1 3 3 6 9 5 = 2 1 0 0 0 3 2 −1 −3 3 0 −1 2 11 1 0 0 0 2 1 0 定理 2.1.1 任意の (m, n) 行列 A に対して (m, m) 交換行列 P と対角成分 1 の (m, m) 下三角行列 L および (m, n) 上台形行列 U が存在して P A = LU (2.3) が成り立つ. (2.3) において Ax = 0 ⇔ U x = 0. よって N (A) = N (U ). 例題 2.1.3 例題 2.1.2 の例: 1 3 3 2 6 9 5 = 2 −1 −3 3 0 1 Ux = 0 ⇔ 0 0 1 0 0 1 2 1 0 0 0 −1 2 1 3 0 3 3 0 0 u v w 2 1 0 y 3 3 0 0 3 0 2 1 0 0 = 0 . 0 後退代入で解くと u + 3v + 3w + 2y = 0 3w + y = 0 ↑ u = −3v − y w = − 13 y 0=0 U x = 0 の解は −3v − y −3 −1 1 0 v −1y = v 0 + y −1 3 3 y 1 0 . この例の U で 0 でないピポットを持つ列は 1, 3. 対応する変数は u, w... 基底 変数.基底でない変数は v, y... 自由変数. U x = 0 を解くと自由変数はそのま ま残り −3 1 0 0 , 0 −1 3 1 −1 が N (U ) = N (A) = {x ∈ Rn | Ax = 0} の基底.一般に自由変数の数が N (A) の次元. 一方基底変数の数 = 上台形行列で最後のピポットが出てくるまでの行の 数...A の階数(ランク)という. 12 問題 2.1.1 (練習問題 2.2.4) 次の行列の階段形 U , 基底変数, 自由変数, Ax = 0 の一般解, b ∈ R(A) となるための b の成分 b1 , b2 の条件, A の階数を求めよ. ( ) 0 1 4 0 A= 0 2 8 0 問題 2.1.2 (練習問題 2.1.2) 次の R3 の部分集合のうち部分空間であるのは どれか 1. 第 1 成分が b1 = 0 であるベクトルにより構成される平面 2. b1 = 1 であるベクトルにより構成される平面 3. b1 b2 = 0 となるベクトル b の全体 4. ただ 1 つのベクトル b = (0, 0, 0) からなる集合 5. 与えられた 2 つのベクトル u = (1, 1, 0) と v = (2, 0, 1) とのあらゆる結 合からなる集合 6. b3 − b2 + 3b1 = 0 を満たすベクトル (b1 , b2 , b3 ) の全体 2.2 基本部分空間 2014. 4. 25 A を (m, n) 行列とすると P を (m, m) 交換行列, L を対角成分 1 の (m, m) 下三角行列, U を (m, n) 上台形行列として (2.3): P A = LU が成り立つ. Ax = 0 ⇔ U x = 0 より N (A) = N (U ). 例題 2.1.2 1 3 3 2 1 0 6 9 5 = 2 1 2 −1 −3 3 0 −1 2 では 1 Ux = 0 ⇔ 0 0 3 0 0 3 3 0 0 1 0 0 1 0 u 2 v 1 w 0 y 3 0 0 0=0 13 ↑ 2 1 0 0 = 0 . 0 後退代入で解くと u + 3v + 3w + 2y = 0 3w + y = 0 3 3 0 u = −3v − y w = − 13 y U x = 0 の解は −3v − y v − 13 y = v −3 −1 +y 0 −1 3 0 1 1 0 y . (2.4) この例の U で 0 でないピポットを持つ列は 1, 3. 対応する変数は u, w... 基底 変数.基底でない変数は v, y... 自由変数. U x = 0 を解くと自由変数はそのま ま残り −3 1 0 0 , 0 −1 3 1 −1 が N (U ) = N (A) = {x ∈ Rn | Ax = 0} の基底.自由変数の数が N (A) の次 元である. 非同次項のある場合には, Ax = b は次のように変形される: 例題 2.2.1 1 2 | b1 | b2 3 3 2 6 9 5 −1 −3 → 3 → 0 | b3 1 3 0 0 3 3 2 1 | b1 | b2 − 2b1 0 0 6 2 | b3 + b1 1 3 0 0 3 2 3 1 | b1 | b2 − 2b1 0 0 0 | b3 − 2b2 + 5b1 0 上の変形は Ax = LU x = b を U x = L−1 b に変換するプロセスである. u 1 3 3 2 b1 v U x = L−1 b ⇔ 0 0 3 1 w = b2 − 2b1 0 0 0 0 b3 − 2b2 + 5b1 y すなわち u + 3v + 2w + 2y = b1 3w + y = b2 − 2b1 0 = b3 − 2b2 + 5b1 これより b ∈ R(A) ⇔ b3 − 2b2 + 5b1 = 0. すなわち b がこの条件をみたすときは Ax = b の解 x が存在し, その解は自由 変数 v, y を用いて表される. 14 一般に A : Rn → Rm を (m, n) 行列, r を A の階数(基底変数の数)とす ると b ∈ R(A) となるための条件の数は (方程式の数) − (基底変数の数) = m − r これを R(A) = {Ax | x ∈ Rn } の余次元という. 実際 r は R(A) の次元となる. 定理 2.2.1 A を (m, n) 行列, P , L, U をそれぞれ行の交換行列, 対角成分 1 の下三角行列, 上台形行列として P A = LU が成り立つものとする.このとき U の最後のピポットが r 行にあるとすると r は A の階数. 基底変数は r 個, 自由変数は n − r 個, Ax = 0 の解は n − r 個 の自由変数をもつ. Ax = b が解をもつためには b についての m − r 個の条件 式がみたされることが必要十分である. 上の定理で U の 0 でない上から r 個の行は線形独立(すなわち自明な場合 以外のすべての線形結合が 0 でない). 0 でないピポットをもつ r 個の列も線 形独立: 1 2 −1 3 6 3 9 −3 3 1 3 3 2 → 0 0 3 1 0 0 0 0 0 2 5 , r=2 一般にベクトル空間の基底とは次の二つの性質をもつベクトルの集合: 1. 線形独立 2. その空間を張る ベクトル空間 V の任意の 2 つの基底は同じ数のベクトルをもっている. この 数はすべての基底について共通であり, 空間の自由さの程度を表す数で, V の 次元と呼ばれる. V の任意の線形独立なベクトルの集合は, もし必要であれば ベクトルを加えることによって基底とすることができる. V を張る任意のベ クトルの集合はもし必要ならばベクトルを除くことによって基底とすること ができる. 定理 2.2.2 {v1 , . . . , vm }, {w1 , . . . , wn }: 同じ空間 V の基底 ⇒ m = n 4 つの基本部分空間 1. A の行空間...A の行が張る線形空間 ⊂ Rn (a) ガウスの消去法を行っても, 行空間は変わらない. 15 (b) 上台形行列 U の行空間の次元 = A の階数 r. (c) U の上から r 番目までの行が A の行空間の基底. 2. A の核 N (A) (a) Ax = 0 ⇔ U x = 0 (b) N (A) の次元 = n − r. (c) U のピポットをもたない列に対応する (n−r) 個の自由変数 z1 , . . . , zn−r がある. (d) (2.4) で見たように, 自由変数それぞれについて順に 1 を代入し, 他 の自由変数を 0 として U x = 0 の (n − r) 個の解をとれば, N (A) の基底となる. 3. A の列空間...A の列が張る線形空間 ⊂ Rm , A の値域 R(A). (a) t A の行空間が A の列空間であるので, t A に対してガウスの消去 法を行うと基底を求めることができる. (b) P A = LU より U の独立な r 個の列ベクトル(すなわち 0 でない ピポットをもつ列)と番号が対応する A の列ベクトルが基底とな る.しかし U の列空間は A の列空間ではない. (c) 特に R(A) の次元 = R(U ) の次元 = A の階数 (d) よって 独立な行の個数 = 独立な列の個数 = 行列の階数 4. N (t A). (a) t Ay = 0 ⇔ t yA = 0 より N (t A) ∼ = A の左核(零空間) (b) t A に対して (基底変数の個数)+(自由変数の個数)=(列の個数) を適用すると r + dimN (t A) = n. (c) L−1 P A = U , U の最後の (m − r) 行 = 0 より L−1 P の最後の (m − r) 個の行が A の左核の基底. 注意 2.2.1 (逆行列の存在) A を (m, n) 行列とする.その左, 右逆行列 B, C はそれ ぞれ (n, m), (n, m) 行列で BA = In , AC = Im をみたすものである. ただし In , Im はそれぞれ (n, n), (m, m) 単位行列である.次 の定理から正方行列のときのみ右および左逆行列が存在する. 16 定理 2.2.3 A : Rn → Rm を (m, n) 行列, r をその階数とする: r = rank(A) ≤ min{m, n}. r=m ⇔ A の ∃ 右逆行列(このとき m ≤ n) r=n ⇔ A の ∃ 左逆行列(このとき n ≤ m) 証明 r=m ⇔ m 個の列ベクトルが Rm を張る ⇔ ∃ ただし x1 , . . . , xm ∈ Rn , Axi = ei (i = 1, . . . , m) e1 = 1 0 · · 0 , en = ... 0 · · 0 1 従って C = [x1 , . . . , xm ] に対して AC = Im . 次に r=n ⇔ t A の列ベクトルが Rn を張る ⇔ t A の ∃ 右逆行列 ⇔ A の ∃ 左逆行列 証明終 定理 2.2.4 正方行列の右逆行列と左逆行列は等しい. 証明 A を (n, n) 行列, B, C をその左, 右逆行列とすると BA = I, AC = I ただし I = In は (n, n) 単位行列. 従って積の結合則より B = BI = B(AC) = (BA)C = IC = C. 証明終 注意 2.2.2 r=m ⇔ R(A) = Rm ⇔ ∃ 右逆行列 r=n ⇔ N (A) = {0} ⇔ 左逆行列 問題 2.2.1 (練習問題 2.4.4) つぎの行列に付随する 4 つの部分空間を記述 せよ 0 1 0 0 A= 0 0 0 0 0 1 0 0 0 0 1 0 問題 2.2.2 (練習問題 2.4.3) 次の行列について同じことを調べよ 1 2 0 1 A= 0 1 1 0 1 2 17 0 1 第 3 章 正射影と最小二乗法 3.1 直交部分空間 2014. 5. 9 x1 · x= · , · xn y1 · n y= · ∈R · yn に対し t xy = x1 y1 + . . . + xn yn を x, y の内積といい, (x, y), x · y などと書く. (m, n) 型行列 A に対して常に (Ax, y) = (x, t Ay) が成り立つ. |x| = √ (3.1) v u n u∑ x2 (x, x) = t i i=1 を x の長さ(ノルム)という. (x, y) = 0 のとき, x, y は直交するといい x ⊥ y と書く. 互いに直交する 0 でないベクトル v1 , . . . , vk は線形独立. 部分空間 V, W ⊂ Rn に対し, (v, w) = 0, ∀v ∈ V, ∀w ∈ W が成り立つとき V , W は直交するといい, V ⊥W と書く. 線形部分空間 V ⊂ Rn に対し V ⊥ = {w ∈ Rn | (w, v) = 0, ∀v ∈ V } を V の直交補空間という. 定理 3.1.1 (直交分解定理) Rn = V ⊕ V ⊥ , すなわち ∀x ∈ Rn , ∃1v ∈ V, ∃1w ∈ V ⊥ , 18 s.t. x = v + w 直交分解定理から直ちに dim(V ⊥ ) = n − dim(V ) (V ⊥ )⊥ = V. 定理 3.1.2 (m, n) 行列 A に対して N (A)⊥ = R(t A). 証明 Av = 0 ⇔ A のすべての行 ⊥ v ⇔ t A のすべての列 ⊥ v と t A の列空間 = R(t A) より N (A) ⊥ R(t A). 従って N (A) ⊂ R(t A)⊥ 一方 A, t A の階数は同じ r なので dim N (A) = n − r, dim R(t A) = r すなわち dim N (A) = dim R(t A)⊥ = n − r. よって N (A) = R(t A)⊥ . 証明終 注意 3.1.1 t A に対して定理 3.1.2 を適用すると N (t A)⊥ = R(A), 従って R(A)⊥ = N (t A). また Ax = b が解をもつための必要十分条件は任意の y ∈ N (tA) に対して (y, b) = 0. このことを交代定理という. 最小二乗近似 1. S ⊂ Rn を部分空間とするとき, S 上の点 p で与えられた x ∈ Rn に最 も近いものを選ぶ... 過剰決定系に対する最小二乗近似問題. 2. S のベクトルで, 多くのデータと整合するものを求めなければならない 場合, 最ももっともらしいもの p ∈ S を選ぶ方法. 3. このときの p...x の S への正射影 4. p は条件 p ∈ S, (x − p) ⊥ S によって定まる. 正射影の求め方(予告) 19 (3.2) 1. p は S の基底がわかれば容易に求められる 2. 特に S の正規直交基底がわかれば非常に簡単 3. 一方, 任意の基底は正規直交基底に変換できる.... グラム-シュミットの直交化 4. S を張る線形従属なベクトルの集合があるときは, 行列の擬似逆行列を用いる 5. p の計算はグラム-シュミットの直交化法と行列の特異値分解が実用的 過剰決定系の方程式 A : Rn → Rm , m>n (3.3) ... 方程式の数のほうが未知数の数より大きい. 解は存在すればたいてい一意 だが, たいていは存在しない. 例題 3.1.1 2x = b1 3x = b2 4x = b3 b1 2 ... b = b2 が a = 3 と同一直線上にあるとき, そのときのみ解を b3 4 もつ. 一般に過剰決定系 (3.3) には解がないので, 誤差 E = |Ax − b| を最小にする ように x ∈ Rn を選ぶ... 最小二乗(近似)問題. x をその解とすると p = Ax は b の R(A) への正射影. 従って p = Ax ∈ R(A), (b − p) ⊥ R(A). すなわち 0 = (Ax − b, Ay) = (t AAx − t Ab, y), ∀ y ∈ Rn . よって t AAx = t Ab. (3.4) これを正規方程式という. 注意 3.1.2 A の列ベクトルが線形独立であれば rank A = n. 従って次の定 理から rankt AA = n. t AA は正則. よって最小二乗近似解は一意存在する: x = (t AA)−1t Ab. このとき p = Ax = A(t AA)−1t Ab ≡ P b. P = A(t AA)−1t A を射影行列という. b ∈ Rm に対して P b は A の列空間 R(A) への正射影である. P は次の性質をもつ: 20 1. P 2 = P .... べき等 2. t P = P .... 対称 定理 3.1.3 階数 r の (m, n) 行列 A に対し (n, n) 行列 B = t AA は階数 r の 対称行列 証明 t B=t (t ) AA = t At (t A) = t AA = B より B は対称行列.N (A) = N (B) を示せば rank B = n − dim N (B) = n − dim N (A) = rank A = r がわかる. x ∈ N (A) ⇒ Ax = 0 ⇒ t AAx = Bx = 0 より N (A) ⊂ N (B) は明らか.逆に (3.1) より x ∈ N (B) ⇒ Bx = t AAx = 0 ⇒ 0 = (x, t AAx) = (Ax, Ax) = |Ax| 2 ⇒ Ax = 0 より N (B) ⊂ N (A). 証明終 注意 3.1.3 S が単一ベクトル a ̸= 0 で張られる直線の場合: 与えられたベクトル b の S への正射影 p は xa, ただし x はスカラー.(3.2) より b − xa ⊥ a. よって (b − xa, a) = 0, (a, b) = x |a|2 , x= (a, b) . |a|2 すなわち p= (a, b) a. |a|2 (3.5) より |b − p|2 = (b − p, b − p) = |b|2 − 2(b, p) + |p|2 = |b|2 − 2 (a, b)2 (a, b)2 ≥ 0. 2 + |a| |a|2 整理すると (a, b)2 ≤ |a|2 · |b|2 . すなわちシュワルツの不等式 (a1 b1 + . . . + an bn )2 ≤ (a21 + . . . + a2n )(b21 + . . . + b2n ) が得られる. 21 (3.5) 問題 3.1.1 (練習問題 3.2.3) 正規方程式 (3.4) を用いて次の不能の方程式の 最小二乗近似解を求めよ: ( ) 1 1 0 u = 1 . 0 1 v 0 1 1 問題 3.1.2 (練習問題 2.5.12) 次の行列の核の基底を求めて, 行空間に直交 していることを確かめよ. 3.2 ( 1 0 2 1 1 4 ) グラム-シュミットの直交化法 2014. 5. 16 Ax = b の最小二乗問題 E = |Ax − b| 最小 を解く... 直交性が背景. Rn の基底 v1 , . . . , vn が正規直交 ⇔ { 1, i = j (vi , vj ) = 0, i ̸= j 例題 3.2.1 e1 = 1 0 1 0 , e2 = · · · · 0 0 0 0 0 0 0 , . . . en = · · 1 ... 標準基底 以下の目的 1. A の列が正規直交であるときの Ax = b の最小二乗解 2. 直交行列の定義と性質 3. グラム-シュミットの過程と行列の分解 1. A:(m, n) 行列, m > n. 列ベクトルが線形独立のとき 1. 定理 3.1.3 より正規方程式 t AAx = t Ab は一意可解であり, Ax = b の最 小二乗解は x = (t AA)−1t Ab 2. 従って p = Ax より, 列空間への正射影行列は P = A(t AA)−1t A 22 特に A の列ベクトルが正規直交系の場合は t 1 a1 0 · · t AA = · (a1 , . . . , an ) = · · · t an 0 0 1 ··· ··· · · · · · · 0 ··· 0 0 · = In (= I) · · 1 従って P = At A, x = t Ab. 2. 直交行列... 上の性質をもつ 正方行列: t QQ = I, Q−1 = t Q, Qt Q = I. 一般に Q が直交行列の場合 2 2 |Qx| = (Qx, Qx) = (t QQx, x) = (x, x) = |x| 従って |Qx| = |x|. また (Qx, Qy) = (x, t QQy) = (x, y) すなわち, 直交行列 Q : Rn → Rn はベクトルの長さ, 内積を保存する. 直交行列の例 1. ( Q= − sin θ cos θ cos θ sin θ ) ( , t −1 Q=Q = cos θ − sin θ sin θ cos θ ... すべてのベクトルを角 θ だけ回転. t Q: 逆に −θ だけ回転 2. P が交換行列の場合... 列は単位ベクトルで互いに直交している 0 1 0 0 0 1 P = 0 0 1 , P −1 = t P = 1 0 0 . 1 3. ( P = 0 0 0 1 1 0 0 1 ) ( , P ... 直線 y = x に関する鏡像 23 −1 t = P = 0 1 1 0 0 ) . ) . 3. グラム-シュミットの直交化法 a1 , . . . an ... 線形独立なベクトルの集合 | · |, ( , )... ベクトルの長さ, 内積 v1 = a1 , q1 = v1 / |v1 | ⇒ |q1 | = 1 2 v2 = a2 − (a2 , q1 )q1 ⇒ (v2 , q1 ) = (a2 , q1 ) − (a2 , q1 ) |q1 | = 1 v2 ̸= 0 why? q2 = v2 / |v2 | ⇒ |q2 | = 1, (q2 , q1 ) = 0 v3 = a3 − {(a3 , q1 )q1 + (a3 , q2 )q2 } ⇒ (v3 , q1 ) = (v3 , q2 ) = 0 v3 ̸= 0 why? q3 = v3 / |v3 | ⇒ |q3 | = 1, −(q3 , q1 ) = (q3 , q2 ) = 0 ... ガウスの消去法が行列の LU 分解で記録されるのと同様に, グラム-シュミッ トの直交化は QR 分解で記録される. 例題 3.2.2 1 1 0 a1 = 1 , a 2 = 0 , a 3 = 1 . 0 1 1 v1 = a 1 1 1 1 1 q 1 = √ 1 = √ v1 = √ a 1 2 2 2 0 1 1 v2 = a2 − (a2 , q1 ) = a2 − (a2 , a1 )a1 = a2 − a1 = 2 2 √ q2 = 1 1 2 − 21 1 2 21 −2 3 1 1 2 v3 = a3 − (a3 , q1 )q1 − (a3 , q2 )q2 = a3 − (a3 , v1 )v1 − (a3 , v2 )v2 2 3 2 −3 1 2 1 = a3 − v1 − · · v2 = 23 2 3 2 2 3 24 √ q3 = 3 4 − 23 2 3 2 3 . a1 , a2 , a3 が q1 , q2 , q3 からどのように再構成されたかを見る. a1 = v1 = √ 2q1 √ √ 1 1 3 a2 = v1 + v2 = q1 + q2 2 2 2 √ √ √ 1 1 1 4 1 q1 + q2 + q3 a3 = v1 + v2 + v3 = 2 3 2 6 3 これより √ √ 1 2 √2 3 (a1 , a2 , a3 ) = (q1 , q2 , q3 ) 0 2 0 0 √ 1 √6 3 √2 4 3 定理 3.2.1 線形独立な列をもつ任意の行列 A はグラム・シュミットの直交 化によって積 A = QR に分解される. ただし Q の列は正規直交, R は上三角 正方で可逆である. A が正方行列のときは Q も同様. 従って Q は直交行列で ある. 過剰決定系 Ax = b の最小二乗問題はその正規化方程式 t AAx = t Ab に帰着され, さらに定理の仮定の下で得られる A の QR 分解を用いると, 正 規化方程式の解 x は x = (t AA)−1t Ab = (t Rt QQR)−1t Rt Qb = (t RR)−1t Rt Qb = R−1 (t R)−1t Rt Qb = R−1t Qb とあらわされる. したがって t Qb を計算して Rx = t Qb を後退代入で解けば よい. 疑似逆元 A : Rn → Rm , (m, n) 行列に対し, Ax = b が不能であるのは以下の場合: 1. m > n... 過剰決定系, 多くの場合解が存在しない 2. m < n... 不足決定系, 解が一意でない 3. m = n であってもこうしたことはおこりうる このような場合に最適な解 x を求める. 25 1. 最小二乗近似の考え方から x は E = |Ax − b| を最小にするもの 2. したがって p = Ax は b の R(A) への正射影. P を R(A) への正射影行 列とすると p = P b ∈ R(A). Ax = p は常に解をもつ. 3. このような x で |x| を最小にするもの...Ax = b の擬似逆元. x = A+ b と書く. 4. Rn = N (A) ⊕ R(t A) なので x は R(t A) から選べばよい. 例題 3.2.3 1 0 A= 0 1 0 0 b1 0 0 . 0 b1 n = m = 3. b = b2 の列空間 R(A) への正射影.... b2 = p b3 0 Ax = p ⇔ x1 = b1 , x2 = b2 , x3 : 任意 b1 1 0 0 x = A+ b = b2 , A+ = 0 1 0 . 0 0 0 0 問題 3.2.1 (練習問題 3.3.9) グラム-シュミット過程を 0 0 1 a1 = 0 , a2 = 1 , a3 = 1 1 に適用し, A = QR の形式で書け. 1 ( 問題 3.2.2 (練習問題 3.3.10) A = 問題 3.2.3 (練習問題 3.3.11) 1 a1 = 2 , 2 3 0 4 5 1 ) を QR 分解せよ. 1 a2 = 3 1 1 の直交化を A = QR の形式で表せ. 次に b = 1 について A = QR を用 1 いて最小 2 乗問題 Ax = b を解け. 26 研究課題 1 µ1 A= 0 0 0 µ2 0 0 0 0 0 , µ1 , µ2 > 0 0 0 の疑似逆行列 A+ を求めよ. 3.3 擬似逆行列 2014. 5. 22 Ax = b が解けない場合: 1. 最小二乗近似の考え方から x は E = |Ax − b| を最小にするもの 2. したがって p = Ax は b の R(A) への正射影. P を R(A) への正射影行 列とすると p = P b ∈ R(A). Ax = p は常に解をもつ. 3. このような x で |x| を最小にするもの...Ax = b の擬似逆元. x+ = A+ b と書く. 4. Rn = N (A) ⊕ R(t A) なので x+ = A+ b を求めるには Ax = p の解 x を R(t A) から選べばよい. 定理 3.3.1 Ax = b の擬似逆元 x+ = A+ b は条件 x+ ∈ R(t A), A の行空間 Ax+ ...b の R(A) への正射影 をみたすものである. 1. A+ : Rm → Rn は (n, m) 行列 2. A+ の列空間 R(A+ ) は A の行空間 R(t A). A+ の行空間 R(t A+ ) は A の列空 間 R(A). 特に rankA+ = rankA. 3. (A+ )+ = A. 4. AA+ = P : A の列空間 R(A) への正射影行列 前節で述べたように A の列が線形独立の場合は t AA は可逆. x+ = (t AA)−1t Ab A+ = (t AA)−1t A 27 例題 3.3.1 µ1 A= 0 0 0 0 0 0 , µ1 , µ2 > 0. 0 0 0 µ2 0 b1 b1 b = b2 の R(A) への正射影... b1 = p. b3 0 Ax = p ⇔ µ1 x1 = b1 , µ2 x2 = b2 , x3 , x4 : 任意 µ−1 0 0 b1 /µ1 1 −1 0 µ 0 2 x+ = A+ b = b2 /µ2 , A+ = 0 0 0 0 0 0 0 . 一般に Σ= µ1 · · µr , µ1 , . . . , µr > 0 m×n に対し + Σ = µ−1 1 · · µ−1 r n×m 特異値分解 定理 3.3.2 任意の (m, n) 行列は A = Q1 Σt Q2 に分解される. ここで Q1 , Q2 はそれぞれ (m, m), (n, n) 直交行列. Σ は上形の ”対角 ”行列. 系 3.3.1 上で定めた Σ+ に対して A+ = Q2 Σ+t Q1 . 証明 x+ は E = |Ax − b| を最小にする x のうちで, |x| を最小とするもの. t 直交行列はベクトルの長さを変えない. Q−1 1 = Q1 より E = |Ax − b| = |Q1 Σt Q2 x − b| = |Σt Q2 x − t Q1 b| 28 また y = t Q2 x に対して |y| = |x|, E = |Σy − t Q1 b| 従って y + = t Q2 x+ はこの E を最小にする y のうちで |y| を最小にするもの, すなわち y + = Σ+t Q1 b 従って t Q2 x+ = Σ+t Q1 b あるいは x+ = Q2 Σ+t Q1 b, A+ = Q2 Σ+t Q1 証明終 ベクトル空間 ベクトル空間はベクトル演算(和とスカラー倍)について閉じている空間 である. ベクトル空間の元(要素)をベクトルという. 1. ベクトル v1 , · · · , vk は, 自明な場合以外のすべての線形結合がゼロでな ければ, すなわち c1 = c2 = · · · = ck = 0 でない限り c1 v1 + c2 v2 + · · · + ck vk ̸= 0 であるとき線形独立であるという. そうでないときはこれらのベクトル は線形従属で, これらのうちの 1 つのベクトルはどれか他のベクトルの 線形結合となっている. 2. ベクトル空間 V があるベクトル w1 , · · · , wℓ のすべての線形結合からな るとき, これらのベクトルは空間 V を張るという. いいかえると, V の あらゆるベクトル v は適当な係数 ci によって w1 , · · · , wℓ の線形結合で 表すことができる: v = c1 w1 + · · · + cℓ wℓ 3. ベクトル空間の基底とは次の 2 つの性質を同時に満たすベクトルの集 合である. (a) 線形独立である (b) その空間を張る 4. 有限個のベクトルによる基底が存在するベクトル空間を有限次元であ るという. 5. v1 , · · · , vn および w1 , · · · , wm が同じ空間 V の基底であるとすると m = n であり, この数を V の次元という. 29 6. 有限次元ベクトル空間 V の線形独立なベクトルの集合は, 必要であれ ばいくつかのベクトルを加えることによって基底とすることができる. 逆に V を張る任意のベクトルの集合は, 必要であればいくつかのベク トルを除くことによって基底とすることができる. 例題 3.3.2 偏微分方程式 ∂u ∂2u = , ∂t ∂x2 0 < x < 1, t > 0, u|x=0,1 = 0 (3.6) 区間 [0, 1] を N 等分して差分近似を作る. u(x, t) の分点 x = j/N での近似値 を uj (t), j = 1, 2, · · · , N − 1 とすれば h = 1/N に対して近似方程式 d dt u1 · · · −2 1 = 1 h2 1 u1 · · · · · 1 · un−1 1 −2 −2 · · · un−1 が得られる. フーリエ級数を使う場合は (0, 1) 上の {√ } 2 乗可積分関数の空間 L2 (0, 1) の正規直交基底 2 sin nπx | n = 1, 2, · · · を用いて u(x, t) = ∞ ∑ cn (t) sin nπx n=0 と展開する. 形式的に (3.6) に代入すると c′n = −n2 π 2 cn が得られるので, cn (t) = cn e−n 2 π2 t とし, 定数 cn は初期値から定める. ヒル ベルト空間の理論を使うとこの計算を正当化することができる. 例題 3.3.3 (n − 1) 次多項式全体は P (t) = x1 + x2 t + · · · + xn tn−1 x1 · ↔ · · xn によって Rn と同一視される. 例題 3.3.4 相異なる点 t1 , · · · , tn を固定し, 与えられた b1 , · · · , bn に対して P (ti ) = bi (i = 1, · · · , n) となるように, P (t) を定める. 30 この問題を行列で表示すると 1 t1 t21 1 t2 t22 ··· ··· ··· 1 tn t2n · · · t1n−1 · · · t2n−1 ··· ··· ··· x1 x1 ··· tn−1 n = xn b1 b2 ··· (3.7) bn 左辺に現れる (n, n) 行列の行列式はファン・デル・モンドの行列式で 0 でな い. 従って, (3.7) は一意可解である. ∫ 例題 3.3.5 (近似数値積分) 1 f (t)dt ∼ = 0 n ∑ yi f (ti ) となるように y1 , · · · , yn 1 を定める. f = 1, f = t, · · · , f = tn−1 の場合に = となるようにする. ∫ t 1= 1dt = y1 + · · · + yn 0 ∫ t 1 = tdt = y1 t1 + · · · + yn tn 2 0 ··· ∫ 1 1 = tn−1 dt = y1 tn−1 + · · · + yn tn−1 n 1 n 0 例題 3.3.4 と同様に y1 , · · · , yn は一意的に定まる. 関数空間とフーリエ級数 1. v = (v1 , v2 , v3 , . . .)... 無限数列 2. 無限数列の集合...R∞ . 3. R∞ は(無限次元)線形空間だがベクトルの長さ(ノルム)が収束し ない 4. ℓ2 ...∥v∥ = v12 + v22 + . . . < +∞ となる v ∈ R∞ の全体.... 内積をもつ完 2 備無限次元線形空間(ヒルベルト空間) 5. (1, 12 , 13 , . . .) ∈ ℓ2 , (1, √12 , √13 , . . .) ̸∈ ℓ2 . 6. v = (v1 , v2 , . . . , ), w = (w1 , w2 , . . .) ∈ ℓ2 に対して内積 (v, w) = v1 w1 + v2 w2 + . . . が収束. シュワルツの不等式 |(v, w)| ≤ ∥v∥ · ∥w∥ が成り立つ. 31 ℓ2 空間を用いると, [0, 2π] 上の関数 y(x) のフーリエ展開 a0 + a1 cos x + b1 sin x + a2 cos 2x + b2 sin 2x + . . . 2 ∫ 2π ∫ 1 1 2π ak = y(x) cos kxdx, bk = f (x) sin kxdx π 0 π 0 y(x) = が正当化できる. すなわちルベーグの意味で二乗可積分可能な関数全体 L2 (0, 2π) は { } 1 1 1 √ , √ cos kx, √ sin kx | k = 1, 2, . . . π π 2π を正規直交基底とし, この基底のもとでヒルベルト空間として ℓ2 と同一視で きる. 区間 [−1, 1] 上で多項式 1, x, x2 , . . . を内積 ∫ 1 (f, g) = f (x)g(x)dx −1 を用いてグラム・シュミットの直交化を行うとルジャンドル多項式が得られる. 注意 3.3.1 距離空間はすべてのコーシー列が収束するとき「完備」であるという. 実 数の完備性は「有界な単調列の収束」などいくつかの同値な命題で表され, 実数の連 続性ともいわれる. 実数論はこれを公理として認めることから出発するが, 一般に距 離空間に対して「完備化」という操作を行うとその空間を稠密に含む完備距離空間が 得られるので実数全体を有理数全体の完備化として定義することもできる. 完備な距 離空間は極限操作に対して閉じた体系で, ヒルベルトはこの操作によって関数空間を 定めることで関数概念を明確にし, フーリエ級数展開を正当化することで, 20 世紀前 半の新しい解析学の道を開拓した. 問題 3.3.1 (練習問題 3.4.4) At A が可逆であるときは A+ = t A(At A)−1 と なる. 1. この A+ に対して, x+ = A+ b とおくと x+ ∈ R(t A) であることと, Ax+ = b が成り立つことを確かめよ 2. この式を A = (1 1) として適用し, u + v = 3 の最適解を求めよ 問題 3.3.2 (練習問題 3.3.19) 区間 −1 ≤ x ≤ 1 で放物線 y = x2 に最も近い 直線をどのように定めたらよいか. 研究課題 2 (練習問題 3.1.3) 原点と a = (1, 1, 1) を結ぶ直線上の点で, 点 b = (2, 4, 4) に最も近い点 p を求めよ.また原点と b を通る直線上で a に最も 近い点を求めよ. 研究課題 3 (練習問題 3.2.1) ある患者の体重を 4 回異なったときに測った ら b1 = 150, b2 = 153, b3 = 150, b4 = 151 であった. 最小二乗の意味で, こ の体重に対する最も良い値はなにか. 32 第 4 章 行列式 行列式 4.1 2014. 5. 30 A は正方行列 1. 行列式 det A で行列 A が可逆かどうか判定できる. 2. n 次元空間内の各辺が A の行ベクトルで与えられる平行多面体 P の体 積は det A である. 変換 x1 = x1 (x′1 , . . . , x′n ), . . . , xn = xn (x′1 , . . . , x′n ) によって重積分 ∫ f (x)dx1 . . . dxn の体積要素の変換を考えると dx1 . . . dxn = Jdx′1 . . . dx′n で ∂x1 · ∂x1 ∂x′1 ∂x′n J = · · · ∂xn n ∂x′ · ∂x ∂x′ n 1 が微小体積の変化率を表す. 3. det A = ± ピポットの積 4. det A は b の各成分が A−1 b に関係している程度を示している. 1 つの パラメータを変えたときの x = A−1 b に対する影響係数は行列式の比. 5. 多重線形性 [ det a1 · · · ∑ ] cν aνj · · · an = ∑ [ ] cj det a1 · · · aνj · · · an ν ν 問題 4.1.1 (練習問題 4.3.1) 行列式の定義 det A = ∑ sgn(σ) · a1σ(1) a2σ(2) · · · anσ(n) σ∈Sn 33 (4.1) を直接用いて 0 1 1 0 A= 0 1 0 0 0 0 1 0 0 1 1 0 の行列式を求めよ. ヒント:この場合 (4.1) の右辺は一項だけとなる n 文字の順列全体を Sn と書き, n 次交代群という. 任意の σ ∈ Sn は 2 文字の置換 (基本置換)の積に分解でき, この基本置換の数の偶・奇は σ で定まる. このそれぞれ の場合を σ は偶置換, 奇置換であるという. sign(σ) は σ が偶置換のときは +1, 奇置 換のときは −1 とする. 34 第 5 章 固有値と固有ベクトル 5.1 固有値問題 前半の議論...Ax = b. 基本的な方法... 消去法 変形の基本... 行列の行空間の保存(固有値は保存されない) これからの議論...Ax = λx. 基本的な方法... 対角化 変形の基本... 固有空間の保存 例題 5.1.1 dv = 4v − 5w, dt dw = 2v − 3w, dt ( u(t) = v(t) w(t) ) ( , u0 = v(0) = 8 w(0) = 5 8 5 ) ( , A= (5.1) 4 2 −5 −3 ) . du = Au, u(0) = u0 . dt A がスカラー a のときは u(t) = eat u0 . そこで u(t) = eλt x の形の解を求める: du = λeλt x, Au(t) = eλt Ax. dt これより Ax = λx (5.2) x = 0 は自明な解 非自明な解 x が存在するための条件は det (A − λI) = 0. (5.2) が非自明な解をもつとき λ を固有値 35 (5.3) そのときの x を固有ベクトル (5.3)... 行列 A の特性方程式 例題の場合 4−λ −5 det(A − λI) = 2 −3 − λ = (4 − λ)(−3 − λ) + 10 = λ2 − λ − 2 = (λ + 1)(λ − 2) より λ = −1, λ = 2 が固有値. λ1 = −1 に対する固有ベクトルは ( )( ) ( ) 5 −5 y 0 (A − λ1 I)x = = 2 −2 z 0 ( ) 1 よって x1 = のスカラー倍 1 λ2 = 2 に対する固有ベクトルは ( )( ) ( ) 2 −5 y 0 (A − λ2 I)x = = 2 −5 z 0 ( ) 5 のスカラー倍 よって x2 = 2 一般にひとつの固有値に対応する固有ベクトル全体は部分空間をつくる... 固有空間 例題の場合, eλ1 t x1 , eλ2 t x2 が (5.1) の特殊解. 線形方程式なので重ねあわせによって初期値を合わせる: u(t) = c1 eλ1 t x1 + c2 eλ2 t x2 . t = 0 とおいて c1 x1 + c2 x2 = u0 . ( )( ) ( ) 1 5 c1 8 = , 1 2 c2 5 c1 = 3, c2 = 1. よって ( u(t) = 3e v(t) = 3e −t −t 1 ) ( +e 1 2t 5 ) 2 + 5e , w(t) = 3e−t + 2e2t 2t 固有値... 物理的には固有振動数として現れる. 行列の対角化 36 A:(n, n) 行列, n 個の固有値 λ1 , . . . , λn と, 対応する固有ベクトル x1 , . . . , xn をもつものとする. S = (x1 , . . . , xn ) ⇒ AS = (λ1 x1 , . . . , λn xn ) = (x1 , . . . , xn ) λ1 = SΛ · · · λn ここで λ1 · · · λn は対角行列. x1 , . . . , xn が線形独立であれば S −1 が存在. S −1 AS = Λ... 対角化可能 行列を対角化すると様々な計算が簡略化される. 差分方程式 k = 0, 1, 2, · · · uk+1 = Auk , (5.4) A が対角化される場合 A = SΛS −1 uk = Ak u0 = SΛk S −1 u0 Λ は対角行列より λ1 Λ= ⇒ Λk = · · · λk1 · · · λkn λn 安定性 37 A が対角化可能のとき, 任意の固有値 λi が |λi | < 1 をみたせば差分方程式 (5.4) は「安定」で常に uk → 0 (k → ∞). |λi | ≤ 1 であるときは「臨界安定」 で {uk } は有界. |∃λi | > 1 のときは不安定で {uk } 非有界がおこり得る. ∥uk ∥ が常に単調減少となる条件は ∥Au∥2 < ∥u∥2 , ∀u ̸= 0 ⇔ (t AAu, u) < (u, u), ∀u ̸= 0 ⇔ 対称行列 AA − I が負定値 t ⇔ t AA − I のすべての固有値 < 0 例題 5.1.2 フィボナッチ数列... 生態系の時空パターン k = 0, 1, 2, · · · Fk+2 = Fk+1 + Fk , F0 = 0, F1 = 1 漸化式をベクトルと行列で表すと ( ) ( Fk+1 1 uk = , uk+1 = Fk 1 従って行列とその特性方程式は ( ) 1 1 A= 1 0 1−λ det(A − λI) = 1 固有値は λ1 = √ 1+ 5 , 2 1 0 ) ( uk , u0 = 1 0 ) 1 = (λ − 1)λ − 1 = λ2 − λ − 1 −λ √ 1− 5 . 2 固有ベクトルは ) ( (1 − λ)x1 + x2 =0 (A − λI)x = x1 − λx2 λ2 = x1 = λ, x2 = 1 固有値が異なるので ( λ1 S= 1 λ2 1 ) で対角化できる. S −1 AS = Λ = k ( A = SΛS より ( Fk+1 Fk ) = S −1 = , ( −1 )k λ1 0 0 λ2 k = SΛ S ( 1 λ1 − λ2 −λ2 λ1 1 −1 ) ) −1 ( =S λk1 0 0 λk2 ) S −1 uk = Ak u0 = SΛk S −1 u0 ( = λ1 1 = 1 λ1 − λ2 λ2 1 ( )( λ1 1 38 λk1 0 λ2 1 0 λk2 )( ) 1 λ1 − λ2 ) λk1 k −λ2 ( 1 −1 ) 第 2 成分から ) ( 1 1 λk1 − λk2 = √ Fk = λ1 − λ2 5 {( √ )k ( √ )k } 1+ 5 1− 5 − 2 2 √ 1 − 5 < 1 より k ≫ 1 では Fk = ここで 2 Fk+1 /Fk ≈ √ 1+ 5 2 1 √ 5 ( √ )k 1+ 5 2 に最も近い整数. また = 1.618... は黄金平均. 問題 5.1.1 (練習問題 5.1. 5) A = 0 1 4 3 4 0 0 1 0 1 2 1 2 の固有値と固有ベクトル を求めよ. 5.2 対角化 2014. 6. 6 (n, n) 行列 A の固有ベクトル x1 , . . . , xn が線形独立であれば, S = (x1 , · · · , xn ) に対して S −1 が存在.S −1 AS = Λ...A は対角化可能 行列を対角化すると様々な計算が簡略化される. 差分方程式 k = 0, 1, 2, · · · uk+1 = Auk , については A が対角化される場合 A = SΛS −1 uk = Ak u0 = SΛk S −1 u0 遷移過程 M = (mij ) が (n, n) 行列で, 常に mij ≥ 0, ∀j, n ∑ mij = 1 i=1 をみたすとき遷移行列という. 仮定は mij は状態 j が状態 i に遷移する確率 で任意の状態 j は確率 1 でいずれかの状態に遷移することを表している. 1 1 f = · · 1 ⇒ t Mf = f 従って λ = 1 は t M の固有値, したがって det(t M − λI) = det(M − λI) より M の固有値である. 一方複素数 λ が固有ベクトル x = (xi ) に対する t M の 39 固有値であるとすると ∑ mji xj = λxi j |λ| · |xi | ≤ ∑ mji |xj |, i = 1, 2, · · · n j x の成分のうちで絶対値が最大のものを xp とすると |xp | > 0 かつ ∑ ∑ |λ| · |xp | ≤ mjp |xj | ≤ mjp |xp | = |xp | j j 従って |λ| ≤ 1. M の固有値も同じ性質をもつ. M が対角化され, |λ| = 1 と なる固有値が λ = 1 のみの場合には uk = M k u0 = SΛk S −1 u0 → P u0 ... 定常状態. ただし P は固有値 1 に対する固有ベクトル空間への射影. 注意 5.2.1 λ1 , · · · , λk を A の相異なる固有値, 特性方程式を |A − λI| = (−1)n (λ − λ1 )m1 · · · (λ − λk )mk とするとき, mi を固有値 λi の代数的重複度という. また N ((A − λi )n i ) = {0} となる最小の ni を λi の幾何学的重複度という. ペロン・フロベニウスの定 理から mij > 0, ∀ i, j のときは λ = 1 の代数的重複度は 1. 例題 5.2.1 毎年ある町の外の人口の 外に移住する. ( ベクトル 外 1 10 が町に移住し, 町の人口の 2 10 ) で遷移過程を表現すると, 遷移確率は 町 ( M= .9 .1 .2 .8 ) 特性方程式と固有値は有効数字で det(A − λI) = λ2 − 1.7λ + .7 = 0, 対応する固有ベクトルは ( 2 3 1 3 ) ( , 1 3 − 13 λ1 = 1, λ2 = .7 ) 従って ( Ak = ( → 2 3 1 3 1 3 − 13 2 3 1 3 1 3 − 13 )( )( 1 0 )k ( 1 1 ) 0 0.7 1 −2 )( ) ( 1 0 1 1 = 0 0 1 −2 40 2 3 1 3 2 3 1 3 ) が町の 行列の対角化可能性 A, (n, n) 行列, λ1 , · · · , λn : 固有値(重複も込めた), x1 , · · · , xn , 対応する 固有ベクトル, S = (x1 · · · xn ) とする: λ1 λ2 · AS = SΛ, Λ = · λn−1 λn 1. λ1 , . . . , λn がすべて異なる (すなわち A のすべての固有値が重複しな い)ときは A は対角化可能 証明: λ1 , . . . , λk を相異なる固有値, x1 , . . . , xk を対応する固有ベクト ルとするとき, x1 , . . . , xk が線形独立になることを示す. 実際 c1 x1 + · · · + ck xk = 0 とすると A を掛けて c1 λ1 x2 + · · · + ck λk xk = 0. この 2 つの式から c′1 = c1 (λk − λ1 ), . . . , c′k−1 = ck−1 (λk − λk−1 ) に対して c′1 x1 + · · · + c′k−1 xk−1 = 0. ここで c′1 = . . . = c′k−1 = 0 を示せば c1 = . . . = ck−1 = 0, よって ck = 0. 以下このプロセスを繰りかえせば c1 = . . . = ck = 0 を示すこ とができる. 2. AS = SΛ は S の列が A の固有ベクトルであることと同値.特に S は 一意でない. 3. 対角化可能でない行列の例: ( A= の場合 0 1 0 0 −λ det(A − λI) = 0 41 ) 1 = λ2 −λ 固有値は λ = 0. (代数的)重複度は 2. ( Ax = 0 ⇔ x = x1 0 ) . 固有値 λ = 0 の固有空間の次元(幾何的重複度)は 1. 重複する固有値 λ = 0 に対応する固有ベクトルは線形独立でない 4. (n, n) 行列 A, B が交換可能 ⇔A, B は同じ固有ベクトルをもつ. 証明: (⇐) A, B が対角化可能である場合に示す. このとき仮定から正則行列 S が存在して S −1 AS = Λ1 , S −1 BS = Λ2 と対角化できる.ただし Λ1 , Λ2 は対角行列である. このとき A = SΛ1 S −1 , B = SΛ2 S −1 AB = SΛ1 Λ2 S −1 , BA = SΛ2 Λ1 S −1 Λ1 Λ2 = Λ2 Λ2 より AB = BA. (⇒) A, B の固有値が相異なる場合に示す AB = BA とする. Ax = λx ⇒ ABx = BAx = Bλx = λBx. Bx は固有値 λ に対する A の固有ベクトル. 仮定より, A の λ に対する 固有空間の次元は 1 なので, スカラー µ に対して Bx = µx. 従って x は B の固有ベクトル.逆も同様. 微分方程式 (n, n) 正方行列 A に対し, 微分方程式 du = Au dt を考える. 行列の指数関数 etA = I + tA + tk t2 2 A + · · · + An + · · · 2 k! 42 (5.5) は成分ごとに収束し, (5.5) の解は u(t) = etA u(0) で与えられる. A が対角化可能: A = SΛS −1 であるとすると ] [∞ ∞ k ∞ k ∑ ∑ ∑ tk t t Ak = SΛk S −1 = S Λk S −1 = SetΛ S −1 etA = k! k! k! k=0 k=0 k=0 λ1 · に対して さらに Λ = · λn ∑ ∞ tk k λ k=0 k! 1 ∞ k ∑ · t k tΛ e = Λ = k! · k=0 ∑∞ tk k λ k=0 k! n tλ1 e · = · etλn 従って (5.5) の解は u(t) = S −1 etλ1 Su0 · · etλn で与えられる. 複素数 λ = a + ıb, a, b ∈ R に対して etλ = eta (cos tb + ı sin tb) であるので, a = Re λ を複素数 λ の実部とすると安定性については次が成り 立つ. 1. ∀i, Re λi < 0 のとき, 常に u(t) → 0, t → ∞. 2. ∀i, Re λi ≤ 0 のとき, 常に supt≥0 ∥u(t)∥ < +∞. 3. ∃i, Re λi > 0 のとき, u(t) 非有界な初期値 u(0) が存在. ∥u(t)∥ が u(0) ̸= 0 に対して常に t について単調減少となる条件は d ∥u(t)∥2 dt du du , u) + (u, ) = (Au, u) + (u, Au) dt dt = (u, (t A + A)u) < 0 = ( 従って対称行列として t A + A < 0 となることである. 43 ( 問題 5.2.1 (練習問題 5.1.12) A = 3 4 4 −3 ) の固有値と固有ベクトルを 求めよ 問題 5.2.2 (練習問題 5.2.6) 0 1 y = −x −1 0 0 0 z x 0 0 y . z 1 を対角化せよ. また R2 = A となる行列 R(A の平方根)を求めよ. (ヒント R, R2 は同じ S をもつ.すなわち同じ固有ベクトルをもつ. また A は R3 の z 軸を中心とする π/2 の回転を表す. ) 研究課題 4 (練習問題 5.4.9) dv/dt = w, dw/dt = v が安定か不安定か判別 せよ. 研究課題 5 (練習問題 5.3.3) ある種類のカブトムシは 3 年間で成長し, 3 年 目に次の世代を生んで死滅する. 第 1 年は確率 1/2 で生き残り, 第 2 年目は 確率 1/3 で生き残り, 第 3 年目にそれぞれの雌が 6 匹の雌を生む. 対応する 行列 A= 0 1 2 0 0 0 1 3 6 0 0 に対して A3 = I であること, またある年に 1 年目, 2 年目, 3 年目の虫がそれ ぞれ 3000 匹いたときそれ以後 6 年間の虫の分布を求めよ 5.3 複素行列の対角化 2014. 6. 13 2 階の方程式 d2 u = Au, dt2 u(0) = u0 , u′ (0) = u1 に対しては特殊解を u(t) = eıωt x とおく. d2 ıωt (e x) = A(eıωt x), dt2 −ω 2 x = Ax より λ = −ω 2 が固有値. A が対角化可能の場合は固有ベクトル x1 , · · · , xn は 線形独立で a1 , b1 , · · · , an , bn を定数として √ u(t) = (a1 e −λ1 t + b1 e− √ −λ1 t )x1 + · · · + (an e が一般解となる. 44 √ −λn t + bn e− √ λn t )xn ジョルダン標準形 A を(必ずしも対角化できない)(n, n) 行列とし, その線形独立な固有ベク トルが s 個 1 ≤ s ≤ n 存在するとすると, 適当な正則行列 M によって J1 · −1 J = M AM = · Js と変形できる... ジョルダン標準形. ここで λi 1 · · · , Ji = · 1 λi 1≤i≤s はジョルダンブロック, λi は A の固有値(相異なるとは限らない). この とき etA =M etJi etJ1 λi t =e −1 M · · · etJs 1 t t2 /2 1 t · · · · · 1 である. 以下複素数全体を C で表し, 行列 A = (aij ) は複素数を成分にもつものと する. 複素数 z = x + ıy, x, y ∈ R に対して z = x − ıy はその共役複素数であ り, 以下で述べるように行列 A = (aij ) の共役行列は A∗ = (aji ) を表す. 正 方行列 U は U −1 = U ∗ であるとき, ユニタリー行列という: U ∗ U = U U ∗ = I. また A∗ = A をみたす行列をエルミート(または自己共役)行列という. 以 下で述べるように, 任意のエルミート行列 A はユニタリー行列 U を用いた相 似変換 U −1 AU で対角化される. エルミート行列 45 複素ベクトル x1 · x= · , · xn に対してその内積を (x, y) = y1 · y= · · yn n ∑ xi yi i=1 とする.だだし z = x − ıy は z = x + ıy の複素共役を表す.複素正方行列 A = (aij ) に対して A∗ = t A = (aji ) を A の随伴または共役 (adjoint) 行列と いう.このとき (Ax, y) = (x, A∗ y) が成り立つ.A = A∗ のとき, A をエルミートまたは自己共役行列という. 従っ て, 実対称行列はエルミート行列である. A がエルミート行列の場合 (Ax, x) = (x, Ax) = (Ax, x). 従って (Ax, x) は実数.特に λ ∈ C を固有値: ∃x ̸= 0, Ax = λx とすると 2 (Ax, x) = (λx, x) = λ(x, x) = λ ∥x∥ 従って λ も実数.ただし v u n u∑ 2 ∥x∥ = t |xi | i=1 は複素ベクトル x のノルムを表す. すなわちエルミート行列の固有値はすべ て実数である. λ1 , λ2 をエルミート行列の相異なる固有値とする: ∃x1 , x2 ̸= 0, Ax1 = λ1 x1 , Ax2 = λx2 このとき λ2 は実数なので (Ax1 , x2 ) = (λx1 , x2 ) = λ1 (x1 , x2 ) = (x1 , Ax2 ) = (x1 , λ2 x2 ) = λ2 (x1 , x2 ) λ1 ̸= λ2 より (x1 , x2 ) = 0 すなわちエルミート行列の相異なる固有値に対する固有ベクトルは直交する. 46 エルミート行列の対角化 上の性質から, 特に (n, n) エルミート行列 A の固有値がすべて相異なれば, 固有ベクトルは Cn の正規直交基底 e1 , . . . , en となるようにとることができ る.このとき U = (e1 , . . . , en ) はユニタリー行列, すなわち U ∗U = U U ∗ = I が成り立つ. 最初に述べたようにこの事実は A の固有値が重複している場合にも成り 立つ. 定理 5.3.1 (シュアーの補題) 任意の正方行列 A に対し, ユニタリー行列 U が存在して U −1 AU は上三角行列となる. 証明: λ1 を A の固有値, x1 を正規化 (∥x1 ∥ = 1) された固有ベクトルとす る.x1 から出発してグラム・シュミットの直交化法を適用して Cn の正規直 交系をとり, これらを並べてユニタリー行列 U1 をつくると次の式が得られる: λ1 − − − − 0 − − − − · − − − − −1 U1 AU1 = · − − − − · − − − − 0 − − − − 右下の (n − 1, n − 1) 行列を A2 として, λ2 を A2 の固有値, x2 を正規化 (∥x2 ∥ = 1) された固有ベクトルとする.同様の方法で Cn−1 のユニタリー行 列 M2 をつくり ( ) 1 0 U2 = 0 M2 とする. λ2 0 −1 M2 A2 M2 = · · 0 47 − − − − − − − − − − − − − − − より −1 −1 U2 (U1 AU1 )U2 = λ1 − 0 · λ2 0 · · 0 · · 0 − − − − − − − − − − − − − − − − − − 以下このプロセスを繰り返せばよい. 証明終 相似変換で固有値は変わらないので, U −1 AU の対角部分には A の固有値 が並ぶ. 定理 5.3.2 エルミート行列 A に対し, ユニタリー行列 U が存在して U −1 AU は対角行列となる. 証明 シュアーの補題から, ユニタリー行列 U に対して B = U −1 AU は上 三角. 一方 A はエルミート行列なので B ∗ = U ∗ A∗ U ∗−1 = U −1 AU = B すなわち, B もエルミート. 上三角かつエルミートであれば対角行列.よって B は対角行列. 証明終 実行列 A の固有値がすべて実数であるときはシュアーの補題の証明は実ベ クトル空間の中で行うことができる. 従って実対称行列は直交行列を用いた 相似変換で対角化できる. A∗ A = AA∗ のとき A を正規行列という. エルミート行列は正規行列であ る. 与えられた正規行列 A を, シュアーの補題によってユニタリー行列 U を 用いた相似変換 B = U −1 AU によって上三角行列に変換する. このとき B ∗ B = U ∗ A∗ U ∗−1 U −1 AU = U ∗ A∗ (U U ∗ )−1 AU = U ∗ AU BB ∗ = U −1 AU U −1 A∗ U = U −1 AA∗ U = U −1 A∗ AU = B ∗ B より B も正規行列である. 正規行列である上三角行列は対角行列なので, 上 で述べた定理は正規行列に対して成り立つ. 定理 5.3.3 正規行列 A に対し, ユニタリー行列 U が存在して U −1 AU は対 角行列となる. 問題 5.3.1 (練習問題 5.4.11) 次の方程式を解け. ( ) ( ) ( ) −5 −1 1 0 d2 u ′ = u, u(0) = , u (0) = 2 dt −1 −5 0 0 48 問題 5.3.2 (練習問題 5.5.9) 行列 −1 1 0 A = −1 2 −1 0 −1 1 の固有値と固有ベクトルを求め, A を対角化するユニタリー行列を求めよ. 研究課題 6 (練習問題 5.5.18) 行列 ( K= ı ı ı ı ) を対角化して, eKt を計算せよ. これがユニタリ行列であることを確認し, d Kt e を求めよ. dt t=0 49 第 6 章 正定値行列 6.1 2 次形式 2014. 6. 20 相似変換のまとめ 1. 正方行列 A の固有ベクトルが線形独立であるときはこれらのベクトル によって作られる行列 S によって対角化可能である: S −1 AS = Λ. た だし Λ は A の固有値から作られる対角行列である. 2. 一般の正方行列 A に対してはその固有ベクトルと一般化された固有ベ クトル によって作られる行列 M によって, M −1 AM = J とジョルダ ン標準形に変形される. 3. 任意の正方行列 A に対して, ユニタリー行列 U が存在して U −1 AU = T は上三角行列にできる(シュアーの補題). 4. A が正規行列: AA∗ = A∗ A の場合, 上の T は対角行列 Λ とすることが できる. 特別な場合として次のような A がある. これらの場合, いずれ も固有ベクトルは正規直交系にとれる. (a) A がエルミートのときは Λ は実行列 (b) A が実対称行列のときは Λ は実行列で U = Q は(実)直交行列 (c) A が歪エルミート: AA∗ = −A∗ A のときは Λ は純虚数行列 (d) A がユニタリー行列のときはすべての固有値 λi は |λi | = 1. 一般に f (x, y) = ax2 + 2bxy + cy 2 が正定値 ⇔ a > 0, b2 − ac < 0 2 変数 2 次関数を f (x, y) = ax2 + bxy + byx + cy 2 と見ると, より多変数の関 数を扱うことができる. n 変数の 2 次形式... a11 x21 + a12 x1 x2 + a21 x2 x1 + · · · + ann x2n n ∑ n ∑ = aij xi xj , aij = aji i=1 j=1 t = xAx (6.1) 50 ただし x = t (x1 , · · · , xn ), a11 a21 · A= · · an1 a12 · · · a1n a22 · · · · · · · · · · · a2n · · · an2 · · · · · · · ann 2 変数関数 F (x, y) が x = y = 0 で正則な極小 { ∂F (0, 0) = ∂F (0, 0) = 0 ∂x ∂y ⇔ ∂2 F ∂2F (0, 0) > 0, (0, 0)2 − ∂x∂y ∂x2 n 変数関数 F = F (x1 , x2 , · · · , xn ) が ∂F (0) ∂xi ( H= ∂2F ∂x2 2 (0, 0) ∂∂yF2 (0, 0) < 0 = 0, 1 ≤ i ≤ n をみたすとき, ) ∂2F (0) ∂xi ∂xj をヘッセ行列という. テーラー展開より F (x) = F (0) + ( ) 1t xHx + o |x|2 , 2 |x| → 0, 従って x = 0 の近傍の状態は, H が正則行列でない例外的な場合を除いて 2 次形式 t xHx で近似できる. ただし α = o(β) は α/β → 0 を表す. 例題 6.1.1 関数 F (x, y) = 2(x + y)2 − y sin y − x3 + y 4 の (x, y) = (0, 0) の近傍で の様子 解答 はじめに F (0, 0) = 0 ∂F ∂F = 4(x + y) − 3x2 , (0, 0) = 0 ∂x ∂x ∂F ∂F = 4(x + y) − y cos y − sin y + 4y 3 , (0, 0) = 0 ∂y ∂y 従って (x, y) = (0, 0) は臨界点. さらに ∂2F ∂2F = 4 − 6x, (0, 0) = 4 2 ∂x ∂x2 2 2 ∂ F ∂ F = 4, (0, 0) = 4 ∂x∂y ∂x∂y ∂2F = 4 + y sin y − 2 cos y + 12y 2 , ∂y 2 ∂2F (0, 0) = 2 ∂y 2 よってヘス行列は ( ∂2 F (0, 0) ∂x2 ∂2 F (0, 0) ∂y∂x ∂2 F (0, 0) ∂x∂y ∂2 F (0, 0) ∂y 2 51 ) ( = 4 4 4 2 ) 一方 2 次式 f (x, y) = 2x2 + 4xy + y 2 も同様の値を持つ: ∂f ∂f (0, 0) = (0, 0) = 0 ∂x ∂y ) ( ) ∂2 f (0, 0) 4 4 ∂x∂y = 2 ∂ f 4 2 2 (0, 0) f (0, 0) = 0, ( 2 ∂ f (0, 0) ∂x2 ∂2f (0, 0) ∂y∂x ∂y 従って (x, y) = (0, 0) の近傍で F (x, y) は f (x.y) に近い. 解答終 実対称行列 A を直交行列 Q で対角化すると λ1 に対応する固有ベクトル λ1 0 · t QAQ = Λ, Λ= · · 0 λn λi , i = 1, · · · , n は A の固有値. 正規化された固有ベクトル e1 , · · · en , Aei = λi ei , ∥ei ∥ = 1 を用いて Q = (e1 , · · · , en ) で与えられる. x = Qy とおけば t xAx = t y t QAQy = t yΛy = λ1 y12 + · · · + λn yn2 x 7→ y は直交変換なのでベクトルの長さや角度を変えない. 特に λ1 , · · · , λn > 0 のとき, t xAx は x = 0 で最小値 0 をとることがわかる. λi ̸= 0, 1 ≤ i ≤ n のとき, x = 0 を非退化であるといい, このときの負の固 有値の数をモース指数という. モース指数 0 のとき, 2 次形式 t xAx は x = 0 で最小となり, モース指数 n のときは最大となる. これ以外の場合を鞍点と いう. レーリー原理 実対称行列 A に対して t R(x) = xAx , ∥x∥2 x ̸= 0 をそのレーリー商という. λ1 ≤ λ2 ≤ · · · ≤ λn (6.2) を A の固有値とすると yΛy λ1 y12 + · · · + λn yn2 = , ∥y∥2 y12 + · · · yn2 t 52 y = (y1 , · · · , yn ) ̸= 0 (6.3) より t λ1 = min y̸=0 yΛy ∥y∥2 であることがわかる. 直交行列 Q によって A を対角化すると λ1 · · · · λ2 · · Qt AQ = Λ = · · · · · · · λn であり, 直交変換 x = Qy を用いれば t min R(x) = min x̸=0 x̸=0 t t t xAx y QAQy yΛy = min = min = λ1 y̸=0 y̸=0 ∥y∥2 ∥x∥2 ∥Qy∥2 となることがわかる. 実対称行列の最小固有値が等式 λ1 = min R(x) x̸=0 で与えられることをレーリー原理という. この方法は固有ベクトルを求めず に固有値を求めるのが特徴である. ミニ・マックス原理 実対称行列 A の固有値を λ1 ≤ λ2 ≤ · · · ≤ λn とし, A を直交行列 Q によって A を対角化する: λ1 · · · · λ2 · · Qt AQ = Λ = · · · · · · · λn レーリー商 R(x) = (Ax, x) , ∥x∥2 x ̸= 0 に対して直交変換 x = Qy を用いれば (AQy, Qy) (Λy, y) λ1 y12 + · · · + λn yn2 = = 2 2 ∥Qy∥ ∥y∥ y12 + · · · yn2 y = (y1 , · · · , yn ) ̸= 0 R(x) = これより λ1 = min R(x) x̸=0 53 である. A の第 2 固有値 λ2 を求めるために, 最初に λ2 = (Λy, y) y̸=0,y1 =0 ∥y∥2 min に注意する. λ1 に対応する固有ベクトル e1 : Ae1 = λ1 e1 , ∥e1 ∥ = 1 を用いて直交変換 x = Qy, Q = (e1 , · · · , en ) を導入する. Qy · e1 = y1 となる ので, min x̸=0,x·e1 =0 R(x) (Ax, x) (t QAQy, y) = min 2 x̸=0,x·e1 =0 ∥x∥ y̸=0,y1 =0 ∥Qy∥2 (Λy, y) = λ2 = min (6.4) y̸=0,y1 =0 ∥y∥2 = min が得られる. 一般の z ̸= 0 が与えられたときは, λ2 に対応する固有ベクトル e2 を用いる: Ae2 = λ2 e2 , ∥e2 ∥ = 1. すなわちスカラー a1 , a2 に対して x = a1 e1 + a2 e2 ̸= 0 (6.5) が z と直交するように x を選ぶ. (e1 , e2 ) = 0 より R(x) = λ1 a21 + λ2 a22 ≤ λ2 , a21 + a22 x·z =0 (6.6) となる. (6.4)-(6.6) は λ2 = max min z̸=0 x·z=0,x̸=0 R(x) を意味する. また λ2 = min max R(x) S2 :dim(S2 )=2 x∈S2 \{0} (6.7) も成り立つ. この式を証明するために, 最初に任意の部分空間 S2 : dim(S2 ) = 2 をとる. S2 は 2 次元なので e1 と直交する z ∈ S2 , z ̸= 0 が存在する. このと き (6.4) より R(z) ≥ λ2 であり, 従って max x∈S2 ,x̸=0 R(x) ≥ λ2 54 (6.8) となる. 一方 S2 として e1 , e2 で張られるものをとり, それを S2∗ とおく. 各 x ∈ S2∗ , x ̸= 0 は (6.5) のように表され (6.6) が得られる. このことから max x∈S2∗ ,x̸=0 R(x) = λ2 (6.9) であり, (6.8)-(6.9) から (6.7) となる. λi , i ≥ 3 についても同様の関係を導出することができる. これらは j = 1, 2, · · · , n に対して λj = = max z1 ,···,zj−1 ̸=0 min{R(x) | x · z1 = 0, · · · , x · zj−1 = 0, x ̸= 0} min max R(x) Sj :dim(Sj )=j x∈Sj \{0} である. これらの関係もレーリー原理という. 最小化問題 すべての固有値が正である実対称行列を正定値であるという. 実対称正定 値行列 A に対して Ax = b は P (x) = 1 2 (Ax, x) − (b, x) を最小にする問題に 変換される. 定理 6.1.1 正定値実対称行列 A に対し P (x) = 1 (Ax, x) − (b, x) 2 はその最小値を Ax = b の解でとる. 証明 x を Ax = b の解とし, y を任意のベクトルとすると P (y) − P (x) = = = 1 1 (Ay, y) − (b, y) − (Ax, x) + (b, x) 2 2 1 1 (Ay, y) − (Ax, y) + (Ax, x) 2 2 1 (A(y − x), y − x) 2 となる. A が正定値実対称行列なので右辺は 0 以上で, 0 となるのは y = x の ときである. 証明終 √ 問題 6.1.1 (練習問題 6.2.11) 2 次方程式 3u2 − 2 2uv + 2v 2 = 1 に対応す る行列 A の固有値を求めて, その表示する uv 平面上の曲線を描け. 研究課題 7 (練習問題 6.1.1) f (x, y) = 2x2 + 4xy + y 2 は原点を鞍点とする ことを示せ. 55 6.2 有限要素法 2014. 6. 27 2 点境界値問題 −u′′ = f (x), 0 < x < 1, u(0) = u(1) = 0 (6.10) 2 d は「無限次元」の問題であるが f (x) を b に, 作用素 − dx 2 を A とみなすこと ができる. 内積を積分に読み変えると ∫ ∫ 1 1 1 1 v(x)(−v ′′ (x))dx − P (v) = (Av, v) − (v, b) = v(x)f (x)dx 2 2 0 0 となる. ここで部分積分と境界条件を用いて ∫ t ∫ 1 ∫ t ′ 2 v(−v ′′ )dx = [−vv ′ ]x=1 + (v ) dx = (v ′ )2 dx x=0 0 0 と変形し P (v) = ∫ とおく. 2 次の項 1 1 2 ∫ 1 (v ′ (x))2 dx − 0 0 ∫ 1 v(x)f (x)dx 0 (v ′ )2 dx は (Ax, x) と同様に対称で正になる. 0 P (v) を最小とするような v = v(x) を求めるのは無限次元の問題で (6.10) を解くことと同等である. レーリー・リッツの原理ではこれを有限次元の問 題に落として近似解を求める. すなわち (n − 1) 個の試験関数 v = V1 , v = V2 , · · · , v = Vn−1 を選んですべての線形結合 v = y1 V1 (x)+· · ·+yn−1 Vn−1 (x) をつくり, P (v) を最小とする結合 v を計算する. この場合 ∫ 1 1 ′ (y1 V1′ (x) + · · · + yn−1 Vn−1 (x))2 dx P (v) = 2 0 ∫ 1 − (y1 V1 (x) + · · · + yn−1 Vn−1 (x))f (x)dx 0 = ∫ 1 n−1 n−1 ∑∫ 1 1 ∑ yi yj Vi′ (x)Vj′ (x)dx − Vj (x)f (x)dx 2 i,j=1 0 j=1 0 であり, この値を最小とする y1 , · · · , yn−1 を選べば, (6.10) の近似解 V (x) を 求めることができる. ∫1 ∫1 ベクトル y = (yj ), b = ( 0 Vj f dx), 行列 A = ( 0 Vi′ Vj′ dx) を用いると P (v) = 1 (Ay, y) − (b, y) 2 であり, この「近似問題」は Ay = b を解くことに他ならない. V1 (x), · · · , Vn−1 (x) の最も簡明な選び方は, 折れ線, すなわち区分的線形 な連続関数をとるものである. 最初に区間 [0, 1] を n 等分する. 分点 xj , 56 j = 1, 2, · · · , n − 1 で 1, 他の点で 0 となる折れ線関数を Vj (x) とする. このと き h = 1/n に対して ∫ 1 Vj′ (x)2 dx 0 [( ) ( )2 ] 2 1 1 2 =h + − = h h h i = j ± 1 のとき ∫ 1 Vi′ (x)Vj′ (x)dx = h 0 それ以外では ∫1 0 ) ( )( 1 1 1 − =− h h h Vi′ (x)Vj′ (x)dx = 0 となる. これから A は三重対角行列 2 −1 1 A= h −1 2 −1 −1 2 −1 (6.11) となって, 差分法の場合の係数行列と一致する. 一般にはこのように差分法と 有限要素法を表す行列が一致するというようなことはおこらない. また右辺 の f (x) の近似は分点での値 f (xj ), j = 1, 2, · · · , n − 1 から作られるベクトル とは異なる. 差分法と比べると, 一般に有限要素法は高次元で領域の形状が複雑な場合 や, Neumann 境界条件などを計算する場合に特に汎用性が高い. 固有値問題 −u′′ = λu, 0 < x < 1, u(0) = u(1) = 0 (6.12) の場合, 第 1(最小)固有値は λ1 = π 2 , 固有関数は u = sin πx である. この 問題に対応するレーリー商は ∫1 ′ 2 (v ) dx (−v ′′ , v) R(v) = = ∫0 1 (v, v) v 2 dx 0 とみなされ, 実際第 1 固有関数はこの値を最小とする. レーリー・リッツの原 理によって R(v) を有限次元の空間に制限して最小を求めれば, λ1 の近似が 得られる. 区間 [0, 1] を n 等分し, 区分的に線形な試験関数 V1 (x), · · · , Vn−1 (x) で近似 空間を構成する. このときこれらの線形結合 V (x) = y1 V1 (x) + · · · + yn−1 Vn−1 (x) に対して ∫ 1 (V (x)′ )2 dx = (Ay, y), 0 57 y = t (y1 , · · · , yn−1 ) である. ただし A は (6.11) の行列である: 2 −1 −1 2 −1 1 A= −1 2 h 一方 h = 1/n に対して ∫ 1 ∫ Vj (x) dx = 2 · 2 0 0 h −1 2 x ( )2 dx = h h 3 i = j ± 1 のとき ∫ 1 ∫ h ∫ 1 x x h Vi (x)Vj (x)dx = (1 − ) dx = h (1 − t)tdt = h h 6 0 0 0 ∫1 それ以外では 0 Vi (x)Vj (x)dx = 0. 従って 2/3 1/6 1/6 2/3 1/6 B = h 1/6 2/3 1/6 に対して ∫ 1 V (x)2 dx = (By, y) 0 である. 言い換えると, 固有値問題 (6.12) を解くためにレーリー商を導入し, 次にレーリー・リッツ原理によって近似解を求めることにすると, 上で導入し た行列 A, B に対する(一般化された)固有値問題 Ay = λBy を解くことになる. 問題 6.2.1 (練習問題 6.5.1) u = (x − x2 )/2 は −u′′ = 1, 0 < x < 1, u(0) = u(1) = 0 の解であることを確認せよ. 次に区間 [0, 1] を n 等分し, yj = u(xj ) を求めよ. 最後にこの y = t (yj ) は, 区分的線形の試験関数 V1 (x), · · · , Vn−1 (x) によって 得られる (6.11) の A を用いた有限要素方程式 ∫ 1 Ay = b, bj = Vj (x)f (x)dx, 0 を満たしていることを示せ. 58 f (x) = 1 第 7 章 行列の数値計算 7.1 相対誤差 2014. 7. 4 Ax = b の解法において丸め誤差に対する「抵抗力」を調べるため, Ax = b に対して b が δb の摂動を受けたときの解の摂動を δx とする A(x + δx) = b + δb 誤差 δx は δx = A−1 δb これに対し ∥δx∥/∥x∥ を相対誤差という A を正定値対称行列とし, 固有値を 0 < λ1 ≤ λ2 ≤ · · · ≤ λn とする. x = A−1 b, δx = A−1 δb より ∥x∥ ≥ 従って相対誤差は ∥b∥ , λn ∥δx∥ ≤ ∥δb∥ λ1 λn ∥δb∥ ∥δx∥ ≤ ∥x∥ λ1 ∥b∥ (7.1) と評価される. 評価 (7.1) は最良. c = λn /λ1 = λmax /λmin を A の条件数と いう. 例題 7.1.1 2 点境界値問題 − d2 u =f dx2 0 < x < 1, u(0) = u(1) = 0 の差分近似や有限要素近似で現れる (n, n) 行列 2 −1 −1 2 −1 −1 2 A= −1 · · · −1 2 −1 · −1 · 2 −1 59 · −1 2 最大固有値 λn ≈ 4, 最小固有値 λ1 ≈ π 2 /n2 であり, 条件数は c ≈ n2 /2. n = 100 とすると c = 5000. 解の丸め誤差はデータの丸め相対誤差 ∥δb∥/∥b∥ に条件数をかけたものなの で, 例えばデータの丸め相対誤差が 10−9 の場合, 解の丸め相対誤差は 10−5 程 度になる. 非対称部分も考慮するために ∥A∥ = max x̸=0 ∥Ax∥ ∥x∥ を行列 A のノルムとする. 一般に ∥Ax∥ ≤ ∥A∥∥x∥ (7.2) が成り立つ. b = Ax, δx = A−1 δb より ∥b∥ ≤ ∥A∥∥x∥, 従って ∥δx∥ ≤ ∥A−1 ∥∥δb∥ ∥δx| ∥δb∥ ≤c , ∥x∥ ∥b∥ c = ∥A∥∥A−1 ∥ (7.3) 従って c = ∥A| · ∥A−1 ∥ を A の条件数とすることができる. この数は A が正 定値対称行列の場合は λmax /λmin に一致する. 一般には ∥A∥2 = max x̸=0 ∥Ax∥2 (t AAx, x) = max ∥x∥2 ∥x∥2 より t AA の最大固有値を Λmax , 最小固有値を Λmin とすると ∥A∥2 = Λmax , ∥A−1 ∥2 = Λmin . 従って条件数は c = (Λmax /Λmin ) 1/2 次に行列を摂動させて解のロバストネスを調べる Ax = b, (A + δA)(x + δx) = b とすると Aδx + δA(x + δx) = 0 δx = −A−1 (δA)(x + δx) ∥δx∥ ≤ ∥A−1 ∥∥δA∥∥x + δx∥ 従って ∥δx∥ ∥δA∥ ≤ ∥A−1 ∥∥δA∥ = c , ∥x + δx∥ ∥A∥ c = ∥A∥∥A−1 ∥ となる. (7.4) は丸め相対誤差評価で基本的な式である. 60 (7.4) 問題 7.1.1 (練習問題 7.2.4) 正定値行列 ( ) 2 −1 A= −1 2 について ∥A−1 ∥ = 1/λ1 , ∥A∥ = λ2 , c = λ2 /λ1 を求めよ. 次に, 相対誤差が 最悪の ∥δx∥/∥x∥ = c∥δb∥/∥b∥ となる右辺 b と変化 δb を求めよ. 固有値の計算・反復法 7.2 行列の数値解法における留意点 1. Ax = b... ガウスの消去法は完全なアルゴリズムだが A の要素のほとん どが 0 である「疎行列」に対しては反復法も有利 2. Ax = λx... QR アルゴリズム, べき乗法, 対称行列を三重対角にする前 処理法が有効 3. x = A−1 b... A, b が少し変化したときの解の変化の程度(ロバストネ ス)の事前検証が必要. べき乗法 (n, n) 行列 A が線形独立な固有ベクトル x1 , · · · , xn をもち, 対応する固有値 λ1 , · · · , λn が |λ1 | ≤ · · · ≤ |λn−1 | < |λn | (7.5) を満たすものとする. u0 = c1 x1 + · · · + cn xn を初期推定として uk+1 = Auk , k = 0, 1, · · · とすると uk = c1 λk1 x1 + · · · + cn λkn xn 従って cn ̸= 0 であれば, xn の係数が徐々に uk の主要な部分となる: uk = c1 λkn ( λ1 λn )k ( x1 + · · · + cn−1 λn−1 λn )k xn−1 + cn xn λn は未知であるので, べき乗法では uk の第 1 成分を αk とし, uk+1 = Auk /αk とする. このとき (7.5) のもとで αk → λn , uk → x n , となる. QR 法 61 k→∞ A = A0 の固有値を求めるため, グラム・シュミットの直交化法によって A0 = Q0 R0 とし, 次に A1 = R0 Q0 とする. −1 Q−1 0 A0 Q0 = Q0 (Q0 R0 )Q0 = A1 より, この操作は固有値を変えない. 反復法 Ak = Qk Rk , Ak+1 = Rk Qk (7.6) を QR アルゴリズムという. Ak は上三角行列に近づき, 従ってその対角部分 はその固有値に近づく. 上に述べたことからこの固有値はもともとの A の固 有値に等しい. QR 法を補完するために, 移動アルゴリズム, また前処理としてハウスホル ダー変換が使われる. 移動アルゴリズム A の固有値に近い値 α が得られたとき以後, A − αI に対して QR 法 (7.6) を用いることで計算時間を短縮する. ハウスホルダー変換 定理 7.2.1 z = t (1, 0, · · · , 0), σ = ∥x∥, v = x + σz とすると H =I −2 vt v ∥v∥2 に対して Hx = −σz = t (−σ, 0, · · · , 0) 証明 定義より Hx = x − 2v t vx 2t (x + σz)x = x − (x + σz) ∥v∥2 ∥x + σz∥2 および ∥x + σz∥2 − 2(x + σz, x) = (σz + x, σz − x) = σ 2 ∥z∥2 − ∥x∥2 = 0 従って Hx = x − (x + σz) = −σz 証明終 x が実ベクトルのとき, H は対称かつ直交行列. 実際, 対称行列であること は直ちにわかる. u = v/∥v∥ とおけば H = I − 2ut u, 62 ∥u∥ = 1 であるから H 2 = (I − 2ut u)(I − 2ut u) = I − 4ut u + 4ut uut u = I 同様に x が複素ベクトルのときは H はエルミートかつユニタリ行列であ る. この H をハウスホルダー変換という. 与えられた A = (aij )1≤i,j≤n に対して, 上の定理を n 7→ n − 1, a21 a31 · x= · · an1 に対して適用すると ( U1 = に対して ) 1 = U1−1 H a11 −σ1 U1−1 AU1 = 0 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ この操作を続けることで対称(エルミート)かつ直交(ユニタリ)変換 U を 用いて a11 −σ1 U −1 AU = 0 0 0 ∗ ∗ ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ 0 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ と変換できる. この操作で得られた行列をヘッセンバーグ型という. 一度この形にしてしまうと QR 分解が簡単になる. しかもその上で QR 法 (7.6) で反復すると常にこの形が保たれるので, ハウスホルダー変換は QR 法 の前処理として有効に使われる. ( ) 2 −1 研究課題 8 (練習問題 7.3.1) 固有値 λ1 = 1, λ2 = 3 をもつ行列 A = −1 2 ( ) 1 についてべき乗法 uk+1 = Auk を初期推定 u0 = から 3 ステップまで 0 計算せよ. 次にべき乗法を適用して反復列の収束先を求めよ. 63 7.3 反復法 2014. 7. 11 Ax = b を A = S − T と分解し, Sx = T x + b を反復法で解く: Sxk+1 = T xk + b S −1 が簡単に計算できるように, S は対角または三重対角とする. 真の解との誤差 ek = x − xk に対して ek+1 = S −1 T ek Sek+1 = T ek , なので, この反復列の収束条件 ∥ek ∥ → 0, k → 0 は ρ(S −1 T ) < 1 である. ただし ρ(A) は正方行列 A の固有値の絶対値の最大値を表す. S の取 り方によって, Jacobi の方法, Gauss-Seidel 法, 逐次加速緩和法が得られる. Jacobi 法 S を A の対角部分とする. x1k · xk = · · xnk とすると a11 x1k+1 = −(a12 x2k + · · · + a1n xnk ) + b1 ··· ··· ··· ) + bn ann xnk+1 = −(an1 x1k + · · · + ann−1 xn−1 k 1 n この規則で (x1k , · · · , xn k ) 7→ (xk+1 , · · · , xk+1 ) を定める. Gauss-Seidel 法 a11 x1k+1 = −(a12 x2k + · · · + a1n xnk ) + b1 a22 x2k+1 = −a21 x1k+1 − (a23 x3k + · · · + a2n xnk ) + b2 ··· ··· ann xnk+1 = −(an1 x1k+1 + · · · + ann−1 xn−1 k+1 ) + bn ... xk の成分 x1k , · · · , xnk を, 計算を更新するごとに随時置き換えることでメモ リの節約を実現する. 64 逐次加速緩和法 (SOR) A = D + L + U , L:対角, D:対角成分のない下三角, U :対角成分のない上三 角とすると, Jacobi 法では S = D, T = −(L + D), Gausss-Seidel 法では S = D + L, T = −U . パラメータ ω を導入して (D + ωL)xk+1 = [(I − ω)D − ωU ]xk + ωb (7.7) というスキームを考える. ここで D + ωL は下三角, (I − ω)D − ωU は上三 角である. ω = 1 が Gauss-Seidel 法で, そのときと同じようにこの場合も xk の成分は計算を行うたびに更新される. 逐次加速緩和法では Lω = (D + ωL)−1 [(I − ω)D − ωU ] のスペクトル半径(最大固有値の絶対値)が最小となるように ω を選ぶ. 例題 7.3.1 ( A= 2 −1 −1 2 ) (7.7) より ( 2 −ω 0 2 ) ( xk+1 = 2(1 − ω) ω 0 2(1 − ω) ) xk + ωb 従って ( Lω = ( = 2 0 −ω 2 )−1 ( 2(1 − ω) ω 0 2(1 − ω) ) 1 1−ω 2ω 1 1 2 2 ω(1 − ω) 1 − ω + 4 ω 研究課題 9 (練習問題 7.3.4, 7.3.5) ( ) 3 x= , 4 ( z= 1 0 ) ) について σ = ∥x∥, v = x + σz, および対応するハウスホルダー行列 H を計 算し, Hx = −σz を確かめよ. 次にこの行列 H を用いて次の行列から構成さ れる三重対角行列 U −1 AU を求めよ. 1 A= 3 3 1 4 0 65 4 0 0 第 8 章 線形計画法とゲームの理論 8.1 線形計画法 ベクトル x = (xi )i ∈ Rn が xi ≥ 0, ∀i をみたすとき, x ≥ 0 と書く. A : Rn → Rm を (m, n) 行列, b ∈ Rm , c ∈ Rn とする. 線形計画法の主問題 とは x ≥ 0, Ax ≥ b のもとで c · x を最小にする (8.1) ことをいう. 問題が「可能」であるためには Ax ≥ b をみたす x ≥ 0 が存在しなければ ならない. 可能である場合, 集合 F = {x ∈ Rn | x ≥ 0, Ax ≥ b} (8.2) は「超多面体」で問題 (8.1) の解はその境界(頂点, 辺, 「面」) の上にある. いずれにしても頂点の中にその解がある. F の頂点とは, n + m 個の不等式 x ≥ 0, Ax ≥ b と, さらにそのうちの n 個を等式としてみたす x のことである. 単体法は最 初に頂点をつかまえ, 辺に沿って滑らせてコスト c · x を減少させて, 最良の解 を求める方法である. 最初に余裕変数 z = Ax − b ∈ Rm を用いて問題を簡略化する. すなわち A˜ = [A − I] : Rn+m → Rm ( ) ( ) x c x ˜= , c˜ = ∈ Rn+m z 0 として, (8.1) を次の問題に置き換える: ˜x = b のもとで c˜ · x x ˜ ≥ 0, A˜ ˜ を最小にする (8.3) (8.1) の解は可能集合 (8.2) の頂点から探せばよかった. (8.3) では, この頂 ˜x = b の解 x 点は A˜ ˜ ≥ 0 で, n 個の成分が 0 であるものを示している. この条 件をみたす x ˜ を基底可能解という. ˜x = b の基底可能解とは 1 対 1 に対応する. 定理 8.1.1 可能集合 F の頂点と A˜ 66 単体法では, 基底可能解を求め, そこからどの辺に沿って次の頂点に進むか, 終了条件は何かということを与える. 以下がアルゴリズムである. ˜x = b の基底可能解 x 1. A˜ ˜ を 1 つとる. 順番を替えて ( ) xb x ˜= , A˜ = [B F ], 0 (8.4) xb ∈ Rm , B: m × n, F : n × n と書く. c˜ についても x ˜ と同じ並べ替えを 行って ( ) cb c˜ = (8.5) cf とする. このとき, 費用 c˜ · x ˜ は変わらない. また ˜x = b ⇔ Bxb = b A˜ ˜x = b の基底可能解であるということは, より, x ˜ が A˜ xb = B −1 b ≥ 0 (8.6) を意味する. 2. (8.4) において x ˜ の n + 1 以降の成分は 0 となっている. これらの成分を 自由変数, x ˜ の最初の m 成分までを基底変数とする. x ˜ ≥ 0 に注意すると, 辺 ˜ を選んで頂点から滑り出すということは, A˜ x = b, x ˜ ≥ 0 を保ち, 自由変数を 正にすることに対応する. まず自由変数の 1 つをえらんで正にし, ( ) xb ′ x ˜ = xf ˜x′ = b より とおく. この xb は (8.4) のものとは異なる. 実際, 条件 A˜ ( ) xb [B F ] = b, Bxb + F xf = b xf 従って xb = B −1 b − B −1 F xf (8.7) となる. このとき, (8.5) よりコストは c˜ · x ˜ = cb · xb + cf · xf = cb · (B −1 b − B −1 F xf ) + cf · xf = cb · B −1 b + (cf − t (B −1 F )cb ) · xf (8.8) となる. (8.6) より, (8.8) 第 2 項の符号によってコストが増加するか減少する かがわかる. 67 定理 8.1.2 並べ替え (8.4), (8.5) において r = cf − t (B −1 F )cb ≥ 0 (8.9) のときはコストが減少できない. このときその頂点は最適で, 最小コストは B −1 b · cb である. 3. (8.9) が成り立たない場合は, r の負の成分で絶対値が最大のものを選ん で対応する辺に沿って進ませる. すなわちそれを第 i 成分とすると第 i 成分が 1, それ以外 0 の単位ベクトル ei をとって xf = αei , α>0 とする. このとき (8.7) より xb = B −1 b − αB −1 F ei となるので, xb のどれか 1 つの成分が 0 となるまで α を増大させれば次の頂 点に行くことができる. 問題 8.1.1 (練習問題 8.1.1) 制約条件 x + 2y ≥ 6, 2x + y ≥ 6, x ≥ 0, y ≥ 0 のときの可能集合を描け. この集合の 3 つの頂点は何か. 問題 8.1.2 (練習問題 8.1.2) 上の可能集合で, 費用関数 x + y の最小値は何 か. 費用関数 3x + y あるいは x − y ではどうか. 問題 8.1.3 (p.346, 例) x + 2y ≥ 6, 2x + y ≥ 6, x ≥ 0, y ≥ 0 で費用 x + y を最小にする問題を単体分割法で解け. (p. 347, 例, p. 351) 8.2 双対定理 2014. 7. 18 行列 A : Rn → Rm , b ∈ Rm , c ∈ Rn が与えられたとき, 主問題 (8.1) x ≥ 0, Ax ≥ b のもとで c · x を最小にする に対し y ≥ 0, t Ay ≤ c のもとで y · b を最大にする (8.10) をその双対問題という. 最適ベクトルが存在しないときはどちらの可能集合も空集合であるか, 一 方が空で他方の問題が有界でないかのいずれか. 従ってどちらの可能集合も 空でなければ主問題も双対問題も最適ベクトル x∗ , y ∗ をもち c · x∗ = y ∗ · b がいえる. 68 (8.11) 定理 8.2.1 主問題か双対問題が最適ベクトルをもてば他方ももち, それらの 問題の値は同じ. すなわち c · x の最小値と y · d の最大値は一致する. 次の栄養問題についていうと, (8.11) は食料品を選んでも人工食材を選ん でも経済的には同じであることを示している. 実際上大切なのは最適ベクト ルで x∗ は消費者は何をいくら購入すべきか, q ∗ は経済が運営されるべきビタ ミンの価格(潜在価格)を表している. 栄養問題 栄養問題では x1 ≥ 0, · · · , xn ≥ 0 を n 種類の異なる食材の購入量, aij を第 j 種の食材単位量に含まれる第 i 種のビタミンの量, 1 ≤ j ≤ n, 1 ≤ i ≤ m と する. (m, n) 行列 A = (aij ) に対し条件 Ax ≥ b の第 i 行は, これらの食材から作られる食事に, 第 i 種のビタミンが少なくと も量 bi 以上含まれていることを表す. cj を第 j 種の食材単位量の費用とす れば c · x = c1 x1 + · · · + cn xn がその食事の費用となる. 従って主問題は「必要なビタミンの摂取量を満た して, 費用が最小となるように食材の購入量を定める」問題である. 双対問題では「代用ビタミン剤を混合して食材を販売する薬屋」が登場す る. yi ≥ 0 を第 i 種のビタミン単位量の販売価格とすると t Ay の第 j 行 a1j y1 + · · · + amj ym は薬屋の販売する第 j 種の人工食材の価格で, 制約条件 t Ay ≤ c は「薬屋が混合する人工食材の価格は食料品店の食材の価格を超えることが できない」ことを示している. bi は薬屋が用意した第 i 種のビタミンの量で y · b = y1 b1 + · · · + ym bm が総売り上げになる. 従って「食材が売れるための価格の制約条件のもとで, 総売り上げを最大とするようにビタミン剤の単位当たり価格を定める」問題 である. 行列を使った制約付き最適問題は経済の問題に多く見受けられれる. 例題 8.2.1 (輸送問題) 鉄鋼が工場 P1 , · · · , Pr で生産され, 消費地 M1 , · · · , Ms で使われるものとする. 生産総量と需要総量が一致することが輸送が可能な 69 条件である. 輸送費用は線形であるとする. Pi から Mj への単位量の輸送費 用を cij , 実際の輸送単位を xij とすると, 総費用は ∑ cij xij 1≤i≤r,1≤j≤s 制約条件としては, 各工場からの輸送量はその生産量に等しく, 各消費地への 輸送量はその需要量に等しい. この条件のもとで総費用を最小にするように xij が選ばれる. 例題 8.2.2 (セールスマン問題) セールスマンが N 箇所の都市を訪ねる. i 市から j 市への一回の旅行費用が cij でその回数が xij であるとすると旅行費 用は N ∑ cij xij i,j=1 となる. 何らかの制約条件のもとでこの値を最小にする. xij は整数から探す ので整数線形計画法の問題である. 例題 8.2.3 (生産計画) 毎月変化する製品に対する需要があらかじめわかっ ている. 需要が満たされるように生産する. 1 つの方法では需要に従って生産 を変える. このとき残業と余分に雇用する従業員の雇用費が発生する. 他の 方法ではあらかじめ何か月か前に余分に生産し, 在庫する. このとき在庫の コストが発生する. これらの費用の和を最小にする問題. 双対性の証明 補題 8.2.1 x, q をそれぞれ主問題, 双対問題の可能ベクトルとすると常に q·d≤r·x 証明 仮定より Ax ≥ d, t Aq ≤ r (⇔ t qA ≤ t r) x ≥ 0, q ≥ 0 より t qAx ≥ t qd, t rx ≥ t qAx 従って q · d = t qd ≤ t qAx ≤ t rx = r · x となる. (8.12) 証明終 補題 8.2.2 主問題, 双対問題の可能ベクトル x, q が q · d = r · x を満たせば 最適. 70 証明 前補題より v ≡ inf{r · x | x ≥ 0, Ax ≥ d} ≥ V ≡ sup{q · d | q ≥ 0, t Aq ≤ r} 従って x∗ ≥ 0, Ax∗ ≥ d, q ∗ ≥ 0, t Aq ∗ ≤ r, q ∗ · d = r · x∗ となる x∗ , q ∗ が存在したとすると. v, V の定義から r · x∗ ≥ v ≥ V ≥ q ∗ · d であるので r · x∗ = v = V = q ∗ · d 特に, x∗ , q ∗ はそれぞれ最小値 v, 最大値 V を達成する. 証明終 定理 8.2.1 の証明 どちらの可能集合も空でないとする. 可能集合の頂点の数は有限個である から, 主問題は解をもつ. 余裕変数 z = Ax − d を導入すると, 可能集合は ( ) ( ) x x [A − I] = d, ≥ 0. (8.13) z z 単体法によって r · x を最小にする. 可能集合の頂点は t (x, z) の (m + n) 個の成分のうち n 個が 0, 残り m 個の 成分 ≥ 0. 順番を並べ替えて ( xb 0 ) と書く. [A − I] も対応して変形される. これを [B F ] と書くと, xb = B −1 d 費用ベクトルの方も, まず t (r, 0) と拡張した上で並べ替え, これを ( ) rb rf と書く. 定理 8.1.2 より rf − t (B −1 F )rb ≥ 0 のときが, 最適な頂点. これは t F (t B)−1 rb ≤ rf と同値. このときの費用は ( ) ( ) rb B −1 d · = rb · B −1 d rf 0 71 (8.14) (8.15) 以上の操作が双対問題でどのように実現されているかを見る. 最初に制約 条件 t Aq ≤ r, q ≥ 0 は ( t ) A ( r q≤ −t I ) 0 上の並べ替えのもとでは ( t B t F ) ( q≤ rb ) rf (8.16) と同値. ここで t q = t rb B −1 (8.17) として q を定める. 実際この条件から t qB = t rb また (8.14) より t F q = t F (t B)−1 rb ≤ rf 従って制約条件 (8.16) が成り立つ. このときの費用は q · d = t qb = t rb B −1 d = rb · B −1 b で (8.15) と同じ. 補題 8.2.2 の条件が成り立つので定理は証明された. 証明終 問題 8.2.1 (p.346, 例) x + 2y ≥ 6, 2x + y ≥ 6, x ≥ 0, y ≥ 0 で費用 x + y を 最小にする問題の双対問題を与えて単体分割法で解け. (p. 347, 例, p. 351) 8.3 ミニマックス定理 2014. 7. 25 栄養問題(復習) x1 ≥ 0, · · · , xn ≥ 0 を n 種類の異なる食材の購入量, aij を第 j 種の食材単位 量に含まれる第 i 種のビタミンの量, 1 ≤ j ≤ n, 1 ≤ i ≤ m とする. (m, n) 行 列 A = (aij ) に対し条件 Ax ≥ b の第 i 行は, これらの食材から作られる食事に, 第 i 種のビタミンが少なくと も量 bi 以上含まれていることを表す. cj を第 j 種の食材単位量の費用とす れば c · x = c1 x1 + · · · + cn xn がその食事の費用となる. 従って主問題は「必要なビタミンの摂取量を満た して, 費用が最小となるように食材の購入量を定める」問題である. 72 双対問題では「代用ビタミン剤を混合して食材を販売する薬屋」が登場す る. yi ≥ 0 を第 i 種のビタミン単位量の販売価格とすると t Ay の第 j 行 a1j y1 + · · · + amj ym は薬屋の販売する第 j 種の人工食材の価格で, 制約条件 t Ay ≤ c は「薬屋が混合する人工食材の価格は食料品店の食材の価格を超えることが できない」ことを示している. bi は薬屋が用意した第 i 種のビタミンの量で y · b = y1 b1 + · · · + ym bm が総売り上げになる. 従って「食材が売れるための価格の制約条件のもとで, 総売り上げを最大とするようにビタミン剤の単位当たり価格を定める」問題 である. 均衡定理 均衡定理は食品食材の献立 x とビタミン価格 q は次のときに最適であること を示す. 1. 食料品店はどんな食材でもそれに含まれているビタミンの相当値段よ り高いものは売らない. 2. 薬屋は食事の献立に余分に含まれているどんなビタミンについてもそ の値段は 0 として取り扱う 次の定理では, 上の条件の順番が入れ替わっている. 定理 8.3.1 可能ベクトル x, y は次(完全余剰性条件)を満たせば最適である: (Ax)i > bi t ( Ay)j < cj ⇒ ⇒ yi = 0 xj = 0 (8.18) (8.19) 証明 y ≥ 0, Ax ≥ b のもとで (8.18) は b · y = Ax · y を意味し, x ≥ 0, Ay ≤ c のもとで (8.19) は t c · x = Ax · y を意味する. 一方定理 8.2.1 の証明から, 可能ベクトル x, y が最適であることと y·b=c·x とは同値. (8.12) より (8.18)-(8.19) は (8.20) と同値となる. (8.20) 証明終 (8.18) は供給過剰なビタミン価格は 0 となること. (8.19) は高価な食材は献 立から除かれることを示している. この 2 つをクーン・タッカー条件という. 73 行列ゲーム 2 人の競技者 X, Y がゲームをする. X, Y は選択できる 2 つの手がある. X, Y が同じ手を選択すると Y が勝ち 10 ドル得る. X, Y が反対の選択をすると X が勝ち, X が第 1 の手を選ぶと 10 ドル, 第 2 の手を選ぶと 20 ドル得る. X の得失は Y が第 1 の手 Y が第 2 の手 X が第 1 の手 X が第 2 の手 −10 +20 これを行列 ( A= +10 −10 −10 +10 +20 −10 ) で表す. X, Y は毎回, 前回と独立な選択をする. X は第 1 の手を確率 x1 で 選択. (第 2 の手は自動的に確率 x2 = 1 − x1 で選択)Y は第 1, 第 2 の手を 確率 y1 , 1 − y1 で選択. x1 (x2 ), y1 (y2 ) はゲームを始める前に決めておく. y1 = 0 または y1 = 1 とすれば, x1 = 1 または x1 = 0 として常に X の勝 ち. y1 = y2 = 1/2 とすると, x1 = x2 = 1/2 とすれば X が有利. Y が y2 を 増やせば X は x1 を増やす. Y の戦略 y1 で, X がどのような戦略をとっても何も利点を与えないものが あるか. 同様に X の戦略で, Y が戦略を加えることによって利点を得ること がないような X の戦略はあるか. これらの戦略を X の得失の期待値で見る と, X について最大で Y については最小, すなわち鞍点. このような鞍点(均 衡点)を求めることをゲームを解くという. 最初に X の側から見る. 選択した戦略を x1 , x2 = 1 − x1 とする. Y が第 1 の手を選ぶと確率 x1 で 10 ドル失い, 確率 1 − x1 で 20 ドル得るので, 獲得額 の期待値は −10x1 + 20(1 − x1 ) 同様に Y が第 2 の手を選んだ時の獲得額の期待値は 10x1 − 10(1 − x1 ) 平衡点においてはこの 2 つは等しい: −10x1 + 20(1 − x1 ) = 10x1 − 10(1 − x1 ), x1 = 3/5 期待値は 2 ドル. Y のとる戦略 y1 に応じて定まる X の得点の(y1 に関する) 最小値が最大となるように戦略 x1 を選択した. 次に Y の側から見る. 選択した戦略を y1 , y2 = 1 − y1 とすると X の獲得 額の期待値は X が第 1 の手を選んだ時は −10y1 + 10(1 − y1 ) 74 第 2 の手を選んだ時は 20y1 − 10(1 − y1 ) 均衡点(最適戦略)は −10y1 + 10(1 − y1 ) = 20y1 − 10(1 − y1 ), y1 = 2/5 期待値は 2 ドル. まとめると X の最適戦略は x1 = 3/5, x2 = 2/5. Y の最適戦略は y1 = 2/5, y2 = 3/5. どちらの均衡点の値も 2 ドル (X の勝ち)... von Neumann のミ ニマックス定理 ミニマックス定理 1. X の選ぶ m 個の可能な手の戦略... x = (x1 , · · · , xm ), xi ≥ 0, 2. Y の選ぶ n 個の可能な手の戦略... y = (y1 , · · · , yn ), yj ≥ 0, ∑ ∑ xi = 1 yj = 1 3. A = (aij ), m × n... 得失行列. X が i の手, Y が j の手を選んだときの X の得点(符号付) X, Y が xi , yj を選ぶ確率... xi yj . このときの X の得点の期待値 aij xi yj . ゲーム 1 回の X の得点の期待値は ∑ aij xi yj = (x1 , · · · , xm ) a11 · a12 · ··· · · · am1 am2 · ··· y1 · · a1n · · · mn yn t = xAy 競技者 X, Y はそれぞれ t xAy が最大, 最小となるような戦略 x,y をとる. X の側に立つと戦略 x のときに Y が最も的確な対応をしたときの値(X の 期待値)は miny t xAy. そこでこれが最大となるように x∗ を選ぶ. min t x∗ Ay = max min t xAy y x y (8.21) Y の側に立つと, 戦略 y のときに X が最も的確な対応したときの値は maxx t xAy. これが最小になるように y ∗ を選ぶ. max t xAy ∗ = min max t xAy x y x (8.22) 定理 8.3.2 任意の m × n 行列 A に対して max min t xAy = min max t xAy x y y 75 x (8.23) (8.7) 左辺の最大値が x∗ で, 右辺の最小値が y ∗ で達成されると, これらの戦 略は最適. 鞍点となる. t xAy ∗ ≤ t x∗ Ay ∗ ≤ x∗ Ay, ∀(x, y) また (8.21), (8.22) より α ≡ max min t xAy = min t x∗ Ay ≤ t x∗ Ay ∗ x y y ≤ max t xAy ∗ = min max t xAy ≡ β x y x 従って α = β が示されれば, 定理が証明できる.... 線形計画法の双対定理と 同様. (8.23) の証明では 1 1 · · E= · · 1 1 ··· · · ··· 1 · , · 1 αgg1 として A を A + αE で置き換え, 最初から A > 0 とする. 1 1 · · b= · , b = · 1 1 として線形計画問題を考える. Ax ≥ b, x ≥ 0, t Ay ≤ c, y ≥ 0, min c · x max y · b クーン・タッカーの双対定理から最適ベクトル x∗ , y ∗ が存在して c · x∗ = y ∗ · b. 特に ∑ x∗i = ∑ y∗ = θ j ∗ ∗ x /θ, y /θ が定理 8.3.2 の最適ベクトルである. 問題 8.3.1 (練習問題 8.3.1) 主問題「x1 ≥ 0, x2 ≥ 0, 2x1 ≥ 4, x1 + 3x2 ≥ 11 の条件のもとで x1 + x2 を最小とする」に対してその双対問題を与えよ. 次に両者を別々に解いてその値が等しいことを確認せよ. 問題 8.3.2 (練習問題 8.4.3, 8.4.5) 76 関連図書 [1] 小林道正, Mathematica による線形代数, 朝倉書店 [2] G. ストラング, 線形代数とその応用, 産業図書, 1978. 77
© Copyright 2024 Paperzz