QR 분해

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

QR 분해(QR decomposition, QR factorization)는 임의의 행렬직교행렬상삼각행렬의 곱으로 분해하는 방법이다. QR 분해는 선형 최소제곱법을 풀 때나 고유벡터를 구할 때 등의 상황에 사용되며, 그람-슈미트 직교정규화 혹은 하우스홀더의 방법 등을 사용한다.

분해 방법[편집]

그람-슈미트 방법[편집]

벡터 \mathbf{a}_1,\mathbf{a}_2,\cdots,\mathbf{a}_n\in\mathbb{R}^m일차독립이라 하자. 행렬 A = [\begin{array}{llll}\mathbf{a}_1 &\mathbf{a}_2 &\cdots &\mathbf{a}_n\end{array}] 에 대해, 그람-슈미트 직교정규화를 사용하면

\mathrm{proj}_{\mathbf{e}}\mathbf{a} = \frac{\left\langle\mathbf{e},\mathbf{a}\right\rangle}{\left\langle\mathbf{e},\mathbf{e}\right\rangle}\mathbf{e}

사영 연산자를 이용해서

\mathbf{u}_i = \mathbf{a}_i - \sum_{j=1}^{i-1} \mathrm{proj}_{\mathbf{e}_j} \mathbf{a}_i
\mathbf{e}_i = \frac {\mathbf{u}_i} {\|\mathbf{u}_i\|}

와 같이 직교정규기저 \{\mathbf{e}_1, \mathbf{e}_2, \cdots, \mathbf{e}_n\}를 얻을 수 있다. 이 식을 다시 정리하면

\mathbf{a}_i = \sum_{j=1}^{i} \langle \mathbf{e}_j, \mathbf{a}_i \rangle \mathbf{e}_j

가 되므로,

Q = [\begin{array}{llll}\mathbf{e}_1& \mathbf{e}_2& \cdots& \mathbf{e}_n\end{array}]
R = \begin{pmatrix} \langle\mathbf{e}_1,\mathbf{a}_1\rangle & \langle\mathbf{e}_1,\mathbf{a}_2\rangle & \langle\mathbf{e}_1,\mathbf{a}_3\rangle & \ldots \\0 & \langle\mathbf{e}_2,\mathbf{a}_2\rangle & \langle\mathbf{e}_2,\mathbf{a}_3\rangle & \ldots \\0&0& \langle\mathbf{e}_3,\mathbf{a}_3\rangle & \ldots \\ \vdots&\vdots&\vdots&\ddots\end{pmatrix}

와 같이 놓으면 A = QR이 성립한다.

[편집]

하우스홀더 방법[편집]

하우스홀더 리플렉터를 이용하여 한 열씩을 상삼각행렬로 바꾸어감으로써 Q와 R을 구할 수 있다. 이 방법은 Q행렬을 하우스홀더 행렬의 곱으로 구해주기 때문에, 직접 Q를 구할 필요가 없을 때 유용하다. 또, 그람-슈미트 방법과는 달리, 부동소수점 연산에서도 오차가 누적되지 않기 때문에, 실제로 더 많이 활용된다.

함께 보기[편집]