수학, 특히 선형대수학 및 수치해석학에서 Gram-Schmidt 프로세스는 내부 제품 공간에서 벡터 세트를 정형화하는 방법이며, 가장 일반적으로 표준 내부 제품을 장착한 유클리드 공간Rn. Gram-Schmidt 프로세스는 k≤n에 대해 벡터 S = {v1, ...,vk}의 유한하고 선형적으로 독립된 집합을 취하며, R과n 동일한 k-차원 하위 공간을 차지하는 직교 집합S′= {u1, ...uk}을 생성한다.
여기서 , \langle \은 벡터 u와 v의 내부 제품을 의미한다. 이 연산자는 벡터 u에 의해 확장된 선 위에 직교적으로 벡터 v를 투영한다. If u = 0, we define , i.e., the projection map is the zero map, sending every vector to the zero vector.
그램-슈미트 프로세스는 다음과 같이 작동한다.
시퀀스 u1, ...,u는k 직교 벡터의 필수 시스템이며, 정규화된 벡터 e1, ...e는k직교 세트를 형성한다. 시퀀스 u1, ...,u의k 계산은 Gram-Schmidt직교라고 하며, 시퀀스1 e, ..., e의k 계산은 벡터가 정규화되면서 Gram-Schmidt직교라고 한다.
이러한 공식이 직교 시퀀스를 생성하는지 확인하려면 먼저 1, get{\\langle \ {{2}\rangele 을(를) u2: 0으로 대체하십시오. 그런 다음 공식을u3 1, {\ \langle 을(를) 다시 계산하는 데 이 공식을 사용하여 0을 얻으십시오. 일반적인 증거는 수학적 유도에 의해 진행된다.
Geometrically, 이 방법은 수익금으로:예, 계산하기 위해 뒤따라 직각으로 Uu1에 의해 생성된 어느 쪽이 부분 공간 v1,..., vi−1에 의해 생성된로 같은 부분 공간,..., ui−1에 vi를 발산한다.그 벡터 예, 그때 vi과 이 영상 사이의 차이, 모든 매개 곤충의 부분 공간에 미국 직교되는 정의된다
Gram-Schmidt 프로세스는 또한 선형 독립적으로 무한 시퀀스 {vi}i에도 적용된다. 결과는 직교(또는 직교) 시퀀스 {ui}i이며, 자연수 n: v1, ...의 대수적 스팬, v는nu1, ...,u의n 그것과 동일하다.
만약 Gram–Schmidt 과정은 일차 종속 시퀀스에 적용됩니다, v1의 비아이는 일차 결합,..., vi−1이ith 단계에서 0벡터 출력합니다.만약 정규직 교기 생산될 것이다, 다음 알고리즘 0벡터에 대한 출력과 0벡터의 배수 1의 길이를 가질 수 있는 사람들이 버린 것을 시험해야 한다. 알고리즘에 의한 벡터 출력 수는 원래 입력에 의해 확장된 공간의 치수가 될 것이다.
그 Gram–Schmidt 과정 transfinite 회귀을 사용할 때는 변형 벡터의(아마 셀 수 없이)무한 수열에;λ{\displaystyle(v_{\alpha})_{\alpha<>\lambda}}임의의 벡터(uα)α의κ ≤ λ와 함께 한벌, κ{\displaystyle(u_{\alpha})_{\alpha<>\kappa}}를 산출할 수(vα)α<>신청했다.{\displayparticu에서 스타일 \kappa(\lambda}어떤α ≤ λ{\displaystyle \alpha \leq \lambda},{uβ:β<>분(α, κ)}{\displaystyle\와 같이{{u_ \beta}의 일생의 완성:\beta<>\min(\alpha ,\kappa)\}}그{vβ:β<>α}{\displaystyle\와 같이{{\betav_}성과 같다:\beta<>에 대한은 \alpha\와 같이}}..필라 간, 나힐버트 공간의 (알지브라틱) 기초(또는 보다 일반적으로, 밀도가 높은 하위 공간의 기초)에 맞춰, (기능 분석적) 정관 기초가 된다. 는 일반적인 경우에 자주는 엄격한 불평등 κ<>더라도 시동 세트 선형적으로 독립한 것은 λ{\displaystyle \kappa<>\lambda},(uα)α의 경간, κ{\displaystyle(u_{\alpha})_{\alpha<>\kappa}}필요가 없(vα)α의 아름다운 곳이 아닌 부분 공간;λ{\displaysty을 보유하고 있습니다.는(v_{\alpha (, 완성의 하위 공간이다.
: → ^ \mathb {R} ^n}}} \mathb {n}} ^{n}}}}}}}}}}이 직교되도록 한다. 그러면 우리는
또한 Gram-Schmidt 프로세스의 매개 변수화된 버전은 일반 선형 그룹 ( ) 에 대해 직교 그룹 에 대해 (강) 변형 철회를 산출한다
수치안정성
이 프로세스를 컴퓨터에 구현할 때 벡터 {u는 반올림 오류로 인해 직교하지 않는 경우가 많다. 위에서 설명한 Gram-Schmidt 공정("일반적인 Gram-Schmidt"라고도 함)의 경우, 직교성의 손실은 특히 나쁘므로 (일반적인) Gram-Schmidt 공정은 수적으로 불안정하다고 한다.
Gram-Schmidt 프로세스는 작은 개조에 의해 안정화될 수 있다. 이 버전은 수정된 Gram-Schmidt 또는 MGS라고도 한다. 이 접근방식은 정확한 산술에서 원래 공식과 동일한 결과를 제공하며 유한정밀 산술에서는 더 작은 오차를 도입한다. 벡터 u를k as로 계산하는 대신
로 계산된다.
이 방법은 블루 벡터 v를3 직교할 때 중간 v'3 벡터를 사용할 때 이전 애니메이션에서 사용된다.
여기 수정된 알고리즘에 대한 또 다른 설명이 있다. Given the vectors , in our first step we produce vectors by removing components along the direction of . In formulas, . After this step we already have two of our desired orthogonal vectors , namely , but we also made already orthogonal to . Next, we orthogonalize those remaining vectors against . This means we compute by subtraction . Now we have stored the vectors where the first three vectors are already and the remaining vectors are already orthogonal to . As should be clear now, the next step orthogonalizes against 이런 식으로 진행하면서 우리는 직교 벡터의 전체 집합을 발견하게 되는데 1, …n {\ 직교 벡터가 필요하다면, 우리는 가는 대로 정상화하여 감산 공식의 분모가 하나로 변하게 된다.
알고리즘.
다음의 MATLAB 알고리즘은 유클리드 벡터에 대해 Gram-Schmidt 맞춤법을 구현한다. 벡터 v1, ...,vk(매트릭스 컬럼) V하도록 V(:,j) j번째 벡터)는 직교 벡터(의 역학)로 대체된다. U동일한 하위 공간에 걸쳐 있는 )
함수 [U]=그램슈미트(V)[n,k]=사이즈를 맞추다(V);U=0(n,k);U(:,1)=V(:,1)/규범을 정하다(V(:,1));을 위해i=2:kU(:,i)=V(:,i);을 위해j=1:i-1U(:,i)=U(:,i)-(U(:,j)'*U(:,i))/(norm(U(:,j))^2*U(:,j);종지부를 찍다U(:,i)=U(:,i)/규범을 정하다(U(:,i));종지부를 찍다종지부를 찍다
이 알고리즘의 비용은 점증적으로 O(nk2) 부동소수점 운영이며 여기서 n은 벡터의 치수성이다(Golub & Van Loss 1996, §5.2.8).
가우스 제거를 통해
{v1, ...,vk} 행이 매트릭스 로 기록되면 가우스 제거를 증강 매트릭스[에 적용하십시오.은는 {\ A} 대신 직교 벡터를 생성하지만 한 행의 스칼라 배수를 다른 행에 추가하는 행 만 하여A T {\^{\mathsf행렬 에셀론 형태로 가져와야 한다.[2]를 들어 v =[ , v =[ end을(으)로 가정해 봅시다.
그러나 또 다른 대안은 선형 최소 제곱에서 정규 방정식의 행렬을 뒤집기 위해 숄스키 분해의 사용에 의해 동기가 부여된다. 을(를) 열 직교해야 하는 전체 열 순위 행렬로 설정하십시오. 행렬 V은(는) 에르미트인이며 양정확정이므로 V V= , 로 쓸 수 있다.슐레스키 분해를 사용하는 엄격히 양의 대각선 입력이 있는 하단 삼각 L 은(는) 변환할 수 없다. 그런 다음 U = ( - ) 1}\열은(는) 정형이며 원래 매트릭스 의 열과 동일한 하위 공간에 걸쳐 있다 제품 V 를 명시적으로 사용하면 특히 제품의 상태 번호가 큰 경우 알고리즘이 불안정해진다. 그럼에도 불구하고, 이 알고리즘은 높은 효율성과 단순성 때문에 실제로 사용되고 일부 소프트웨어 패키지에 구현된다.
양자역학에서는 원래의 Gram-Schmidt보다 특정 용도에 더 적합한 특성을 가진 여러 직교 체계가 있다. 그럼에도 불구하고, 그것은 가장 큰 전자 구조 계산에도 인기 있고 효과적인 알고리즘으로 남아 있다.[3]
^Pursell, Lyle; Trimble, S. Y. (1 January 1991). "Gram-Schmidt Orthogonalization by Gauss Elimination". The American Mathematical Monthly. 98 (6): 544–549. doi:10.2307/2324877. JSTOR2324877.
^Pursell, Yukihiro; et al. (2011). "First-principles calculations of electron states of a silicon nanowire with 100,000 atoms on the K computer". SC '11 Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis: 1:1–1:11. doi:10.1145/2063384.2063386. ISBN9781450307710. S2CID14316074.