グラムシュミットの直交化法を例題で完全攻略!3次元から多項式まで

目次
グラムシュミットの直交化法を例題で完全攻略!3次元から多項式まで
グラムシュミットの直交化法を例題で完全攻略!3次元から多項式まで
@ creator • Click to Play Video Inline
🎵 グラムシュミットの直交化法を例題で完全攻略!3次元から多項式まで

大学の理工系学部や高専の線形代数において、定期試験や大学院入試の頻出テーマでありながら、多くの学習者が計算の泥沼にはまりがちな関門がグラム・シュミットの直交化法です。基底から互いに直角に交わる「正規直交基底」を作り出すこのアルゴリズムは、理論自体はシンプルでありながら、いざ手を動かすと分数の計算ミスや符号の取り違えが多発します。

機械学習のアルゴリズム実装や物理シミュレーション、さらにはQR分解といった高度な数値計算の土台となる直交化の技術は、手順の本質さえ掴めば確実に得点源へと変えられます。本稿では、なぜ計算で迷いが生じるのかという根本的な原因を解き明かし、3次元ベクトルや関数空間(多項式)の具体的かつ丁寧な例題を通じて、ミスを劇的に減らす実践テクニックを詳しく解説します。

📌 【この記事の重要ポイントまとめ】
  • 要点1:直交化の本質は「元のベクトルから、すでに直交化したベクトルへの射影成分を引き算する」幾何学的操作にある
  • 要点2:計算ミスを防ぐ最大の秘訣は「直交基底をすべて求めてから最後に一括で正規化する」手順の徹底と各段の即時内積検算
  • 要点3:幾何ベクトルだけでなく多項式の関数空間や行列のQR分解にも直結し、試験対策から実務のデータ解析まで幅広く役立つ

【基礎から確認】グラムシュミットの直交化法とは?公式と直感的な仕組み

グラム・シュミットの直交化法(Gram-Schmidt orthonormalization process)とは、与えられた線型独立なベクトルの組から、それらが張る空間と同じ空間を張る「互いに直交し、長さが1であるベクトルの組(正規直交基底)」を機械的に構成するアルゴリズムです。線形代数の直交化において最も基本となる手法として位置づけられています。

直感的な幾何学的イメージを持つと、数式の意味が一気にクリアになります。1つ目のベクトルは向きをそのまま採用します。2つ目のベクトルは、1つ目のベクトルが作る直線へ光を当てたときにできる「影(正射影ベクトル)」を元のベクトルから差し引きます。すると、1つ目のベクトルと直角に交わる成分だけが手元に残る仕組みです。3つ目以降も同様に、すでに求めた直交ベクトルたちが作る平面や部分空間への影を順番に引き算していきます。

線型独立なベクトル $v_1, v_2, \dots, v_n$ から直交ベクトル $u_1, u_2, \dots, u_n$ を順次生成する公式は以下の通りです。

第1ステップ:
$u_1 = v_1$

第2ステップ:
$u_2 = v_2 - \frac{\langle v_2, u_1 \rangle}{\|u_1\|^2} u_1$

第3ステップ:
$u_3 = v_3 - \frac{\langle v_3, u_1 \rangle}{\|u_1\|^2} u_1 - \frac{\langle v_3, u_2 \rangle}{\|u_2\|^2} u_2$

一般の第 $k$ ステップでは、それまでに求めたすべての $u_1, \dots, u_{k-1}$ に対する射影成分を引き算します。
$u_k = v_k - \sum_{i=1}^{k-1} \frac{\langle v_k, u_i \rangle}{\|u_i\|^2} u_i$

ここで $\langle v, u \rangle$ はベクトルの内積計算を表し、$\|u\|^2 = \langle u, u \rangle$ はベクトルのノルムの2乗です。こうして得られた直交ベクトル $u_1, u_2, \dots, u_n$ をそれぞれの長さで割る「正規化手順」を経ることで、目的の正規直交基底 $e_1, e_2, \dots, e_n$ が完成します。

【なぜ計算で迷うのか】学生がつまずく3大原因とミスを防ぐ決定的なコツ

線形代数の試験採点において、グラム・シュミットの直交化法は「解き方は知っているのに途中で計算が破綻して部分点にとどまる」ケースが非常に目立ちます。迷いやミスの大半は、以下の明確な3つの原因に集約されます。

