선형 대수(linear algebra)에서, QR 분해(QR decomposition, 역시 QR factorization 또는 QU factorization라고 알려져 있음)는 행렬 A를 직교정규 행렬 Q와 위쪽 삼각 행렬 R의 곱 A = QR로의 분해입니다. QR 분해는 종종 선형 최소 제곱(linear least squares) 문제를 해결하기 위해 사용되고 특정 고윳값 알고리즘(eigenvalue algorithm), QR 알고리즘의 기초입니다.
Cases and definitions
Square matrix
임의의 실수 정사각 행렬(square matrix) A는 다음으로 분해될 수 있습니다:
여기서 Q는 직교 행렬 (그 열은
만약 대신 A가 복소수 정사각 행렬이면, 분해 A = QR이 있으며 여기서 Q는 유니태리 행렬 (따라서
만약 A가 n개의 선형적으로 독립(linearly independent) 열을 가지면, Q의 처음 n개 열은 A의 열 공간(column space)에 대한 직교정규 기저(orthonormal basis)를 형성합니다. 보다 일반적으로, Q의 처음 k개의 열은 임의의 1 ≤ k ≤ n에 대해 A의 처음 k개의 열의 스팬(span)에 대한 직교정규 기저를 형성합니다. A의 임의의 열 k가 Q의 처음 k개의 열에만 의존한다는 사실은 R의 삼각 형식에 해당합니다.
Rectangular matrix
보다 일반적으로, 우리는 m ≥ n을 갖는 복소수 m×n 행렬 A를 m×m 유니태리 행렬(unitary matrix) Q와 m×n 위쪽 삼각 행렬 R의 곱으로 인수분해할 수 있습니다. m×n 위쪽 삼각 행렬이 완전히 영들로 구성되어 있으면, R 또는 R과 Q 둘 다를 분할하는 것이 종종 유용합니다:
여기서
Golub & Van Loan (1996, §5.2)는
QL, RQ and LQ decompositions
유사하게, L이 아래쪽 삼각 행렬과 함께, QL, RQ, 및 LQ 분해를 정의할 수 있습니다.
Computing the QR decomposition
실제로 예를 들어 그람–슈미트 과정(Gram–Schmidt process), 하우스홀더 변환(Householder transformations), 또는 기븐스 회전(Givens rotations)을 수단으로 QR 분해를 계산하는 여러 방법이 있습니다. 각각에는 여러 가지 장점과 단점이 있습니다.
Using the Gram–Schmidt process
안의 곱
다음 투영(projection)을 정의합니다:
그런-다음:
이제 새로 계산된 직교정규 기저에 걸쳐
여기서
여기서:
및
Example
다음의 합성을 생각해 보십시오:
직교정규 행렬
그런-다음, 다음처럼 그람-슈미트를 수단으로
따라서, 다음을 가집니다:
Relation to RQ decomposition
RQ 분해는 행렬 A를 위쪽 삼각 행렬 R (직각 삼각 행렬이라고도 함)과 직교 행렬 Q의 곱으로 변환합니다. QR 분해와의 유일한 차이점은 이들 행렬의 순서입니다.
QR 분해는 첫 번째 열부터 시작하여 A의 열의 그람-슈미트 직교화입니다.
RQ 분해는 마지막 행부터 시작하여 A의 행의 그람-슈미트 직교화입니다.
Advantages and disadvantages
그람-슈미트 과정은 본질적으로 수치적으로 불안정합니다. 투영의 적용은 직교화에 대한 매력적인 기하학적 비유를 갖고 있지만, 직교화 자체는 수치적 오류가 발생하기 쉽습니다. 중요한 장점은 구현이 쉽다는 것입니다.
Using Householder reflections
하우스홀더 반사(Householder reflection, 또는 하우스홀더 변환)는 벡터를 취하고 그것을 평면이나 초평면에 대해 반사하는 변환입니다. 이 연산을 사용하여 m ≥ n을 갖는 m×n 행렬
Q는 하나를 제외한 모든 좌표가 사라지는 방법으로 벡터를 반사하기 위해 사용될 수 있습니다.
아래 Q의 구성에서 켤레 전치로 전치를 대체합니다.
그런다음, 여기서
또는, 만약
이것은 m×m 행렬 A를 위쪽 삼각 형식으로 점진적으로 변환하기 위해 사용될 수 있습니다. 먼저, x에 대한 첫 번째 행렬 열을 선택할 때 얻은 하우스홀더 행렬
이것은 A′ (첫 번째 행과 첫 번째 열을 삭제함으로써
이 과정의
위는 위쪽 삼각 행렬입니다. 따라서, 다음과 함께,
이 방법은 위의 그람-슈미트 방법보다 더 높은 수치적 안정성(numerical stability)을 가집니다.
다음 테이블은 크기 n을 갖는 정사각 행렬을 가정하여 하우스홀더 변환에 의한 QR-분해의 k-번째 단계에서 수행되는 연산의 개수를 나타냅니다.

(크기 n의 정사각 행렬에 대해) n − 1 단계에 걸쳐 이들 숫자를 합산하여, (부동 소수점 곱셈 측면에서) 알고리즘의 복잡도는 다음에 의해 계산됩니다:
Example
다음의 분해를 계산해 보십시오:
먼저, 행렬 A의 첫 번째 열, 벡터
이제,
그리고
여기서,
그러므로
이제 다음을 관찰하십시오:
그래서 우리는 이미 거의 삼각형 행렬을 가지고 있습니다. 우리는 (3, 2) 엔트리만 영으로 설정하면 됩니다.
(1, 1) 소행렬식(minor)을 취하고, 그런-다음 다음에 그 과정을 다시 적용합니다:
위에서 처럼 같은 방법에 의해, 우리는 하우스홀더 변환의 행렬을 얻습니다:
과정에서 다음 단계가 제대로 작동하는지 확인하기 위해 1로 직접 합계를 수행한 후.
이제, 다음을 찾습니다:
또는, 네 개의 십진 자릿수로,
행렬 Q는 직교이고 R은 위쪽 삼각 행렬이므로, A = QR이 필요한 QR 분해입니다.
Advantages and disadvantages
하우스홀더 변환의 용도는 본질적으로 R 행렬에서 영들을 생성하는 데 메커니즘으로 반사의 사용으로 인해 수치적으로 안정적인 QR 분해 알고리즘 중 가장 간단합니다. 어쨌든, 하우스홀더 반사 알고리즘은 새로운 영 원소를 생성하는 모든 각 반사가 Q 및 R 행렬의 전체성을 변경하므로 대역폭이 무겁고 병렬화가 불가능합니다.
Using Givens rotations
QR 분해는 기븐스 회전(Givens rotations)의 수열로 계산될 수도 있습니다. 각 회전은 행렬의 하위대각선에 있는 원소를 영으로 조정하여, R 행렬을 형성합니다. 모든 기븐스 회전의 연쇄는 직교 Q 행렬을 형성됩니다.
실제로, 기븐스 회전은 전체 행렬을 만들고 행렬 곱셈을 수행함으로써 실제로 수행되지 않습니다. 희소 원소를 다루는 여분의 작업 없이 희소 기븐스 행렬 곱셈과 동등한 연산을 수행하는 기븐스 회전 절차가 대신 사용됩니다. 기븐스 회전 절차는 상대적으로 적은 수의 비-대각선 원소만 영으로 설정해야 하는 상황에서 유용하고, 하우스홀더 변환(Householder transformations)보다 더 쉽게 병렬화됩니다.
Example
다음의 분해를 계산해 보십시오:
먼저, 가장 왼쪽 아래 원소,
그리고
유사하게 기븐스 행렬
Advantages and disadvantages
알고리즘을 완전히 활용하는 데 필요한 행의 순서화는 결정하기에 자명하지 않기 때문에 기븐스 회전을 통한 QR 분해가 구현에 가장 복잡합니다. 어쨌든, 그것은 각각의 새로운 영 원소
Connection to a determinant or a product of eigenvalues
우리는 정사각 행렬의 행렬식(determinant)을 찾기 위해 QR 분해를 사용할 수 있습니다. 행렬이
여기서
여기서
비-정사각 복소 행렬에 대한 QR 분해의 정의를 도입하고 고윳값을 특이값으로 대체함으로써 위의 속성을 비-정사각 복소 행렬
비-정사각 행렬
여기서
SVD의 속성과 행렬의 행렬식으로부터, 다음을 가집니다:
여기서
따라서 QR 분해는 행렬의 고윳값 또는 특이값의 곱을 효율적으로 계산하기 위해 사용될 수 있습니다.
Column pivoting
피벗된 QR은 각각의 새로운 단계—열 피벗팅—가 시작에서 가장 큰 남아있는 열을 취하고 따라서 순열 행렬(permutation matrix) P를 도입한다는 점에서 일반적인 그람-슈미트와 다릅니다:
열 피벗팅은
Using for solution to linear inverse problems
직접 행렬 역과 비교하여, QR 분해를 사용하는 역 해는 그것들의 감소된 조건 숫자(condition numbers)에 의해 알 수 있듯이 수치적으로 더 안정적입니다.
행렬
노름
Generalizations
이와사와 분해(Iwasawa decomposition)는 QR 분해를 반-단순 리 그룹으로 일반화합니다.
See also
- Polar decomposition
- Eigenvalue decomposition
- Spectral decomposition
- LU decomposition
- Singular value decomposition
References
- Trefethen, Lloyd N.; Bau, David III (1997). Numerical linear algebra. Philadelphia, PA: Society for Industrial and Applied Mathematics. ISBN 978-0-898713-61-9.
- Stoer, Josef; Bulirsch, Roland (2002), Introduction to Numerical Analysis (3rd ed.), Springer, p. 225, ISBN 0-387-95452-X
- Strang, Gilbert (2019). Linear Algebra and Learning from Data (1st ed.). Wellesley: Wellesley Cambridge Press. p. 143. ISBN 978-0-692-19638-0.
- Parker, Robert L. (1994). Geophysical Inverse Theory. Princeton, N.J.: Princeton University Press. Section 1.13. ISBN 978-0-691-20683-7. OCLC 1134769155.
Further reading
- Golub, Gene H.; Van Loan, Charles F. (1996), Matrix Computations (3rd ed.), Johns Hopkins, ISBN 978-0-8018-5414-9.
- Horn, Roger A.; Johnson, Charles R. (1985), Matrix Analysis, Cambridge University Press, sec. 2.8, ISBN 0-521-38632-2
- Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), "Section 2.10. QR Decomposition", Numerical Recipes: The Art of Scientific Computing (3rd ed.), New York: Cambridge University Press, ISBN 978-0-521-88068-8
External links
- Online Matrix Calculator Performs QR decomposition of matrices.
- LAPACK users manual gives details of subroutines to calculate the QR decomposition
- Mathematica users manual gives details and examples of routines to calculate QR decomposition
- ALGLIB includes a partial port of the LAPACK to C++, C#, Delphi, etc.
- Eigen::QR Includes C++ implementation of QR decomposition.