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

> 内積の公理から長さ・角度・直交性を定義し、コーシー・シュワルツの不等式、正規直交基底による展開、グラム・シュミットの直交化、直交補空間と直交射影による最良近似（最小二乗法）までを証明付きで積み上げる。
> https://rikai.mugen-giken.com/mathematics/linear-algebra/inner-product-spaces

## 0. この記事の要点

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

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

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

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

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

3 つ目の問いは、直前の章と直結しています。[対角化とジョルダン標準形](/mathematics/linear-algebra/diagonalization-and-jordan-form) では、線形変換を対角行列で表す基底を探しました。対角化できる場合でも、得られる固有ベクトルの基底は一般には「斜め」で、基底ベクトル同士の角度もばらばらです。基底が直交していれば、座標を求める計算も、逆行列の計算も劇的に簡単になります。実対称行列がいつでも**直交する**固有ベクトルの基底を持つ、というのが次章の [スペクトル定理](/mathematics/linear-algebra/spectral-theorem)（<Ref to="mathematics/linear-algebra/spectral-theorem#cor-real-symmetric" />）ですが、そこへ進むには、まず「直交」という言葉を定義しなければなりません。

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

<Figure caption="内積から派生する概念の系図。この記事は左端から右端までを一本の道として辿ります">
<Mermaid code={`flowchart LR
  A["内積 ⟨x, y⟩"] --> B["ノルム ‖x‖<br/>長さ・距離"]
  A --> C["直交性 ⟨x,y⟩ = 0<br/>角度"]
  B --> D["正規直交基底"]
  C --> D
  D --> E["直交射影<br/>最良近似・最小二乗法"]
  D --> F["直交行列・QR 分解<br/>スペクトル定理・主成分分析"]`} />
</Figure>

<div data-gated data-pagefind-ignore>

## 2. 準備 — 記号と約束

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

部分集合 $S \subseteq V$ が張る部分空間を $\operatorname{span}(S)$ と書きます。有限次元性・基底・次元（<Ref to="mathematics/linear-algebra/vector-spaces#def-dimension" />）については [ベクトル空間と線形変換](/mathematics/linear-algebra/vector-spaces) の内容を仮定します。連立一次方程式の解空間や行列の階数（<Ref to="mathematics/linear-algebra/matrices-and-linear-systems#def-rank" />）については [行列と連立一次方程式](/mathematics/linear-algebra/matrices-and-linear-systems) を参照してください。

## 3. 内積の公理

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

<Definition id="def-inner-product" title="内積空間">
$V$ を $\mathbb{K}$ 上のベクトル空間とする。写像
$$
\langle \cdot,\cdot\rangle : V\times V \longrightarrow \mathbb{K}
$$
が次の 3 条件を満たすとき、$\langle\cdot,\cdot\rangle$ を $V$ 上の**内積**といい、組 $(V,\langle\cdot,\cdot\rangle)$ を**内積空間**という。

- (IP1)（第 1 変数についての線形性）任意の $x,y,z\in V$ と $\lambda,\mu\in\mathbb{K}$ に対して $\langle \lambda x+\mu y,\ z\rangle = \lambda\langle x,z\rangle + \mu\langle y,z\rangle$。
- (IP2)（共役対称性）任意の $x,y\in V$ に対して $\langle y,x\rangle = \overline{\langle x,y\rangle}$。$\mathbb{K}=\mathbb{R}$ のときはこれは対称性 $\langle y,x\rangle = \langle x,y\rangle$ を意味する。
- (IP3)（正定値性）任意の $x\in V$ に対して $\langle x,x\rangle \ge 0$ であり、さらに $\langle x,x\rangle = 0$ となるのは $x=0$ のときに限る。
</Definition>

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

第 2 変数については、線形ではなく**共役線形**になります。実際 (IP2) と (IP1) を続けて使うと
$$
\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
$$
となります。$\mathbb{K}=\mathbb{R}$ なら共役は何もしないので、実内積は両方の変数について線形（双線形）です。また (IP1) で $\lambda=\mu=0$ とすれば $\langle 0,z\rangle = 0$ が従います。

<Aside type="caution">
複素内積を「第 2 変数について線形」と約束する流儀（物理学で多い）もあります。どちらでも理論は同じですが、式の共役の付き方が入れ替わります。この記事では上の約束（第 1 変数が線形）で通します。
</Aside>

<Example id="ex-standard-inner-product" title="標準内積">
$V=\mathbb{K}^n$ に対し
$$
\langle \boldsymbol{x},\boldsymbol{y}\rangle = \sum_{k=1}^{n} x_k\overline{y_k} = \boldsymbol{y}^{*}\boldsymbol{x}
$$
と定める。(IP1) は和と定数倍が各項ごとに分配されることから、(IP2) は $\overline{x_k\overline{y_k}} = \overline{x_k}y_k$ から従う。(IP3) については
$$
\langle \boldsymbol{x},\boldsymbol{x}\rangle = \sum_{k=1}^{n} x_k\overline{x_k} = \sum_{k=1}^{n}|x_k|^2 \ge 0
$$
であり、非負実数の和が $0$ になるのは各項が $0$ のとき、つまり全ての $k$ で $x_k=0$、すなわち $\boldsymbol{x}=\boldsymbol{0}$ のときに限る。$\mathbb{K}=\mathbb{R}$ のときはよく知られた $\boldsymbol{x}\cdot\boldsymbol{y} = \sum x_ky_k$ そのものである。
</Example>

<Example id="ex-weighted-inner-product" title="正定値対称行列が定める内積">
$A = \begin{pmatrix} 2 & -1 \\ -1 & 1\end{pmatrix}$ とし、$\boldsymbol{x},\boldsymbol{y}\in\mathbb{R}^2$ に対して $\langle \boldsymbol{x},\boldsymbol{y}\rangle_A := \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{y}$ と定めると、これは $\mathbb{R}^2$ 上の内積である。

(IP1) は行列とベクトルの積が線形であることから、(IP2) は $A^{\mathsf{T}}=A$ と、$1\times 1$ 行列が転置で不変であることから
$$
\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) は平方完成で確かめる。
$$
\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
$$
であり、等号が成り立つのは $x_1=0$ かつ $x_1=x_2$、すなわち $\boldsymbol{x}=\boldsymbol{0}$ のときに限る。

一般に、実対称行列 $A$ が $\boldsymbol{x}\ne\boldsymbol{0}\Rightarrow \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{x} > 0$ を満たすとき $A$ を**正定値**といい、このとき $\langle\cdot,\cdot\rangle_A$ は内積になる。逆に $\mathbb{R}^n$ 上の任意の内積はこの形に書ける（演習で扱う考え方を一般化すればよい）。正定値性が「$A$ の固有値がすべて正」と同値であることは、[スペクトル定理](/mathematics/linear-algebra/spectral-theorem) の主軸定理（<Ref to="mathematics/linear-algebra/spectral-theorem#thm-principal-axis" />）で示します。統計学のマハラノビス距離は、共分散行列の逆行列を $A$ にとったこの内積から来る距離です。
</Example>

