直交補空間とは、あるベクトル空間の部分空間に対して、その部分空間のすべてのベクトルと直交するベクトルの集合です。分解定理は、ベクトル空間を直交する部分空間の直和として表現できることを示す定理です。
直交補空間の定義
ベクトル空間 の部分空間 に対して、 の直交補空間 を次のように定義します。
ここで は内積を表します。 は のすべてのベクトルと直交するベクトルの集合です。
は の部分空間になります。2つのベクトル とスカラー に対して、 が成り立ちます。
有限次元ベクトル空間 において、 が成り立ちます。この式は空間全体が と で分割されることを示しています。
が成り立ちます。直交補空間の直交補空間をとると元の空間に戻ります。
直交分解定理
直交分解定理は、内積空間における重要な定理で、任意のベクトルを部分空間の成分と直交補空間の成分に一意に分解できることを主張します。
を内積空間、 を の有限次元部分空間とします。このとき、任意のベクトル は一意に と表せます。ここで かつ です。
この分解により と書けます。記号 は直和を表し、 と の交わりが零ベクトルのみであることを意味します。
分解された成分 を の への正射影と呼びます。正射影は から への最短距離を与えるベクトルです。
具体例
3次元ユークリッド空間 において、 平面を とします。
import numpy as np # xy平面(z=0の平面)を部分空間Wとする # ベクトル v = (1, 2, 3) を分解する v = np.array([1, 2, 3]) # Wへの正射影(z成分を0にする) w = np.array([1, 2, 0]) # 直交補空間W⊥の成分(z軸方向のみ) w_perp = np.array([0, 0, 3]) # 分解の確認 print(f"v = {v}") print(f"w = {w}") print(f"w⊥ = {w_perp}") print(f"w + w⊥ = {w + w_perp}")
この例では は 軸方向のベクトル全体となります。任意のベクトル は と分解されます。
グラム・シュミットの直交化法
部分空間の正規直交基底を構成する方法として、グラム・シュミットの直交化法があります。この方法は直交補空間の概念を利用して、与えられた基底から正規直交基底を作り出します。
線形独立なベクトル
第1ベクトル をそのまま使う
第2ベクトル以降は前のベクトルへの射影を引いて直交化
正規直交基底 を得る
具体的には、 番目のベクトル は次の式で計算されます。
この式は、 から既に構成された部分空間への射影を引くことで、直交成分だけを取り出しています。