直交化#

直交化#

正規直交系#

定義(正規直交系)

内積空間 \(V\) において、 \(V\)\(m\) 個のベクトル \(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_m\)\(\langle \boldsymbol{a}_i, \boldsymbol{a}_j\rangle = \delta_{i j}\) すなわち \(\langle \boldsymbol{a}_i, \boldsymbol{a}_j\rangle = \begin{cases}1 & (i=j) \\ 0 & (i \neq j)\end{cases}\) をみたすとき、 正規直交系 という。

定理

正規直交系は1次独立である。

証明

\(a_1, \cdots, a_m\) を正規直交系とする。 いま,

\[ c_1 \boldsymbol{a}_1+\cdots+c_m \boldsymbol{a}_m=\mathbf{0} \]

とすると,任意の \(i \ (1 \leqq i \leqq m)\) について, \(\langle \boldsymbol{a}_i, \boldsymbol{0}\rangle = 0\) であるから,

\[\begin{split} \begin{aligned} 0 &= \langle \boldsymbol{a}_i, \mathbf{0} \rangle\\ &= \langle \boldsymbol{a}_i, c_1 \boldsymbol{a}_1+\cdots+c_m \boldsymbol{a}_m\rangle\\ &= \sum_{j=1}^m c_j \langle \boldsymbol{a}_i, \boldsymbol{a}_j\rangle \quad (内積の線形性のため)\\ &=c_i \langle \boldsymbol{a}_i, \boldsymbol{a}_i\rangle \quad (正規直交系の定義より \langle \boldsymbol{a}_i, \boldsymbol{a}_i\rangle = 1)\\ &=c_i \end{aligned} \end{split}\]

よって, \(a_1, \cdots, a_m\) は 1 次独立である。

定義(正規直交基底)

正規直交系である基底のことを 正規直交基底 という。

シュミットの正規直交化法#

シュミットの正規直交化法は、内積空間\(V\)において1次独立なベクトルの系\(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_r\)が与えられたとき、正規直交系\(\boldsymbol{v}_1, \cdots, \boldsymbol{v}_r\)を作り出す方法。

まず\(\boldsymbol{a}_1 \neq \boldsymbol{0}\)より、

\[ \boldsymbol{v}_1 = \frac{\boldsymbol{a}_1}{\|\boldsymbol{a}_1\|} \]

とおけば、\(\|\boldsymbol{v}_1\| = 1\)となる

つづいて、\(\boldsymbol{a}_2 - c \boldsymbol{v}_1, \ c\in \mathbb{R}\) とおく。 \(\langle \boldsymbol{a}_2 - c \boldsymbol{v}_1, \boldsymbol{v}_1 \rangle = 0\)\(\boldsymbol{v}_1\)と直交する)とおいて、この\(c\)を求める。

\[ \langle \boldsymbol{a}_2 - c \boldsymbol{v}_1, \boldsymbol{v}_1 \rangle = \langle \boldsymbol{a}_2, \boldsymbol{v}_1 \rangle - c \langle \boldsymbol{v}_1, \boldsymbol{v}_1 \rangle = 0 \]

より

\[ c = \frac{ \langle \boldsymbol{a}_2, \boldsymbol{v}_1 \rangle }{ \langle \boldsymbol{v}_1, \boldsymbol{v}_1 \rangle } = \langle \boldsymbol{a}_2, \boldsymbol{v}_1 \rangle \]

となる。\(\boldsymbol{a}_1\)\(\boldsymbol{a}_2\)は1次独立であり、\(\boldsymbol{v}_1\)\(\boldsymbol{a}_1\)のスカラー倍であるから、\(\boldsymbol{a}_2 - c \boldsymbol{v} \neq \boldsymbol{0}\)である。 そこで

\[ \boldsymbol{v}_2 = \frac{\boldsymbol{a}_2 - c \boldsymbol{v}_1 } {\| \boldsymbol{a}_2 - c \boldsymbol{v}_1 \| } \]

とおけば、

\[ \langle \boldsymbol{v}_1, \boldsymbol{v}_2 \rangle = 0, \quad \|\boldsymbol{v}_2\| = 1 \]

となる。ここで \(a_1\)\(a_2\) の生成するベクトル空間と \(v_1\)\(v_2\) の生成するベクトル空間は一致している。

3番目のベクトル\(\boldsymbol{a}_3\)について、\(c_1 = \langle \boldsymbol{a}_3, \boldsymbol{v}_1 \rangle, c_2 = \langle \boldsymbol{a}_3, \boldsymbol{v}_2 \rangle\)とおくと、

\[ \langle \boldsymbol{a}_3 - (c_1 \boldsymbol{v}_1 + c_2 \boldsymbol{v}_2), \boldsymbol{v}_i \rangle =0 \quad (i=1,2) \]