<Example id="ex-l2-inner-product" title="連続関数の空間の $L^2$ 内積">
閉区間 $[a,b]$（$a < b$）上の実数値連続関数全体 $C[a,b]$ は $\mathbb{R}$ 上のベクトル空間である。
$$
\langle f,g\rangle = \int_a^b f(x)g(x)\,dx
$$
と定めると、これは内積である。(IP1)(IP2) は積分の線形性と積の可換性から直ちに従う。(IP3) の非負性は $\langle f,f\rangle = \int_a^b f(x)^2dx \ge 0$ である。

問題は「$\langle f,f\rangle = 0 \Rightarrow f=0$」で、ここで**連続性が効きます**。対偶を示す。$f(x_0)\ne 0$ となる $x_0\in[a,b]$ があるとすると、$c := |f(x_0)|/2 > 0$ に対し、$f$ の $x_0$ での連続性から、ある $\delta>0$ が存在して $|x-x_0| < \delta$ かつ $x\in[a,b]$ ならば $|f(x)| > c$ となる。$I := [a,b]\cap (x_0-\delta,x_0+\delta)$ は長さ $\ell > 0$ の区間を含むので、$f^2\ge 0$ とあわせて
$$
\int_a^b f(x)^2dx \ \ge\ \int_{I} f(x)^2dx \ \ge\ c^2\ell \ >\ 0 .
$$
よって $\langle f,f\rangle \ne 0$ である。
</Example>

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

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

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

<Definition id="def-norm" title="ノルムと距離">
内積空間 $(V,\langle\cdot,\cdot\rangle)$ に対し、$x\in V$ の**ノルム**を
$$
\|x\| := \sqrt{\langle x,x\rangle}
$$
で定める（(IP3) より根号の中は非負なので定義できる）。また $x,y\in V$ の**距離**を $d(x,y):=\|x-y\|$ で定める。$\|x\|=1$ のとき $x$ を**単位ベクトル**という。
</Definition>

定義から直ちに、$\lambda\in\mathbb{K}$ に対して
$$
\|\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 \iff x=0$ です。残る「三角不等式」は自明ではなく、次の不等式を経由して証明されます。

<Theorem id="thm-cauchy-schwarz" title="コーシー・シュワルツの不等式">
$(V,\langle\cdot,\cdot\rangle)$ を $\mathbb{K}$ 上の内積空間とする。任意の $x,y\in V$ に対して
$$
|\langle x,y\rangle| \le \|x\|\,\|y\|
$$
が成り立つ。さらに等号が成り立つのは、$x$ と $y$ が一次従属であるとき、かつそのときに限る。
</Theorem>

<Proof of="thm-cauchy-schwarz">
まず $y=0$ の場合。第 2 変数の共役線形性から $\langle x,0\rangle = \langle x, 0\cdot 0\rangle = \bar{0}\langle x,0\rangle = 0$ なので左辺は $0$、右辺も $\|y\|=0$ より $0$ で、等号が成り立つ。このとき $y = 0\cdot x$ なので $x,y$ は一次従属であり、主張と整合する。

以下 $y\ne 0$ とする。(IP3) より $\|y\|^2 > 0$ なので
$$
t := \frac{\langle x,y\rangle}{\|y\|^2} \in \mathbb{K}
$$
とおける。(IP3) より $\|x-ty\|^2 \ge 0$ である。この量を展開する。(IP1) と第 2 変数の共役線形性から
$$
\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}
$$
ここに $t$ の定義を代入します。$\|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) を使って $\langle y,x\rangle = \overline{\langle x,y\rangle}$ としました）。また $t\bar{t}\langle y,y\rangle = |t|^2\|y\|^2 = |\langle x,y\rangle|^2/\|y\|^2$ です。以上を代入すると 3 つの項のうち 2 つが打ち消し合って
$$
0 \le \|x-ty\|^2 = \|x\|^2 - \frac{|\langle x,y\rangle|^2}{\|y\|^2}
$$
となります。両辺に $\|y\|^2 > 0$ を掛けて移項すれば $|\langle x,y\rangle|^2 \le \|x\|^2\|y\|^2$、平方根をとって（両辺とも非負なので向きは変わらない）$|\langle x,y\rangle|\le\|x\|\|y\|$ を得ます。

等号条件を見ます。上の計算から
$$
|\langle x,y\rangle| = \|x\|\|y\| \iff \|x-ty\|^2 = 0 \iff x = ty
$$
（最後の同値は (IP3)）。$x=ty$ なら $x,y$ は一次従属です。逆に $x,y$ が一次従属で $y \ne 0$ なら $x=\lambda y$ と書けて、$|\langle \lambda y,y\rangle| = |\lambda|\|y\|^2 = \|\lambda y\|\|y\|$ となり等号が成り立ちます。
</Proof>

<Corollary id="cor-triangle" title="三角不等式">
内積空間 $V$ の任意の $x,y$ に対して $\|x+y\| \le \|x\|+\|y\|$ が成り立つ。したがって $\|\cdot\|$ は $V$ 上のノルムであり、$d(x,y)=\|x-y\|$ は距離である。
</Corollary>

<Proof of="cor-triangle">
$\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 + 2\operatorname{Re}\langle x,y\rangle + \|y\|^2 .
$$
任意の複素数 $z$ について $\operatorname{Re} z \le |z|$ なので、<Ref to="thm-cauchy-schwarz" /> より
$$
\|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\iff x=y$ は (IP3)、対称性は $\|-z\|=|-1|\|z\|=\|z\|$、三角不等式 $d(x,z)\le d(x,y)+d(y,z)$ は $x-z=(x-y)+(y-z)$ に上の不等式を適用すれば従います。
</Proof>

<Remark id="rem-pythagoras" title="ピタゴラスの定理と平行四辺形則">
$\langle x,y\rangle = 0$ のとき、上の展開式の中央の項が消えて
$$
\|x+y\|^2 = \|x\|^2 + \|y\|^2
$$
が成り立ちます。これがピタゴラスの定理です。より一般に、$x_1,\ldots,x_m$ が互いに直交すれば $\|\sum_k x_k\|^2 = \sum_k\|x_k\|^2$ が同じ計算で従います。また $\|x+y\|^2$ と $\|x-y\|^2$ の展開式を足すと交差項が消えて
$$
\|x+y\|^2 + \|x-y\|^2 = 2\|x\|^2 + 2\|y\|^2
$$
（平行四辺形則）が得られます。逆に、この等式を満たすノルムは必ずある内積から来ることが知られています（ジョルダン・フォン・ノイマンの定理）。つまり平行四辺形則は「そのノルムが角度を測れるか」を判定する条件になっています。
</Remark>

コーシー・シュワルツの不等式は、実内積空間で $x,y\ne 0$ のとき
$$
-1 \le \frac{\langle x,y\rangle}{\|x\|\,\|y\|} \le 1
$$
を意味します。この値が区間 $[-1,1]$ に入ることが保証されて初めて、次の定義が意味を持ちます。

<Definition id="def-angle" title="角度と直交性">
$V$ を実内積空間とし、$x,y\in V$ をともに $0$ でないベクトルとする。$\cos\theta = \dfrac{\langle x,y\rangle}{\|x\|\|y\|}$ を満たす $\theta\in[0,\pi]$ を $x$ と $y$ の**なす角**という（余弦関数は $[0,\pi]$ から $[-1,1]$ への全単射なので $\theta$ は一意に定まる）。

