본문 바로가기
[Mathematics] - Linear Algebra

# 8. QR 분해 (QR Decomposition) - 2

by Bebsae 2021. 10. 5.

저번 포스트에 이어 직교 행렬과 실제로 QR 분해 활용에 대해 알아봅니다.

 

직교행렬의 정의

결론부터 얘기하면 직교 행렬은 곧 직교 좌표계를 의미한다. 행렬의 각 열벡터가 직교할 경우 해당 행렬은 직교 좌표계를 의미한다. 정규직교행렬은 각 열벡터를 정규화함으로써 각 열벡터의 크기가 1인 행렬을 의미한다. 즉, 정규직교행렬은 서로 직교하는 크기가 1인 기저벡터들의 집합이라고 정의할 수 있겠다.

 

직교 행렬
투영 벡터

선형 시스템의 A는 좌표계를 의미한다. 해당 A 행렬이 직교 행렬일 경우 역행렬을 통해 해를 구할 필요가 없다. 위의 투영 벡터 공식을 보면 알 수 있다. 벡터 u를 벡터 a에 투영했을 때

는 기저 a에 대한 좌표값이다. 즉, 벡터 a를 얼마나 스칼라배를 해야하는지를 의미(기저 a에 대한 좌표)하는 것이다.

위 개념을 예시에 적용하면, 

로 정의할 수 있기 때문에 역행렬 연산을 할 필요가 없다. 그리고 각각 xi에 대해서 독립적이기 때문에 GPU 병렬연산처리를 통해 더 빠르게 해를 구할 수 있다.

 

정규 직교 행렬

정규 직교 행렬은 직교 행렬을 크기가 1인 열벡터로 정규화한 것이다. 고로 해(xi)를 구할때 분모에 기저 벡터(열벡터)의 크기는 1이므로 나눌 필요가 없다.

 

 

이제 본격적으로 QR 분해에 대해 알아볼 것이다.

 

QR 분해 정의

QR 분해는 직교 행렬의 역행렬을 구하지 않고도 해를 찾을 수 있는 성질을 이용하기 위해 좌표계 행렬 A를 정규 직교 행렬(Q)과 상삼각행렬(Residual)로 분해하는 것을 말한다.

 

QR 분해 2 스텝

좌표계 행렬 A를 그람 슈미트 과정(Gram-Schmidt Proces는 추후의 포스팅에서 다루겠습니다.)을 통해 Q과 R행렬로 분해했다고 가정하자. 그렇게 되면 선형 시스템은 QRx = b로 정의할 수 있는데, 여기서 직교 행렬 Q의 성질을 이용할 수 있도록 Rx를 벡터 y로 치환하자.

 

최종적으로 선형시스템은 Qy = b의 형태를 띄게 되며 행렬 Q는 직교 행렬이기 때문에 각 열벡터를 기저로 해석하여 yi를 병렬적으로 구할 수 있다. 마지막으로 y를 Rx로 환원하면 R은 상삼각행렬이기 때문에 벡터 x를 쉽게 도출해낼 수 있다. 도출과정에서는 해당 포스트에서 후방 대입법에 대해 보면 좋다.

댓글