コンテンツにスキップ

内積空間とグラム・シュミット直交化:長さと角度を線形代数に持ち込む

対象読者: 本テーマ第 1〜5 章の内容(ベクトル空間、行列、固有値、対角化)を学び、実数・複素数の絶対値に慣れている学部生。

前提となる記事:対角化とジョルダン標準形:変換が一番簡単に見える座標を探す

生 Markdown

高校では、矢印(ベクトル)の「大きさ」や、二つの矢印の「なす角」を習いました。この記事は、その長さと角度を、多項式や関数のような矢印でないものにも使えるように一般化します。その結果、「点から直線や平面までで一番近い点はどこか」という問いに答えが出て、データに直線をあてはめる最小二乗法も、その答えの応用として得られます。

  • ベクトル空間の公理には「長さ」も「角度」も入っていません。それらを追加で与える構造が内積であり、内積を持つベクトル空間を内積空間と呼びます。
  • 内積さえあれば、ノルム ∥x∥=⟨x,x⟩\|x\| = \sqrt{\langle x,x\rangle} と、コーシー・シュワルツの不等式を経由して角度 cos⁡θ=⟨x,y⟩/(∥x∥∥y∥)\cos\theta = \langle x,y\rangle/(\|x\|\|y\|) が定義できます。三角不等式もピタゴラスの定理も、そこから証明される定理になります。
  • 正規直交基底を使うと、ベクトルの座標が x=∑k⟨x,ek⟩ekx = \sum_k \langle x, e_k\rangle e_k と内積だけで書けます。連立一次方程式を解く必要がなくなり、内積とノルムの計算が座標の言葉に翻訳されます。
  • グラム・シュミットの直交化は、任意の一次独立系から、各段階での張る空間を保ったまま正規直交系を作る手続きです。結果として、有限次元の内積空間には必ず正規直交基底が存在します。行列の言葉では QRQR 分解(行列を、列が正規直交な行列と上三角行列の積に分けること)にあたります。
  • 有限次元の部分空間 WW に対して V=W⊕W⊥V = W \oplus W^{\perp} が成り立ち、直交射影 PWP_W は WW の中で xx に最も近い点を与えます。最小二乗法も主成分分析も、この一つの定理の応用です。

1. 動機 — ベクトル空間には、まだ「ものさし」がない

Section titled “1. 動機 — ベクトル空間には、まだ「ものさし」がない”

ベクトル空間と線形変換 で見たとおり、ベクトル空間の公理(定義 3.1[ベクトル空間と線形変換])に登場する演算は和とスカラー倍だけです。この二つからは、一次独立・基底・次元・部分空間・線形写像といった概念がすべて出てきます。しかしそこには、高校で扱った「ベクトルの大きさ」や「なす角」は一度も現れていません。

これは欠陥ではなく、意図的な設計です。公理を弱くしておけば、多項式の空間・数列の空間・行列の空間・関数の空間といった、見た目のまったく違う対象を同じ言葉で扱えます。その代償として、公理だけでは次のような問いに答えられません。

  • 2 本のベクトルが「垂直」とはどういうことか。
  • 与えられた部分空間 WW の中で、点 xx に最も近い点はどれか。
  • ある基底が「使いやすい」とはどういうことか。

3 つ目の問いは、直前の章と直結しています。対角化とジョルダン標準形 では、線形変換を対角行列で表す基底を探しました。対角化できる場合でも、得られる固有ベクトルの基底は一般には「斜め」で、基底ベクトル同士の角度もばらばらです。基底が直交していれば、座標を求める計算も、逆行列の計算も劇的に簡単になります。実対称行列がいつでも直交する固有ベクトルの基底を持つ、というのが次章の スペクトル定理(系 4.3[スペクトル定理])ですが、そこへ進むには、まず「直交」という言葉を定義しなければなりません。

歴史的には、内積は R3\mathbb{R}^3 のベクトル解析(ギブス、ヘヴィサイド)で「仕事 =F⋅s= \boldsymbol{F}\cdot\boldsymbol{s}」を表す道具として定着し、その後、フーリエ級数と積分方程式の研究を通じて関数の空間へ持ち込まれました。この記事の主役である直交化の手続きは、グラム(1883 年、最小二乗法の研究)とシュミット(1907 年、積分方程式論の研究)の名前で呼ばれますが、同じ計算はそれ以前のラプラスやコーシーの仕事にも現れています。名前よりも重要なのは、有限次元でも無限次元でも、内積さえあれば同じ手続きが動くという一般性です。

内積から派生する概念の系図。この記事は左端から右端までを一本の道として辿ります

この記事を通じて K\mathbb{K} は実数体 R\mathbb{R} または複素数体 C\mathbb{C} を表し、VV は K\mathbb{K} 上のベクトル空間とします。複素数 λ\lambda の複素共役を λˉ\bar{\lambda} と書き、K=R\mathbb{K} = \mathbb{R} のときは λˉ=λ\bar{\lambda} = \lambda と読んでください。Rn\mathbb{R}^n や Cn\mathbb{C}^n の元は列ベクトルとみなし、x=(x1,…,xn)T\boldsymbol{x} = (x_1,\ldots,x_n)^{\mathsf{T}} のように書きます。行列 AA の転置を ATA^{\mathsf{T}}、共役転置(随伴)を A∗=AˉTA^{*} = \bar{A}^{\mathsf{T}} と書きます。

部分集合 S⊆VS \subseteq V が張る部分空間を span⁡(S)\operatorname{span}(S) と書きます。有限次元性・基底・次元(定義 5.6[ベクトル空間と線形変換])については ベクトル空間と線形変換 の内容を仮定します。連立一次方程式の解空間や行列の階数(定義 8.1[行列と連立一次方程式])については 行列と連立一次方程式 を参照してください。

まず「長さと角度を測る道具」が満たすべき性質を公理として書き下します。R3\mathbb{R}^3 の内積 x⋅y=x1y1+x2y2+x3y3\boldsymbol{x}\cdot\boldsymbol{y} = x_1y_1+x_2y_2+x_3y_3 から抽出したのが、次の 3 条件です。

定義 3.1(内積空間)↗

VV を K\mathbb{K} 上のベクトル空間とする。写像

⟨⋅,⋅⟩:V×V⟶K\langle \cdot,\cdot\rangle : V\times V \longrightarrow \mathbb{K}

が次の 3 条件を満たすとき、⟨⋅,⋅⟩\langle\cdot,\cdot\rangle を VV 上の内積といい、組 (V,⟨⋅,⋅⟩)(V,\langle\cdot,\cdot\rangle) を内積空間という。

  • (IP1)(第 1 変数についての線形性)任意の x,y,z∈Vx,y,z\in V と λ,μ∈K\lambda,\mu\in\mathbb{K} に対して ⟨λx+μy, z⟩=λ⟨x,z⟩+μ⟨y,z⟩\langle \lambda x+\mu y,\ z\rangle = \lambda\langle x,z\rangle + \mu\langle y,z\rangle。
  • (IP2)(共役対称性)任意の x,y∈Vx,y\in V に対して ⟨y,x⟩=⟨x,y⟩‾\langle y,x\rangle = \overline{\langle x,y\rangle}。K=R\mathbb{K}=\mathbb{R} のときはこれは対称性 ⟨y,x⟩=⟨x,y⟩\langle y,x\rangle = \langle x,y\rangle を意味する。
  • (IP3)(正定値性)任意の x∈Vx\in V に対して ⟨x,x⟩≥0\langle x,x\rangle \ge 0 であり、さらに ⟨x,x⟩=0\langle x,x\rangle = 0 となるのは x=0x=0 のときに限る。

(IP3) の「⟨x,x⟩≥0\langle x,x\rangle \ge 0」という不等式が意味を持つのは、(IP2) で y=xy=x とすると ⟨x,x⟩=⟨x,x⟩‾\langle x,x\rangle = \overline{\langle x,x\rangle}、すなわち ⟨x,x⟩\langle x,x\rangle が実数だとわかるからです。公理の順序には理由があります。

第 2 変数については、線形ではなく共役線形(スカラーを外に出すときに複素共役が付く性質)になります。共役が付くのは、⟨λx,λx⟩\langle \lambda x,\lambda x\rangle が ∣λ∣2⟨x,x⟩|\lambda|^2\langle x,x\rangle のように非負になるようにするためです。実際 (IP2) と (IP1) を続けて使うと

⟨x, λy+μz⟩=⟨λy+μz, x⟩‾=λ⟨y,x⟩+μ⟨z,x⟩‾=λˉ⟨x,y⟩+μˉ⟨x,z⟩\langle x,\ \lambda y+\mu z\rangle = \overline{\langle \lambda y+\mu z,\ x\rangle} = \overline{\lambda\langle y,x\rangle + \mu\langle z,x\rangle} = \bar{\lambda}\langle x,y\rangle + \bar{\mu}\langle x,z\rangle

となります。K=R\mathbb{K}=\mathbb{R} なら共役は何もしないので、実内積は両方の変数について線形(双線形)です。また (IP1) で λ=μ=0\lambda=\mu=0 とすれば ⟨0,z⟩=0\langle 0,z\rangle = 0 が従います。

例 3.2(標準内積)

V=KnV=\mathbb{K}^n に対し

⟨x,y⟩=∑k=1nxkyk‾=y∗x\langle \boldsymbol{x},\boldsymbol{y}\rangle = \sum_{k=1}^{n} x_k\overline{y_k} = \boldsymbol{y}^{*}\boldsymbol{x}

と定める。(IP1) は和と定数倍が各項ごとに分配されることから、(IP2) は xkyk‾‾=xk‾yk\overline{x_k\overline{y_k}} = \overline{x_k}y_k から従う。(IP3) については

⟨x,x⟩=∑k=1nxkxk‾=∑k=1n∣xk∣2≥0\langle \boldsymbol{x},\boldsymbol{x}\rangle = \sum_{k=1}^{n} x_k\overline{x_k} = \sum_{k=1}^{n}|x_k|^2 \ge 0

であり、非負実数の和が 00 になるのは各項が 00 のとき、つまり全ての kk で xk=0x_k=0、すなわち x=0\boldsymbol{x}=\boldsymbol{0} のときに限る。K=R\mathbb{K}=\mathbb{R} のときはよく知られた x⋅y=∑xkyk\boldsymbol{x}\cdot\boldsymbol{y} = \sum x_ky_k そのものである。

例 3.3(正定値対称行列が定める内積)

A=(2−1−11)A = \begin{pmatrix} 2 & -1 \\ -1 & 1\end{pmatrix} とし、x,y∈R2\boldsymbol{x},\boldsymbol{y}\in\mathbb{R}^2 に対して ⟨x,y⟩A:=xTAy\langle \boldsymbol{x},\boldsymbol{y}\rangle_A := \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{y} と定めると、これは R2\mathbb{R}^2 上の内積である。

(IP1) は行列とベクトルの積が線形であることから、(IP2) は AT=AA^{\mathsf{T}}=A と、1×11\times 1 行列が転置で不変であることから

⟨y,x⟩A=yTAx=(yTAx)T=xTATy=⟨x,y⟩A\langle \boldsymbol{y},\boldsymbol{x}\rangle_A = \boldsymbol{y}^{\mathsf{T}}A\boldsymbol{x} = (\boldsymbol{y}^{\mathsf{T}}A\boldsymbol{x})^{\mathsf{T}} = \boldsymbol{x}^{\mathsf{T}}A^{\mathsf{T}}\boldsymbol{y} = \langle \boldsymbol{x},\boldsymbol{y}\rangle_A

と従う。(IP3) は平方完成で確かめる。