また $\mathbb{K}$ が $\mathbb{R}$ でも $\mathbb{C}$ でも、$\langle x,y\rangle=0$ のとき $x$ と $y$ は**直交する**といい $x\perp y$ と書く。部分集合 $S\subseteq V$ に対し、$S$ のすべての元と直交するベクトル全体
$$
S^{\perp} := \{\,x\in V \mid \langle x,s\rangle = 0 \ \ (\forall s\in S)\,\}
$$
を $S$ の**直交補空間**という。
</Definition>

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

<Remark id="rem-correlation" title="相関係数はコサインである">
$n$ 個の観測値の組 $\boldsymbol{a},\boldsymbol{b}\in\mathbb{R}^n$ から平均を引いた中心化データを $\tilde{\boldsymbol{a}} = \boldsymbol{a}-\bar{a}\boldsymbol{1}$、$\tilde{\boldsymbol{b}} = \boldsymbol{b}-\bar{b}\boldsymbol{1}$ とすると、ピアソンの相関係数は
$$
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|\le 1$ は <Ref to="thm-cauchy-schwarz" /> そのものであり、$|r|=1$ となるのは等号条件から $\tilde{\boldsymbol{a}}$ と $\tilde{\boldsymbol{b}}$ が一次従属のとき、つまり 2 つの変量が完全な一次関係にあるときです。統計の教科書で天下り的に示される事実が、内積の言葉では一行の系になります。
</Remark>

## 5. 正規直交基底

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

<Definition id="def-orthonormal" title="正規直交系・正規直交基底">
内積空間 $V$ のベクトルの族 $e_1,\ldots,e_m$ が
$$
\langle e_i,e_j\rangle = \delta_{ij} = \begin{cases} 1 & (i=j)\\ 0 & (i\ne j)\end{cases}
$$
を満たすとき、**正規直交系**という（互いに直交し、かつすべて単位ベクトルである、という意味）。正規直交系が $V$ の基底でもあるとき、**正規直交基底**という。
</Definition>

<Proposition id="prop-orthogonal-independent" title="直交系は一次独立">
内積空間 $V$ のベクトル $u_1,\ldots,u_m$ が互いに直交し（$i\ne j\Rightarrow\langle u_i,u_j\rangle=0$）、かつすべて $0$ でないならば、$u_1,\ldots,u_m$ は一次独立である。特に正規直交系は一次独立である。
</Proposition>

<Proof of="prop-orthogonal-independent">
$c_1u_1+\cdots+c_mu_m = 0$ とする。各 $k$ に対し、この等式の両辺と $u_k$ との内積をとる。(IP1) より
$$
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 .
$$
仮定 $u_k\ne 0$ と (IP3) より $\|u_k\|^2 > 0$ なので $c_k=0$。$k$ は任意だったので、すべての係数が $0$ です。正規直交系は $\|e_k\|=1\ne 0$ を満たすので、この場合に含まれます。
</Proof>

<Theorem id="thm-onb-expansion" title="正規直交基底による展開">
$V$ を $\mathbb{K}$ 上の内積空間、$e_1,\ldots,e_n$ を $V$ の正規直交基底とする。このとき次が成り立つ。

1. 任意の $x\in V$ に対し $\displaystyle x = \sum_{k=1}^{n}\langle x,e_k\rangle e_k$ である。すなわち基底 $(e_k)$ に関する $x$ の第 $k$ 座標は $\langle x,e_k\rangle$ で与えられる。
2. 任意の $x,y\in V$ に対し $\displaystyle \langle x,y\rangle = \sum_{k=1}^{n}\langle x,e_k\rangle\overline{\langle y,e_k\rangle}$ である。
3. 任意の $x\in V$ に対し $\displaystyle \|x\|^2 = \sum_{k=1}^{n}|\langle x,e_k\rangle|^2$（パーセバルの等式）。
</Theorem>

<Proof of="thm-onb-expansion">
(1) $e_1,\ldots,e_n$ は基底なので、$x = \sum_{j=1}^n c_je_j$ となる $c_j\in\mathbb{K}$ が（一意に）存在します。両辺と $e_k$ の内積をとると、(IP1) と正規直交性から
$$
\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 変数の共役線形性で二重和に展開します。
$$
\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 .
$$
$\langle e_j,e_k\rangle = \delta_{jk}$ なので $j=k$ の項だけが残り、主張の式を得ます。

(3) (2) で $y=x$ とすると $\langle x,e_k\rangle\overline{\langle x,e_k\rangle} = |\langle x,e_k\rangle|^2$ なので、$\|x\|^2 = \langle x,x\rangle = \sum_k |\langle x,e_k\rangle|^2$ です。
</Proof>

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

**数値で確かめます。** $\mathbb{R}^3$ の標準内積に関して
$$
e_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}}
$$
を考えます。$\|e_1\|^2 = (1+1+0)/2 = 1$、$\|e_2\|^2 = (1+1+4)/6=1$、$\|e_3\|^2=(1+1+1)/3=1$ であり、
$$
\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
$$
なので正規直交系です。<Ref to="prop-orthogonal-independent" /> より一次独立で、$\dim\mathbb{R}^3 = 3$ 本あるので $\mathbb{R}^3$ の正規直交基底になります。$x = (1,2,3)^{\mathsf{T}}$ の座標を <Ref to="thm-onb-expansion" /> で求めると
$$
\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}
$$
となり、連立方程式を一つも解かずに座標が求まりました。検算としてパーセバルの等式を確かめると
$$
\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. グラム・シュミットの直交化

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

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

<Figure caption="グラム・シュミットの 1 段階。$v_2$ から $e_1$ 方向の成分を引き抜くと、残り $u_2$ は $e_1$ に直交する">
<svg viewBox="0 0 480 300" width="100%" role="img" aria-label="v2 から e1 方向の射影を引いて直交成分 u2 を得る図">
  <line x1="70" y1="240" x2="430" y2="240" stroke="currentColor" stroke-width="1" stroke-dasharray="5 5" opacity="0.35" />
  <line x1="70" y1="240" x2="350" y2="240" stroke="currentColor" stroke-width="2" />
  <polygon points="356,240 342,234 342,246" fill="currentColor" />
  <text x="362" y="246" fill="currentColor" font-size="15">v₁</text>
  <line x1="70" y1="240" x2="150" y2="240" stroke="var(--sl-color-accent)" stroke-width="4" />
  <polygon points="158,240 144,233 144,247" fill="var(--sl-color-accent)" />
  <text x="100" y="228" fill="var(--sl-color-accent)" font-size="15">e₁</text>
  <line x1="70" y1="240" x2="270" y2="80" stroke="currentColor" stroke-width="2" />
  <polygon points="276,75 261,77 268,89" fill="currentColor" />
  <text x="240" y="66" fill="currentColor" font-size="15">v₂</text>
  <line x1="270" y1="240" x2="270" y2="90" stroke="var(--sl-color-accent)" stroke-width="3" />
  <polygon points="270,80 264,94 276,94" fill="var(--sl-color-accent)" />
  <text x="284" y="160" fill="var(--sl-color-accent)" font-size="15">u₂</text>
  <path d="M 250 240 L 250 220 L 270 220" fill="none" stroke="currentColor" stroke-width="1.5" opacity="0.8" />
  <line x1="70" y1="268" x2="270" y2="268" stroke="var(--sl-color-accent)" stroke-width="2" />
  <line x1="70" y1="262" x2="70" y2="274" stroke="var(--sl-color-accent)" stroke-width="2" />
  <line x1="270" y1="262" x2="270" y2="274" stroke="var(--sl-color-accent)" stroke-width="2" />
  <text x="118" y="290" fill="var(--sl-color-accent)" font-size="15">⟨v₂, e₁⟩ e₁</text>
  <text x="52" y="258" fill="currentColor" font-size="14">O</text>