となる。

仮定より\(a_1,a_2,a_3\)は1次独立であり、\(v_1,v_2\)\(a_1,a_2\)の1次結合で書き表されるから、\(\boldsymbol{a}_3 - (c_1 \boldsymbol{v}_1 + c_2 \boldsymbol{v}_2) \neq \boldsymbol{0}\)である。 よって

\[ \boldsymbol{v}_3 = \frac{ \boldsymbol{a}_3 - (c_1 \boldsymbol{v}_1 + c_2 \boldsymbol{v}_2) } {\| \boldsymbol{a}_3 - (c_1 \boldsymbol{v}_1 + c_2 \boldsymbol{v}_2)\| } \]

とすれば、

\[ \langle \boldsymbol{v}_3, \boldsymbol{v}_i \rangle = 0 \quad (i=1,2) \quad \| \boldsymbol{v}_3 \| = 1 \]

である。 以下この操作を続ければよい。

厳密には、帰納法を使う

\(1 \leqq k<r\) なる \(k\) に対して 正規直交系 \(\boldsymbol{v}_1, \cdots, \boldsymbol{v}_k\) が存在して \(1 \leqq i \leqq k\) なる任意の \(i\) に対して \(\boldsymbol{v}_1, \cdots, \boldsymbol{v}_i\) が生成するベクトル空間と \(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_i\) が生成 するベクトル空間が一致すると仮定する。すなわち

\[ S\left[\boldsymbol{v}_1, \cdots, \boldsymbol{v}_i\right]=S\left[\boldsymbol{a}_1, \cdots, \boldsymbol{a}_i\right] \quad(i=1, \cdots, k) \]

そのとき

\[ c_i=\langle a_{k+1}, v_i\rangle \quad(i=1, \cdots, k) \]

とおくと

\[ \langle \boldsymbol{a}_{k+1}-\sum_{i=1}^k c_i \boldsymbol{v}_i, \boldsymbol{v}_j \rangle = 0 \quad(j=1, \cdots, k) \]

である。 仮定より \(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_k, \boldsymbol{a}_{k+1}\) が 1次独立で、帰納法の仮定で \(\boldsymbol{v}_1, \cdots, \boldsymbol{v}_k\)\(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_k\) の 1 次結合で表わされるから、

\[ \boldsymbol{a}_{k+1}-\sum_{i=1}^k c_i \boldsymbol{v}_i \neq \mathbf{0} \]

よって

\[ \boldsymbol{v}_{k+1}=\frac{\boldsymbol{a}_{k+1}-\sum_{i=1}^k c_i \boldsymbol{v}_i}{\left\|\boldsymbol{a}_{k+1}-\sum_{i=1}^k c_i \boldsymbol{v}_i\right\|} \]

とおくと、

\[ \langle \boldsymbol{v}_{k+1}, \boldsymbol{v}_j\rangle = 0 \quad(j=1, \cdots, k), \quad\left\|\boldsymbol{v}_{k+1}\right\|=1 \]

となる。帰納法の仮定と \(\boldsymbol{v}_{k+1}\) の定義の式から、\(\boldsymbol{v}_{k+1}\)\(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_{k+1}\) の1次結合で表わされ、同じ式から \(\boldsymbol{a}_{k+1}\)\(\boldsymbol{v}_1, \cdots, \boldsymbol{v}_{k+1}\) の 1次結合で表わされるから、

\[ S\left[\boldsymbol{v}_1, \cdots, \boldsymbol{v}_{k+1}\right]=S\left[\boldsymbol{a}_1, \cdots, \boldsymbol{a}_{k+1}\right] \]

が成り立つ。

定理

内積空間 \(V\) の任意の部分空間 \(W\) は正規直交基底をもつ。とくに \(V\) は正規直交基底をもつ。

証明

\(W\) の基底 \(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_r\) をとり、これをシュミットの正規直交化法で正規直交系 \(v_1, \cdots, v_r\) をつくると

\[ S\left[\boldsymbol{v}_1, \cdots, \boldsymbol{v}_r\right]=S\left[\boldsymbol{a}_1, \cdots, \boldsymbol{a}_r\right]=W \]

であるから、\(v_1, \cdots, v_r\)\(W\) の正規直交基底である。 とくに \(W=V\) のときが定理の後半の主張である。

# 例
import numpy as np

a1 = np.array([1, 1, 1])
a2 = np.array([0, 1, 1])
a3 = np.array([0, 0, 1])

v1 = a1 / np.linalg.norm(a1)
c = a2 @ v1
v2 = (a2 - c * v1) / np.linalg.norm(a2 - c * v1)

