"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
그람-슈미트 과정은 내적 공간의 기저를 정규 직교 기저로 변환하는 알고리즘이다. 이 과정은 피에르시몽 라플라스와 오귀스탱 루이 코시의 연구에서 시작되었으며, 예르겐 페데르센 그람과 에르하르트 슈미트의 이름을 따서 명명되었다. 그람-슈미트 과정은 주어진 기저 벡터들을 직교화하고 정규화하는 과정을 반복하여 수행된다.
수치적 안정성을 위해 수정된 그람-슈미트 과정이 사용되기도 하며, 하우스홀더 변환, 기븐스 회전, 촐레스키 분해 등 다른 직교화 방법도 존재한다. 그람-슈미트 과정은 행렬식과 기하 대수 표현으로도 나타낼 수 있으며, 선형대수학, 양자역학 등 다양한 분야에서 활용된다.
그람-슈미트 과정
📚 더 읽어볼만한 페이지
함수해석학 - 섭동 이론 섭동 이론은 정확히 풀리는 문제에 작은 변화가 있을 때 급수로 표현하여 근사해를 구하는 방법으로, 초기 해에 보정항을 더하는 방식으로 고전역학, 양자역학 등 다양한 분야에서 활용되며 섭동 형태와 적용 차수에 따라 구분된다.
함수해석학 - 분포 (해석학) 해석학에서 분포는 시험 함수 공간의 연속 쌍대 공간의 원소로 정의되며, 로랑 슈바르츠에 의해 정립되어 편미분 방정식의 해를 다루는 데 유용하고 미분 불가능하거나 특이점을 갖는 함수를 포함한 다양한 함수를 다루는 데 효과적인 일반적인 함수의 개념을 확장한 것이다.
선형대수학 - 벡터 공간 벡터 공간은 체 위의 가군으로 정의되는 대수적 구조로, 벡터 덧셈과 스칼라 곱셈 연산을 가지며 특정 공리들을 만족하고, 기저, 차원, 선형 사상 등의 개념을 통해 수학과 물리학 등 다양한 분야에서 활용된다.
선형대수학 - 선형 결합 선형 결합은 벡터 공간에서 벡터들의 스칼라 곱의 합으로 표현되는 식으로, 벡터 집합의 선형 독립성 판단 및 부분 공간 생성과 관련되며, 계수 제약을 통해 다양한 종류의 결합을 정의할 수 있고, 위상 벡터 공간이나 가군으로 일반화될 수 있다.
원래 피에르시몽 라플라스와 오귀스탱루이 코시의 논문에 등장하였다. 이후 덴마크의 예르겐 페데르센 그람(Jørgen Pedersen Gram덴마크어)과 독일계 에스토니아 태생의 에르하르트 슈미트(Erhard Schmidt독일어)가 명시적으로 이를 다루었으며, 이들의 이름을 땄다.
3. 과정
내적공간 의 기저 가 주어졌을 때, 그람-슈미트 과정은 이 기저를 직교화 및 정규화하여 정규 직교 기저를 생성한다. 이 과정은 다음과 같이 두 단계로 이루어진다.
의 기저에 속하는 세 개의 선형 독립적이고 비직교 벡터에 대해 실행되는 수정된 그람-슈미트 과정
먼저, 주어진 기저 벡터들을 순차적으로 직교화한다. 각 단계에서, 현재 벡터를 이전 단계에서 생성된 직교 벡터들에 투영하고, 원래 벡터에서 이 투영 벡터를 빼서 직교 벡터를 얻는다.
다음으로, 직교화된 벡터들을 정규화한다. 각 직교 벡터를 자신의 노름(크기)으로 나누어 단위 벡터로 만든다. 이렇게 생성된 벡터 집합은 정규 직교 기저를 이룬다.
여기서 는 벡터 u와 v의 내적이다. 그람-슈미트 과정은 각 벡터 를 와 직교하는 벡터 로 만든다. 구체적인 과정은 다음과 같다.
: : : : :
이렇게 생성된 집합은 서로 직교한다.
--
3.2. 정규화
직교화된 벡터 를 노름(크기)으로 나누어 정규화한다. 즉, 다음과 같이 정의한다.
:
여기서 는 노름을 나타낸다. 이렇게 생성된 는 의 정규 직교 기저가 된다. 이 과정은 그람-슈미트 정규 직교화로 알려져 있다.
4. 성질
를 벡터 집합 에 그람-슈미트 과정을 적용한 결과라고 하면, 이는 맵 를 생성한다.
이 맵은 다음과 같은 성질을 갖는다.
* 연속이다. * 와 같은 의미에서 방향을 보존한다. * 직교 맵과 교환 가능하다. 즉, 를 주어진 내적에 대해 직교 맵이라고 하면 다음이 성립한다.
:
또한, 그람-슈미트 과정의 매개변수화된 버전은 일반 선형군 에서 직교군 으로의 강한 변형 retract를 생성한다.
5. 수치적 안정성
의 기저에 속하는 세 개의 선형 독립적이고 비직교 벡터에 대해 실행되는 수정된 그람-슈미트 과정. 자세한 내용은 이미지를 클릭.
컴퓨터에서 그람-슈미트 과정을 구현하면, 반올림 오차로 인해 벡터 가 정확하게 직교하지 않는 경우가 발생한다. "고전적 그람-슈미트" 과정에서 이러한 직교성 손실은 특히 심각하여 수치적으로 불안정하다.
이러한 문제를 개선하기 위해 수정된 그람-슈미트 과정(modified Gram-Schmidt, MGS)을 사용할 수 있다. 이 방법은 정확한 산술 연산에서는 원래 공식과 동일한 결과를 제공하며, 유한 정밀도 산술 연산에서는 더 작은 오차를 발생시킨다. 수정된 그람-슈미트 과정은 각 단계에서 이미 직교화된 벡터에 대한 투영을 빼는 방식으로 진행된다.
벡터 를 다음과 같이 계산하는 대신,
다음과 같이 계산한다.
즉, 벡터 이 주어지면, 먼저 방향의 성분을 제거하여 벡터 을 만든다. (). 이 단계가 지나면 , 두 개의 직교 벡터를 얻고, 도 이미 에 직교하게 된다. 다음으로, 남은 벡터들을 에 대해 직교화한다. (를 계산하여 을 계산). 이런 식으로 진행하여 전체 직교 벡터 집합 을 구한다. 정규 직교 벡터가 필요한 경우, 빼기 공식의 분모가 1이 되도록 진행하면서 정규화한다.
6. 알고리즘
--
벡터 를 0이 아닌 벡터 에 대한 벡터 투영은 다음과 같이 정의된다.
여기서 는 벡터 와 의 내적을 나타낸다. 즉, 는 에 의해 생성된 선에 를 직교 투영한 것이다. 가 영벡터이면 는 영벡터로 정의된다.
개의 벡터 가 주어지면 그람-슈미트 과정은 벡터 를 다음과 같이 정의한다.
수열 는 필요한 직교 벡터 시스템이고, 정규화된 벡터 는 정규 직교 집합을 형성한다. 수열 의 계산은 그람-슈미트 직교화로 알려져 있으며, 수열 의 계산은 그람-슈미트 정규 직교화로 알려져 있다.
기하학적으로, 이 방법은 다음과 같이 진행된다. 를 계산하려면 를 에 의해 생성된 부분 공간 에 직교적으로 투영한다. 이 부분 공간은 에 의해 생성된 부분 공간과 동일하다. 그런 다음 벡터 는 와 이 투영의 차이로 정의되며, 이는 부분 공간 의 모든 벡터에 직교하도록 보장된다.
그람-슈미트 과정은 또한 선형 독립적인 가산 무한 수열에도 적용된다. 결과는 자연수 에 대해 의 대수적 span이 의 span과 동일한 직교(또는 정규 직교) 수열이다.
그람-슈미트 과정이 선형 종속 수열에 적용되면, 가 의 선형 결합이라고 가정하고 번째 단계에서 0 벡터를 출력한다. 정규 직교 기저를 생성하려면 알고리즘에서 출력에 0 벡터가 있는지 테스트하고 제거해야 한다.
다음은 고전적인 그람-슈미트 정규 직교화를 구현하는 MATLAB 알고리즘이다. 벡터 (행렬 `V`의 열)는 동일한 부분 공간을 span하는 정규 직교 벡터 ( `U`의 열)로 대체된다.
function U = gramschmidt(V) [n, k] = size(V); U = zeros(n,k); U(:,1) = V(:,1) / norm(V(:,1)); for i = 2:k U(:,i) = V(:,i); for j = 1:i-1 U(:,i) = U(:,i) - (U(:,j)'*U(:,i)) * U(:,j); end U(:,i) = U(:,i) / norm(U(:,i)); end end
이 알고리즘의 비용은 점근적으로 O(nk2) 부동 소수점 연산이다.
7. 다른 방법들
하우스홀더 변환이나 기븐스 회전을 사용하는 직교화 알고리즘은 안정화된 그람-슈미트 과정보다 더 안정적이다. 하지만 그람-슈미트 과정은 j번째 반복 후에 j번째 직교화된 벡터를 생성하는 반면, 하우스홀더 반사를 사용한 직교화는 마지막에 모든 벡터를 생성한다. 따라서 그람-슈미트 과정만이 아르놀디 반복과 같은 반복법에 적용될 수 있다.
촐레스키 분해를 사용하는 방법도 있다. 열을 직교화해야 하는 전체 열 랭크 행렬을 라고 하면, 행렬 는 에르미트 행렬이며 양의 정부호 행렬이므로, 촐레스키 분해를 통해 로 표현할 수 있다. 이때 대각선 성분이 양수인 하부 삼각 행렬 은 가역 행렬이다. 그러면 행렬 의 열은 정규 직교하며 원래 행렬 의 열과 같은 부분 공간을 생성한다. 그러나 곱을 명시적으로 사용하면 알고리즘이 불안정해질 수 있는데, 특히 곱의 조건수가 큰 경우에 그렇다. 그럼에도 불구하고 이 알고리즘은 효율성과 단순성 때문에 실제로 사용되며 일부 소프트웨어 패키지에 구현되어 있다.
양자역학에서는 원래의 그람-슈미트보다 특정 응용 분야에 더 적합한 여러 직교화 방식이 있다. 하지만, 이러한 방법들은 여전히 가장 큰 전자 구조 계산에도 효과적인 알고리즘으로 남아있다.
8. 행렬식 표현
그람-슈미트 과정의 결과는 행렬식을 사용하여 다음과 같은 비재귀적 공식으로 표현할 수 있다.
:
:
여기서 이고, 에 대해 는 그람 행렬식이다.
:
에 대한 표현은 스칼라와 벡터를 모두 포함하는 형식적인 행렬식이며, 이 표현은 벡터 행을 따라 여인자 전개를 통해 계산된다.
이 공식은 계산 속도가 느리기 때문에 주로 이론적인 용도로 사용된다.
9. 기하 대수 표현
벡터 와 에 대해, 기하 대수(Geometric Algebra) 표기법을 사용하면 그람-슈미트 과정의 정규화되지 않은 결과를 다음과 같이 표현할 수 있다.
:
이는 벡터 투영 연산자 를 사용하는 표현과 동일하다.
또한, 다음과 같이 동등하게 표현할 수 있다.
:
이 표현은 행렬식을 사용하는 표현과 관련이 있다.
10. 확장
그람-슈미트 과정은 선형 독립적인 가산 무한 수열에도 적용된다. 그 결과는 자연수에 대해 의 대수적 span이 의 span과 동일한 직교 (또는 정규 직교) 수열이다.
만약 그람-슈미트 과정이 선형 종속 수열에 적용되면, 가 의 선형 결합이라고 가정하고 번째 단계에서 0 벡터를 출력한다. 정규 직교 기저를 생성하려면 알고리즘에서 출력에 0 벡터가 있는지 테스트하고 제거해야 한다. 0 벡터의 배수는 길이가 1일 수 없기 때문이다. 그러면 알고리즘에서 출력되는 벡터의 수는 원래 입력에 의해 생성된 공간의 차원이 된다.
초한 귀납법을 사용하는 그람-슈미트 과정의 변형은 벡터의 (가능한 비가산) 무한 수열 에 적용되어 인 정규 직교 벡터 집합 을 생성하여, 모든 에 대해 의 span의 완비와 의 span의 완비가 동일하게 된다. 특히, 힐베르트 공간의 (또는 더 일반적으로, 모든 조밀한 부분 공간의) (대수적) 기저에 적용하면 (함수 해석적) 정규 직교 기저가 생성된다. 일반적인 경우, 시작 집합이 선형 독립적이라도 종종 의 엄격한 부등식이 성립하며, 의 span은 의 span의 부분 공간일 필요는 없다 (오히려, 완비의 부분 공간이다).