</svg>
</Figure>

<Theorem id="thm-gram-schmidt" title="グラム・シュミットの直交化">
$V$ を $\mathbb{K}$ 上の内積空間とし、$v_1,\ldots,v_n\in V$ を一次独立なベクトルとする。次の漸化式
$$
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\|}
$$
は矛盾なく実行でき（すなわち各 $k$ で $u_k\ne 0$）、得られる $e_1,\ldots,e_n$ は次を満たす。

1. $e_1,\ldots,e_n$ は正規直交系である。
2. すべての $k=1,\ldots,n$ に対して $\operatorname{span}(e_1,\ldots,e_k) = \operatorname{span}(v_1,\ldots,v_k)$。
3. すべての $k$ に対して $\langle v_k,e_k\rangle = \|u_k\| > 0$。

さらに、条件 1・2・3 を満たす正規直交系 $e_1,\ldots,e_n$ はこれ以外に存在しない。
</Theorem>

<Proof of="thm-gram-schmidt">
$k$ についての数学的帰納法で、「$u_k\ne0$ であり、$e_1,\ldots,e_k$ が正規直交系で、条件 2・3 が $k$ まで成り立つ」ことを示します。

**$k=1$ のとき。** $v_1,\ldots,v_n$ は一次独立なので $v_1\ne 0$、よって $u_1=v_1\ne 0$ であり、(IP3) より $\|u_1\|>0$ で $e_1$ が定義できます。$\|e_1\| = \|v_1\|^{-1}\|v_1\| = 1$ です。$e_1 = \|v_1\|^{-1}v_1$ かつ $v_1 = \|v_1\|e_1$ なので、互いに他のスカラー倍であり $\operatorname{span}(e_1)=\operatorname{span}(v_1)$。また $\langle v_1,e_1\rangle = \langle \|u_1\|e_1, e_1\rangle = \|u_1\|\,\|e_1\|^2 = \|u_1\| > 0$。

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

*($u_k\ne 0$)* $u_k = v_k - \sum_{j<k}\langle v_k,e_j\rangle e_j$ の右辺の和は $W_{k-1}$ の元です。もし $u_k=0$ なら $v_k\in W_{k-1} = \operatorname{span}(v_1,\ldots,v_{k-1})$ となり、$v_k$ が $v_1,\ldots,v_{k-1}$ の一次結合で書けてしまうので、$v_1,\ldots,v_n$ の一次独立性に反します。よって $u_k\ne 0$ で、(IP3) から $\|u_k\|>0$、$e_k$ が定義できます。

*(1 正規直交性)* $i < k$ とすると、(IP1) と帰納法の仮定 $\langle e_j,e_i\rangle = \delta_{ji}$ より
$$
\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 .
$$
両辺を $\|u_k\|$ で割れば $\langle e_k,e_i\rangle = 0$。また $\|e_k\| = \|u_k\|^{-1}\|u_k\| = 1$ なので、$e_1,\ldots,e_k$ は正規直交系です。

*(2 張る空間)* $e_k$ は $v_k$ と $e_1,\ldots,e_{k-1}$ の一次結合であり、帰納法の仮定より $e_1,\ldots,e_{k-1}\in\operatorname{span}(v_1,\ldots,v_{k-1})$ なので、$e_k\in\operatorname{span}(v_1,\ldots,v_k)$。よって $\operatorname{span}(e_1,\ldots,e_k)\subseteq\operatorname{span}(v_1,\ldots,v_k)$。逆に、漸化式を $v_k$ について解くと
$$
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)
$$
であり、$v_1,\ldots,v_{k-1}\in W_{k-1}\subseteq\operatorname{span}(e_1,\ldots,e_k)$ なので逆向きの包含も成り立ちます。したがって両者は一致します。

*(3)* 上の $v_k$ の表示と $e_k$ との内積をとり、正規直交性を使うと $\langle v_k,e_k\rangle = \|u_k\|\cdot 1 + 0 = \|u_k\| > 0$。

**一意性。** $f_1,\ldots,f_n$ も条件 1・2・3 を満たすとし、$f_j=e_j$ $(j<k)$ を仮定して $f_k=e_k$ を示します（$k=1$ のときは仮定は空です）。条件 2 より $f_k\in\operatorname{span}(v_1,\ldots,v_k) = \operatorname{span}(e_1,\ldots,e_k)$ なので $f_k=\sum_{j\le k}c_je_j$ と書けます。$j<k$ に対し、条件 1（$f_k\perp f_j$）と帰納法の仮定 $f_j=e_j$ から
$$
0 = \langle f_k,f_j\rangle = \langle f_k,e_j\rangle = c_j
$$
（<Ref to="thm-onb-expansion" /> の (1) と同じ計算）。よって $f_k=c_ke_k$ で、$\|f_k\|=1$ より $|c_k|=1$。さらに条件 3 より
$$
0 < \langle v_k,f_k\rangle = \overline{c_k}\,\langle v_k,e_k\rangle = \overline{c_k}\,\|u_k\|
$$
であり、$\|u_k\|>0$ なので $\overline{c_k}$ は正の実数。$|c_k|=1$ とあわせて $c_k=1$、すなわち $f_k=e_k$ です。
</Proof>

<Corollary id="cor-onb-exists" title="正規直交基底の存在">
$V$ を $\mathbb{K}$ 上の $n$ 次元内積空間（$n\ge 1$）とすると、$V$ は正規直交基底を持つ。より一般に、$V$ の任意の正規直交系 $e_1,\ldots,e_m$（$m\le n$）は $V$ の正規直交基底 $e_1,\ldots,e_n$ に拡張できる。
</Corollary>

<Proof of="cor-onb-exists">
前半。$V$ の基底 $v_1,\ldots,v_n$ を一つ取り（有限次元なので存在する）、<Ref to="thm-gram-schmidt" /> を適用して $e_1,\ldots,e_n$ を得ます。これは正規直交系であり、条件 2 で $k=n$ とすれば $\operatorname{span}(e_1,\ldots,e_n) = \operatorname{span}(v_1,\ldots,v_n) = V$ なので、$V$ を張る $n$ 本のベクトルです。<Ref to="prop-orthogonal-independent" /> より一次独立でもあるので、基底です。