⟨x,x⟩A=2x12−2x1x2+x22=x12+(x1−x2)2≥0\langle \boldsymbol{x},\boldsymbol{x}\rangle_A = 2x_1^2 - 2x_1x_2 + x_2^2 = x_1^2 + (x_1-x_2)^2 \ge 0

であり、等号が成り立つのは x1=0x_1=0 かつ x1=x2x_1=x_2、すなわち x=0\boldsymbol{x}=\boldsymbol{0} のときに限る。

一般に、実対称行列 AA が x≠0⇒xTAx>0\boldsymbol{x}\ne\boldsymbol{0}\Rightarrow \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{x} > 0 を満たすとき AA を正定値といい、このとき ⟨⋅,⋅⟩A\langle\cdot,\cdot\rangle_A は内積になる。逆に Rn\mathbb{R}^n 上の任意の内積はこの形に書ける(演習で扱う考え方を一般化すればよい)。正定値性が「AA の固有値がすべて正」と同値であることは、スペクトル定理 の主軸定理(定理 6.3[スペクトル定理])で示します。統計学のマハラノビス距離は、共分散行列の逆行列を AA にとったこの内積から来る距離です。

次の例では、(IP3) の「⟨f,f⟩=0\langle f,f\rangle=0 なら f=0f=0」の確認だけが少し手間です。連続な関数が一点でも 00 でなければ、その近くで f2f^2 は正のままなので、積分も正になる、という素朴な事実を使います。

例 3.4(連続関数の空間の L2L^2 内積)

閉区間 [a,b][a,b](a<ba < b)上の実数値連続関数全体 C[a,b]C[a,b] は R\mathbb{R} 上のベクトル空間である。

⟨f,g⟩=∫abf(x)g(x) dx\langle f,g\rangle = \int_a^b f(x)g(x)\,dx

と定めると、これは内積である。(IP1)(IP2) は積分の線形性と積の可換性から直ちに従う。(IP3) の非負性は ⟨f,f⟩=∫abf(x)2dx≥0\langle f,f\rangle = \int_a^b f(x)^2dx \ge 0 である。

問題は「⟨f,f⟩=0⇒f=0\langle f,f\rangle = 0 \Rightarrow f=0」で、ここで連続性が効きます。対偶を示す。f(x0)≠0f(x_0)\ne 0 となる x0∈[a,b]x_0\in[a,b] があるとすると、c:=∣f(x0)∣/2>0c := |f(x_0)|/2 > 0 に対し、ff の x0x_0 での連続性から、ある δ>0\delta>0 が存在して ∣x−x0∣<δ|x-x_0| < \delta かつ x∈[a,b]x\in[a,b] ならば ∣f(x)∣>c|f(x)| > c となる。I:=[a,b]∩(x0−δ,x0+δ)I := [a,b]\cap (x_0-\delta,x_0+\delta) は長さ ℓ>0\ell > 0 の区間を含むので、f2≥0f^2\ge 0 とあわせて

∫abf(x)2dx ≥ ∫If(x)2dx ≥ c2ℓ > 0.\int_a^b f(x)^2dx \ \ge\ \int_{I} f(x)^2dx \ \ge\ c^2\ell \ >\ 0 .

よって ⟨f,f⟩≠0\langle f,f\rangle \ne 0 である。

注意 3.5

例 3.4 で連続性を落とし、たとえば「区分的に連続な関数」まで広げると (IP3) は壊れます。[0,1][0,1] 上で x=1/2x=1/2 のときだけ 11、他では 00 という関数 hh は h≠0h\ne 0 ですが ∫01h2=0\int_0^1 h^2 = 0 です。可測関数まで広げて内積空間を作るには、「ほとんど至るところ一致する関数を同一視する」という商をとる必要があり、そうしてできるのがルベーグ空間 L2[a,b]L^2[a,b] です。正定値性は、単なる技術的条件ではなく「空間をどこまで大きくできるか」を決めています。

4. ノルム、コーシー・シュワルツの不等式、角度

Section titled “4. ノルム、コーシー・シュワルツの不等式、角度”

内積が決まれば長さが決まります。

定義 4.1(ノルムと距離)↗

内積空間 (V,⟨⋅,⋅⟩)(V,\langle\cdot,\cdot\rangle) に対し、x∈Vx\in V のノルムを

∥x∥:=⟨x,x⟩\|x\| := \sqrt{\langle x,x\rangle}

で定める((IP3) より根号の中は非負なので定義できる)。また x,y∈Vx,y\in V の距離を d(x,y):=∥x−y∥d(x,y):=\|x-y\| で定める。∥x∥=1\|x\|=1 のとき xx を単位ベクトルという。

定義から直ちに、λ∈K\lambda\in\mathbb{K} に対して

∥λx∥2=⟨λx,λx⟩=λλˉ⟨x,x⟩=∣λ∣2∥x∥2,すなわち∥λx∥=∣λ∣ ∥x∥\|\lambda x\|^2 = \langle \lambda x,\lambda x\rangle = \lambda\bar{\lambda}\langle x,x\rangle = |\lambda|^2\|x\|^2, \qquad\text{すなわち}\quad \|\lambda x\| = |\lambda|\,\|x\|

が成り立ちます((IP1) と第 2 変数の共役線形性を使いました)。また (IP3) より ∥x∥=0  ⟺  x=0\|x\|=0 \iff x=0 です。残る「三角不等式」は自明ではなく、次の不等式を経由して証明されます。

定理 4.2(コーシー・シュワルツの不等式)✓

(V,⟨⋅,⋅⟩)(V,\langle\cdot,\cdot\rangle) を K\mathbb{K} 上の内積空間とする。任意の x,y∈Vx,y\in V に対して

∣⟨x,y⟩∣≤∥x∥ ∥y∥|\langle x,y\rangle| \le \|x\|\,\|y\|

が成り立つ。さらに等号が成り立つのは、xx と yy が一次従属であるとき、かつそのときに限る。

証明の方針です。xx から yy 方向の成分 tyty を引いた x−tyx-ty を考え、tt を「x−tyx-ty が yy と直交する」ように選びます。それが t=⟨x,y⟩/∥y∥2t=\langle x,y\rangle/\|y\|^2 で、図形的には xx を yy 方向に落とした影の係数です。あとは ∥x−ty∥2≥0\|x-ty\|^2\ge 0 を展開するだけで不等式が出ます。

証明(定理 4.2)

まず y=0y=0 の場合。第 2 変数の共役線形性から ⟨x,0⟩=⟨x,0⋅0⟩=0ˉ⟨x,0⟩=0\langle x,0\rangle = \langle x, 0\cdot 0\rangle = \bar{0}\langle x,0\rangle = 0 なので左辺は 00、右辺も ∥y∥=0\|y\|=0 より 00 で、等号が成り立つ。このとき y=0⋅xy = 0\cdot x なので x,yx,y は一次従属であり、主張と整合する。

以下 y≠0y\ne 0 とする。(IP3) より ∥y∥2>0\|y\|^2 > 0 なので

t:=⟨x,y⟩∥y∥2∈Kt := \frac{\langle x,y\rangle}{\|y\|^2} \in \mathbb{K}

とおける。(IP3) より ∥x−ty∥2≥0\|x-ty\|^2 \ge 0 である。この量を展開する。(IP1) と第 2 変数の共役線形性から

0≤∥x−ty∥2=⟨x−ty, x−ty⟩=⟨x,x⟩−tˉ⟨x,y⟩−t⟨y,x⟩+ttˉ⟨y,y⟩.\begin{aligned} 0 \le \|x-ty\|^2 &= \langle x-ty,\ x-ty\rangle \\ &= \langle x,x\rangle - \bar{t}\langle x,y\rangle - t\langle y,x\rangle + t\bar{t}\langle y,y\rangle . \end{aligned}

ここに tt の定義を代入します。∥y∥2\|y\|^2 は正の実数なので共役をとっても変わらないことに注意すると、

tˉ⟨x,y⟩=⟨x,y⟩‾⟨x,y⟩∥y∥2=∣⟨x,y⟩∣2∥y∥2,t⟨y,x⟩=⟨x,y⟩⟨x,y⟩‾∥y∥2=∣⟨x,y⟩∣2∥y∥2\bar{t}\langle x,y\rangle = \frac{\overline{\langle x,y\rangle}\langle x,y\rangle}{\|y\|^2} = \frac{|\langle x,y\rangle|^2}{\|y\|^2}, \qquad t\langle y,x\rangle = \frac{\langle x,y\rangle\overline{\langle x,y\rangle}}{\|y\|^2} = \frac{|\langle x,y\rangle|^2}{\|y\|^2}

(2 つめでは (IP2) を使って ⟨y,x⟩=⟨x,y⟩‾\langle y,x\rangle = \overline{\langle x,y\rangle} としました)。また ttˉ⟨y,y⟩=∣t∣2∥y∥2=∣⟨x,y⟩∣2/∥y∥2t\bar{t}\langle y,y\rangle = |t|^2\|y\|^2 = |\langle x,y\rangle|^2/\|y\|^2 です。以上を代入すると 3 つの項のうち 2 つが打ち消し合って

0≤∥x−ty∥2=∥x∥2−∣⟨x,y⟩∣2∥y∥20 \le \|x-ty\|^2 = \|x\|^2 - \frac{|\langle x,y\rangle|^2}{\|y\|^2}

となります。両辺に ∥y∥2>0\|y\|^2 > 0 を掛けて移項すれば ∣⟨x,y⟩∣2≤∥x∥2∥y∥2|\langle x,y\rangle|^2 \le \|x\|^2\|y\|^2、平方根をとって(両辺とも非負なので向きは変わらない)∣⟨x,y⟩∣≤∥x∥∥y∥|\langle x,y\rangle|\le\|x\|\|y\| を得ます。

等号条件を見ます。上の計算から

∣⟨x,y⟩∣=∥x∥∥y∥  ⟺  ∥x−ty∥2=0  ⟺  x=ty|\langle x,y\rangle| = \|x\|\|y\| \iff \|x-ty\|^2 = 0 \iff x = ty

(最後の同値は (IP3))。x=tyx=ty なら x,yx,y は一次従属です。逆に x,yx,y が一次従属で y≠0y \ne 0 なら x=λyx=\lambda y と書けて、∣⟨λy,y⟩∣=∣λ∣∥y∥2=∥λy∥∥y∥|\langle \lambda y,y\rangle| = |\lambda|\|y\|^2 = \|\lambda y\|\|y\| となり等号が成り立ちます。

系 4.3(三角不等式)✓

内積空間 VV の任意の x,yx,y に対して ∥x+y∥≤∥x∥+∥y∥\|x+y\| \le \|x\|+\|y\| が成り立つ。したがって ∥⋅∥\|\cdot\| は VV 上のノルムであり、d(x,y)=∥x−y∥d(x,y)=\|x-y\| は距離である。

証明(系 4.3)

⟨x,y⟩+⟨y,x⟩=⟨x,y⟩+⟨x,y⟩‾=2Re⁡⟨x,y⟩\langle x,y\rangle + \langle y,x\rangle = \langle x,y\rangle + \overline{\langle x,y\rangle} = 2\operatorname{Re}\langle x,y\rangle((IP2))に注意して展開すると

∥x+y∥2=∥x∥2+2Re⁡⟨x,y⟩+∥y∥2.\|x+y\|^2 = \|x\|^2 + 2\operatorname{Re}\langle x,y\rangle + \|y\|^2 .

任意の複素数 zz について Re⁡z≤∣z∣\operatorname{Re} z \le |z| なので、定理 4.2 より

