그람-슈미트 과정

최근 편집: 2022년 12월 24일 (토) 18:47

Gram-Schmidt process, 또는 Gram-Schmidt orthonormalization


그람-슈미트 과정은 내적 공간(inner product space)에 있는 벡터를 단위직교기저로 변환하는 방법이다. 고전적 그람-슈미트 과정(Classical Gram–Schmidt process, CGS)과 수정된 그람-슈미트 과정(Modified Gram–Schmidt process, MGS)으로 나눌 수 있다. 이것을 이용하면 단위직교기저를 얻을 수 있을 뿐 아니라 QR 분해를 할 수 있다.

고전적 그람-슈미트 과정

고전적 그람-슈미트 과정은 벡터 u1, u2,..., un이 있을 때, 첫 벡터부터 직교정규화를 시켜 v1, v2,...을 얻어 주고, 앞 벡터들이 직교정규화 되면 사영을 통해 그러한 벡터 성분을 빼어 다음 벡터를 계속 직교정규화하는 방법이다.

이 방법의 문제점은, 한번 직교정규화에 오차가 생기면 그 다음에 계속 오차가 누적되고 파급된다는 점이다. 컴퓨터는 무한한 정밀도로 된 값을 저장하지 않기 때문에 문제가 생긴다.

수정된 그람-슈미트 과정

고전적 그람-슈미트 과정은 벡터 u1, u2,..., un이 있을 때, u1을 이용해 u2,..., un에 u1 방향의 성분을 빼는 식으로, k=1부터 n까지, k번째 벡터를 이용해 k+1번째 벡터 이후의 벡터를 계속 수정하는 일을 반복한 뒤에 맨 나중에 정규화를 시키어 모든 벡터를 계속 직교정규화하는 방법이다. 만약 정확하게 계산한다면, 고전적 그람-슈미트 과정과 같은 직교정규화된 벡터를 얻게 되지만, 정밀도에 한계가 있는 경우 오차가 덜 파급되어 유리하다.