後半。$e_1,\ldots,e_m$ は <Ref to="prop-orthogonal-independent" /> より一次独立なので、基底の延長定理（<Ref to="mathematics/linear-algebra/vector-spaces#prop-finite-dim-facts" />）によりこれを含む $V$ の基底 $e_1,\ldots,e_m,w_{m+1},\ldots,w_n$ が取れます。この列にグラム・シュミットを適用すると、最初の $m$ 本については $u_k=e_k$ となって（$e_1,\ldots,e_m$ がすでに正規直交系なので、$j<k\le m$ に対し $\langle e_k,e_j\rangle = 0$ となり引くべき項がすべて $0$、かつ $\|e_k\|=1$）、$e_1,\ldots,e_m$ はそのまま残ります。残りから作られる $e_{m+1},\ldots,e_n$ を加えたものが求める正規直交基底です。
</Proof>

<Example id="ex-gram-schmidt-r3" title="$\mathbb{R}^3$ での具体的な直交化">
標準内積の $\mathbb{R}^3$ で $v_1=(1,1,0)^{\mathsf{T}}$、$v_2=(1,0,1)^{\mathsf{T}}$、$v_3=(0,1,1)^{\mathsf{T}}$ を直交化する。この 3 本は一次独立である（3 次の行列式が $\det = 1\cdot(0-1)-1\cdot(1-0)+0 = -2 \ne 0$ だから。[行列式とその性質](/mathematics/linear-algebra/determinants) の <Ref to="mathematics/linear-algebra/determinants#thm-regular" /> 参照）。

**第 1 段。** $u_1 = (1,1,0)^{\mathsf{T}}$、$\|u_1\| = \sqrt2$ なので $e_1 = \frac{1}{\sqrt2}(1,1,0)^{\mathsf{T}}$。

**第 2 段。** $\langle v_2,e_1\rangle = \dfrac{1\cdot1+0\cdot1+1\cdot0}{\sqrt2} = \dfrac{1}{\sqrt2}$ なので
$$
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}} .
$$
$\|u_2\|^2 = \tfrac14+\tfrac14+1 = \tfrac32$ より $\|u_2\| = \sqrt{3/2}$、したがって
$$
e_2 = \sqrt{\tfrac23}\Big(\tfrac12,-\tfrac12,1\Big)^{\mathsf{T}} = \frac{1}{\sqrt6}(1,-1,2)^{\mathsf{T}} .
$$

**第 3 段。** $\langle v_3,e_1\rangle = \dfrac{0+1+0}{\sqrt2} = \dfrac{1}{\sqrt2}$、$\langle v_3,e_2\rangle = \dfrac{0\cdot1+1\cdot(-1)+1\cdot2}{\sqrt6} = \dfrac{1}{\sqrt6}$ なので
$$
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-\tfrac12-\tfrac16 = -\tfrac23$、第 2 成分は $1-\tfrac12+\tfrac16=\tfrac23$、第 3 成分は $1-\tfrac13=\tfrac23$。）$\|u_3\|^2 = 3\cdot\tfrac49 = \tfrac43$ より $\|u_3\| = \tfrac{2}{\sqrt3}$、したがって
$$
e_3 = \frac{\sqrt3}{2}\Big(-\tfrac23,\tfrac23,\tfrac23\Big)^{\mathsf{T}} = \frac{1}{\sqrt3}(-1,1,1)^{\mathsf{T}} .
$$
これは §5 の末尾で正規直交基底であることを確かめた組と一致する。つまりあの 3 本は、標準的でない基底 $v_1,v_2,v_3$ を直交化して作られたものだった。

**$QR$ 分解として読む。** <Ref to="thm-gram-schmidt" /> の証明中に現れた $v_k = \|u_k\|e_k + \sum_{j<k}\langle v_k,e_j\rangle e_j$ を行列にまとめると、$A=(v_1\,v_2\,v_3)$、$Q=(e_1\,e_2\,e_3)$ として
$$
A = QR,\qquad
R = \begin{pmatrix}
\sqrt2 & 1/\sqrt2 & 1/\sqrt2 \\
0 & \sqrt{3/2} & 1/\sqrt6 \\
0 & 0 & 2/\sqrt3
\end{pmatrix}
$$
となる。$R$ は対角成分が正の上三角行列、$Q$ は $Q^{\mathsf{T}}Q=I$ を満たす直交行列である。<Ref to="thm-gram-schmidt" /> の一意性の主張は、この分解が一意であることに他ならない。
</Example>

<Example id="ex-legendre" title="多項式の直交化 — ルジャンドル多項式">
$V=C[-1,1]$ に <Ref to="ex-l2-inner-product" /> の内積 $\langle f,g\rangle = \int_{-1}^{1}f(x)g(x)dx$ を入れ、一次独立な $v_1=1$, $v_2=x$, $v_3=x^2$ を直交化する。奇関数の $[-1,1]$ 上の積分が $0$ になることを繰り返し使う。

**第 1 段。** $\|1\|^2 = \int_{-1}^1 dx = 2$ なので $e_1 = 1/\sqrt2$。

**第 2 段。** $\langle x,e_1\rangle = \frac{1}{\sqrt2}\int_{-1}^1 x\,dx = 0$（被積分関数が奇関数）。よって $u_2 = x$ で、$\|x\|^2 = \int_{-1}^1x^2dx = \frac23$ より $e_2 = \sqrt{\tfrac32}\,x$。

**第 3 段。** $\langle x^2,e_1\rangle = \frac{1}{\sqrt2}\int_{-1}^1x^2dx = \frac{1}{\sqrt2}\cdot\frac23 = \frac{\sqrt2}{3}$、$\langle x^2,e_2\rangle = \sqrt{\tfrac32}\int_{-1}^1x^3dx = 0$（奇関数）。よって
$$
u_3 = x^2 - \frac{\sqrt2}{3}\cdot\frac{1}{\sqrt2} = x^2-\frac13 .
$$
ノルムを計算する。
$$
\|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}.
$$
$\|u_3\| = \sqrt{8/45} = \frac{2\sqrt{10}}{15}$ なので
$$
e_3 = \sqrt{\frac{45}{8}}\Big(x^2-\frac13\Big) = \sqrt{\frac52}\cdot\frac{3x^2-1}{2}.
$$
現れた $1$, $x$, $\frac{3x^2-1}{2}$ はルジャンドル多項式 $P_0,P_1,P_2$ そのもの（$P_n(1)=1$ という正規化を採用したもの）であり、$e_{n+1} = \sqrt{\frac{2n+1}{2}}P_n$ という関係になっている。ルジャンドル多項式は微分方程式の解として導入されることが多いが、実体は「$1,x,x^2,\ldots$ を $L^2$ 内積で直交化しただけ」である。重み関数付きの内積 $\int w(x)f g\,dx$ に同じ手続きを適用すると、$w(x)=e^{-x^2}$ ならエルミート多項式、$w(x)=e^{-x}$（区間 $[0,\infty)$）ならラゲール多項式が同様に現れる。
</Example>

<Aside type="tip">
グラム・シュミットは有限次元性をどこにも使っていません。使ったのは内積の公理と、$v_1,\ldots,v_n$ の一次独立性だけです。だからこそ <Ref to="ex-legendre" /> のように無限次元の関数空間でも動きます。ただし、無限個のベクトルを直交化して「基底」と呼べるかどうかは収束の議論が必要で、そこからヒルベルト空間論が始まります。
</Aside>

## 7. 直交補空間と直交射影

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