∥x+y∥2≤∥x∥2+2∣⟨x,y⟩∣+∥y∥2≤∥x∥2+2∥x∥∥y∥+∥y∥2=(∥x∥+∥y∥)2.\|x+y\|^2 \le \|x\|^2 + 2|\langle x,y\rangle| + \|y\|^2 \le \|x\|^2 + 2\|x\|\|y\| + \|y\|^2 = (\|x\|+\|y\|)^2 .

両辺は非負なので平方根をとって結論を得ます。距離の公理のうち d(x,y)=0  ⟺  x=yd(x,y)=0\iff x=y は (IP3)、対称性は ∥−z∥=∣−1∣∥z∥=∥z∥\|-z\|=|-1|\|z\|=\|z\|、三角不等式 d(x,z)≤d(x,y)+d(y,z)d(x,z)\le d(x,y)+d(y,z) は x−z=(x−y)+(y−z)x-z=(x-y)+(y-z) に上の不等式を適用すれば従います。

補題 4.4(ピタゴラスの定理)✓

内積空間 VV の元 x,yx,y が ⟨x,y⟩=0\langle x,y\rangle = 0 を満たすならば ∥x+y∥2=∥x∥2+∥y∥2\|x+y\|^2 = \|x\|^2 + \|y\|^2 である。

証明(補題 4.4)

∥x+y∥2=⟨x+y,x+y⟩=∥x∥2+⟨x,y⟩+⟨y,x⟩+∥y∥2\|x+y\|^2 = \langle x+y,x+y\rangle = \|x\|^2 + \langle x,y\rangle + \langle y,x\rangle + \|y\|^2 で、⟨x,y⟩=0\langle x,y\rangle = 0 なら ⟨y,x⟩=⟨x,y⟩‾=0\langle y,x\rangle = \overline{\langle x,y\rangle} = 0 なので中央の 2 項は消えます。

注意 4.5(ピタゴラスの定理と平行四辺形則)

⟨x,y⟩=0\langle x,y\rangle = 0 のとき、上の展開式の中央の項が消えて

∥x+y∥2=∥x∥2+∥y∥2\|x+y\|^2 = \|x\|^2 + \|y\|^2

が成り立ちます。これがピタゴラスの定理です。より一般に、x1,…,xmx_1,\ldots,x_m が互いに直交すれば ∥∑kxk∥2=∑k∥xk∥2\|\sum_k x_k\|^2 = \sum_k\|x_k\|^2 が同じ計算で従います。また ∥x+y∥2\|x+y\|^2 と ∥x−y∥2\|x-y\|^2 の展開式を足すと交差項が消えて

∥x+y∥2+∥x−y∥2=2∥x∥2+2∥y∥2\|x+y\|^2 + \|x-y\|^2 = 2\|x\|^2 + 2\|y\|^2

(平行四辺形則)が得られます。逆に、この等式を満たすノルムは必ずある内積から来ることが知られています(ジョルダン・フォン・ノイマンの定理)。つまり平行四辺形則は「そのノルムが角度を測れるか」を判定する条件になっています。

コーシー・シュワルツの不等式は、実内積空間で x,y≠0x,y\ne 0 のとき

−1≤⟨x,y⟩∥x∥ ∥y∥≤1-1 \le \frac{\langle x,y\rangle}{\|x\|\,\|y\|} \le 1

を意味します。この値が区間 [−1,1][-1,1] に入ることが保証されて初めて、次の定義が意味を持ちます。

定義 4.6(角度と直交性)↗

VV を実内積空間とし、x,y∈Vx,y\in V をともに 00 でないベクトルとする。cos⁡θ=⟨x,y⟩∥x∥∥y∥\cos\theta = \dfrac{\langle x,y\rangle}{\|x\|\|y\|} を満たす θ∈[0,π]\theta\in[0,\pi] を xx と yy のなす角という(余弦関数は [0,π][0,\pi] から [−1,1][-1,1] への全単射なので θ\theta は一意に定まる)。

また K\mathbb{K} が R\mathbb{R} でも C\mathbb{C} でも、⟨x,y⟩=0\langle x,y\rangle=0 のとき xx と yy は直交するといい x⊥yx\perp y と書く。部分集合 S⊆VS\subseteq V に対し、SS のすべての元と直交するベクトル全体

S⊥:={ x∈V∣⟨x,s⟩=0  (∀s∈S) }S^{\perp} := \{\,x\in V \mid \langle x,s\rangle = 0 \ \ (\forall s\in S)\,\}

を SS の直交補空間という。

S⊥S^{\perp} は常に VV の部分空間です。実際 0∈S⊥0\in S^{\perp} であり、x,y∈S⊥x,y\in S^{\perp}、λ,μ∈K\lambda,\mu\in\mathbb{K} なら (IP1) より任意の s∈Ss\in S に対して ⟨λx+μy,s⟩=λ⋅0+μ⋅0=0\langle \lambda x+\mu y,s\rangle = \lambda\cdot 0+\mu\cdot 0 = 0 だからです。SS が部分空間である必要はないことに注意してください。

注意 4.7(相関係数はコサインである)

nn 個の観測値の組 a,b∈Rn\boldsymbol{a},\boldsymbol{b}\in\mathbb{R}^n から平均を引いた中心化データを a~=a−aˉ1\tilde{\boldsymbol{a}} = \boldsymbol{a}-\bar{a}\boldsymbol{1}、b~=b−bˉ1\tilde{\boldsymbol{b}} = \boldsymbol{b}-\bar{b}\boldsymbol{1} とすると、ピアソンの相関係数は

r=∑k(ak−aˉ)(bk−bˉ)∑k(ak−aˉ)2∑k(bk−bˉ)2=⟨a~,b~⟩∥a~∥ ∥b~∥r = \frac{\sum_k (a_k-\bar{a})(b_k-\bar{b})}{\sqrt{\sum_k(a_k-\bar{a})^2}\sqrt{\sum_k(b_k-\bar{b})^2}} = \frac{\langle \tilde{\boldsymbol{a}},\tilde{\boldsymbol{b}}\rangle}{\|\tilde{\boldsymbol{a}}\|\,\|\tilde{\boldsymbol{b}}\|}

と書けます。つまり相関係数は中心化データのなす角の余弦です。∣r∣≤1|r|\le 1 は 定理 4.2 そのものであり、∣r∣=1|r|=1 となるのは等号条件から a~\tilde{\boldsymbol{a}} と b~\tilde{\boldsymbol{b}} が一次従属のとき、つまり 2 つの変量が完全な一次関係にあるときです。統計の教科書で天下り的に示される事実が、内積の言葉では一行の系になります。

直交という言葉が使えるようになったので、「使いやすい基底」を定義します。

定義 5.1(正規直交系・正規直交基底)↗

内積空間 VV のベクトルの族 e1,…,eme_1,\ldots,e_m が

