内積空間と直交性

内積・ノルムから直交化(グラム・シュミット)へ。対称行列の固有値問題と最小二乗法。

この単元の目標
  • 内積からノルム・距離・角度を定義できる
  • グラム・シュミットの直交化を実行できる
  • 実対称行列が直交行列で対角化できることを説明できる
📑 目次
  1. 内積とノルム
  2. 正規直交基底とグラム・シュミット
  3. 直交行列と対称行列

内積とノルム

⟨u,v⟩=uTv=∑iuivi,∥u∥=⟨u,u⟩,cos⁡θ=⟨u,v⟩∥u∥ ∥v∥\langle u, v \rangle = u^T v = \sum_i u_i v_i, \qquad \|u\| = \sqrt{\langle u, u \rangle}, \qquad \cos\theta = \frac{\langle u, v \rangle}{\|u\| \, \|v\|}

ここでは実ベクトルの標準内積を扱います。内積は「ベクトル空間に長さと角度を入れる装置」です。⟨u,v⟩=0\langle u, v \rangle = 0 のとき直交といいます。角度やコサイン類似度の式には u,v≠0u,v\ne0 が必要です。零ベクトルとの角度は定義しません。

a = (x, y) = (3, 1)b = (x, y) = (1, 2)
aba+b

a⃗+b⃗=(4, 3)\vec{a} + \vec{b} = (4,\ 3)、内積 a⃗⋅b⃗=5.0\vec{a} \cdot \vec{b} = 5.0、cos⁡θ=0.707\cos\theta = 0.707

青い平行四辺形はベクトルの和の平行四辺形則。 内積が 0 になるように動かすと垂直(θ = 90°)になることを確かめましょう。

プレイグラウンド: ベクトルの和と内積——内積の符号で鋭角・直角・鈍角が判定できることを確かめよう

正規直交基底とグラム・シュミット

互いに直交する単位ベクトルの組(正規直交系)q1,…,qnq_1, \dots, q_n を基底にすると座標が ⟨v,qi⟩\langle v, q_i \rangle だけで読み取れて計算が劇的に楽になります。任意の独立なベクトル列はグラム・シュミットの直交化で正規直交系に変換できます。

uk=vk−∑i<k⟨vk,qi⟩qi,qk=uk∥uk∥u_k = v_k - \sum_{i < k} \langle v_k, q_i \rangle q_i, \qquad q_k = \frac{u_k}{\|u_k\|}

直交行列と対称行列

  • 直交行列 QQ:QTQ=IQ^TQ = I(列ベクトルが正規直交系)。ノルムと内積を保存する回転・鏡映
  • 実対称行列 (AT=AA^T = A) の固有値は必ず実数で、異なる固有値に属する固有ベクトルは直交
  • スペクトル定理:実対称行列は直交行列で対角化できる A=QDQTA = QDQ^T

応用の代表が最小二乗法です。AA を実 m×nm\times n 行列として、誤差の二乗和 ∥Ax−b∥2\|Ax-b\|^2 を最小にします。正規方程式は ATAx=ATbA^TAx=A^Tb。AA の列が一次独立のときに限り ATAA^TA は正則で、一意解 x=(ATA)−1ATbx=(A^TA)^{-1}A^Tb を得ます。列が従属なら係数 xx は一意ではありませんが、近似値 AxAx(bb の列空間への正射影)は一意です。

🔍 残差の直交性から正規方程式を導く

  1. 候補から任意の方向へ動かす
    ∥A(x+h)−b∥2=∥r∥2+2hTATr+∥Ah∥2,r=Ax−b\|A(x+h)-b\|^2=\|r\|^2+2h^TA^Tr+\|Ah\|^2,\quad r=Ax-b

    内積の分配法則で二乗を展開します。最小点では、どちら向きの微小変化でも値が減ってはいけません。

  2. 一次の項を消す
    ATr=0⟺ATAx=ATbA^Tr=0\quad\Longleftrightarrow\quad A^TAx=A^Tb

    残差が A のすべての列に直交するという条件です。このとき変化量は ∥Ah∥2≥0\|Ah\|^2\ge0 なので、確かに最小値となります。

  3. 一意性の条件を確かめる
    hTATAh=∥Ah∥2>0(h≠0)h^TA^TAh=\|Ah\|^2>0\quad(h\ne0)

    列が一次独立なら非零 h に対し Ah は非零となります。この正定値性が逆行列と一意解を保証します。

例題

v1=(1,0)Tv_1 = (1, 0)^T, v2=(1,1)Tv_2 = (1, 1)^T をグラム・シュミットで正規直交化せよ。

解答・解説

q1=v1/∥v1∥=(1,0)Tq_1 = v_1 / \|v_1\| = (1, 0)^T。u2=v2−⟨v2,q1⟩q1=(1,1)T−1⋅(1,0)T=(0,1)Tu_2 = v_2 - \langle v_2, q_1 \rangle q_1 = (1,1)^T - 1 \cdot (1,0)^T = (0,1)^T より **q2=(0,1)Tq_2 = (0, 1)^T**

直交化と最小二乗法を計算する
  1. v1=(1,1,0)Tv_1=(1,1,0)^T, v2=(1,0,1)Tv_2=(1,0,1)^T を正規直交化せよ。

    ヒント

    第 2 ベクトルから第 1 ベクトル方向の射影を引く。

    解答・解説

    q1=(1,1,0)T/2q_1=(1,1,0)^T/\sqrt2。内積は 1/21/\sqrt2 だから u2=(1,0,1)T−(1,1,0)T/2=(1/2,−1/2,1)Tu_2=(1,0,1)^T-(1,1,0)^T/2=(1/2,-1/2,1)^T。ノルム 3/2\sqrt{3/2} で割って q2=(1,−1,2)T/6q_2=(1,-1,2)^T/\sqrt6。内積は 0、各ノルムは 1 で検算できる。

  2. データ (t,y)=(0,1),(1,2),(2,2)(t,y)=(0,1),(1,2),(2,2) に最小二乗直線 y=a+cty=a+ct をあてはめよ。

    ヒント

    AA の各行を (1,t)(1,t)、観測値を b=(1,2,2)Tb=(1,2,2)^T とする。

    解答・解説

    ATA=(3335)A^TA=\begin{pmatrix}3&3\\3&5\end{pmatrix}、ATb=(5,6)TA^Tb=(5,6)^T。3a+3c=53a+3c=5, 3a+5c=63a+5c=6 より c=1/2c=1/2, a=7/6a=7/6。求める直線は y=7/6+t/2y=7/6+t/2。残差 Ax−b=(1/6,−1/3,1/6)TAx-b=(1/6,-1/3,1/6)^T は (1,1,1)T(1,1,1)^T と (0,1,2)T(0,1,2)^T の両方に直交する。

  3. A=(1111)A=\begin{pmatrix}1&1\\1&1\end{pmatrix}、b=(1,3)Tb=(1,3)^T の最小二乗解をすべて求めよ。

    ヒント

    s=x1+x2s=x_1+x_2 とおいて誤差を平方完成する。

    解答・解説

    誤差は (s−1)2+(s−3)2=2(s−2)2+2(s-1)^2+(s-3)^2=2(s-2)^2+2。よって x1+x2=2x_1+x_2=2 を満たすすべての xx が解で、最小誤差は 2。ATAA^TA は正則ではなく逆行列の公式は使えないが、正射影 Ax=(2,2)TAx=(2,2)^T は一意に決まる。

📝 メモこの端末のみに保存
メモ欄はページ読み込み後に使えるようになります。