<Theorem id="thm-orthogonal-decomposition" title="直交分解定理">
$V$ を $\mathbb{K}$ 上の内積空間、$W\subseteq V$ を**有限次元**の部分空間とする。このとき次が成り立つ。

1. $V = W \oplus W^{\perp}$。すなわち任意の $x\in V$ は $x = w+w'$（$w\in W$、$w'\in W^{\perp}$）の形にただ一通りに書ける。
2. $W$ の正規直交基底を $e_1,\ldots,e_m$ とすると、上の $w$ は $w = \sum_{k=1}^{m}\langle x,e_k\rangle e_k$ で与えられる。この $w$ を $P_Wx$ と書き、$x$ の $W$ への**直交射影**という。写像 $P_W:V\to V$ は線形で、$P_W^2=P_W$、$\operatorname{im}P_W = W$、$\ker P_W = W^{\perp}$ を満たす。
3. $(W^{\perp})^{\perp} = W$。
4. さらに $V$ が有限次元ならば $\dim W^{\perp} = \dim V - \dim W$。
</Theorem>

<Proof of="thm-orthogonal-decomposition">
$W=\{0\}$ のときは $W^{\perp}=V$ で主張はすべて明らかなので（$P_W=0$ と読む）、$m=\dim W\ge 1$ とします。$W$ は有限次元の内積空間（$V$ の内積を制限したもの）なので、<Ref to="cor-onb-exists" /> より正規直交基底 $e_1,\ldots,e_m$ が取れます。

**(存在)** $x\in V$ に対し $w:=\sum_{k=1}^m\langle x,e_k\rangle e_k \in W$、$w':=x-w$ とおきます。各 $i\in\{1,\ldots,m\}$ について、(IP1) と正規直交性から
$$
\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 .
$$
$W$ の任意の元 $u$ は $u=\sum_i a_ie_i$ と書けるので、第 2 変数の共役線形性より $\langle w',u\rangle = \sum_i\overline{a_i}\langle w',e_i\rangle = 0$。よって $w'\in W^{\perp}$ であり、$x = w+w'$ という分解ができました。

**(一意性)** $x = w_1+w_1' = w_2+w_2'$（$w_i\in W$、$w_i'\in W^{\perp}$）とすると $z:=w_1-w_2 = w_2'-w_1'$ は $W$ と $W^{\perp}$ の両方に属します。$z\in W$ かつ $z\in W^{\perp}$ から $\langle z,z\rangle=0$、(IP3) より $z=0$。よって $w_1=w_2$、$w_1'=w_2'$ です。これで (1) と、(2) の表示式が示せました。

**($P_W$ の性質)** 写像 $x\mapsto\langle x,e_k\rangle$ は (IP1) より線形なので、$P_Wx=\sum_k\langle x,e_k\rangle e_k$ も $x$ について線形です。定義より $\operatorname{im}P_W\subseteq W$。逆に $w\in W$ なら、$e_1,\ldots,e_m$ は $W$ の正規直交基底なので <Ref to="thm-onb-expansion" /> (1) を $W$ に適用して $P_Ww = w$、よって $\operatorname{im}P_W=W$ かつ $P_W^2=P_W$ です。核については、$P_Wx=0$ なら $x = x-P_Wx \in W^{\perp}$、逆に $x\in W^{\perp}$ なら $\langle x,e_k\rangle=0$ が全ての $k$ で成り立つので $P_Wx=0$。ゆえに $\ker P_W = W^{\perp}$。

**(3)** まず $W\subseteq(W^{\perp})^{\perp}$。実際 $w\in W$ と $z\in W^{\perp}$ に対し、(IP2) より $\langle w,z\rangle = \overline{\langle z,w\rangle} = \bar{0} = 0$ だからです。逆を示します。$x\in(W^{\perp})^{\perp}$ を取り、(1) により $x=w+w'$（$w\in W$、$w'\in W^{\perp}$）と分解します。$x\in(W^{\perp})^{\perp}$ と $w'\in W^{\perp}$ より $\langle x,w'\rangle=0$、また $w\in W$、$w'\in W^{\perp}$ より $\langle w,w'\rangle=0$。したがって
$$
\langle w',w'\rangle = \langle x-w,\ w'\rangle = \langle x,w'\rangle-\langle w,w'\rangle = 0
$$
となり、(IP3) から $w'=0$、すなわち $x=w\in W$。

**(4)** $V$ が有限次元なら、直和分解 $V=W\oplus W^{\perp}$ の次元を数えて $\dim V = \dim W+\dim W^{\perp}$ を得ます。
</Proof>

<Theorem id="thm-best-approximation" title="最良近似">
$V$ を内積空間、$W\subseteq V$ を有限次元部分空間、$x\in V$ とする。任意の $w\in W$ に対して
$$
\|x-P_Wx\| \le \|x-w\|
$$
が成り立ち、等号が成立するのは $w=P_Wx$ のとき、かつそのときに限る。すなわち $P_Wx$ は $W$ の中で $x$ に最も近い点であり、そのような点は一意である。
</Theorem>

<Proof of="thm-best-approximation">
$w\in W$ を任意に取り、$x-w$ を次のように分けます。
$$
x-w = \underbrace{(x-P_Wx)}_{\in\, W^{\perp}} + \underbrace{(P_Wx-w)}_{\in\, W} .
$$
第 1 項が $W^{\perp}$ に属するのは <Ref to="thm-orthogonal-decomposition" /> の (1) による分解そのもので、第 2 項は $W$ が部分空間で $P_Wx,w\in W$ だからです。したがってこの 2 項は直交し、<Ref to="rem-pythagoras" /> のピタゴラスの定理より
$$
\|x-w\|^2 = \|x-P_Wx\|^2 + \|P_Wx-w\|^2 \ \ge\ \|x-P_Wx\|^2 .
$$
両辺の平方根をとって不等式を得ます。等号が成り立つのは $\|P_Wx-w\|^2=0$、すなわち (IP3) より $w=P_Wx$ のときに限ります。
</Proof>

<Remark id="rem-bessel" title="ベッセルの不等式">
<Ref to="thm-best-approximation" /> の証明の途中式で $w=0$ とおくと $\|x\|^2 = \|x-P_Wx\|^2+\|P_Wx\|^2 \ge \|P_Wx\|^2$ です。$W$ の正規直交基底を $e_1,\ldots,e_m$ とし、$\|P_Wx\|^2 = \sum_k|\langle x,e_k\rangle|^2$（<Ref to="thm-onb-expansion" /> の (3) を $W$ に適用）を代入すると
$$
\sum_{k=1}^{m}|\langle x,e_k\rangle|^2 \le \|x\|^2
$$
が得られます。これがベッセルの不等式です。$W=V$ のときは等号（パーセバルの等式）になり、そうでなければ差 $\|x-P_Wx\|^2$ だけ足りない、という形で「取りこぼした情報量」を測っています。
</Remark>