⟨ei,ej⟩=δij={1(i=j)0(i≠j)\langle e_i,e_j\rangle = \delta_{ij} = \begin{cases} 1 & (i=j)\\ 0 & (i\ne j)\end{cases}

を満たすとき、正規直交系という(互いに直交し、かつすべて単位ベクトルである、という意味)。正規直交系が VV の基底でもあるとき、正規直交基底という。

命題 5.2(直交系は一次独立)✓

内積空間 VV のベクトル u1,…,umu_1,\ldots,u_m が互いに直交し(i≠j⇒⟨ui,uj⟩=0i\ne j\Rightarrow\langle u_i,u_j\rangle=0)、かつすべて 00 でないならば、u1,…,umu_1,\ldots,u_m は一次独立である。特に正規直交系は一次独立である。

証明(命題 5.2)

c1u1+⋯+cmum=0c_1u_1+\cdots+c_mu_m = 0 とする。各 kk に対し、この等式の両辺と uku_k との内積をとる。(IP1) より

0=⟨0,uk⟩=⟨∑j=1mcjuj, uk⟩=∑j=1mcj⟨uj,uk⟩=ck⟨uk,uk⟩=ck∥uk∥2.0 = \langle 0, u_k\rangle = \Big\langle \sum_{j=1}^m c_ju_j,\ u_k\Big\rangle = \sum_{j=1}^m c_j\langle u_j,u_k\rangle = c_k\langle u_k,u_k\rangle = c_k\|u_k\|^2 .

仮定 uk≠0u_k\ne 0 と (IP3) より ∥uk∥2>0\|u_k\|^2 > 0 なので ck=0c_k=0。kk は任意だったので、すべての係数が 00 です。正規直交系は ∥ek∥=1≠0\|e_k\|=1\ne 0 を満たすので、この場合に含まれます。

定理 5.3(正規直交基底による展開)✓

VV を K\mathbb{K} 上の内積空間、e1,…,ene_1,\ldots,e_n を VV の正規直交基底とする。このとき次が成り立つ。

  1. 任意の x∈Vx\in V に対し x=∑k=1n⟨x,ek⟩ek\displaystyle x = \sum_{k=1}^{n}\langle x,e_k\rangle e_k である。すなわち基底 (ek)(e_k) に関する xx の第 kk 座標は ⟨x,ek⟩\langle x,e_k\rangle で与えられる。
  2. 任意の x,y∈Vx,y\in V に対し ⟨x,y⟩=∑k=1n⟨x,ek⟩⟨y,ek⟩‾\displaystyle \langle x,y\rangle = \sum_{k=1}^{n}\langle x,e_k\rangle\overline{\langle y,e_k\rangle} である。
  3. 任意の x∈Vx\in V に対し ∥x∥2=∑k=1n∣⟨x,ek⟩∣2\displaystyle \|x\|^2 = \sum_{k=1}^{n}|\langle x,e_k\rangle|^2(パーセバルの等式)。
証明(定理 5.3)

(1) e1,…,ene_1,\ldots,e_n は基底なので、x=∑j=1ncjejx = \sum_{j=1}^n c_je_j となる cj∈Kc_j\in\mathbb{K} が(一意に)存在します。両辺と eke_k の内積をとると、(IP1) と正規直交性から

⟨x,ek⟩=∑j=1ncj⟨ej,ek⟩=∑j=1ncjδjk=ck\langle x,e_k\rangle = \sum_{j=1}^n c_j\langle e_j,e_k\rangle = \sum_{j=1}^n c_j\delta_{jk} = c_k

となり、係数が内積で書けることがわかります。

(2) (1) の表示を両方に代入し、(IP1) と第 2 変数の共役線形性で二重和に展開します。

⟨x,y⟩=⟨∑j⟨x,ej⟩ej, ∑k⟨y,ek⟩ek⟩=∑j∑k⟨x,ej⟩⟨y,ek⟩‾ ⟨ej,ek⟩.\langle x,y\rangle = \Big\langle \sum_{j}\langle x,e_j\rangle e_j,\ \sum_{k}\langle y,e_k\rangle e_k\Big\rangle = \sum_{j}\sum_{k}\langle x,e_j\rangle\overline{\langle y,e_k\rangle}\,\langle e_j,e_k\rangle .

⟨ej,ek⟩=δjk\langle e_j,e_k\rangle = \delta_{jk} なので j=kj=k の項だけが残り、主張の式を得ます。

(3) (2) で y=xy=x とすると ⟨x,ek⟩⟨x,ek⟩‾=∣⟨x,ek⟩∣2\langle x,e_k\rangle\overline{\langle x,e_k\rangle} = |\langle x,e_k\rangle|^2 なので、∥x∥2=⟨x,x⟩=∑k∣⟨x,ek⟩∣2\|x\|^2 = \langle x,x\rangle = \sum_k |\langle x,e_k\rangle|^2 です。

この定理が正規直交基底の存在意義です。一般の基底 v1,…,vnv_1,\ldots,v_n について xx の座標を求めるには、連立一次方程式 ∑jcjvj=x\sum_j c_jv_j = x を解かねばなりません(n×nn\times n の掃き出しで O(n3)O(n^3) の計算量)。正規直交基底なら、座標は内積を nn 回計算するだけ(O(n2)O(n^2))で得られ、しかも各座標が他の座標と独立に求まります。さらに (3) より、ノルムの計算が座標の二乗和に化けます。Kn\mathbb{K}^n の言葉でいえば、基底ベクトルを列に並べた行列 QQ が Q∗Q=IQ^{*}Q=I を満たす(ユニタリ行列・直交行列。列ベクトルが正規直交系をなす正方行列のこと)ということで、逆行列を求める代わりに転置をとればよい、ということです。

数値で確かめます。 R3\mathbb{R}^3 の標準内積に関して

e1=12(1,1,0)T,e2=16(1,−1,2)T,e3=13(−1,1,1)Te_1 = \frac{1}{\sqrt2}(1,1,0)^{\mathsf{T}},\quad e_2 = \frac{1}{\sqrt6}(1,-1,2)^{\mathsf{T}},\quad e_3 = \frac{1}{\sqrt3}(-1,1,1)^{\mathsf{T}}

を考えます。∥e1∥2=(1+1+0)/2=1\|e_1\|^2 = (1+1+0)/2 = 1、∥e2∥2=(1+1+4)/6=1\|e_2\|^2 = (1+1+4)/6=1、∥e3∥2=(1+1+1)/3=1\|e_3\|^2=(1+1+1)/3=1 であり、

⟨e1,e2⟩=1⋅1+1⋅(−1)+0⋅226=0,⟨e1,e3⟩=−1+1+023=0,⟨e2,e3⟩=−1−1+263=0\langle e_1,e_2\rangle = \frac{1\cdot 1 + 1\cdot(-1) + 0\cdot 2}{\sqrt2\sqrt6} = 0,\quad \langle e_1,e_3\rangle = \frac{-1+1+0}{\sqrt2\sqrt3} = 0,\quad \langle e_2,e_3\rangle = \frac{-1-1+2}{\sqrt6\sqrt3} = 0

なので正規直交系です。命題 5.2 より一次独立で、dim⁡R3=3\dim\mathbb{R}^3 = 3 本あるので R3\mathbb{R}^3 の正規直交基底になります。x=(1,2,3)Tx = (1,2,3)^{\mathsf{T}} の座標を 定理 5.3 で求めると

⟨x,e1⟩=1+22=32,⟨x,e2⟩=1−2+66=56,⟨x,e3⟩=−1+2+33=43\langle x,e_1\rangle = \frac{1+2}{\sqrt2} = \frac{3}{\sqrt2},\quad \langle x,e_2\rangle = \frac{1-2+6}{\sqrt6} = \frac{5}{\sqrt6},\quad \langle x,e_3\rangle = \frac{-1+2+3}{\sqrt3} = \frac{4}{\sqrt3}

となり、連立方程式を一つも解かずに座標が求まりました。検算としてパーセバルの等式を確かめると

92+256+163=27+25+326=846=14=12+22+32=∥x∥2\frac92+\frac{25}{6}+\frac{16}{3} = \frac{27+25+32}{6} = \frac{84}{6} = 14 = 1^2+2^2+3^2 = \|x\|^2

で、確かに一致します。この 3 本がどこから来たのかは、次の節で明らかになります。

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

Section titled “6. グラム・シュミットの直交化”

正規直交基底は便利ですが、そもそも存在するのでしょうか。存在するとして、どう作るのでしょうか。答えは、任意の基底から機械的に作れる、です。

考え方は単純です。v2v_2 を e1e_1 に直交させたければ、v2v_2 から「e1e_1 方向の成分」⟨v2,e1⟩e1\langle v_2,e_1\rangle e_1 を引けばよい。残りは e1e_1 に直交します。この操作を順に繰り返します。

v₁e₁v₂u₂⟨v₂, e₁⟩ e₁O
グラム・シュミットの 1 段階。 から 方向の成分を引き抜くと、残り は に直交する

次の定理の 1〜3 は手順がうまくいくことの保証で、最後の「これ以外に存在しない」は、結果が計算の途中の選び方によらず 1 通りに決まるという一意性です。証明は帰納法で 1〜3 を順に確かめ、最後の段落で一意性を示します。一意性は、あとの例で QRQR 分解が一意であるという主張にもつながります。

定理 6.1(グラム・シュミットの直交化)✓

VV を K\mathbb{K} 上の内積空間とし、v1,…,vn∈Vv_1,\ldots,v_n\in V を一次独立なベクトルとする。次の漸化式

u1=v1,uk=vk−∑j=1k−1⟨vk,ej⟩ej(k=2,…,n),ek=uk∥uk∥u_1 = v_1,\qquad u_k = v_k - \sum_{j=1}^{k-1}\langle v_k,e_j\rangle e_j \quad (k=2,\ldots,n), \qquad e_k = \frac{u_k}{\|u_k\|}

は矛盾なく実行でき(すなわち各 kk で uk≠0u_k\ne 0)、得られる e1,…,ene_1,\ldots,e_n は次を満たす。

  1. e1,…,ene_1,\ldots,e_n は正規直交系である。
  2. すべての k=1,…,nk=1,\ldots,n に対して span⁡(e1,…,ek)=span⁡(v1,…,vk)\operatorname{span}(e_1,\ldots,e_k) = \operatorname{span}(v_1,\ldots,v_k)。
  3. すべての kk に対して ⟨vk,ek⟩=∥uk∥>0\langle v_k,e_k\rangle = \|u_k\| > 0。

さらに、条件 1・2・3 を満たす正規直交系 e1,…,ene_1,\ldots,e_n はこれ以外に存在しない。

証明(定理 6.1)

kk についての数学的帰納法で、「uk≠0u_k\ne0 であり、e1,…,eke_1,\ldots,e_k が正規直交系で、条件 2・3 が kk まで成り立つ」ことを示します。

k=1k=1 のとき。 v1,…,vnv_1,\ldots,v_n は一次独立なので v1≠0v_1\ne 0、よって u1=v1≠0u_1=v_1\ne 0 であり、(IP3) より ∥u1∥>0\|u_1\|>0 で e1e_1 が定義できます。∥e1∥=∥v1∥−1∥v1∥=1\|e_1\| = \|v_1\|^{-1}\|v_1\| = 1 です。e1=∥v1∥−1v1e_1 = \|v_1\|^{-1}v_1 かつ v1=∥v1∥e1v_1 = \|v_1\|e_1 なので、互いに他のスカラー倍であり span⁡(e1)=span⁡(v1)\operatorname{span}(e_1)=\operatorname{span}(v_1)。また ⟨v1,e1⟩=⟨∥u1∥e1,e1⟩=∥u1∥ ∥e1∥2=∥u1∥>0\langle v_1,e_1\rangle = \langle \|u_1\|e_1, e_1\rangle = \|u_1\|\,\|e_1\|^2 = \|u_1\| > 0。

k−1k-1 まで成り立つとして kk を示す。 帰納法の仮定より e1,…,ek−1e_1,\ldots,e_{k-1} は正規直交系で、Wk−1:=span⁡(e1,…,ek−1)=span⁡(v1,…,vk−1)W_{k-1}:=\operatorname{span}(e_1,\ldots,e_{k-1}) = \operatorname{span}(v_1,\ldots,v_{k-1}) です。

(uk≠0u_k\ne 0) uk=vk−∑j<k⟨vk,ej⟩eju_k = v_k - \sum_{j<k}\langle v_k,e_j\rangle e_j の右辺の和は Wk−1W_{k-1} の元です。もし uk=0u_k=0 なら vk∈Wk−1=span⁡(v1,…,vk−1)v_k\in W_{k-1} = \operatorname{span}(v_1,\ldots,v_{k-1}) となり、vkv_k が v1,…,vk−1v_1,\ldots,v_{k-1} の一次結合で書けてしまうので、v1,…,vnv_1,\ldots,v_n の一次独立性に反します。よって uk≠0u_k\ne 0 で、(IP3) から ∥uk∥>0\|u_k\|>0、eke_k が定義できます。

(1 正規直交性) i<ki < k とすると、(IP1) と帰納法の仮定 ⟨ej,ei⟩=δji\langle e_j,e_i\rangle = \delta_{ji} より

⟨uk,ei⟩=⟨vk,ei⟩−∑j=1k−1⟨vk,ej⟩⟨ej,ei⟩=⟨vk,ei⟩−⟨vk,ei⟩=0.\langle u_k,e_i\rangle = \langle v_k,e_i\rangle - \sum_{j=1}^{k-1}\langle v_k,e_j\rangle\langle e_j,e_i\rangle = \langle v_k,e_i\rangle - \langle v_k,e_i\rangle = 0 .

両辺を ∥uk∥\|u_k\| で割れば ⟨ek,ei⟩=0\langle e_k,e_i\rangle = 0。また ∥ek∥=∥uk∥−1∥uk∥=1\|e_k\| = \|u_k\|^{-1}\|u_k\| = 1 なので、e1,…,eke_1,\ldots,e_k は正規直交系です。

(2 張る空間) eke_k は vkv_k と e1,…,ek−1e_1,\ldots,e_{k-1} の一次結合であり、帰納法の仮定より e1,…,ek−1∈span⁡(v1,…,vk−1)e_1,\ldots,e_{k-1}\in\operatorname{span}(v_1,\ldots,v_{k-1}) なので、ek∈span⁡(v1,…,vk)e_k\in\operatorname{span}(v_1,\ldots,v_k)。よって span⁡(e1,…,ek)⊆span⁡(v1,…,vk)\operatorname{span}(e_1,\ldots,e_k)\subseteq\operatorname{span}(v_1,\ldots,v_k)。逆に、漸化式を vkv_k について解くと

vk=∥uk∥ ek+∑j=1k−1⟨vk,ej⟩ej∈span⁡(e1,…,ek)v_k = \|u_k\|\,e_k + \sum_{j=1}^{k-1}\langle v_k,e_j\rangle e_j \in \operatorname{span}(e_1,\ldots,e_k)

であり、v1,…,vk−1∈Wk−1⊆span⁡(e1,…,ek)v_1,\ldots,v_{k-1}\in W_{k-1}\subseteq\operatorname{span}(e_1,\ldots,e_k) なので逆向きの包含も成り立ちます。したがって両者は一致します。

(3) 上の vkv_k の表示と eke_k との内積をとり、正規直交性を使うと ⟨vk,ek⟩=∥uk∥⋅1+0=∥uk∥>0\langle v_k,e_k\rangle = \|u_k\|\cdot 1 + 0 = \|u_k\| > 0。

一意性。 f1,…,fnf_1,\ldots,f_n も条件 1・2・3 を満たすとし、fj=ejf_j=e_j (j<k)(j<k) を仮定して fk=ekf_k=e_k を示します(k=1k=1 のときは仮定は空です)。条件 2 より fk∈span⁡(v1,…,vk)=span⁡(e1,…,ek)f_k\in\operatorname{span}(v_1,\ldots,v_k) = \operatorname{span}(e_1,\ldots,e_k) なので fk=∑j≤kcjejf_k=\sum_{j\le k}c_je_j と書けます。j<kj<k に対し、条件 1(fk⊥fjf_k\perp f_j)と帰納法の仮定 fj=ejf_j=e_j から

0=⟨fk,fj⟩=⟨fk,ej⟩=cj0 = \langle f_k,f_j\rangle = \langle f_k,e_j\rangle = c_j

(定理 5.3 の (1) と同じ計算)。よって fk=ckekf_k=c_ke_k で、∥fk∥=1\|f_k\|=1 より ∣ck∣=1|c_k|=1。さらに条件 3 より

0<⟨vk,fk⟩=ck‾ ⟨vk,ek⟩=ck‾ ∥uk∥0 < \langle v_k,f_k\rangle = \overline{c_k}\,\langle v_k,e_k\rangle = \overline{c_k}\,\|u_k\|

であり、∥uk∥>0\|u_k\|>0 なので ck‾\overline{c_k} は正の実数。∣ck∣=1|c_k|=1 とあわせて ck=1c_k=1、すなわち fk=ekf_k=e_k です。

系 6.2(正規直交基底の存在)✓

VV を K\mathbb{K} 上の nn 次元内積空間(n≥1n\ge 1)とすると、VV は正規直交基底を持つ。より一般に、VV の任意の正規直交系 e1,…,eme_1,\ldots,e_m(m≤nm\le n)は VV の正規直交基底 e1,…,ene_1,\ldots,e_n に拡張できる。

証明(系 6.2)

前半。VV の基底 v1,…,vnv_1,\ldots,v_n を一つ取り(有限次元なので存在する)、定理 6.1 を適用して e1,…,ene_1,\ldots,e_n を得ます。これは正規直交系であり、条件 2 で k=nk=n とすれば span⁡(e1,…,en)=span⁡(v1,…,vn)=V\operatorname{span}(e_1,\ldots,e_n) = \operatorname{span}(v_1,\ldots,v_n) = V なので、VV を張る nn 本のベクトルです。命題 5.2 より一次独立でもあるので、基底です。

後半。e1,…,eme_1,\ldots,e_m は 命題 5.2 より一次独立なので、基底の延長定理(命題 5.7[ベクトル空間と線形変換])によりこれを含む VV の基底 e1,…,em,wm+1,…,wne_1,\ldots,e_m,w_{m+1},\ldots,w_n が取れます。この列にグラム・シュミットを適用すると、最初の mm 本については uk=eku_k=e_k となって(e1,…,eme_1,\ldots,e_m がすでに正規直交系なので、j<k≤mj<k\le m に対し ⟨ek,ej⟩=0\langle e_k,e_j\rangle = 0 となり引くべき項がすべて 00、かつ ∥ek∥=1\|e_k\|=1)、e1,…,eme_1,\ldots,e_m はそのまま残ります。残りから作られる em+1,…,ene_{m+1},\ldots,e_n を加えたものが求める正規直交基底です。

例 6.3(R3\mathbb{R}^3 での具体的な直交化)

標準内積の R3\mathbb{R}^3 で v1=(1,1,0)Tv_1=(1,1,0)^{\mathsf{T}}、v2=(1,0,1)Tv_2=(1,0,1)^{\mathsf{T}}、v3=(0,1,1)Tv_3=(0,1,1)^{\mathsf{T}} を直交化する。この 3 本は一次独立である(3 次の行列式が det⁡=1⋅(0−1)−1⋅(1−0)+0=−2≠0\det = 1\cdot(0-1)-1\cdot(1-0)+0 = -2 \ne 0 だから。行列式とその性質 の 定理 7.1[行列式とその性質] 参照)。

第 1 段。 u1=(1,1,0)Tu_1 = (1,1,0)^{\mathsf{T}}、∥u1∥=2\|u_1\| = \sqrt2 なので e1=12(1,1,0)Te_1 = \frac{1}{\sqrt2}(1,1,0)^{\mathsf{T}}。

第 2 段。 ⟨v2,e1⟩=1⋅1+0⋅1+1⋅02=12\langle v_2,e_1\rangle = \dfrac{1\cdot1+0\cdot1+1\cdot0}{\sqrt2} = \dfrac{1}{\sqrt2} なので

u2=(1,0,1)T−12⋅12(1,1,0)T=(1,0,1)T−12(1,1,0)T=(12,−12,1)T.u_2 = (1,0,1)^{\mathsf{T}} - \frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}(1,1,0)^{\mathsf{T}} = (1,0,1)^{\mathsf{T}} - \tfrac12(1,1,0)^{\mathsf{T}} = \Big(\tfrac12,-\tfrac12,1\Big)^{\mathsf{T}} .

