
gram schmidt process
2018, Sep 27
- 이번 글에서는 그램 슈미트 과정(gram schmidt process)에 대하여 알아보도록 하겠습니다.
- 그램 슈미트 과정은
orthonormal basis vector set
을 구하는 과정입니다. - 즉, 주어진 벡터들을 이용해서 서로 수직인 벡터들을 만드는 방법이라고 생각 할 수 있고 주어진 벡터들에 대한 직교기저(orthogonal basis) 또는 정규직교기저(orthonormal basis)를 구하는 과정이라고 생각하면 됩니다.
- 먼저 그램 슈미트 과정을 시작하기에 앞서 linearly independent한 벡터들이 있다고 가정해 보겠습니다. 예를 들어 v1,v2,v3 입니다.
- 자, 그러면 그램 슈미트 직교화 가정에 대하여 알아보도록 하겠습니다.

- 먼저 벡터 v1에서 부터 시작해 보겠습니다. v1에 정규화를 해주면 e1=v1|v1|를 구할 수 있습니다.
- 그리고 뒤에서 계속 구할 ui에서 v1=u1 이라고 가정하겠습니다.
- 먼저 v2 에서 v1 으로 내린 projection을 이용하면 v2를 다른 식으로 표현할 수 있습니다.
- 즉, v2=(v2⋅e1)e1+u2 가 됩니다. 여기서 u2는 projection입니다.
- 다시 이 값을 정리하면 u2=v2−(v2⋅e1)e1가 됩니다.
- 그리고 u2에 정규화를 해주게 되면 e2=u2|u2|로 정의 할 수 있습니다.
- 지금 까지 한 것을 보면 비교해야 할 대상은 e1,e2 입니다. 이 두 벡터는 서로
orthonormal
한 관계를 가집니다.- 즉, 두 벡터는 서로 직교하고 벡터의 크기는 1입니다.
- 위와 같이 어떤 벡터가 있을 때, 그 벡터와 수직인 벡터를 만드는 과정을 그람 슈미트 과정이라고 합니다.
- 이 과정은 벡터가 추가되어도 추가된 벡터와 이전 벡터들 모두에 직교하는 벡터들을 만들 수 있습니다.

- 앞의 예제에서는 v2 벡터와 u1 벡터를 이용하여 서로 직교인 벡터인 u1,u2를 구하였습니다.
- 이번에는 v3라는 벡터를 하나 더 추가하여 모두 직교 관계를 가지는 벡터 3개를 만들려고 합니다.
- 앞에서 구한 u1,u2 벡터를 이용해 보겠습니다. 현재 u1,u2는 직교인 상태 입니다.
- 이 때, u1,u2를 이용하여 빨간색 벡터를 만들면 빨간색 벡터와 u3라는 파란색 벡터를 이용하여 v3 벡터를 구할 수 있습니다.
- 즉, u3=v3−proju1(v3)−proju2(v3) 가 됩니다.
- 이 때 그한 벡터 u3를 정규화 해주면 e3=u3|u3|를 구할 수 있습니다.
- 위 관계를 확장해 보면 un=vn−proju1(vn)−proju2(vn)−⋯−projun−1(vn)=vn−∑n−1i=1projui(vn)이 됩니다.
- 여기서 주목할 점은, 직교한 벡터도 아니고 유닛 벡터도 아닌 벡터들을 이용하여 정규 직교 벡터를 구하였다는 것입니다. 상당히 의미 있는 일입니다.
- 즉 N개의 선형 독립인 벡터를 이용하여 N개의 정규직교벡터를 구한 것입니다.
- 이 정규직교벡터는 특히 transformation을 할 때 사용되는데요, 그 응용에 대해서는 이후에 살펴보겠습니다.