<Remark id="rem-infinite-dim">
<Ref to="thm-orthogonal-decomposition" /> で「$W$ は有限次元」という仮定は落とせません。$V=C[0,1]$ に $L^2$ 内積を入れ、$W=\{f\in V\mid f(0)=0\}$ とします。$W$ は部分空間で $W\ne V$（定数関数 $1$ は $W$ に入りません）。ところが $W^{\perp}=\{0\}$ です。実際 $g\in W^{\perp}$ とすると、$f(x):=xg(x)$ は連続で $f(0)=0$ すなわち $f\in W$ なので
$$
0 = \langle f,g\rangle = \int_0^1 x\,g(x)^2dx
$$
となります。被積分関数は $[0,1]$ 上で連続かつ非負なので、<Ref to="ex-l2-inner-product" /> と同じ議論により $xg(x)^2\equiv 0$、よって $(0,1]$ 上で $g=0$、$g$ の連続性から $g(0)=0$ も従い $g\equiv 0$ です。したがって $W\oplus W^{\perp}=W\ne V$ となり、分解は成り立ちません。無限次元では、$W$ が**閉**であることと空間の**完備性**（ヒルベルト空間であること）が必要になります。
</Remark>

<Example id="ex-least-squares" title="最小二乗法 — 直線あてはめ">
データ $(x_i,y_i) = (1,1),(2,3),(3,4),(4,6)$ に直線 $y=a+bx$ をあてはめる。誤差の二乗和 $\sum_{i=1}^4(y_i-a-bx_i)^2$ を最小にする $(a,b)$ を求めたい。これは $\mathbb{R}^4$ の標準内積で、
$$
\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=\operatorname{span}(\boldsymbol{1},\boldsymbol{x})$ に対して $\|\boldsymbol{y}-\boldsymbol{w}\|^2$ を $\boldsymbol{w}\in W$ の範囲で最小化する問題そのもの（$\boldsymbol{w}=a\boldsymbol{1}+b\boldsymbol{x}$）である。<Ref to="thm-best-approximation" /> より、答えは $\boldsymbol{w}=P_W\boldsymbol{y}$ である。

まず $W$ の正規直交基底をグラム・シュミットで作る。$\|\boldsymbol{1}\|=2$ より $e_1=\tfrac12(1,1,1,1)^{\mathsf{T}}$。次に $\langle \boldsymbol{x},e_1\rangle = \tfrac{1+2+3+4}{2}=5$ なので
$$
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}} ,
$$
$\|u_2\|^2 = 2.25+0.25+0.25+2.25=5$ より $e_2 = \tfrac{1}{\sqrt5}(-1.5,-0.5,0.5,1.5)^{\mathsf{T}}$。

次に $\boldsymbol{y}$ の係数を求める。
$$
\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} .
$$
よって
$$
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}} .
$$
これを $a\boldsymbol{1}+b\boldsymbol{x}$ の形に読み直す。$e_2$ の係数から $b$ の寄与を見ると $\tfrac85 u_2 = \tfrac85(\boldsymbol{x}-2.5\cdot\boldsymbol{1})$ なので $b = 1.6$、そして第 1 成分から $1.1 = a+1.6\cdot 1$、すなわち $a=-0.5$ である。検算すると $x=4$ で $-0.5+1.6\cdot4 = 5.9$ となり一致する。

残差 $\boldsymbol{r} = \boldsymbol{y}-P_W\boldsymbol{y} = (-0.1,\,0.3,\,-0.3,\,0.1)^{\mathsf{T}}$ は $W$ に直交していなければならない。実際
$$
\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
$$
であり、<Ref to="thm-orthogonal-decomposition" /> の主張どおりである。最小の残差二乗和は $\|\boldsymbol{r}\|^2 = 0.01+0.09+0.09+0.01=0.2$。

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

<Remark id="rem-pca">
$\boldsymbol{r}\perp W$ という条件を $\boldsymbol{w}=A\boldsymbol{c}$（$A$ の列が $W$ を張る）と書き直すと $A^{\mathsf{T}}(\boldsymbol{y}-A\boldsymbol{c})=\boldsymbol{0}$、すなわち正規方程式 $A^{\mathsf{T}}A\boldsymbol{c}=A^{\mathsf{T}}\boldsymbol{y}$ が得られます。$A=QR$ と分解しておけば $R\boldsymbol{c}=Q^{\mathsf{T}}\boldsymbol{y}$ という上三角の連立方程式に帰着し、後退代入だけで解けます。これが数値計算で $QR$ 分解が使われる主な理由の一つです。

主成分分析（PCA）も同じ枠組みです。中心化したデータ点 $\boldsymbol{x}_1,\ldots,\boldsymbol{x}_N\in\mathbb{R}^p$ に対して、$\sum_i\|\boldsymbol{x}_i-P_W\boldsymbol{x}_i\|^2$ を最小にする $d$ 次元部分空間 $W$ を探す、という問題が PCA です。<Ref to="thm-best-approximation" /> は「$W$ を固定したときの最良近似」を与え、残る「$W$ 自体の最適化」を解くのが共分散行列の固有値問題であり、その最大化の中身は <Ref to="mathematics/linear-algebra/spectral-theorem#thm-rayleigh" text="レイリー商の評価" /> です。そこでは実対称行列が直交する固有ベクトルの基底を持つこと（[スペクトル定理](/mathematics/linear-algebra/spectral-theorem)）が本質的に効きます。[固有値と固有ベクトル](/mathematics/linear-algebra/eigenvalues) で導入した固有値が、この章の直交性と結び付く場所です。
</Remark>

## 8. 演習

<Exercise id="exr-weighted-gs" difficulty="標準">
$\mathbb{R}^2$ 上で $\langle \boldsymbol{x},\boldsymbol{y}\rangle := 2x_1y_1 + x_1y_2 + x_2y_1 + x_2y_2$ と定める。

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

<Solution>
**1.** $A=\begin{pmatrix}2&1\\1&1\end{pmatrix}$ とおくと $\langle\boldsymbol{x},\boldsymbol{y}\rangle = \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{y}$ です。$A$ は実対称なので、<Ref to="ex-weighted-inner-product" /> と同じ議論で (IP1)(IP2) が成り立ちます。(IP3) は平方完成により
$$
\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
$$
で、等号は $x_1=0$ かつ $x_1+x_2=0$、すなわち $\boldsymbol{x}=\boldsymbol{0}$ のときに限ります。

**2.** $\langle v_1,v_1\rangle = 2$ なので $f_1 = \tfrac{1}{\sqrt2}(1,0)^{\mathsf{T}}$。次に $\langle v_2,v_1\rangle = 2\cdot0\cdot1+0\cdot0+1\cdot1+1\cdot0 = 1$ なので $\langle v_2,f_1\rangle = 1/\sqrt2$ であり、
$$
u_2 = (0,1)^{\mathsf{T}} - \frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}(1,0)^{\mathsf{T}} = \Big(-\tfrac12,\ 1\Big)^{\mathsf{T}} .
$$
このノルムは、この内積で測らねばなりません。
$$
\langle u_2,u_2\rangle = 2\cdot\tfrac14 + 2\cdot\Big(-\tfrac12\Big)\cdot 1 + 1 = \tfrac12-1+1 = \tfrac12 .
$$
よって $\|u_2\| = 1/\sqrt2$ で、$f_2 = \sqrt2\,(-\tfrac12,1)^{\mathsf{T}} = (-\tfrac{1}{\sqrt2},\ \sqrt2)^{\mathsf{T}}$。