∥u2∥2=14+14+1=32\|u_2\|^2 = \tfrac14+\tfrac14+1 = \tfrac32 より ∥u2∥=3/2\|u_2\| = \sqrt{3/2}、したがって

e2=23(12,−12,1)T=16(1,−1,2)T.e_2 = \sqrt{\tfrac23}\Big(\tfrac12,-\tfrac12,1\Big)^{\mathsf{T}} = \frac{1}{\sqrt6}(1,-1,2)^{\mathsf{T}} .

第 3 段。 ⟨v3,e1⟩=0+1+02=12\langle v_3,e_1\rangle = \dfrac{0+1+0}{\sqrt2} = \dfrac{1}{\sqrt2}、⟨v3,e2⟩=0⋅1+1⋅(−1)+1⋅26=16\langle v_3,e_2\rangle = \dfrac{0\cdot1+1\cdot(-1)+1\cdot2}{\sqrt6} = \dfrac{1}{\sqrt6} なので

u3=(0,1,1)T−12(1,1,0)T−16(1,−1,2)T=(−23, 23, 23)T.u_3 = (0,1,1)^{\mathsf{T}} - \tfrac12(1,1,0)^{\mathsf{T}} - \tfrac16(1,-1,2)^{\mathsf{T}} = \Big(-\tfrac23,\ \tfrac23,\ \tfrac23\Big)^{\mathsf{T}} .

(第 1 成分は 0−12−16=−230-\tfrac12-\tfrac16 = -\tfrac23、第 2 成分は 1−12+16=231-\tfrac12+\tfrac16=\tfrac23、第 3 成分は 1−13=231-\tfrac13=\tfrac23。)∥u3∥2=3⋅49=43\|u_3\|^2 = 3\cdot\tfrac49 = \tfrac43 より ∥u3∥=23\|u_3\| = \tfrac{2}{\sqrt3}、したがって

e3=32(−23,23,23)T=13(−1,1,1)T.e_3 = \frac{\sqrt3}{2}\Big(-\tfrac23,\tfrac23,\tfrac23\Big)^{\mathsf{T}} = \frac{1}{\sqrt3}(-1,1,1)^{\mathsf{T}} .

これは §5 の末尾で正規直交基底であることを確かめた組と一致する。つまりあの 3 本は、標準的でない基底 v1,v2,v3v_1,v_2,v_3 を直交化して作られたものだった。

QRQR 分解として読む。 定理 6.1 の証明中に現れた vk=∥uk∥ek+∑j<k⟨vk,ej⟩ejv_k = \|u_k\|e_k + \sum_{j<k}\langle v_k,e_j\rangle e_j を行列にまとめると、A=(v1 v2 v3)A=(v_1\,v_2\,v_3)、Q=(e1 e2 e3)Q=(e_1\,e_2\,e_3) として

A=QR,R=(21/21/203/21/6002/3)A = QR,\qquad R = \begin{pmatrix} \sqrt2 & 1/\sqrt2 & 1/\sqrt2 \\ 0 & \sqrt{3/2} & 1/\sqrt6 \\ 0 & 0 & 2/\sqrt3 \end{pmatrix}

となる。RR は対角成分が正の上三角行列、QQ は QTQ=IQ^{\mathsf{T}}Q=I を満たす直交行列である。定理 6.1 の一意性の主張は、この分解が一意であることに他ならない。

例 6.4(多項式の直交化 — ルジャンドル多項式)

V=C[−1,1]V=C[-1,1] に 例 3.4 の内積 ⟨f,g⟩=∫−11f(x)g(x)dx\langle f,g\rangle = \int_{-1}^{1}f(x)g(x)dx を入れ、一次独立な v1=1v_1=1, v2=xv_2=x, v3=x2v_3=x^2 を直交化する。奇関数の [−1,1][-1,1] 上の積分が 00 になることを繰り返し使う。

第 1 段。 ∥1∥2=∫−11dx=2\|1\|^2 = \int_{-1}^1 dx = 2 なので e1=1/2e_1 = 1/\sqrt2。

第 2 段。 ⟨x,e1⟩=12∫−11x dx=0\langle x,e_1\rangle = \frac{1}{\sqrt2}\int_{-1}^1 x\,dx = 0(被積分関数が奇関数)。よって u2=xu_2 = x で、∥x∥2=∫−11x2dx=23\|x\|^2 = \int_{-1}^1x^2dx = \frac23 より e2=32 xe_2 = \sqrt{\tfrac32}\,x。

第 3 段。 ⟨x2,e1⟩=12∫−11x2dx=12⋅23=23\langle x^2,e_1\rangle = \frac{1}{\sqrt2}\int_{-1}^1x^2dx = \frac{1}{\sqrt2}\cdot\frac23 = \frac{\sqrt2}{3}、⟨x2,e2⟩=32∫−11x3dx=0\langle x^2,e_2\rangle = \sqrt{\tfrac32}\int_{-1}^1x^3dx = 0(奇関数)。よって

u3=x2−23⋅12=x2−13.u_3 = x^2 - \frac{\sqrt2}{3}\cdot\frac{1}{\sqrt2} = x^2-\frac13 .

ノルムを計算する。

∥u3∥2=∫−11(x4−23x2+19)dx=25−23⋅23+19⋅2=25−49+29=25−29=845.\|u_3\|^2 = \int_{-1}^1\Big(x^4-\frac23x^2+\frac19\Big)dx = \frac25 - \frac23\cdot\frac23 + \frac19\cdot 2 = \frac25-\frac49+\frac29 = \frac25-\frac29 = \frac{8}{45}.

∥u3∥=8/45=21015\|u_3\| = \sqrt{8/45} = \frac{2\sqrt{10}}{15} なので

e3=458(x2−13)=52⋅3x2−12.e_3 = \sqrt{\frac{45}{8}}\Big(x^2-\frac13\Big) = \sqrt{\frac52}\cdot\frac{3x^2-1}{2}.

現れた 11, xx, 3x2−12\frac{3x^2-1}{2} はルジャンドル多項式 P0,P1,P2P_0,P_1,P_2 そのもの(Pn(1)=1P_n(1)=1 という正規化を採用したもの)であり、en+1=2n+12Pne_{n+1} = \sqrt{\frac{2n+1}{2}}P_n という関係になっている。ルジャンドル多項式は微分方程式の解として導入されることが多いが、実体は「1,x,x2,…1,x,x^2,\ldots を L2L^2 内積で直交化しただけ」である。重み関数付きの内積 ∫w(x)fg dx\int w(x)f g\,dx に同じ手続きを適用すると、w(x)=e−x2w(x)=e^{-x^2} ならエルミート多項式、w(x)=e−xw(x)=e^{-x}(区間 [0,∞)[0,\infty))ならラゲール多項式が同様に現れる。

最後に、内積の最も実用的な帰結である「最良近似」を示します。鍵は、空間を部分空間とその直交補空間に分解することです。

この定理の四つの主張のうち、中心は (1) です。どんなベクトルも、WW の中の成分と WW に直交する成分に一通りに分けられる、という主張で、次の最良近似はこの (1) だけから出ます。(2) はその WW 成分の具体的な式(PW2=PWP_W^2=P_W は、射影を 2 回続けても 1 回と同じ、という意味)、(3)(4) は補足です。

定理 7.1(直交分解定理)✓

