그람-슈미트 직교화 (Gram-Schmidt Process)

수학
한 줄 정의: 서로 독립인 벡터들의 집합을 순서대로 하나씩 손봐서, 모두 서로 수직인(직교하는) 벡터들의 집합으로 바꾸는 절차입니다.
그람-슈미트 직교화그람-슈미트 직교화 단계 순서: 첫 벡터 유지 → 사영 계산, 사영 계산 → 사영 성분 빼기, 사영 성분 빼기 → 다음 벡터 반복, 다음 벡터 반복 → 직교기저 완성.첫 벡터 유지첫 축으로 그대로사영 계산다음 벡터·앞 축 내적사영 성분 빼기겹치는 그림자 제거다음 벡터 반복앞의 모든 축 기준직교기저 완성펼치는 공간은 동일12345정규직교기저로 만들어 QR분해·다중공선성 완화에 활용한계벡터 순서를 바꾸면 기저가 달라짐; 고전적 방식은 반올림 오차가 누적돼 변형그람-슈미트·하우스홀더 변환을 흔히 씀그람-슈미트 직교화그람-슈미트 직교화 단계 순서: 첫 벡터 유지 → 사영 계산, 사영 계산 → 사영 성분 빼기, 사영 성분 빼기 → 다음 벡터 반복, 다음 벡터 반복 → 직교기저 완성.첫 벡터 유지첫 축으로 그대로사영 계산다음 벡터·앞 축 내적사영 성분 빼기겹치는 그림자 제거다음 벡터 반복앞의 모든 축 기준직교기저 완성펼치는 공간은 동일12345정규직교기저로 만들어 QR분해·다중공선성 완화에활용한계벡터 순서를 바꾸면 기저가 달라짐; 고전적 방식은반올림 오차가 누적돼 변형 그람-슈미트·하우스홀더 변환을 흔히 씀

쉽게 풀면

삐뚤빼뚤 세워진 여러 개의 막대기를 순서대로 하나씩 세운다고 생각해봅시다. 첫 번째 막대는 그대로 두고, 두 번째 막대에서 첫 번째 막대와 겹치는 성분(그림자 부분)만 잘라내면 첫 번째와 정확히 수직인 막대가 남습니다.

세 번째 막대에서도 앞의 두 막대와 겹치는 성분을 모두 잘라내면, 이제 세 막대가 서로 완전히 수직이 됩니다. 이렇게 벡터마다 벡터의 내적을 이용해 이미 만들어진 축들과 겹치는 부분을 빼주는 과정을 순서대로 반복하는 것이 그람-슈미트 직교화입니다.

결과적으로 원래 벡터들이 펼치던 공간은 그대로 유지하면서, 계산하기 훨씬 편한 "서로 수직인 좌표축(직교기저)"을 얻게 됩니다.

왜 중요한가

서로 수직인 좌표축으로 이루어진 직교기저는 계산을 단순화하고 수치적으로 안정적인 결과를 주기 때문에, 선형대수를 다루는 거의 모든 응용 분야의 논문에서 그람-슈미트 직교화가 전처리 단계로 활용됩니다. 회귀분석에서 변수 간 상관관계를 정리하거나, 신호처리에서 독립적인 성분을 추출하거나, 수치해석에서 안정적인 행렬 분해를 수행할 때 이 절차가 기반 기법으로 등장합니다.

어떤 절차인가

선형독립인 벡터 v₁, …, vₙ에서 서로 직교하는 u₁, …, uₙ을 순서대로 만듭니다.

  1. u₁ = v₁
  2. k번째 벡터에서 앞서 만든 모든 u와 겹치는 성분(사영)을 뺍니다: uk = vk − Σj<k (⟨vk, uj⟩ ÷ ⟨uj, uj⟩) uj
  3. 길이를 1로 맞추면 정규직교기저 ek = uk ÷ ‖uk‖입니다.

언제 쓰고 무엇을 얻나

예: v₁ = (1, 1, 0), v₂ = (1, 0, 1), v₃ = (0, 1, 1)을 분수 연산 코드로 계산했습니다.

단계결과
u₁(1, 1, 0)
u₂(1/2, -1/2, 1)
u₃(-2/3, 2/3, 2/3)
내적 ⟨u₁,u₂⟩, ⟨u₁,u₃⟩, ⟨u₂,u₃⟩0, 0, 0