検算します。$\langle f_2,f_2\rangle = 2\cdot\tfrac12 + 2\cdot(-\tfrac{1}{\sqrt2})\cdot\sqrt2 + 2 = 1-2+2 = 1$、また
$$
\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
$$
となり、確かに正規直交基底です。標準内積では直交していた $v_1,v_2$ が、内積を変えると直交しなくなる（そして $f_2$ は「斜め」になる）ことに注意してください。直交性は内積に依存する概念です。
</Solution>
</Exercise>

<Exercise id="exr-cauchy-schwarz-application" difficulty="標準">
$a_1,\ldots,a_n$ をすべて正の実数とする。コーシー・シュワルツの不等式を用いて
$$
\Big(\sum_{k=1}^{n}a_k\Big)\Big(\sum_{k=1}^{n}\frac{1}{a_k}\Big) \ \ge\ n^2
$$
を示し、等号が成り立つ条件を求めよ。

<Solution>
$\mathbb{R}^n$ の標準内積を考え、$a_k > 0$ を使って
$$
\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}}
$$
とおきます（$a_k>0$ なので平方根も逆数も定義できます）。すると
$$
\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} .
$$
<Ref to="thm-cauchy-schwarz" /> を二乗の形で使うと $n^2 = |\langle\boldsymbol{u},\boldsymbol{v}\rangle|^2 \le \|\boldsymbol{u}\|^2\|\boldsymbol{v}\|^2 = (\sum a_k)(\sum 1/a_k)$ となり、求める不等式を得ます。

等号条件は <Ref to="thm-cauchy-schwarz" /> より $\boldsymbol{u}$ と $\boldsymbol{v}$ が一次従属であること。$\boldsymbol{u}\ne\boldsymbol{0}$ なので $\boldsymbol{v}=\lambda\boldsymbol{u}$ と書け、成分で $1/\sqrt{a_k} = \lambda\sqrt{a_k}$、すなわち $a_k = 1/\lambda$ がすべての $k$ で成り立つこと、つまり $a_1=\cdots=a_n$ です。逆に全部等しく $a$ なら左辺は $na\cdot n/a = n^2$ となり等号が成立します。
</Solution>
</Exercise>

<Exercise id="exr-orthogonal-complement" difficulty="標準">
$\mathbb{R}^4$ に標準内積を入れ、
$$
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^{\perp}$ の正規直交基底を求め、$\boldsymbol{x}=(1,2,3,4)^{\mathsf{T}}$ の $W$ への直交射影 $P_W\boldsymbol{x}$ を計算せよ。

<Solution>
$\boldsymbol{a}=(1,1,1,1)^{\mathsf{T}}$、$\boldsymbol{b}=(1,-1,1,-1)^{\mathsf{T}}$ とおくと、$W$ の定義は $\langle\boldsymbol{x},\boldsymbol{a}\rangle=0$ かつ $\langle\boldsymbol{x},\boldsymbol{b}\rangle=0$、すなわち $W = \{\boldsymbol{a},\boldsymbol{b}\}^{\perp} = U^{\perp}$（$U:=\operatorname{span}(\boldsymbol{a},\boldsymbol{b})$）と書けます。$\boldsymbol{a},\boldsymbol{b}$ は一次独立なので $\dim U=2$、$U$ は有限次元なので <Ref to="thm-orthogonal-decomposition" /> の (3) が使えて
$$
W^{\perp} = (U^{\perp})^{\perp} = U = \operatorname{span}(\boldsymbol{a},\boldsymbol{b}) .
$$
ここで $\langle\boldsymbol{a},\boldsymbol{b}\rangle = 1-1+1-1 = 0$ なので $\boldsymbol{a}\perp\boldsymbol{b}$ であり、グラム・シュミットは正規化するだけで済みます。$\|\boldsymbol{a}\|=\|\boldsymbol{b}\|=2$ より
$$
g_1 = \tfrac12(1,1,1,1)^{\mathsf{T}},\qquad g_2=\tfrac12(1,-1,1,-1)^{\mathsf{T}}
$$
が $W^{\perp}$ の正規直交基底です。

$\boldsymbol{x}=(1,2,3,4)^{\mathsf{T}}$ について $\langle\boldsymbol{x},g_1\rangle = \tfrac{1+2+3+4}{2}=5$、$\langle\boldsymbol{x},g_2\rangle = \tfrac{1-2+3-4}{2}=-1$ なので
$$
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}} .
$$
<Ref to="thm-orthogonal-decomposition" /> の (1) より $\boldsymbol{x} = P_W\boldsymbol{x}+P_{W^{\perp}}\boldsymbol{x}$ なので
$$
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$ なので確かに $P_W\boldsymbol{x}\in W$ です。
</Solution>
</Exercise>

<Exercise id="exr-legendre-cubic" difficulty="難">
<Ref to="ex-legendre" /> の続きとして、$C[-1,1]$ の $L^2$ 内積で $v_4=x^3$ を $e_1,e_2,e_3$ に直交化し、正規化した $e_4$ を求めよ。

<Solution>
$e_4$ は $u_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$ を正規化したものです。$e_1$ と $e_3$ は偶関数、$x^3$ は奇関数なので $x^3e_1$、$x^3e_3$ はともに奇関数であり、$[-1,1]$ 上の積分は $0$ です。したがって $\langle x^3,e_1\rangle = \langle x^3,e_3\rangle = 0$。残るのは
$$
\langle x^3,e_2\rangle = \sqrt{\tfrac32}\int_{-1}^{1}x^4dx = \sqrt{\tfrac32}\cdot\frac25 .
$$
よって
$$
u_4 = x^3 - \sqrt{\tfrac32}\cdot\frac25\cdot\sqrt{\tfrac32}\,x = x^3-\frac32\cdot\frac25 x = x^3-\frac35x .
$$
ノルムを計算します。
$$
\|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}.
$$
したがって $\|u_4\| = \sqrt{8/175} = \dfrac{2\sqrt{14}}{35}$ であり、
$$
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} .
$$
これは $\sqrt{\tfrac{2\cdot3+1}{2}}P_3(x)$、すなわち規格化された 3 次のルジャンドル多項式です。<Ref to="ex-legendre" /> と同じパターン $e_{n+1}=\sqrt{\frac{2n+1}{2}}P_n$ が続いていることが確認できます。

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

## 参考文献

- 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（$QR$ 分解とグラム・シュミット直交化）。古典版と修正版の違いを数値例で扱う。
- Åke Björck, "Solving linear least squares problems by Gram-Schmidt orthogonalization", *BIT Numerical Mathematics* 7 (1967), 1–21. [DOI: 10.1007/BF01934122](https://doi.org/10.1007/BF01934122) — 修正グラム・シュミットの誤差解析の原典。

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

**古典版の弱点。** <Ref to="thm-gram-schmidt" /> の漸化式は、$k$ 番目の係数をすべて**元の** $v_k$ から計算します（古典的グラム・シュミット、CGS）。これは数学的には正しいのですが、浮動小数点演算では、$v_k$ が既に作った $e_1,\ldots,e_{k-1}$ の張る空間にほぼ含まれるとき、引き算で激しい桁落ちが起こり、得られる $e_k$ の直交性が壊れます。

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

```python
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}")
```

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

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


</div>