VV を K\mathbb{K} 上の内積空間、W⊆VW\subseteq V を有限次元の部分空間とする。このとき次が成り立つ。

  1. V=W⊕W⊥V = W \oplus W^{\perp}。すなわち任意の x∈Vx\in V は x=w+w′x = w+w'(w∈Ww\in W、w′∈W⊥w'\in W^{\perp})の形にただ一通りに書ける。
  2. WW の正規直交基底を e1,…,eme_1,\ldots,e_m とすると、上の ww は w=∑k=1m⟨x,ek⟩ekw = \sum_{k=1}^{m}\langle x,e_k\rangle e_k で与えられる。この ww を PWxP_Wx と書き、xx の WW への直交射影という。写像 PW:V→VP_W:V\to V は線形で、PW2=PWP_W^2=P_W、im⁡PW=W\operatorname{im}P_W = W、ker⁡PW=W⊥\ker P_W = W^{\perp} を満たす。
  3. (W⊥)⊥=W(W^{\perp})^{\perp} = W。
  4. さらに VV が有限次元ならば dim⁡W⊥=dim⁡V−dim⁡W\dim W^{\perp} = \dim V - \dim W。
証明(定理 7.1)

W={0}W=\{0\} のときは W⊥=VW^{\perp}=V で主張はすべて明らかなので(PW=0P_W=0 と読む)、m=dim⁡W≥1m=\dim W\ge 1 とします。WW は有限次元の内積空間(VV の内積を制限したもの)なので、系 6.2 より正規直交基底 e1,…,eme_1,\ldots,e_m が取れます。

(存在) x∈Vx\in V に対し w:=∑k=1m⟨x,ek⟩ek∈Ww:=\sum_{k=1}^m\langle x,e_k\rangle e_k \in W、w′:=x−ww':=x-w とおきます。各 i∈{1,…,m}i\in\{1,\ldots,m\} について、(IP1) と正規直交性から

⟨w′,ei⟩=⟨x,ei⟩−∑k=1m⟨x,ek⟩⟨ek,ei⟩=⟨x,ei⟩−⟨x,ei⟩=0.\langle w',e_i\rangle = \langle x,e_i\rangle - \sum_{k=1}^m\langle x,e_k\rangle\langle e_k,e_i\rangle = \langle x,e_i\rangle - \langle x,e_i\rangle = 0 .

WW の任意の元 uu は u=∑iaieiu=\sum_i a_ie_i と書けるので、第 2 変数の共役線形性より ⟨w′,u⟩=∑iai‾⟨w′,ei⟩=0\langle w',u\rangle = \sum_i\overline{a_i}\langle w',e_i\rangle = 0。よって w′∈W⊥w'\in W^{\perp} であり、x=w+w′x = w+w' という分解ができました。

(一意性) x=w1+w1′=w2+w2′x = w_1+w_1' = w_2+w_2'(wi∈Ww_i\in W、wi′∈W⊥w_i'\in W^{\perp})とすると z:=w1−w2=w2′−w1′z:=w_1-w_2 = w_2'-w_1' は WW と W⊥W^{\perp} の両方に属します。z∈Wz\in W かつ z∈W⊥z\in W^{\perp} から ⟨z,z⟩=0\langle z,z\rangle=0、(IP3) より z=0z=0。よって w1=w2w_1=w_2、w1′=w2′w_1'=w_2' です。これで (1) と、(2) の表示式が示せました。

(PWP_W の性質) 写像 x↦⟨x,ek⟩x\mapsto\langle x,e_k\rangle は (IP1) より線形なので、PWx=∑k⟨x,ek⟩ekP_Wx=\sum_k\langle x,e_k\rangle e_k も xx について線形です。定義より im⁡PW⊆W\operatorname{im}P_W\subseteq W。逆に w∈Ww\in W なら、e1,…,eme_1,\ldots,e_m は WW の正規直交基底なので 定理 5.3 (1) を WW に適用して PWw=wP_Ww = w、よって im⁡PW=W\operatorname{im}P_W=W かつ PW2=PWP_W^2=P_W です。核については、PWx=0P_Wx=0 なら x=x−PWx∈W⊥x = x-P_Wx \in W^{\perp}、逆に x∈W⊥x\in W^{\perp} なら ⟨x,ek⟩=0\langle x,e_k\rangle=0 が全ての kk で成り立つので PWx=0P_Wx=0。ゆえに ker⁡PW=W⊥\ker P_W = W^{\perp}。

(3) まず W⊆(W⊥)⊥W\subseteq(W^{\perp})^{\perp}。実際 w∈Ww\in W と z∈W⊥z\in W^{\perp} に対し、(IP2) より ⟨w,z⟩=⟨z,w⟩‾=0ˉ=0\langle w,z\rangle = \overline{\langle z,w\rangle} = \bar{0} = 0 だからです。逆を示します。x∈(W⊥)⊥x\in(W^{\perp})^{\perp} を取り、(1) により x=w+w′x=w+w'(w∈Ww\in W、w′∈W⊥w'\in W^{\perp})と分解します。x∈(W⊥)⊥x\in(W^{\perp})^{\perp} と w′∈W⊥w'\in W^{\perp} より ⟨x,w′⟩=0\langle x,w'\rangle=0、また w∈Ww\in W、w′∈W⊥w'\in W^{\perp} より ⟨w,w′⟩=0\langle w,w'\rangle=0。したがって

⟨w′,w′⟩=⟨x−w, w′⟩=⟨x,w′⟩−⟨w,w′⟩=0\langle w',w'\rangle = \langle x-w,\ w'\rangle = \langle x,w'\rangle-\langle w,w'\rangle = 0

となり、(IP3) から w′=0w'=0、すなわち x=w∈Wx=w\in W。

(4) VV が有限次元なら、直和分解 V=W⊕W⊥V=W\oplus W^{\perp} の次元を数えて dim⁡V=dim⁡W+dim⁡W⊥\dim V = \dim W+\dim W^{\perp} を得ます。

定理 7.2(最良近似)✓

VV を内積空間、W⊆VW\subseteq V を有限次元部分空間、x∈Vx\in V とする。任意の w∈Ww\in W に対して

∥x−PWx∥≤∥x−w∥\|x-P_Wx\| \le \|x-w\|

が成り立ち、等号が成立するのは w=PWxw=P_Wx のとき、かつそのときに限る。すなわち PWxP_Wx は WW の中で xx に最も近い点であり、そのような点は一意である。

証明(定理 7.2)

w∈Ww\in W を任意に取り、x−wx-w を次のように分けます。

x−w=(x−PWx)⏟∈ W⊥+(PWx−w)⏟∈ W.x-w = \underbrace{(x-P_Wx)}_{\in\, W^{\perp}} + \underbrace{(P_Wx-w)}_{\in\, W} .

第 1 項が W⊥W^{\perp} に属するのは 定理 7.1 の (1) による分解そのもので、第 2 項は WW が部分空間で PWx,w∈WP_Wx,w\in W だからです。したがってこの 2 項は直交し、補題 4.4 より

∥x−w∥2=∥x−PWx∥2+∥PWx−w∥2 ≥ ∥x−PWx∥2.\|x-w\|^2 = \|x-P_Wx\|^2 + \|P_Wx-w\|^2 \ \ge\ \|x-P_Wx\|^2 .

両辺の平方根をとって不等式を得ます。等号が成り立つのは ∥PWx−w∥2=0\|P_Wx-w\|^2=0、すなわち (IP3) より w=PWxw=P_Wx のときに限ります。

注意 7.3(ベッセルの不等式)

定理 7.2 の証明の途中式で w=0w=0 とおくと ∥x∥2=∥x−PWx∥2+∥PWx∥2≥∥PWx∥2\|x\|^2 = \|x-P_Wx\|^2+\|P_Wx\|^2 \ge \|P_Wx\|^2 です。WW の正規直交基底を e1,…,eme_1,\ldots,e_m とし、∥PWx∥2=∑k∣⟨x,ek⟩∣2\|P_Wx\|^2 = \sum_k|\langle x,e_k\rangle|^2(定理 5.3 の (3) を WW に適用)を代入すると

∑k=1m∣⟨x,ek⟩∣2≤∥x∥2\sum_{k=1}^{m}|\langle x,e_k\rangle|^2 \le \|x\|^2

が得られます。これがベッセルの不等式です。W=VW=V のときは等号(パーセバルの等式)になり、そうでなければ差 ∥x−PWx∥2\|x-P_Wx\|^2 だけ足りない、という形で「取りこぼした情報量」を測っています。

注意 7.4

定理 7.1 で「WW は有限次元」という仮定は落とせません。V=C[0,1]V=C[0,1] に L2L^2 内積を入れ、W={f∈V∣f(0)=0}W=\{f\in V\mid f(0)=0\} とします。WW は部分空間で W≠VW\ne V(定数関数 11 は WW に入りません)。ところが W⊥={0}W^{\perp}=\{0\} です。実際 g∈W⊥g\in W^{\perp} とすると、f(x):=xg(x)f(x):=xg(x) は連続で f(0)=0f(0)=0 すなわち f∈Wf\in W なので

0=⟨f,g⟩=∫01x g(x)2dx0 = \langle f,g\rangle = \int_0^1 x\,g(x)^2dx

となります。被積分関数は [0,1][0,1] 上で連続かつ非負なので、例 3.4 と同じ議論により xg(x)2≡0xg(x)^2\equiv 0、よって (0,1](0,1] 上で g=0g=0、gg の連続性から g(0)=0g(0)=0 も従い g≡0g\equiv 0 です。したがって W⊕W⊥=W≠VW\oplus W^{\perp}=W\ne V となり、分解は成り立ちません。無限次元では、WW が閉であることと空間の**完備性**(ヒルベルト空間であること)が必要になります。

例 7.5(最小二乗法 — 直線あてはめ)

データ (xi,yi)=(1,1),(2,3),(3,4),(4,6)(x_i,y_i) = (1,1),(2,3),(3,4),(4,6) に直線 y=a+bxy=a+bx をあてはめる。誤差の二乗和 ∑i=14(yi−a−bxi)2\sum_{i=1}^4(y_i-a-bx_i)^2 を最小にする (a,b)(a,b) を求めたい。これは R4\mathbb{R}^4 の標準内積で、

y=(1,3,4,6)T,1=(1,1,1,1)T,x=(1,2,3,4)T\boldsymbol{y} = (1,3,4,6)^{\mathsf{T}},\qquad \boldsymbol{1} = (1,1,1,1)^{\mathsf{T}},\qquad \boldsymbol{x} = (1,2,3,4)^{\mathsf{T}}

とおき、W=span⁡(1,x)W=\operatorname{span}(\boldsymbol{1},\boldsymbol{x}) に対して ∥y−w∥2\|\boldsymbol{y}-\boldsymbol{w}\|^2 を w∈W\boldsymbol{w}\in W の範囲で最小化する問題そのもの(w=a1+bx\boldsymbol{w}=a\boldsymbol{1}+b\boldsymbol{x})である。定理 7.2 より、答えは w=PWy\boldsymbol{w}=P_W\boldsymbol{y} である。

まず WW の正規直交基底をグラム・シュミットで作る。∥1∥=2\|\boldsymbol{1}\|=2 より e1=12(1,1,1,1)Te_1=\tfrac12(1,1,1,1)^{\mathsf{T}}。次に ⟨x,e1⟩=1+2+3+42=5\langle \boldsymbol{x},e_1\rangle = \tfrac{1+2+3+4}{2}=5 なので

u2=(1,2,3,4)T−5⋅12(1,1,1,1)T=(−1.5,−0.5,0.5,1.5)T,u_2 = (1,2,3,4)^{\mathsf{T}} - 5\cdot\tfrac12(1,1,1,1)^{\mathsf{T}} = (-1.5,-0.5,0.5,1.5)^{\mathsf{T}} ,