세 내적이 모두 0이므로 서로 수직입니다. 얻은 직교기저는 투영과 최소제곱 계산을 단순하게 만들고, 정규화하면 직교행렬의 열이 됩니다. 회귀에서 설명변수를 직교화하거나, 다항식 기저를 만들 때(르장드르 다항식 등)도 쓰입니다.

고전적 방식은 수치 계산에서 직교성을 잃을 수 있습니다. 열이 거의 평행한 행렬 A(첫 행이 (1, 1, 1)이고 그 아래 세 행이 대각에 ε를 둔 4×3 행렬, ε = 10−8)에 배정밀도로 두 방식을 적용하면, 서로 다른 열 사이의 내적 최댓값(직교성 오차)이 고전적 방식 5.0e-1, 변형 방식 7.1e-9로 나왔습니다(코드로 계산). 변형 방식은 갱신된 벡터에서 사영을 계산해 오차 누적을 줄입니다. 가장 안정적인 QR 계산에는 하우스홀더 변환이 널리 쓰입니다.

논문에는 이렇게 적는다

논문에서는 이렇게 쓰입니다

실제 논문에서

이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"설계 행렬의 열벡터에 그람-슈미트 직교화를 적용하여 정규직교기저를 구성하고, 이를 바탕으로 QR분해를 수행하였다."

이 문장은 서로 얽혀 있던 벡터들을 그람-슈미트 과정을 통해 수직인 벡터들로 정리한 뒤, 그 결과를 행렬 계산(QR분해)에 활용했다는 뜻입니다. 신호처리, 통계, 수치해석 논문에서 기저를 단순화하거나 다중공선성 문제를 다룰 때 자주 언급됩니다.

"다중회귀모형의 설명변수 간 다중공선성을 완화하기 위해 그람-슈미트 직교화를 적용하여 독립적인 성분으로 재구성하였다."

계량경제학 분야에서도 서로 얽혀 있는 설명변수들을 직교화하여 회귀계수 추정을 더 안정적으로 만들었다는 의미입니다.

조금 더 깊게 보면

손으로 계산하는 방식(고전적 그람-슈미트)은 이해하기 쉽지만 컴퓨터로 구현할 때 반올림 오차가 누적되기 쉬워, 실무에서는 매 단계마다 계산을 다시 갱신하는 변형된 그람-슈미트(Modified Gram-Schmidt)나, 하우스홀더 변환·기븐스 회전처럼 수치적으로 더 안정적인 다른 방식이 QR분해에 흔히 쓰입니다. 논문에서 QR분해를 언급할 때 어떤 방식으로 직교화를 수행했는지까지 명시하는 경우, 계산의 정확도와 안정성을 더 신뢰할 수 있는 근거가 됩니다.

주의할 점

벡터를 처리하는 순서를 바꾸면 최종적으로 얻는 직교기저 자체가 달라질 수 있습니다(단, 벡터들이 펼치는 공간은 동일합니다). 또한 손으로 계산하는 고전적 방식은 컴퓨터로 실제 구현할 때 반올림 오차가 누적되어 불안정해질 수 있어, 실무에서는 이를 보완한 변형된 알고리즘이 흔히 사용됩니다.

헷갈리기 쉬운 용어

용어한 줄 설명관계
그람-슈미트 직교화벡터를 순서대로 직교화하는 절차QR 분해를 얻는 방법의 하나
QR 분해A = QR로 쪼개는 행렬 분해그람-슈미트나 하우스홀더로 계산
직교행렬열이 정규직교인 정방행렬정규화한 결과로 만들어짐

참고 문헌

  1. Schmidt, E. (1907). Zur Theorie der linearen und nichtlinearen Integralgleichungen. I. Teil: Entwicklung willkürlicher Funktionen nach Systemen vorgeschriebener. Mathematische Annalen, 63, 433–476.
  2. Björck, Å. (1967). Solving linear least squares problems by Gram-Schmidt orthogonalization. BIT Numerical Mathematics, 7(1), 1–21.
  3. Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
  4. Trefethen, L. N., & Bau, D., III. (1997). Numerical Linear Algebra. SIAM.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.