c1 = a3 @ v1
c2 = a3 @ v2
v = a3 - (c1 * v1 + c2 * v2)
v3 = (v) / np.linalg.norm(v)

np.array([v1, v2, v3]).T.round(1)
array([[ 0.6, -0.8, -0. ],
       [ 0.6,  0.4, -0.7],
       [ 0.6,  0.4,  0.7]])

Note

異なる固有値に属する固有ベクトルと行列の列ベクトルは直交しているので\(c\)が0になる → それぞれの固有ベクトル\(x\)\(x/\|x\|\)を求めればいい

例:

\[\begin{split} A = \begin{pmatrix} 3 & 2\\ 2 & 3 \end{pmatrix} \end{split}\]

とする。固有値は\(\lambda=1, 5\)であり、それぞれの固有値に対応する固有空間\(V(\lambda)\)

\[\begin{split} V(1) =\left\{\left. c \begin{pmatrix} -1 \\ 1 \end{pmatrix} \right\rvert\, c \in \mathbb{R}\right\} \\ V(5) =\left\{\left. c \begin{pmatrix} 1 \\ 1 \end{pmatrix} \right\rvert\, c \in \mathbb{R}\right\} \end{split}\]

固有ベクトルとして

\[\begin{split} x_1 = \begin{pmatrix} -1 \\ 1 \end{pmatrix} , \quad x_2 = \begin{pmatrix} 1 \\ 1 \end{pmatrix} \end{split}\]

を用いて正規直交化すると、まず\(x_1\)

\[\begin{split} p_1 = \frac{x_1}{\| x_1 \|} = \frac{1}{\sqrt{2}}\begin{pmatrix} -1 \\ 1 \end{pmatrix} \end{split}\]

と直交化される。

また\(A\)の列ベクトルを\(a_1, a_2\)とおくと

\[\begin{split} \begin{aligned} c &= \langle a_2, p_1 \rangle\\ &= 2 \cdot (-\frac{1}{\sqrt{2}}) + 3 \cdot \frac{1}{\sqrt{2}}\\ &= -\frac{2}{\sqrt{2}} + \frac{3}{\sqrt{2}}\\ &= \frac{1}{\sqrt{2}}\\ \end{aligned} \end{split}\]
import sympy as sp

A = sp.Matrix([
    [3, 2],
    [2, 3]
])

eig = A.eigenvects()
x1 = eig[0][2][0]
x2 = eig[1][2][0]

a1 = A[:, 0]
a2 = A[:, 1]

p1 = x1 / x1.norm()
c = (a2.T @ p1)[0]
c
\[\displaystyle \frac{\sqrt{2}}{2}\]
P = sp.Matrix(sp.GramSchmidt([x1, x2])).reshape(2,2).T
P
\[\begin{split}\displaystyle \left[\begin{matrix}-1 & 1\\1 & 1\end{matrix}\right]\end{split}\]
P.inv()
\[\begin{split}\displaystyle \left[\begin{matrix}- \frac{1}{2} & \frac{1}{2}\\\frac{1}{2} & \frac{1}{2}\end{matrix}\right]\end{split}\]

計量を保つ写像#

2つの計量ベクトル空間(内積空間)\(V, V^{\prime}\) の間の線形写像 \(f: V \rightarrow V^{\prime}\) が, 任意の \(\boldsymbol{x}, \boldsymbol{y}\) \(\in V\) に対して等式

\[ \langle f(\boldsymbol{x}), f(\boldsymbol{y}) \rangle =\langle \boldsymbol{x}, \boldsymbol{y} \rangle \]

を満たすとき, \(f\)計量を保つ, または 内積を保つ という。

また、\(f\)計量同型写像 であるという。

直交変換#