∥u2∥2=2.25+0.25+0.25+2.25=5\|u_2\|^2 = 2.25+0.25+0.25+2.25=5 より e2=15(−1.5,−0.5,0.5,1.5)Te_2 = \tfrac{1}{\sqrt5}(-1.5,-0.5,0.5,1.5)^{\mathsf{T}}。

次に y\boldsymbol{y} の係数を求める。

⟨y,e1⟩=1+3+4+62=7,⟨y,e2⟩=−1.5−1.5+2+95=85.\langle \boldsymbol{y},e_1\rangle = \frac{1+3+4+6}{2}=7,\qquad \langle \boldsymbol{y},e_2\rangle = \frac{-1.5-1.5+2+9}{\sqrt5} = \frac{8}{\sqrt5} .

よって

PWy=7e1+85e2=72(1,1,1,1)T+85(−1.5,−0.5,0.5,1.5)T=(1.1, 2.7, 4.3, 5.9)T.P_W\boldsymbol{y} = 7e_1+\frac{8}{\sqrt5}e_2 = \tfrac72(1,1,1,1)^{\mathsf{T}} + \tfrac85(-1.5,-0.5,0.5,1.5)^{\mathsf{T}} = (1.1,\ 2.7,\ 4.3,\ 5.9)^{\mathsf{T}} .

これを a1+bxa\boldsymbol{1}+b\boldsymbol{x} の形に読み直す。e2e_2 の係数から bb の寄与を見ると 85u2=85(x−2.5⋅1)\tfrac85 u_2 = \tfrac85(\boldsymbol{x}-2.5\cdot\boldsymbol{1}) なので b=1.6b = 1.6、そして第 1 成分から 1.1=a+1.6⋅11.1 = a+1.6\cdot 1、すなわち a=−0.5a=-0.5 である。検算すると x=4x=4 で −0.5+1.6⋅4=5.9-0.5+1.6\cdot4 = 5.9 となり一致する。

残差 r=y−PWy=(−0.1, 0.3, −0.3, 0.1)T\boldsymbol{r} = \boldsymbol{y}-P_W\boldsymbol{y} = (-0.1,\,0.3,\,-0.3,\,0.1)^{\mathsf{T}} は WW に直交していなければならない。実際

⟨r,1⟩=−0.1+0.3−0.3+0.1=0,⟨r,x⟩=−0.1+0.6−0.9+0.4=0\langle \boldsymbol{r},\boldsymbol{1}\rangle = -0.1+0.3-0.3+0.1 = 0,\qquad \langle \boldsymbol{r},\boldsymbol{x}\rangle = -0.1+0.6-0.9+0.4 = 0

であり、定理 7.1 の主張どおりである。最小の残差二乗和は ∥r∥2=0.01+0.09+0.09+0.01=0.2\|\boldsymbol{r}\|^2 = 0.01+0.09+0.09+0.01=0.2。

なお、統計学の公式 b=Sxy/Sxxb = S_{xy}/S_{xx}、a=yˉ−bxˉa=\bar{y}-b\bar{x} に代入すると、xˉ=2.5\bar{x}=2.5、yˉ=3.5\bar{y}=3.5、Sxy=8S_{xy}=8、Sxx=5S_{xx}=5 から b=1.6b=1.6、a=3.5−4=−0.5a=3.5-4=-0.5 となり、同じ答えを与える。回帰分析の公式は、この直交射影を成分で書き下したものにすぎない。

注意 7.6

r⊥W\boldsymbol{r}\perp W という条件を w=Ac\boldsymbol{w}=A\boldsymbol{c}(AA の列が WW を張る)と書き直すと AT(y−Ac)=0A^{\mathsf{T}}(\boldsymbol{y}-A\boldsymbol{c})=\boldsymbol{0}、すなわち正規方程式 ATAc=ATyA^{\mathsf{T}}A\boldsymbol{c}=A^{\mathsf{T}}\boldsymbol{y} が得られます。A=QRA=QR と分解しておけば Rc=QTyR\boldsymbol{c}=Q^{\mathsf{T}}\boldsymbol{y} という上三角の連立方程式に帰着し、後退代入だけで解けます。これが数値計算で QRQR 分解が使われる主な理由の一つです。

主成分分析(PCA)も同じ枠組みです。中心化したデータ点 x1,…,xN∈Rp\boldsymbol{x}_1,\ldots,\boldsymbol{x}_N\in\mathbb{R}^p に対して、∑i∥xi−PWxi∥2\sum_i\|\boldsymbol{x}_i-P_W\boldsymbol{x}_i\|^2 を最小にする dd 次元部分空間 WW を探す、という問題が PCA です。定理 7.2 は「WW を固定したときの最良近似」を与え、残る「WW 自体の最適化」を解くのが共分散行列の固有値問題であり、その最大化の中身は レイリー商の評価(定理 7.1)[スペクトル定理] です。そこでは実対称行列が直交する固有ベクトルの基底を持つこと(スペクトル定理)が本質的に効きます。固有値と固有ベクトル で導入した固有値が、この章の直交性と結び付く場所です。

演習 8.1標準

R2\mathbb{R}^2 上で ⟨x,y⟩:=2x1y1+x1y2+x2y1+x2y2\langle \boldsymbol{x},\boldsymbol{y}\rangle := 2x_1y_1 + x_1y_2 + x_2y_1 + x_2y_2 と定める。

  1. これが内積であることを示せ。
  2. 標準基底 v1=(1,0)Tv_1=(1,0)^{\mathsf{T}}、v2=(0,1)Tv_2=(0,1)^{\mathsf{T}} にグラム・シュミットを適用し、この内積に関する正規直交基底を求めよ。
解答

1. A=(2111)A=\begin{pmatrix}2&1\\1&1\end{pmatrix} とおくと ⟨x,y⟩=xTAy\langle\boldsymbol{x},\boldsymbol{y}\rangle = \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{y} です。AA は実対称なので、例 3.3 と同じ議論で (IP1)(IP2) が成り立ちます。(IP3) は平方完成により

⟨x,x⟩=2x12+2x1x2+x22=x12+(x1+x2)2≥0\langle\boldsymbol{x},\boldsymbol{x}\rangle = 2x_1^2+2x_1x_2+x_2^2 = x_1^2+(x_1+x_2)^2 \ge 0

で、等号は x1=0x_1=0 かつ x1+x2=0x_1+x_2=0、すなわち x=0\boldsymbol{x}=\boldsymbol{0} のときに限ります。

2. ⟨v1,v1⟩=2\langle v_1,v_1\rangle = 2 なので f1=12(1,0)Tf_1 = \tfrac{1}{\sqrt2}(1,0)^{\mathsf{T}}。次に ⟨v2,v1⟩=2⋅0⋅1+0⋅0+1⋅1+1⋅0=1\langle v_2,v_1\rangle = 2\cdot0\cdot1+0\cdot0+1\cdot1+1\cdot0 = 1 なので ⟨v2,f1⟩=1/2\langle v_2,f_1\rangle = 1/\sqrt2 であり、

u2=(0,1)T−12⋅12(1,0)T=(−12, 1)T.u_2 = (0,1)^{\mathsf{T}} - \frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}(1,0)^{\mathsf{T}} = \Big(-\tfrac12,\ 1\Big)^{\mathsf{T}} .

このノルムは、この内積で測らねばなりません。

⟨u2,u2⟩=2⋅14+2⋅(−12)⋅1+1=12−1+1=12.\langle u_2,u_2\rangle = 2\cdot\tfrac14 + 2\cdot\Big(-\tfrac12\Big)\cdot 1 + 1 = \tfrac12-1+1 = \tfrac12 .

よって ∥u2∥=1/2\|u_2\| = 1/\sqrt2 で、f2=2 (−12,1)T=(−12, 2)Tf_2 = \sqrt2\,(-\tfrac12,1)^{\mathsf{T}} = (-\tfrac{1}{\sqrt2},\ \sqrt2)^{\mathsf{T}}。

検算します。⟨f2,f2⟩=2⋅12+2⋅(−12)⋅2+2=1−2+2=1\langle f_2,f_2\rangle = 2\cdot\tfrac12 + 2\cdot(-\tfrac{1}{\sqrt2})\cdot\sqrt2 + 2 = 1-2+2 = 1、また

⟨f1,f2⟩=12(2⋅1⋅(−12)+1⋅2+0+0)=12(−2+2)=0\langle f_1,f_2\rangle = \frac{1}{\sqrt2}\Big(2\cdot1\cdot\Big(-\tfrac{1}{\sqrt2}\Big) + 1\cdot\sqrt2 + 0 + 0\Big) = \frac{1}{\sqrt2}\big(-\sqrt2+\sqrt2\big) = 0

となり、確かに正規直交基底です。標準内積では直交していた v1,v2v_1,v_2 が、内積を変えると直交しなくなる(そして f2f_2 は「斜め」になる)ことに注意してください。直交性は内積に依存する概念です。

演習 8.2標準

a1,…,ana_1,\ldots,a_n をすべて正の実数とする。コーシー・シュワルツの不等式を用いて

(∑k=1nak)(∑k=1n1ak) ≥ n2\Big(\sum_{k=1}^{n}a_k\Big)\Big(\sum_{k=1}^{n}\frac{1}{a_k}\Big) \ \ge\ n^2

を示し、等号が成り立つ条件を求めよ。

解答

Rn\mathbb{R}^n の標準内積を考え、ak>0a_k > 0 を使って

u=(a1,…,an)T,v=(1a1,…,1an)T\boldsymbol{u} = (\sqrt{a_1},\ldots,\sqrt{a_n})^{\mathsf{T}},\qquad \boldsymbol{v} = \Big(\tfrac{1}{\sqrt{a_1}},\ldots,\tfrac{1}{\sqrt{a_n}}\Big)^{\mathsf{T}}

とおきます(ak>0a_k>0 なので平方根も逆数も定義できます)。すると

⟨u,v⟩=∑k=1nak⋅1ak=n,∥u∥2=∑kak,∥v∥2=∑k1ak.\langle \boldsymbol{u},\boldsymbol{v}\rangle = \sum_{k=1}^n \sqrt{a_k}\cdot\frac{1}{\sqrt{a_k}} = n,\qquad \|\boldsymbol{u}\|^2 = \sum_k a_k,\qquad \|\boldsymbol{v}\|^2 = \sum_k\frac{1}{a_k} .

定理 4.2 を二乗の形で使うと n2=∣⟨u,v⟩∣2≤∥u∥2∥v∥2=(∑ak)(∑1/ak)n^2 = |\langle\boldsymbol{u},\boldsymbol{v}\rangle|^2 \le \|\boldsymbol{u}\|^2\|\boldsymbol{v}\|^2 = (\sum a_k)(\sum 1/a_k) となり、求める不等式を得ます。

等号条件は 定理 4.2 より u\boldsymbol{u} と v\boldsymbol{v} が一次従属であること。u≠0\boldsymbol{u}\ne\boldsymbol{0} なので v=λu\boldsymbol{v}=\lambda\boldsymbol{u} と書け、成分で 1/ak=λak1/\sqrt{a_k} = \lambda\sqrt{a_k}、すなわち ak=1/λa_k = 1/\lambda がすべての kk で成り立つこと、つまり a1=⋯=ana_1=\cdots=a_n です。逆に全部等しく aa なら左辺は na⋅n/a=n2na\cdot n/a = n^2 となり等号が成立します。

演習 8.3標準

R4\mathbb{R}^4 に標準内積を入れ、

W={x∈R4∣x1+x2+x3+x4=0,  x1−x2+x3−x4=0}W = \{\boldsymbol{x}\in\mathbb{R}^4 \mid x_1+x_2+x_3+x_4 = 0,\ \ x_1-x_2+x_3-x_4=0\}