第一の原因は、射影公式における分母と分子の内積の取り違えです。公式の係数 $\frac{\langle v_k, u_i \rangle}{\|u_i\|^2}$ において、分母に来るべき値は「すでに求めた直交ベクトル $u_i$ のノルム2乗」であるにもかかわらず、誤って与えられたベクトル $v_k$ のノルムを使ってしまうミスが後を絶ちません。分母は常に「基準となる影を落とされる側の大きさ」であると強く意識してください。

第二の原因は、各ステップごとに正規化を行ってしまい、ルートを含む複雑な分数計算に巻き込まれることです。教科書によっては一手ごとに長さ1の単位ベクトルを作っていく解説もありますが、手計算でそれをやると根号($\sqrt{\quad}$)が乱舞し、通分や内積計算で致命的なミスを誘発します。鉄則は「最後まで直交化($u_k$ の導出)のみを進め、一番最後に全員まとめて正規化する」ことです。

第三の原因は、計算途中での検算を怠ることです。グラム・シュミットの優れた点は、途中の段階で正誤を瞬時にセルフチェックできる点にあります。例えば $u_2$ が出た瞬間に、頭の中で $u_1$ との内積 $\langle u_1, u_2 \rangle$ を計算してください。これが 0 にならなければ、その時点でどこかの計算が狂っています。この数秒の確認を挟むだけで、傷口を広げずに済みます。

【3次元ベクトルの徹底演習】具体的な例題で正規直交基底を求める全手順

それでは、実際の定期試験で頻出する3次元実数空間 $\mathbb{R}^3$ の例題を使って、具体的な計算の流れをステップ・バイ・ステップで追っていきましょう。

【例題】
次の3つの線型独立なベクトルから、グラム・シュミットの直交化法を用いて正規直交基底 $\{e_1, e_2, e_3\}$ を求めよ。
$v_1 = \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix},\quad v_2 = \begin{pmatrix} 1 \\ 0 \\ 2 \end{pmatrix},\quad v_3 = \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}$

■ ステップ1:第1直交ベクトルの決定
1つ目は元のベクトルをそのまま採用します。
$u_1 = v_1 = \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}$
後の計算のためにノルムの2乗を計算しておきます。
$\|u_1\|^2 = 1^2 + 1^2 + 0^2 = 2$

■ ステップ2:第2直交ベクトルの計算
$v_2$ と $u_1$ の内積を求めます。
$\langle v_2, u_1 \rangle = 1\cdot 1 + 0\cdot 1 + 2\cdot 0 = 1$
直交化公式を適用します。
$u_2 = v_2 - \frac{\langle v_2, u_1 \rangle}{\|u_1\|^2} u_1 = \begin{pmatrix} 1 \\ 0 \\ 2 \end{pmatrix} - \frac{1}{2}\begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 1/2 \\ -1/2 \\ 2 \end{pmatrix}$
【即時検算】 $\langle u_1, u_2 \rangle = 1\cdot(1/2) + 1\cdot(-1/2) + 0\cdot 2 = 0$ となり、正しく直交していることが確認できます。
ノルムの2乗を求めます。
$\|u_2\|^2 = (1/2)^2 + (-1/2)^2 + 2^2 = \frac{1}{4} + \frac{1}{4} + 4 = \frac{9}{2}$

■ ステップ3:第3直交ベクトルの計算
$v_3$ と $u_1$、および $v_3$ と $u_2$ の内積をそれぞれ求めます。
$\langle v_3, u_1 \rangle = 0\cdot 1 + 1\cdot 1 + 1\cdot 0 = 1$
$\langle v_3, u_2 \rangle = 0\cdot(1/2) + 1\cdot(-1/2) + 1\cdot 2 = \frac{3}{2}$
公式に代入して計算を進めます。
$u_3 = v_3 - \frac{\langle v_3, u_1 \rangle}{\|u_1\|^2} u_1 - \frac{\langle v_3, u_2 \rangle}{\|u_2\|^2} u_2$
$u_3 = \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix} - \frac{1}{2}\begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix} - \frac{3/2}{9/2}\begin{pmatrix} 1/2 \\ -1/2 \\ 2 \end{pmatrix}$
最後の項の係数は $\frac{3/2}{9/2} = \frac{1}{3}$ となります。
各成分を計算すると:
$x$成分:$0 - \frac{1}{2} - \frac{1}{6} = -\frac{2}{3}$
$y$成分:$1 - \frac{1}{2} + \frac{1}{6} = \frac{2}{3}$
$z$成分:$1 - 0 - \frac{2}{3} = \frac{1}{3}$
よって、$u_3 = \begin{pmatrix} -2/3 \\ 2/3 \\ 1/3 \end{pmatrix}$ と求まりました。
【即時検算】
$\langle u_1, u_3 \rangle = 1(-2/3) + 1(2/3) + 0(1/3) = 0$
$\langle u_2, u_3 \rangle = (1/2)(-2/3) + (-1/2)(2/3) + 2(1/3) = -1/3 - 1/3 + 2/3 = 0$
いずれも完璧に内積が 0 になっています。

