벡터들의 집합을 서로 직교하는 벡터들의 집합으로 변환하는 과정
모든 입력 벡터들이 선형 독립이어야함
- 벡터 집합으로 변환
- 첫 벡터를 그대로 두고 두번째 벡터에서 첫번째 성분 제거 (직교하게)
- 계속 앞의 것들과 직교하게 제거
- 모두 얻은 다음 모두 정규화
output은 열들이 모두 직교하는 행렬이면서 Upper Triangular Matrix
실제 계산에서는 수치적 안정성(numerical stability) 문제로 인해 정확한 상삼각행렬을 얻지 못할 수
이를 해결하기 위해선 modified Gram-Schmidt