とおく。W⊥W^{\perp} の正規直交基底を求め、x=(1,2,3,4)T\boldsymbol{x}=(1,2,3,4)^{\mathsf{T}} の WW への直交射影 PWxP_W\boldsymbol{x} を計算せよ。

解答

a=(1,1,1,1)T\boldsymbol{a}=(1,1,1,1)^{\mathsf{T}}、b=(1,−1,1,−1)T\boldsymbol{b}=(1,-1,1,-1)^{\mathsf{T}} とおくと、WW の定義は ⟨x,a⟩=0\langle\boldsymbol{x},\boldsymbol{a}\rangle=0 かつ ⟨x,b⟩=0\langle\boldsymbol{x},\boldsymbol{b}\rangle=0、すなわち W={a,b}⊥=U⊥W = \{\boldsymbol{a},\boldsymbol{b}\}^{\perp} = U^{\perp}(U:=span⁡(a,b)U:=\operatorname{span}(\boldsymbol{a},\boldsymbol{b}))と書けます。a,b\boldsymbol{a},\boldsymbol{b} は一次独立なので dim⁡U=2\dim U=2、UU は有限次元なので 定理 7.1 の (3) が使えて

W⊥=(U⊥)⊥=U=span⁡(a,b).W^{\perp} = (U^{\perp})^{\perp} = U = \operatorname{span}(\boldsymbol{a},\boldsymbol{b}) .

ここで ⟨a,b⟩=1−1+1−1=0\langle\boldsymbol{a},\boldsymbol{b}\rangle = 1-1+1-1 = 0 なので a⊥b\boldsymbol{a}\perp\boldsymbol{b} であり、グラム・シュミットは正規化するだけで済みます。∥a∥=∥b∥=2\|\boldsymbol{a}\|=\|\boldsymbol{b}\|=2 より

g1=12(1,1,1,1)T,g2=12(1,−1,1,−1)Tg_1 = \tfrac12(1,1,1,1)^{\mathsf{T}},\qquad g_2=\tfrac12(1,-1,1,-1)^{\mathsf{T}}

が W⊥W^{\perp} の正規直交基底です。

x=(1,2,3,4)T\boldsymbol{x}=(1,2,3,4)^{\mathsf{T}} について ⟨x,g1⟩=1+2+3+42=5\langle\boldsymbol{x},g_1\rangle = \tfrac{1+2+3+4}{2}=5、⟨x,g2⟩=1−2+3−42=−1\langle\boldsymbol{x},g_2\rangle = \tfrac{1-2+3-4}{2}=-1 なので

PW⊥x=5g1−g2=52(1,1,1,1)T−12(1,−1,1,−1)T=(2,3,2,3)T.P_{W^{\perp}}\boldsymbol{x} = 5g_1 - g_2 = \tfrac52(1,1,1,1)^{\mathsf{T}} - \tfrac12(1,-1,1,-1)^{\mathsf{T}} = (2,3,2,3)^{\mathsf{T}} .

定理 7.1 の (1) より x=PWx+PW⊥x\boldsymbol{x} = P_W\boldsymbol{x}+P_{W^{\perp}}\boldsymbol{x} なので

PWx=(1,2,3,4)T−(2,3,2,3)T=(−1,−1,1,1)T.P_W\boldsymbol{x} = (1,2,3,4)^{\mathsf{T}}-(2,3,2,3)^{\mathsf{T}} = (-1,-1,1,1)^{\mathsf{T}} .

検算します。−1−1+1+1=0-1-1+1+1=0、−1+1+1−1=0-1+1+1-1=0 なので確かに PWx∈WP_W\boldsymbol{x}\in W です。

演習 8.4難

例 6.4 の続きとして、C[−1,1]C[-1,1] の L2L^2 内積で v4=x3v_4=x^3 を e1,e2,e3e_1,e_2,e_3 に直交化し、正規化した e4e_4 を求めよ。

解答

e4e_4 は u4=x3−⟨x3,e1⟩e1−⟨x3,e2⟩e2−⟨x3,e3⟩e3u_4 = x^3 - \langle x^3,e_1\rangle e_1 - \langle x^3,e_2\rangle e_2 - \langle x^3,e_3\rangle e_3 を正規化したものです。e1e_1 と e3e_3 は偶関数、x3x^3 は奇関数なので x3e1x^3e_1、x3e3x^3e_3 はともに奇関数であり、[−1,1][-1,1] 上の積分は 00 です。したがって ⟨x3,e1⟩=⟨x3,e3⟩=0\langle x^3,e_1\rangle = \langle x^3,e_3\rangle = 0。残るのは

⟨x3,e2⟩=32∫−11x4dx=32⋅25.\langle x^3,e_2\rangle = \sqrt{\tfrac32}\int_{-1}^{1}x^4dx = \sqrt{\tfrac32}\cdot\frac25 .

よって

u4=x3−32⋅25⋅32 x=x3−32⋅25x=x3−35x.u_4 = x^3 - \sqrt{\tfrac32}\cdot\frac25\cdot\sqrt{\tfrac32}\,x = x^3-\frac32\cdot\frac25 x = x^3-\frac35x .

ノルムを計算します。

∥u4∥2=∫−11(x6−65x4+925x2)dx=27−65⋅25+925⋅23=27−1225+625=27−625=50−42175=8175.\|u_4\|^2 = \int_{-1}^{1}\Big(x^6-\frac65x^4+\frac{9}{25}x^2\Big)dx = \frac27 - \frac65\cdot\frac25 + \frac{9}{25}\cdot\frac23 = \frac27-\frac{12}{25}+\frac{6}{25} = \frac27-\frac{6}{25} = \frac{50-42}{175} = \frac{8}{175}.

したがって ∥u4∥=8/175=21435\|u_4\| = \sqrt{8/175} = \dfrac{2\sqrt{14}}{35} であり、

e4=1758(x3−35x)=5272⋅5x3−3x5=72⋅5x3−3x2.e_4 = \sqrt{\frac{175}{8}}\Big(x^3-\frac35x\Big) = \frac52\sqrt{\frac72}\cdot\frac{5x^3-3x}{5} = \sqrt{\frac72}\cdot\frac{5x^3-3x}{2} .

これは 2⋅3+12P3(x)\sqrt{\tfrac{2\cdot3+1}{2}}P_3(x)、すなわち規格化された 3 次のルジャンドル多項式です。例 6.4 と同じパターン en+1=2n+12Pne_{n+1}=\sqrt{\frac{2n+1}{2}}P_n が続いていることが確認できます。

(補足)ここで使った「偶奇性から内積が 00 になる」という観察は、計算量を大きく減らします。一般に、内積が対称性を持つとき、その対称性で分類されたベクトルは自動的に直交することがあり、直交化の手間が減ります。これは物理でいう選択則の原型です。

  • Sheldon Axler, Linear Algebra Done Right, 3rd ed., Springer, 2015 — Chapter 6 “Inner Product Spaces”。行列式を使わずに内積空間を扱う構成で、この記事の定理の並びに最も近い。
  • Gilbert Strang, Introduction to Linear Algebra, 5th ed., Wellesley-Cambridge Press, 2016 — Chapter 4 “Orthogonality”。射影・最小二乗法・グラム・シュミットを行列の言葉で扱う。
  • 齋藤正彦『線型代数入門』東京大学出版会、1966 — 計量ベクトル空間の章。日本語の標準的な教科書。
  • Lloyd N. Trefethen and David Bau III, Numerical Linear Algebra, SIAM, 1997 — Lecture 7–8(QRQR 分解とグラム・シュミット直交化)。古典版と修正版の違いを数値例で扱う。
  • Åke Björck, “Solving linear least squares problems by Gram-Schmidt orthogonalization”, BIT Numerical Mathematics 7 (1967), 1–21. DOI: 10.1007/BF01934122 — 修正グラム・シュミットの誤差解析の原典。

Appendix: 数値計算では順序を変える

Section titled “Appendix: 数値計算では順序を変える”

古典版の弱点。 定理 6.1 の漸化式は、kk 番目の係数をすべて元の vkv_k から計算します(古典的グラム・シュミット、CGS)。これは数学的には正しいのですが、浮動小数点演算では、vkv_k が既に作った e1,…,ek−1e_1,\ldots,e_{k-1} の張る空間にほぼ含まれるとき、引き算で激しい桁落ちが起こり、得られる eke_k の直交性が壊れます。

修正版。 これを避けるには、引き算を一度にまとめず、e1e_1 で引いた結果から e2e_2 方向の成分を引く、という逐次的な順序にします(修正グラム・シュミット、MGS)。数学的には同じ量を計算していますが、丸め誤差の伝わり方が違います。次のコードは両者を実装し、直交性の崩れ ∥QTQ−I∥\|Q^{\mathsf{T}}Q-I\| を比べます。

import numpy as np
def cgs(A):
"""古典的グラム・シュミット: 係数をすべて元の列から作る"""
m, n = A.shape
Q = np.zeros((m, n))
for k in range(n):
v = A[:, k] - Q[:, :k] @ (Q[:, :k].T @ A[:, k])
Q[:, k] = v / np.linalg.norm(v)
return Q
def mgs(A):
"""修正グラム・シュミット: 引いた結果から次を引く"""
m, n = A.shape
V = A.astype(float).copy()
Q = np.zeros((m, n))
for k in range(n):
Q[:, k] = V[:, k] / np.linalg.norm(V[:, k])
V[:, k + 1:] -= np.outer(Q[:, k], Q[:, k] @ V[:, k + 1:])
return Q
eps = 1e-8
A = np.array([[1.0, 1.0, 1.0],
[eps, 0.0, 0.0],
[0.0, eps, 0.0],
[0.0, 0.0, eps]])
for name, Q in (("classical", cgs(A)), ("modified", mgs(A))):
err = np.linalg.norm(Q.T @ Q - np.eye(3))
print(f"{name:>10}: ||Q^T Q - I|| = {err:.3e}")

この AA(レウヒリ行列と呼ばれる例)は条件数が ε−1=108\varepsilon^{-1}=10^{8} 程度で、倍精度(機械イプシロン u≈2.2×10−16u\approx 2.2\times10^{-16})では境界的な難しさです。理論的には、直交性の崩れは古典版で O(u κ(A)2)O(u\,\kappa(A)^2)、修正版で O(u κ(A))O(u\,\kappa(A)) の大きさになることが知られています(Björck 1967)。κ=108\kappa=10^8 を代入すると、古典版では 1016×2.2×10−16≈110^{16}\times 2.2\times10^{-16}\approx 1、つまり直交性がほぼ完全に失われるのに対し、修正版では 10−810^{-8} 程度にとどまる、という桁の差が出ます。実行して確かめてください。

実務では。 さらに安定な方法として、直交化を「引き算」ではなく鏡映変換(ハウスホルダー変換)の積として実行する方法があり、LAPACK の QRQR 分解(dgeqrf)はこれを使っています。理論の道具としてはグラム・シュミットが最も見通しがよく、数値の道具としてはハウスホルダー変換が標準、と役割が分かれています。ただし、列を左から順に処理して途中で打ち切れるという性質(定理 6.1 の条件 2)はグラム・シュミットに固有の利点で、部分空間を少しずつ広げていく反復解法(クリロフ部分空間法)では今も修正グラム・シュミットが使われています。

このテーマの 100 本ノック(100 問)

執筆: Claude Code(Sonnet 5.5)・監査 4 回(Claude Code)・最終 2026-10-12

この記事の誤りを報告する ・運営: 夢現技研合同会社 ・料金 ・利用条件 ・特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・コード例は MIT ライセンスです。