\(V = V'\)のとき、計量同型写像\(f: V\to V\)直交変換 という。

定理

\(V\) を計量ベクトル空間, \(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_n\)\(V\) の 1組の正規直交基底とする。線形変換 \(f: V \rightarrow V\) に関して、次の 2 つの条件は同値である。

(1) \(f\) は直交変換

(2) \(f\left(\boldsymbol{a}_1\right), \cdots, f\left(\boldsymbol{a}_n\right)\)\(V\) の正規直交基底である

証明

\((1) \implies (2) \quad f\) は直交変換であるから

\[ \langle f(\boldsymbol{a}_i), f(\boldsymbol{a}_j)\rangle = \langle \boldsymbol{a}_i, \boldsymbol{a}_j\rangle = \delta_{i j} \quad(1 \leqq i, j \leqq n) \]

となる。つまり, \(f(\boldsymbol{a}_1), \cdots, f(\boldsymbol{a}_n)\)\(V\) の正規直交系である。定理よりこれらは 1 次独立であり、

\[ \operatorname{dim} V=n \]

であるので、\(f\left(\boldsymbol{a}_1\right), \cdots, f\left(\boldsymbol{a}_n\right)\) は正規直交基底である。

\((1) \Longleftarrow(2) \quad V\) の任意のべクトル \(\boldsymbol{x}, \boldsymbol{y}\)

\[ \boldsymbol{x}=x_1 \boldsymbol{a}_1+\cdots+x_n \boldsymbol{a}_n, \quad \boldsymbol{y}=y_1 \boldsymbol{a}_1+\cdots+y_n \boldsymbol{a}_n \]

と表わすとき、定理より

\[ \langle \boldsymbol{x}, \boldsymbol{y} \rangle = x_1 y_1+\cdots+x_n y_n \]

である。また、\(f\) は線形写像であるから

\[ f(\boldsymbol{x}) = x_1 f(\boldsymbol{a}_1) + \cdots + x_n f(\boldsymbol{a}_n), \quad f(\boldsymbol{y}) = y_1 f(\boldsymbol{a}_1) + \cdots + y_n f(\boldsymbol{a}_n) \]

であり,仮定より \(f\left(\boldsymbol{a}_1\right), \cdots, f\left(\boldsymbol{a}_n\right)\) は正規直交基底であるから,

\[ \langle f(\boldsymbol{x}), f(\boldsymbol{y}) \rangle = x_1 y_1+\cdots+x_n y_n \]

となる. よって等式

\[ \langle f(\boldsymbol{x}), f(\boldsymbol{y}) \rangle = \langle \boldsymbol{x}, \boldsymbol{y} \rangle \]

が成り立つ。

直交行列#

\(n\)次正方行列\(A\)

\[ A^T A = A A^T = E \]

を満たすとき(つまり\(A^T = A^{-1}\))のとき、\(A\)を直交行列という。

定理

\(A\)\(n\) 次正方行列とするとき, 次の 5 つの条件は同値である. ただし, \(R^n\) には標準的内積を考える。

(1) \(A\) は直交行列である。

(2) \(A\) の列ベクトル全体は \(\mathbb{R}^n\) の正規直交基底である。

(3) \(A\) の行ベクトル全体は \(\mathbb{R}^n\) の正規直交基底である。

(4) \(A: \mathbb{R}^n \rightarrow \mathbb{R}^n\) は計量を保つ。例えば\(\boldsymbol{x}, \boldsymbol{y}\in\mathbb{R}^n\)に対し、\(\langle A \boldsymbol{x}, A \boldsymbol{y} \rangle = \langle \boldsymbol{x}, \boldsymbol{y} \rangle\)

(5) \(A: \mathbb{R}^n \rightarrow \mathbb{R}^n\) は長さを保つ。例えば\(\boldsymbol{x}\in\mathbb{R}^n\)に対し、\(\| A \boldsymbol{x} \| = \| \boldsymbol{x} \|\)

証明

\(n\) 次正方行列 \(A\) が与えられたとき、\(A=\left(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_n\right)=\left(\begin{array}{c}\boldsymbol{a}_1^{\prime} \\ \vdots \\ \boldsymbol{a}_n^{\prime}\end{array}\right)\) をそれぞれ \(A\) の列ベクトル表示、行ベクトル表示とする。

(1) \(\iff\) (2): $\( \begin{aligned} A \text { は直交行列 } \iff & A^T A = E \\ \iff & \boldsymbol{a}_i^T \boldsymbol{a}_j = \langle \boldsymbol{a}_i, \boldsymbol{a}_j \rangle =\delta_{i j} \quad(1 \leqq i, j \leqq n) \\ & \left( A^T A \text { の }(i, j) \text { 成分が } \boldsymbol{a}_i^T \boldsymbol{a}_j \text { であるから }\right) \\ \iff & \boldsymbol{a}_1, \cdots, \boldsymbol{a}_n \text { は } \mathbb{R}^n \text { の正規直交基底 } \end{aligned} \)$

(2)\(\iff\) (4):

\(\mathbb{R}^n\) の標準基底 \(\boldsymbol{e}_1, \cdots, \boldsymbol{e}_n\) は, \(\mathbb{R}^n\) の標準的な内積に関して正規直交基底である。そして

\[ A \boldsymbol{e}_1 = \boldsymbol{a}_1, \cdots, A \boldsymbol{e}_n = \boldsymbol{a}_n \]

であるから,定理より次の同値が成り立つ。 \(A: \mathbb{R}^n \rightarrow \mathbb{R}^n\) は直交変換 \(\iff\boldsymbol{a}, \cdots, \boldsymbol{a}\)\(\mathbb{R}^n\) の正規直交基底