■ ステップ4:最後にまとめて正規化
それぞれのベクトルの長さを 1 にします。
$\|u_1\| = \sqrt{2}$ より、$e_1 = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}$
$\|u_2\| = \sqrt{9/2} = \frac{3}{\sqrt{2}}$ より、$e_2 = \frac{\sqrt{2}}{3}\begin{pmatrix} 1/2 \\ -1/2 \\ 2 \end{pmatrix} = \frac{1}{\sqrt{18}}\begin{pmatrix} 1 \\ -1 \\ 4 \end{pmatrix}$
$\|u_3\| = \sqrt{(-2/3)^2 + (2/3)^2 + (1/3)^2} = \sqrt{\frac{4+4+1}{9}} = 1$ より、$e_3 = \begin{pmatrix} -2/3 \\ 2/3 \\ 1/3 \end{pmatrix}$
以上により、求める正規直交基底 $\{e_1, e_2, e_3\}$ が完成しました。

【応用発展】関数空間・多項式の直交化例題とルジャンドル多項式

グラム・シュミットの直交化法は、矢印で描けるような幾何ベクトルだけの道具ではありません。連続関数をベクトルと見なす「関数空間」においても、全く同じロジックが成立します。特に試験や物理数学で頻出するのが、多項式空間の直交化です。

区間 $[-1, 1]$ 上の関数 $f(x), g(x)$ に対して、内積を定積分 $\langle f, g \rangle = \int_{-1}^{1} f(x)g(x)\,dx$ と定義します。このとき、最も自然な基底である $\{1, x, x^2\}$ を直交化してみましょう。

第1ステップ:
$P_0(x) = 1$
ノルムの2乗は $\|P_0\|^2 = \int_{-1}^1 1^2\,dx = 2$ です。

第2ステップ:
$x$ と $P_0$ の内積を計算します。
$\langle x, P_0 \rangle = \int_{-1}^1 x\cdot 1\,dx = 0$(奇関数の対称区間積分なので 0)
したがって、射影成分は消滅し、直交化多項式はそのままとなります。
$P_1(x) = x - 0 = x$
このノルム2乗は $\|P_1\|^2 = \int_{-1}^1 x^2\,dx = \left[\frac{x^3}{3}\right]_{-1}^1 = \frac{2}{3}$ です。

第3ステップ:
$x^2$ から $P_0, P_1$ への射影を引き算します。
$\langle x^2, P_0 \rangle = \int_{-1}^1 x^2\cdot 1\,dx = \frac{2}{3}$
$\langle x^2, P_1 \rangle = \int_{-1}^1 x^2\cdot x\,dx = \int_{-1}^1 x^3\,dx = 0$(奇関数)
これらを公式に代入すると:
$P_2(x) = x^2 - \frac{\langle x^2, P_0 \rangle}{\|P_0\|^2} P_0(x) - \frac{\langle x^2, P_1 \rangle}{\|P_1\|^2} P_1(x) = x^2 - \frac{2/3}{2}\cdot 1 - 0 = x^2 - \frac{1}{3}$

こうして導き出された直交多項式系 $\{1, x, x^2 - 1/3\}$ は、物理学や微分方程式の解法で極めて重要な役割を果たすルジャンドル多項式の原型そのものです。抽象的に見える関数空間の内積も、グラム・シュミットの手順に当てはめれば機械的に解き明かせます。

【線形代数の全体像】QR分解への応用と直交化の数学的証明のエッセンス

グラム・シュミットの直交化法は、行列の標準分解の一つであるQR分解の実装アルゴリズムとして極めて重要です。正則行列 $A$ の列ベクトル群を直交化して並べた行列を $Q$(直交行列)、直交化の際に出てきた内積やノルムの係数を並べた行列を $R$(上三角行列)と置くことで、$A = QR$ という分解が成立します。この直交行列変換は、連立一次方程式の高速解法や固有値計算(QR法)において計算の安定性を担保する大黒柱となっています。

