グラム・シュミットの正規直交化法
提供: miniwiki
グラム・シュミットの正規直交化法(グラム・シュミットのせいきちょっこうかほう、英: Gram–Schmidt orthonormalization)とは、計量ベクトル空間に属する線型独立な有限個のベクトルが与えられたとき、それらと同じ部分空間を張る正規直交系を作り出すアルゴリズムの一種[1]。シュミットの直交化(ちょっこうか、orthogonalization)ともいう。Jørgen Pedersen Gramおよびエルハルト・シュミットにより名付けられた。変換行列は上三角行列に取ることができる。正規化する工程を省略すると、必ずしも正規でない直交系を得ることができる。
アルゴリズム
V を計量ベクトル空間とし、V のベクトル v, u の内積を (v, u) と表すことにする。与えられたベクトルの線型独立系を {v1, v2,..., vn} とする。
- 直交化
- [math]\begin{align} \boldsymbol u_1 &:= \boldsymbol v_1 \\ \boldsymbol u_2 &:= \boldsymbol v_2 - \frac{(\boldsymbol u_1, \boldsymbol v_2)}{(\boldsymbol u_1, \boldsymbol u_1)} \boldsymbol u_1 \\ \boldsymbol u_3 &:= \boldsymbol v_3 - \frac{(\boldsymbol u_1, \boldsymbol v_3)}{(\boldsymbol u_1, \boldsymbol u_1)}\boldsymbol u_1 - \frac{(\boldsymbol u_2, \boldsymbol v_3)}{(\boldsymbol u_2, \boldsymbol u_2)} \boldsymbol u_2 \\ &\vdots \\ \boldsymbol u_n &:= \boldsymbol v_n - \frac{(\boldsymbol u_1, \boldsymbol v_n)}{(\boldsymbol u_1, \boldsymbol u_1)} \boldsymbol u_1 - \frac{(\boldsymbol u_2, \boldsymbol v_n)}{(\boldsymbol u_2, \boldsymbol u_2)} \boldsymbol u_2 - \dotsb - \frac{(\boldsymbol u_{n-1}, \boldsymbol v_n)}{(\boldsymbol u_{n-1}, \boldsymbol u_{n-1})} \boldsymbol u_{n-1}\\ &:= \boldsymbol v_n - \sum_{i=1}^{n-1}\frac{(\boldsymbol u_{i}, \boldsymbol v_n)}{(\boldsymbol u_{i}, \boldsymbol u_{i})} \boldsymbol u_{i} \end{align}[/math]
によって順に新しいベクトルを作っていくと、{u1, u2,..., un} は新しい線型独立系になる。構成から、互いに直交していることは容易にわかる。
- 正規化
- [math] \boldsymbol e_i := \frac{\boldsymbol u_i}{(\boldsymbol u_i, \boldsymbol u_i)^{1/2}} [/math]
とおけば {e1, e2,..., en} が求める性質を満たす正規直交系であることがわかる。
脚注
参考文献
- (2013) Matrix analysis, Second, Cambridge University Press. ISBN 978-0-521-54823-6.