그람-슈미트 과정의 기본 원리
그람-슈미트 과정 (Gram-Schmidt過程, 영어 : Gram-Schmidt process ) 또는 그람-슈미트 단위직교화 (Gram-Schmidt單位直交化, 영어 : Gram-Schmidt orthonormalization )는 내적공간 에서 유한 개의 일차독립 벡터 집합을 정규 직교 기저 로 변환하는 방법이다.
v
{\displaystyle \mathbf {v} }
에서
u
{\displaystyle \mathbf {u} }
위로 정사영한
p
r
o
j
u
(
v
)
{\displaystyle \mathrm {proj} _{\mathbf {u} }\,(\mathbf {v} )}
를 빼서 직교 성분 을 구할 수 있다는 것을 이용한 것이다.
그람-슈미트 과정의 시각화
내적공간
V
{\displaystyle V}
의 기저
{
v
1
,
v
2
,
⋯
,
v
k
}
{\displaystyle \{\mathbf {v} _{1},\mathbf {v} _{2},\cdots ,\mathbf {v} _{k}\}}
이 주어졌다고 하자. 사영 연산자 를 다음과 같이 정의한다.
p
r
o
j
u
(
v
)
=
⟨
u
,
v
⟩
⟨
u
,
u
⟩
u
{\displaystyle \mathrm {proj} _{\mathbf {u} }\,(\mathbf {v} )={\langle \mathbf {u} ,\mathbf {v} \rangle \over \langle \mathbf {u} ,\mathbf {u} \rangle }\mathbf {u} }
⟨
u
,
v
⟩
{\displaystyle \langle \mathbf {u} ,\mathbf {v} \rangle }
는 벡터 u 와 v 에 대한 내적 이고,
⟨
u
,
v
⟩
=
u
⊤
v
{\displaystyle \langle \mathbf {u} ,\mathbf {v} \rangle =\mathbf {u} ^{\top }\mathbf {v} }
(혹은
⟨
u
,
v
⟩
=
u
∗
v
{\displaystyle \langle \mathbf {u} ,\mathbf {v} \rangle =\mathbf {u} ^{*}\mathbf {v} }
) 로 정의된다.
먼저 각 벡터
v
i
{\displaystyle \mathbf {v} _{i}}
를
u
1
,
u
2
,
⋯
,
u
i
−
1
{\displaystyle \mathbf {u} _{1},\mathbf {u} _{2},\cdots ,\mathbf {u} _{i-1}}
와 직교적인 벡터
u
i
{\displaystyle \mathbf {u} _{i}}
으로 만든다. 구체적으로는 다음과 같은 연산을 거친다.
u
1
=
v
1
{\displaystyle \mathbf {u} _{1}=\mathbf {v} _{1}}
u
2
=
v
2
−
p
r
o
j
u
1
(
v
2
)
{\displaystyle \mathbf {u} _{2}=\mathbf {v} _{2}-\mathrm {proj} _{\mathbf {u} _{1}}\,(\mathbf {v} _{2})}
u
3
=
v
3
−
p
r
o
j
u
1
(
v
3
)
−
p
r
o
j
u
2
(
v
3
)
{\displaystyle \mathbf {u} _{3}=\mathbf {v} _{3}-\mathrm {proj} _{\mathbf {u} _{1}}\,(\mathbf {v} _{3})-\mathrm {proj} _{\mathbf {u} _{2}}\,(\mathbf {v} _{3})}
⋮
{\displaystyle \vdots }
u
k
=
v
k
−
∑
j
=
1
k
−
1
p
r
o
j
u
j
(
v
k
)
{\displaystyle \mathbf {u} _{k}=\mathbf {v} _{k}-\sum _{j=1}^{k-1}\mathrm {proj} _{\mathbf {u} _{j}}\,(\mathbf {v} _{k})}
이렇게 생성된
{
u
1
,
u
2
,
⋯
,
u
k
}
{\displaystyle \{\mathbf {u} _{1},\mathbf {u} _{2},\cdots ,\mathbf {u} _{k}\}}
집합은 직교적이다. 이제, 벡터
e
i
{\displaystyle \mathbf {e} _{i}}
를
e
i
=
u
i
‖
u
i
‖
{\displaystyle \mathbf {e} _{i}={\frac {\mathbf {u} _{i}}{\|\mathbf {u} _{i}\|}}}
로 정의하면
V
{\displaystyle V}
의 정규 직교 기저
{
e
1
,
e
2
,
⋯
,
e
k
}
{\displaystyle \{\mathbf {e} _{1},\mathbf {e} _{2},\cdots ,\mathbf {e} _{k}\}}
를 얻는다.
‖
‖
{\displaystyle {\|{}\|}}
는 노름
원래 피에르시몽 라플라스 와 오귀스탱루이 코시 의 논문에 등장하였다. 이후 덴마크의 예르겐 페데르센 그람 (덴마크어 : Jørgen Pedersen Gram )과 독일계 에스토니아 태생의 에르하르트 슈미트 (독일어 : Erhard Schmidt )가 명시적으로 이를 다루었으며, 이들의 이름을 땄다.