なぜこのアルゴリズムで必ず直交基底が作れるのか、その数学的証明の核心は「数学的帰納法」と「直交補空間への射影」にあります。すでに互いに直交している $k-1$ 個のベクトル $u_1, \dots, u_{k-1}$ に対し、新しく作った $u_k$ との任意の内積 $\langle u_k, u_j \rangle$($j < k$)を計算してみると、他の項は直交性によってすべて消え、該当する射影項だけが相殺されて厳密に 0 になります。

また、元のベクトル $v_1, \dots, v_k$ が線型独立である限り、$u_k$ がゼロベクトルになることは決してありません。各段階で張られる部分空間の次元が保たれたまま、綺麗に直交する軸へと張り替えられていくのです。

【試験対策まとめ】期末テストや院試を突破する最短計算ルーティン

大学の期末試験や大学院入試の限られた試験時間内で、確実に満点を勝ち取るための実践的な計算ルーティンを整理しておきます。

まず下書き用紙のレイアウトです。用紙を縦に区切り、左側に「内積とノルムの計算」、右側に「ベクトルの引き算」と明確にエリアを分担させます。混在させると暗算が増え、符号ミスの温床になります。

次に、分数が現れたときの処理です。ベクトル計算において分母が異なる分数が出てきた場合は、無理にベクトルの中に分数を残したまま計算せず、共通の分母で括り出して外に出すのがコツです。例えば $\begin{pmatrix} 1/2 \\ -1/2 \\ 2 \end{pmatrix}$ は $\frac{1}{2}\begin{pmatrix} 1 \\ -1 \\ 4 \end{pmatrix}$ と変形してから内積を取ると、整数同士の計算に持ち込めるため計算速度が倍増します。

そして何より、各ベクトルを算出した直後の「内積=0」確認を完全にルーティン化してください。この3つの鉄則を守るだけで、直交化問題における失点リスクをほぼゼロに抑え込むことが可能です。

【グラムシュミットの直交化法 例題】に関するよくある質問(FAQ)

Q1:問題文に「直交基底を求めよ」と「正規直交基底を求めよ」の両方がありますが、何が違うのですか?
A1:明確な違いがあります。「直交基底」はベクトル同士が互いに直角(内積が0)であれば長さは自由ですが、「正規直交基底」は直交していることに加えて各ベクトルの長さ(ノルム)がすべて 1 である必要があります。問題文で「正規直交基底」と指定されている場合は、直交基底を求めた後に必ず長さで割る正規化のステップを行ってください。

Q2:グラム・シュミットの計算途中でベクトルがゼロベクトル(すべて0)になってしまいました。どこが間違っていますか?
A2:途中でゼロベクトルになる場合、2つの原因が考えられます。1つは単純な引き算や内積の計算ミスです。もう1つは、最初に入力として与えられたベクトルの組が「線型従属(1次従属)」であった場合です。線型独立でないベクトル群にグラム・シュミットを適用すると、既存のベクトルの線型結合で表せるベクトルが登場した時点で引き算の結果が 0 になります。前提条件の確認と計算を見直してください。

Q3:複素ベクトル空間(エルミート内積)の場合、計算で注意すべき点はどこですか?
A3:複素数の場合は内積に対称性がなく、成分の一方に複素共役(バー)がつきます。定義によって $\langle u, v \rangle = \sum \overline{u_i} v_i$ か $\sum u_i \overline{v_i}$ かが教科書ごとに異なるため、内積のどちら側の成分に複素共役を取るのかを事前に確認してください。射影公式の分子 $\langle v_k, u_i \rangle$ の順序と共役の付け方を誤ると直交しなくなります。

まとめ:直交化の本質を掴んで線形代数の得点源にしよう

グラム・シュミットの直交化法は、一見すると煩雑な分数計算の連続に見えますが、その実態は「射影を順次引き落としていく」という極めて整然とした幾何学的操作です。アルゴリズムの本質を理解し、正規化を最後に回すなどの手計算の工夫を身につければ、試験本番で焦ることは一切なくなります。

直交性の概念は、フーリエ級数展開、量子力学の状態ベクトル、データサイエンスにおける主成分分析(PCA)など、現代の高度な科学技術のあらゆる場面に顔を出します。本稿で紹介した手順と検算法を武器に、ぜひ線形代数の演習問題に自信を持って挑んでみてください。 (出典: グラム シュミット の 直交 化 法 例題(Yahoo!ニュース))

グラム シュミット の 直交 化 法 例題
グラム シュミット の 直交 化 法 例題
グラム シュミット の 直交 化 法 例題